Add 5 pi extensions: pi-subagents, pi-crew, rpiv-pi, pi-interactive-shell, pi-intercom
This commit is contained in:
73
extensions/rpiv-pi/skills/discover/templates/frd.md
Normal file
73
extensions/rpiv-pi/skills/discover/templates/frd.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
date: {Current date and time with timezone in ISO format}
|
||||
author: {User from injected git context}
|
||||
commit: {Current commit hash}
|
||||
branch: {Current branch name}
|
||||
repository: {Repository name}
|
||||
topic: "{Feature topic}"
|
||||
tags: [intent, frd, relevant-component-names]
|
||||
status: complete
|
||||
last_updated: {Same ISO timestamp as `date:` above}
|
||||
last_updated_by: {User from injected git context}
|
||||
---
|
||||
|
||||
# FRD: {Feature topic}
|
||||
|
||||
## Summary
|
||||
{2-3 sentences. The settled feature concept after the interview — what we're building, in the developer's framing.}
|
||||
|
||||
## Problem & Intent
|
||||
{What the developer is trying to solve and why. Capture the underlying motivation, not the proposed solution.}
|
||||
|
||||
## Goals
|
||||
- {Explicit goal — what success looks like}
|
||||
- {Goal 2}
|
||||
|
||||
## Non-Goals
|
||||
- {Explicit exclusion — surfaced during the interview}
|
||||
- {Likely scope-creep vector the developer ruled out}
|
||||
|
||||
## Functional Requirements
|
||||
1. {Numbered, independently testable. "The system SHALL …"}
|
||||
2. {Requirement 2}
|
||||
|
||||
## Non-Functional Requirements
|
||||
- **Performance**: {latency / throughput / load expectations, or "no specific constraint"}
|
||||
- **Security**: {auth, data handling, threat model edges}
|
||||
- **UX / Accessibility**: {interaction model, a11y constraints}
|
||||
- **Reliability**: {error handling expectations, retry/recovery semantics}
|
||||
|
||||
## Constraints & Assumptions
|
||||
- {Technical constraint — runtime, dependency, platform}
|
||||
- {Schedule / organizational constraint}
|
||||
- {Assumption being made — explicit so research can verify}
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] {Observable pass condition a reviewer can check without reading code}
|
||||
- [ ] {Criterion 2}
|
||||
|
||||
## Recommended Approach
|
||||
{1-2 sentences. The architectural shape implied by the decisions — e.g., "New command in `packages/rpiv-pi/extensions/`, writes JSON to stdout, no persistence layer." The downstream `research` skill validates this against the codebase and passes this text to `scope-tracer` as the topic.}
|
||||
|
||||
## Decisions
|
||||
|
||||
### {Decision 1 — short title}
|
||||
**Question**: {Question as asked during the interview, or "Pre-resolved from codebase evidence"}
|
||||
**Recommended**: {The recommendation that was offered}
|
||||
**Chosen**: {What the developer picked, or the evidence-derived answer}
|
||||
**Rationale**: {1 line — why this was chosen, or `evidence: path/to/file.ext:line` for codebase-derived}
|
||||
|
||||
### {Decision 2 — short title}
|
||||
**Question**: …
|
||||
**Recommended**: …
|
||||
**Chosen**: …
|
||||
**Rationale**: …
|
||||
|
||||
## Open Questions
|
||||
{Only items the developer explicitly deferred. Each becomes an Open Question for `research` to answer or carry forward into Developer Context.}
|
||||
|
||||
- {Deferred item 1 — what's deferred, why}
|
||||
|
||||
## References
|
||||
- {Input file or ticket}
|
||||
- {Related artifact, e.g., `thoughts/shared/research/<YYYY-MM-DD_HH-MM-SS>_<topic>.md`}
|
||||
Reference in New Issue
Block a user