@paw-workflow/cli 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -0
- package/bin/paw.js +82 -0
- package/dist/agents/PAW-Review.agent.md +86 -0
- package/dist/agents/PAW.agent.md +171 -0
- package/dist/skills/paw-code-research/SKILL.md +209 -0
- package/dist/skills/paw-docs-guidance/SKILL.md +163 -0
- package/dist/skills/paw-git-operations/SKILL.md +196 -0
- package/dist/skills/paw-impl-review/SKILL.md +178 -0
- package/dist/skills/paw-implement/SKILL.md +153 -0
- package/dist/skills/paw-init/SKILL.md +118 -0
- package/dist/skills/paw-plan-review/SKILL.md +117 -0
- package/dist/skills/paw-planning/SKILL.md +217 -0
- package/dist/skills/paw-pr/SKILL.md +157 -0
- package/dist/skills/paw-review-baseline/SKILL.md +268 -0
- package/dist/skills/paw-review-correlation/SKILL.md +307 -0
- package/dist/skills/paw-review-critic/SKILL.md +373 -0
- package/dist/skills/paw-review-feedback/SKILL.md +437 -0
- package/dist/skills/paw-review-gap/SKILL.md +639 -0
- package/dist/skills/paw-review-github/SKILL.md +336 -0
- package/dist/skills/paw-review-impact/SKILL.md +569 -0
- package/dist/skills/paw-review-response/SKILL.md +118 -0
- package/dist/skills/paw-review-understanding/SKILL.md +372 -0
- package/dist/skills/paw-review-workflow/SKILL.md +239 -0
- package/dist/skills/paw-spec/SKILL.md +257 -0
- package/dist/skills/paw-spec-research/SKILL.md +138 -0
- package/dist/skills/paw-spec-review/SKILL.md +101 -0
- package/dist/skills/paw-status/SKILL.md +160 -0
- package/dist/skills/paw-transition/SKILL.md +134 -0
- package/dist/skills/paw-work-shaping/SKILL.md +99 -0
- package/dist/skills/paw-workflow/SKILL.md +142 -0
- package/lib/commands/install.js +103 -0
- package/lib/commands/list.js +18 -0
- package/lib/commands/uninstall.js +95 -0
- package/lib/commands/upgrade.js +119 -0
- package/lib/manifest.js +42 -0
- package/lib/paths.js +42 -0
- package/lib/registry.js +41 -0
- package/package.json +40 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-spec
|
|
3
|
+
description: Specification activity skill for PAW workflow. Converts issue/brief into structured feature specification with user stories, requirements, and success criteria.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Specification
|
|
9
|
+
|
|
10
|
+
> **Execution Context**: This skill runs **directly** in the PAW session (not a subagent), preserving user interactivity for requirement clarification.
|
|
11
|
+
|
|
12
|
+
Convert a rough Issue / feature brief into a **structured feature specification**. Emphasizes prioritized user stories, enumerated requirements, measurable success criteria, explicit assumptions, and traceability.
|
|
13
|
+
|
|
14
|
+
> **Reference**: Follow Core Implementation Principles from `paw-workflow` skill.
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Create new specification from issue/brief or WorkShaping.md output
|
|
19
|
+
- Clarify ambiguous requirements through interactive Q&A
|
|
20
|
+
- Generate research prompt for factual questions about existing system
|
|
21
|
+
- Integrate research findings into specification
|
|
22
|
+
- Revise spec based on downstream learnings (e.g., align with implementation plan)
|
|
23
|
+
- Address PR review comments on specification
|
|
24
|
+
|
|
25
|
+
## Core Principles
|
|
26
|
+
|
|
27
|
+
1. **User value focus**: Describe WHAT & WHY, not implementation details
|
|
28
|
+
2. **Independently testable stories**: Prioritize user stories (P1 highest) with acceptance scenarios and "Independent Test" statement
|
|
29
|
+
3. **Resolve before drafting**: Clarification questions answered before drafting—no unresolved critical questions or placeholder markers
|
|
30
|
+
4. **Enumerated traceability**: Use IDs (FR-001, SC-001) linking stories ↔ FRs ↔ SCs; cite research sources
|
|
31
|
+
5. **Research vs design**: Research documents existing behavior; design decisions belong in spec based on requirements
|
|
32
|
+
6. **Explicit assumptions**: Replace low-impact unknowns with documented assumptions
|
|
33
|
+
7. **Measurable & tech-agnostic**: Success criteria measurable without referencing specific technologies
|
|
34
|
+
8. **Scope & risk**: Maintain explicit In/Out boundaries; enumerate risks with mitigations
|
|
35
|
+
9. **No speculation**: Every feature maps to a defined story—no "future maybe" items
|
|
36
|
+
|
|
37
|
+
## Clarification Phase
|
|
38
|
+
|
|
39
|
+
Before drafting the specification, identify and resolve gaps that only the user can answer. This phase always runs during initial spec creation regardless of Review Policy—it's the most important step to get right.
|
|
40
|
+
|
|
41
|
+
### When to Clarify
|
|
42
|
+
|
|
43
|
+
After reading the issue/brief, scan for high-impact gaps:
|
|
44
|
+
- **Scope boundaries**: What's explicitly in vs out?
|
|
45
|
+
- **User roles**: Who are the distinct users/personas?
|
|
46
|
+
- **Success criteria**: How will we know it works? (measurable)
|
|
47
|
+
- **Edge cases**: What happens when X fails/is empty/conflicts?
|
|
48
|
+
- **Non-functional requirements**: Performance, security, scale constraints?
|
|
49
|
+
- **Ambiguous terminology**: Terms that could mean multiple things?
|
|
50
|
+
|
|
51
|
+
**Skip clarification if**: The issue/brief is comprehensive and gaps are low-impact or can be handled as documented assumptions.
|
|
52
|
+
|
|
53
|
+
### Clarification Process
|
|
54
|
+
|
|
55
|
+
Ask questions **one at a time**:
|
|
56
|
+
1. Identify the single highest-impact unclear item
|
|
57
|
+
2. Formulate a focused question (prefer multiple choice when options are finite)
|
|
58
|
+
3. Include AI recommendation with reasoning when applicable
|
|
59
|
+
4. Wait for user response
|
|
60
|
+
5. Integrate answer into working understanding
|
|
61
|
+
6. Repeat until gaps resolved or user signals done
|
|
62
|
+
|
|
63
|
+
### Question Guidelines
|
|
64
|
+
|
|
65
|
+
- Ask only what the user can answer (intent, priorities, business constraints)
|
|
66
|
+
- Prefer multiple choice over freeform when options are enumerable
|
|
67
|
+
- One question per turn—never batch multiple questions
|
|
68
|
+
- High-impact only: skip stylistic or low-stakes gaps
|
|
69
|
+
- Include recommendation when you have one: "Recommended: X (because...)"
|
|
70
|
+
|
|
71
|
+
**Example questions**:
|
|
72
|
+
- "Should admin users have different permissions than regular users? (Recommended: Yes, admins need audit capabilities)"
|
|
73
|
+
- "What happens if the external API is unavailable? Options: (a) Show cached data, (b) Show error, (c) Retry with backoff"
|
|
74
|
+
- "Is there a maximum number of items a user can create? (This affects data model and UI)"
|
|
75
|
+
|
|
76
|
+
### Exit Conditions
|
|
77
|
+
|
|
78
|
+
Stop clarification when:
|
|
79
|
+
- All high-impact gaps are resolved
|
|
80
|
+
- User signals: "done", "skip", "proceed", "that's enough"
|
|
81
|
+
- ~5-10 questions reached (avoid fatigue—remaining gaps become assumptions)
|
|
82
|
+
|
|
83
|
+
## Execution Based on Context
|
|
84
|
+
|
|
85
|
+
### New Specification (No SpecResearch.md)
|
|
86
|
+
|
|
87
|
+
**Desired end state**: Research prompt generated OR specification complete
|
|
88
|
+
|
|
89
|
+
**Input source precedence**: WorkShaping.md (if exists) → issue/brief → user description
|
|
90
|
+
|
|
91
|
+
- Check for WorkShaping.md in work directory; if present, use its structured content as primary input
|
|
92
|
+
- Run Clarification Phase to resolve remaining user-intent gaps before drafting
|
|
93
|
+
- Classify unknowns: assumptions (document in spec) vs research questions (generate prompt)
|
|
94
|
+
- If research needed: generate ResearchQuestions at `.paw/work/<work-id>/ResearchQuestions.md` and STOP
|
|
95
|
+
- If no research needed: proceed to complete specification
|
|
96
|
+
|
|
97
|
+
### Resume After Research (SpecResearch.md exists)
|
|
98
|
+
|
|
99
|
+
**Desired end state**: Complete specification integrating research findings
|
|
100
|
+
|
|
101
|
+
- Map research answers to requirements
|
|
102
|
+
- Resolve any new clarifications surfaced by research
|
|
103
|
+
- Assemble complete specification
|
|
104
|
+
|
|
105
|
+
### Revise Specification
|
|
106
|
+
|
|
107
|
+
**Desired end state**: Spec aligned with downstream artifacts, traceability maintained
|
|
108
|
+
|
|
109
|
+
- Identify specific sections needing updates based on alignment requirements
|
|
110
|
+
- Make targeted revisions while maintaining ID traceability
|
|
111
|
+
- Update version/date in spec header
|
|
112
|
+
|
|
113
|
+
### Address PR Review Comments
|
|
114
|
+
|
|
115
|
+
Load `paw-review-response` utility skill for mechanics. Focus on what spec sections to update and how to maintain traceability.
|
|
116
|
+
|
|
117
|
+
## Research Question Guidelines
|
|
118
|
+
|
|
119
|
+
Research answers "how does the system work today?" NOT "what should we build?"
|
|
120
|
+
|
|
121
|
+
**Appropriate:**
|
|
122
|
+
- "How does the authentication system validate sessions?" → Learn pattern → Decide approach
|
|
123
|
+
- "What error format do existing APIs use?" → Learn structure → Decide format
|
|
124
|
+
|
|
125
|
+
**Inappropriate:**
|
|
126
|
+
- "Should we use JWT or sessions?" → Design decision, not research
|
|
127
|
+
- "What status codes for new endpoint?" → Design decision, not research
|
|
128
|
+
|
|
129
|
+
## ResearchQuestions Format
|
|
130
|
+
|
|
131
|
+
Generate ResearchQuestions at `.paw/work/<work-id>/ResearchQuestions.md` containing:
|
|
132
|
+
- Target branch and issue URL (for context)
|
|
133
|
+
- Agent notes from intake that help researcher understand constraints
|
|
134
|
+
- Numbered list of internal system behavior questions
|
|
135
|
+
- Optional section for external/context questions
|
|
136
|
+
|
|
137
|
+
## Specification Template
|
|
138
|
+
|
|
139
|
+
```markdown
|
|
140
|
+
# Feature Specification: <FEATURE NAME>
|
|
141
|
+
|
|
142
|
+
**Branch**: <branch> | **Created**: <YYYY-MM-DD> | **Status**: Draft
|
|
143
|
+
**Input Brief**: <one-line intent>
|
|
144
|
+
|
|
145
|
+
## Overview
|
|
146
|
+
<2-4 paragraphs describing WHAT and WHY from user perspective.
|
|
147
|
+
Flowing narrative prose—user journey and value. No implementation details.>
|
|
148
|
+
|
|
149
|
+
## Objectives
|
|
150
|
+
<Bulleted behavioral goals. Observable outcomes, technology-agnostic.
|
|
151
|
+
Optional rationale: "Enable X (Rationale: this allows users to...)">
|
|
152
|
+
|
|
153
|
+
## User Scenarios & Testing
|
|
154
|
+
### User Story P1 – <Title>
|
|
155
|
+
Narrative: <short user journey>
|
|
156
|
+
Independent Test: <single action verifying value>
|
|
157
|
+
Acceptance Scenarios:
|
|
158
|
+
1. Given <context>, When <action>, Then <outcome>
|
|
159
|
+
|
|
160
|
+
### User Story P2 – <Title>
|
|
161
|
+
...
|
|
162
|
+
|
|
163
|
+
### Edge Cases
|
|
164
|
+
- <edge condition & expected behavior>
|
|
165
|
+
|
|
166
|
+
## Requirements
|
|
167
|
+
### Functional Requirements
|
|
168
|
+
- FR-001: <testable capability> (Stories: P1)
|
|
169
|
+
- FR-002: <testable capability> (Stories: P1,P2)
|
|
170
|
+
|
|
171
|
+
### Key Entities (omit if none)
|
|
172
|
+
- <Entity>: <description>
|
|
173
|
+
|
|
174
|
+
### Cross-Cutting / Non-Functional (omit if in Success Criteria)
|
|
175
|
+
- <constraint with measurable aspect>
|
|
176
|
+
|
|
177
|
+
## Success Criteria
|
|
178
|
+
- SC-001: <measurable outcome, tech-agnostic> (FR-001)
|
|
179
|
+
- SC-002: <measurable outcome> (FR-002, FR-003)
|
|
180
|
+
|
|
181
|
+
## Assumptions
|
|
182
|
+
- <Assumed default & rationale>
|
|
183
|
+
|
|
184
|
+
## Scope
|
|
185
|
+
In Scope:
|
|
186
|
+
- <included boundary>
|
|
187
|
+
Out of Scope:
|
|
188
|
+
- <explicit exclusion>
|
|
189
|
+
|
|
190
|
+
## Dependencies
|
|
191
|
+
- <system/service/feature flag>
|
|
192
|
+
|
|
193
|
+
## Risks & Mitigations
|
|
194
|
+
- <risk>: <impact>. Mitigation: <approach>
|
|
195
|
+
|
|
196
|
+
## References
|
|
197
|
+
- Issue: <link>
|
|
198
|
+
- Research: .paw/work/<work-id>/SpecResearch.md
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Quality Checklist
|
|
202
|
+
|
|
203
|
+
### Content Quality
|
|
204
|
+
- [ ] Focuses on WHAT & WHY (no implementation details)
|
|
205
|
+
- [ ] No code snippets, file paths, API signatures
|
|
206
|
+
- [ ] Story priorities clear (P1 highest)
|
|
207
|
+
- [ ] Each story independently testable with ≥1 acceptance scenario
|
|
208
|
+
- [ ] Edge cases enumerated
|
|
209
|
+
|
|
210
|
+
### Narrative Quality
|
|
211
|
+
- [ ] Overview: 2-4 paragraphs of flowing prose
|
|
212
|
+
- [ ] Objectives: bulleted behavioral goals
|
|
213
|
+
- [ ] User perspective throughout—no implementation details
|
|
214
|
+
|
|
215
|
+
### Requirement Completeness
|
|
216
|
+
- [ ] All FRs testable & observable
|
|
217
|
+
- [ ] FRs mapped to user stories
|
|
218
|
+
- [ ] Success Criteria measurable & tech-agnostic
|
|
219
|
+
- [ ] Success Criteria linked to FRs
|
|
220
|
+
- [ ] Assumptions documented
|
|
221
|
+
- [ ] Dependencies listed
|
|
222
|
+
|
|
223
|
+
### Ambiguity Control
|
|
224
|
+
- [ ] No unresolved clarification questions
|
|
225
|
+
- [ ] No vague adjectives without metrics
|
|
226
|
+
|
|
227
|
+
### Scope & Risk
|
|
228
|
+
- [ ] Clear In/Out boundaries
|
|
229
|
+
- [ ] Risks & mitigations captured
|
|
230
|
+
|
|
231
|
+
### Research Integration
|
|
232
|
+
- [ ] System research questions answered or converted to assumptions
|
|
233
|
+
- [ ] Optional external questions listed for manual completion
|
|
234
|
+
|
|
235
|
+
## Workflow Mode Adaptation
|
|
236
|
+
|
|
237
|
+
**Full mode**: Standard spec with comprehensive coverage
|
|
238
|
+
|
|
239
|
+
**Minimal mode**: Spec stage typically skipped. If invoked, create lightweight spec focusing on core FRs and acceptance criteria.
|
|
240
|
+
|
|
241
|
+
**Custom mode**: Check Custom Workflow Instructions. Adapt depth per instructions.
|
|
242
|
+
|
|
243
|
+
## Completion Response
|
|
244
|
+
|
|
245
|
+
Report to PAW agent based on outcome:
|
|
246
|
+
|
|
247
|
+
**Research needed**: Include ResearchQuestions path, question count, documented assumptions count, and indicate waiting for research.
|
|
248
|
+
|
|
249
|
+
**Specification complete**: Include:
|
|
250
|
+
- Artifact path
|
|
251
|
+
- **Spec summary** for quick review:
|
|
252
|
+
- Overview (1-2 sentences capturing the core value)
|
|
253
|
+
- Key objectives (bulleted)
|
|
254
|
+
- Scope highlights (what's in, what's explicitly out)
|
|
255
|
+
- Counts (user stories, FRs, success criteria)
|
|
256
|
+
- Any observations worth noting (e.g., "stakeholder alignment may be needed on X")
|
|
257
|
+
- Confirmation that quality checklist passes
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-spec-research
|
|
3
|
+
description: Spec research activity skill for PAW workflow. Answers factual questions about existing system behavior to inform specification writing.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Spec Research
|
|
9
|
+
|
|
10
|
+
> **Execution Context**: This skill runs in a **subagent** session, delegated by the PAW orchestrator. Return structured results to the orchestrator upon completion.
|
|
11
|
+
|
|
12
|
+
**Describe how the system works today** to answer questions from the spec research prompt. Document existing behavior—no design, no improvements.
|
|
13
|
+
|
|
14
|
+
> **Reference**: Follow Core Implementation Principles from `paw-workflow` skill.
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Answer factual questions about existing system behavior
|
|
19
|
+
- Document behavioral descriptions (what system does from user/component perspective)
|
|
20
|
+
- Identify unanswered questions as Open Unknowns
|
|
21
|
+
|
|
22
|
+
## Scope: Behavioral Documentation Only
|
|
23
|
+
|
|
24
|
+
> **Note**: The file:line citation requirement from `paw-workflow` Core Principles applies to *implementation claims* in CodeResearch.md, not behavioral documentation here. SpecResearch.md documents *what* the system does, not *how* it's implemented.
|
|
25
|
+
|
|
26
|
+
**What to document:**
|
|
27
|
+
- Behavioral descriptions (what system does from user/component perspective)
|
|
28
|
+
- Conceptual data flows (entities and their purposes)
|
|
29
|
+
- API behaviors (inputs/outputs, not implementation)
|
|
30
|
+
- User-facing workflows and business rules
|
|
31
|
+
- Configuration effects (what happens when changed)
|
|
32
|
+
|
|
33
|
+
**What NOT to document:**
|
|
34
|
+
- Implementation details or code structure (Code Research handles this)
|
|
35
|
+
- Technical architecture or design patterns (Code Research handles this)
|
|
36
|
+
- Code snippets or function signatures (Code Research handles this)
|
|
37
|
+
|
|
38
|
+
**Evidence references**: Use documentation-level citations (e.g., "README section X", "API docs", "config file behavior") rather than code file:line references.
|
|
39
|
+
|
|
40
|
+
**Key difference from CodeResearch.md:**
|
|
41
|
+
- SpecResearch.md: "The auth system requires email and password, returns session token" (behavioral)
|
|
42
|
+
- CodeResearch.md: "Auth implemented in auth/handlers.go:45 using bcrypt" (implementation)
|
|
43
|
+
|
|
44
|
+
## Desired End State
|
|
45
|
+
|
|
46
|
+
SpecResearch.md artifact created at `.paw/work/<work-id>/SpecResearch.md` containing:
|
|
47
|
+
- Summary of key findings about existing system behavior
|
|
48
|
+
- Each question answered with evidence source and spec implications
|
|
49
|
+
- Unanswerable questions listed as Open Unknowns with rationale
|
|
50
|
+
- External questions preserved for manual completion
|
|
51
|
+
|
|
52
|
+
## Research Process
|
|
53
|
+
|
|
54
|
+
Read `.paw/work/<work-id>/ResearchQuestions.md` for questions and context. For each question, search the codebase for relevant behavior, ensure sufficient context before stating behavior confidently, and document answers factually with evidence sources.
|
|
55
|
+
|
|
56
|
+
## SpecResearch.md Template
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
---
|
|
60
|
+
date: <YYYY-MM-DD HH:MM:SS TZ>
|
|
61
|
+
git_commit: <current commit hash>
|
|
62
|
+
branch: <target branch>
|
|
63
|
+
repository: <repo name>
|
|
64
|
+
topic: "<feature name> Spec Research"
|
|
65
|
+
tags: [research, specification]
|
|
66
|
+
status: complete
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
# Spec Research: <Feature Name>
|
|
70
|
+
|
|
71
|
+
## Summary
|
|
72
|
+
<1-2 paragraphs: Key findings overview. What the research revealed about existing system behavior.>
|
|
73
|
+
|
|
74
|
+
## Agent Notes
|
|
75
|
+
<Preserve notes from Spec Agent verbatim. Omit section if no notes in prompt.>
|
|
76
|
+
|
|
77
|
+
## Research Findings
|
|
78
|
+
|
|
79
|
+
### Question 1: <question text>
|
|
80
|
+
**Answer**: <factual behavior description>
|
|
81
|
+
**Evidence**: <source of information - e.g., "API documentation", "observed config behavior">
|
|
82
|
+
**Implications**: <how this impacts spec requirements or scope>
|
|
83
|
+
|
|
84
|
+
### Question 2: <question text>
|
|
85
|
+
**Answer**: <factual behavior description>
|
|
86
|
+
**Evidence**: <source>
|
|
87
|
+
**Implications**: <impact on spec>
|
|
88
|
+
|
|
89
|
+
## Open Unknowns
|
|
90
|
+
<List internal questions that couldn't be answered with rationale.>
|
|
91
|
+
|
|
92
|
+
- <question>: <why it couldn't be answered>
|
|
93
|
+
|
|
94
|
+
Note: The Spec Agent will review these with you. You may provide answers if possible.
|
|
95
|
+
|
|
96
|
+
## User-Provided External Knowledge (Manual Fill)
|
|
97
|
+
<Unchecked list of optional external/context questions for manual completion.>
|
|
98
|
+
|
|
99
|
+
- [ ] <external question 1>
|
|
100
|
+
- [ ] <external question 2>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Quality Guidelines
|
|
104
|
+
|
|
105
|
+
### Anti-Evaluation Directives (CRITICAL)
|
|
106
|
+
|
|
107
|
+
**YOUR JOB IS TO DESCRIBE THE SYSTEM AS IT EXISTS TODAY**
|
|
108
|
+
- DO NOT suggest improvements or alternative implementations
|
|
109
|
+
- DO NOT critique current behavior or identify problems
|
|
110
|
+
- DO NOT recommend optimizations, refactors, or fixes
|
|
111
|
+
- DO NOT evaluate whether the current approach is good or bad
|
|
112
|
+
- ONLY document observable behavior and facts supported by the codebase
|
|
113
|
+
|
|
114
|
+
### Keep Answers Concise
|
|
115
|
+
|
|
116
|
+
- Answer questions directly with essential facts only
|
|
117
|
+
- Avoid exhaustive lists, lengthy examples, or unnecessary detail
|
|
118
|
+
- Goal: Give Spec Agent enough info to write clear requirements, not document every edge case
|
|
119
|
+
|
|
120
|
+
### Idempotent Updates
|
|
121
|
+
|
|
122
|
+
- Build SpecResearch.md incrementally
|
|
123
|
+
- Re-running with same inputs should reproduce same document
|
|
124
|
+
- Preserve existing accurate sections; avoid rewriting unrelated portions
|
|
125
|
+
|
|
126
|
+
## Quality Checklist
|
|
127
|
+
|
|
128
|
+
Before completion:
|
|
129
|
+
- [ ] All internal questions answered or listed as Open Unknowns with rationale
|
|
130
|
+
- [ ] Answers are factual and evidence-based (no speculation)
|
|
131
|
+
- [ ] Responses are concise and directly address questions
|
|
132
|
+
- [ ] Behavioral focus maintained (no implementation details)
|
|
133
|
+
- [ ] Optional external questions copied to manual section
|
|
134
|
+
- [ ] SpecResearch.md saved to `.paw/work/<work-id>/SpecResearch.md`
|
|
135
|
+
|
|
136
|
+
## Completion Response
|
|
137
|
+
|
|
138
|
+
Report to PAW agent: artifact path, counts (questions answered, open unknowns, external questions for manual completion), and readiness for spec integration.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-spec-review
|
|
3
|
+
description: Specification review skill for PAW workflow. Validates Spec.md against quality criteria and returns structured feedback for iteration.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Spec Review
|
|
9
|
+
|
|
10
|
+
> **Execution Context**: This skill runs in a **subagent** session, delegated by the PAW orchestrator. Return structured feedback (pass/fail + issues) to the orchestrator—do not make orchestration decisions.
|
|
11
|
+
|
|
12
|
+
Review specifications for quality, completeness, and clarity before planning proceeds. Return structured feedback—do not make orchestration decisions.
|
|
13
|
+
|
|
14
|
+
> **Reference**: Follow Core Implementation Principles from `paw-workflow` skill.
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Review Spec.md for quality, completeness, and clarity
|
|
19
|
+
- Validate against specification quality criteria
|
|
20
|
+
- Identify specific sections needing revision
|
|
21
|
+
- Return structured feedback with pass/fail status
|
|
22
|
+
|
|
23
|
+
## Desired End State
|
|
24
|
+
|
|
25
|
+
After review, the PAW agent receives:
|
|
26
|
+
- Pass/fail determination
|
|
27
|
+
- For passing specs: confirmation of readiness for planning (with optional polish suggestions)
|
|
28
|
+
- For failing specs: specific issues by criterion, affected sections, and suggestions for fixing
|
|
29
|
+
|
|
30
|
+
## Review Process
|
|
31
|
+
|
|
32
|
+
Evaluate the specification at `.paw/work/<work-id>/Spec.md` against the Quality Criteria Checklist below. For failing items, note the specific issue, identify affected section(s), and suggest what needs to change without prescribing exact wording.
|
|
33
|
+
|
|
34
|
+
## Quality Criteria Checklist
|
|
35
|
+
|
|
36
|
+
### Content Quality
|
|
37
|
+
- [ ] **User value focus**: Describes WHAT & WHY, no implementation details
|
|
38
|
+
- [ ] **No code artifacts**: No code snippets, file paths, API signatures, class names
|
|
39
|
+
- [ ] **Story priorities**: Clear priority order (P1 highest, descending)
|
|
40
|
+
- [ ] **Testable stories**: Each user story is independently testable
|
|
41
|
+
- [ ] **Acceptance scenarios**: Each story has ≥1 acceptance scenario (Given/When/Then)
|
|
42
|
+
- [ ] **Edge cases**: Edge conditions and error modes enumerated
|
|
43
|
+
|
|
44
|
+
### Narrative Quality
|
|
45
|
+
- [ ] **Overview present**: 2-4 paragraphs of flowing prose (not bullets)
|
|
46
|
+
- [ ] **Objectives present**: Bulleted behavioral goals (not implementation)
|
|
47
|
+
- [ ] **User perspective**: Overview and Objectives focus on WHAT/WHY from user viewpoint
|
|
48
|
+
- [ ] **Specific content**: Uses measurable language, not vague terms
|
|
49
|
+
- [ ] **No duplication**: Overview doesn't duplicate User Stories/FRs/SCs verbatim
|
|
50
|
+
|
|
51
|
+
### Requirement Completeness
|
|
52
|
+
- [ ] **FRs testable**: All functional requirements are observable and testable
|
|
53
|
+
- [ ] **FRs mapped**: Each FR linked to supporting user stories
|
|
54
|
+
- [ ] **SCs measurable**: Success criteria are measurable and technology-agnostic
|
|
55
|
+
- [ ] **SCs linked**: Success criteria reference relevant FR IDs
|
|
56
|
+
- [ ] **Assumptions documented**: No silently implied assumptions
|
|
57
|
+
- [ ] **Dependencies listed**: External dependencies and constraints captured
|
|
58
|
+
|
|
59
|
+
### Ambiguity Control
|
|
60
|
+
- [ ] **No unresolved questions**: No clarification markers or TBDs in spec body
|
|
61
|
+
- [ ] **Precise language**: No vague adjectives without metrics (e.g., "fast", "easy")
|
|
62
|
+
|
|
63
|
+
### Scope & Risk
|
|
64
|
+
- [ ] **Boundaries defined**: Clear In Scope and Out of Scope sections
|
|
65
|
+
- [ ] **Risks captured**: Known risks with impact and mitigation noted
|
|
66
|
+
|
|
67
|
+
### Research Integration (if SpecResearch.md exists)
|
|
68
|
+
- [ ] **Research incorporated**: System research questions answered or converted to assumptions
|
|
69
|
+
- [ ] **External questions listed**: Optional external questions preserved for manual completion
|
|
70
|
+
|
|
71
|
+
## Feedback Guidance
|
|
72
|
+
|
|
73
|
+
**For passing specs**: Indicate readiness for planning. Include minor polish suggestions if any.
|
|
74
|
+
|
|
75
|
+
**For failing specs**: List each failing criterion with the specific issue, affected section(s), and a suggestion for what to fix. Include count of passing vs total criteria.
|
|
76
|
+
|
|
77
|
+
## Review Guidelines
|
|
78
|
+
|
|
79
|
+
### Be Specific
|
|
80
|
+
|
|
81
|
+
Instead of: "FRs are incomplete"
|
|
82
|
+
Say: "FR-003 lacks story mapping. Add (Stories: P2) reference."
|
|
83
|
+
|
|
84
|
+
### Focus on Criteria
|
|
85
|
+
|
|
86
|
+
Only flag issues that violate a checklist item. Personal preferences don't count unless they affect testability or clarity.
|
|
87
|
+
|
|
88
|
+
### Don't Rewrite
|
|
89
|
+
|
|
90
|
+
Identify what's wrong and suggest direction. Don't prescribe exact wording—the Spec Agent makes those decisions.
|
|
91
|
+
|
|
92
|
+
### Context Matters
|
|
93
|
+
|
|
94
|
+
Consider workflow mode when reviewing:
|
|
95
|
+
- **Full mode**: Expect comprehensive coverage
|
|
96
|
+
- **Minimal mode**: Accept lighter spec with core FRs only
|
|
97
|
+
- **Custom mode**: Reference Custom Workflow Instructions for expected depth
|
|
98
|
+
|
|
99
|
+
## Completion Response
|
|
100
|
+
|
|
101
|
+
Report to PAW agent: pass/fail result, criteria passing count, issues found count, and detailed feedback per Feedback Guidance above. Do NOT make orchestration decisions—return status only.
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-status
|
|
3
|
+
description: Workflow status activity skill for PAW workflow. Diagnoses workflow state, recommends next steps, explains PAW process, and optionally posts updates to Issues/PRs.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Workflow Status
|
|
9
|
+
|
|
10
|
+
> **Execution Context**: This skill runs **directly** in the PAW session (not a subagent)—simple diagnostic with no context isolation benefit.
|
|
11
|
+
|
|
12
|
+
Serve as the workflow navigator and historian. Diagnose current workflow state, recommend next actions, and optionally post updates to Issues/PRs.
|
|
13
|
+
|
|
14
|
+
> **Reference**: Follow Core Implementation Principles from `paw-workflow` skill.
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Diagnose current workflow state from artifacts and git
|
|
19
|
+
- Recommend appropriate next steps
|
|
20
|
+
- Explain PAW process and stages
|
|
21
|
+
- List active work items across workspace
|
|
22
|
+
- Post status updates to Issues/PRs (on explicit request)
|
|
23
|
+
|
|
24
|
+
## Default Behavior
|
|
25
|
+
|
|
26
|
+
**Report status in chat**—do NOT post to GitHub unless explicitly asked ("post status to issue", "update the PR summary").
|
|
27
|
+
|
|
28
|
+
## State Detection
|
|
29
|
+
|
|
30
|
+
### Artifact Discovery
|
|
31
|
+
|
|
32
|
+
Check `.paw/work/<work-id>/` for:
|
|
33
|
+
- WorkflowContext.md (required for workflow context)
|
|
34
|
+
- Spec.md, SpecResearch.md (specification stage)
|
|
35
|
+
- CodeResearch.md (research stage)
|
|
36
|
+
- ImplementationPlan.md (planning stage)
|
|
37
|
+
- Docs.md (documentation if separate from implementation)
|
|
38
|
+
|
|
39
|
+
Note existence vs intentionally skipped (minimal mode skips Spec/Docs).
|
|
40
|
+
|
|
41
|
+
### Phase Counting
|
|
42
|
+
|
|
43
|
+
Parse ImplementationPlan.md with regex: `^## Phase \d+:`
|
|
44
|
+
- Count distinct phase numbers
|
|
45
|
+
- Report: "Phase N of M" or "Phase N (plan shows M phases total)"
|
|
46
|
+
- Never assume total—always verify
|
|
47
|
+
|
|
48
|
+
### Git Status
|
|
49
|
+
|
|
50
|
+
Determine:
|
|
51
|
+
- Current branch: `git branch --show-current`
|
|
52
|
+
- Staged/unstaged changes: `git status --porcelain`
|
|
53
|
+
- Upstream divergence: commits ahead/behind remote
|
|
54
|
+
|
|
55
|
+
### PR Discovery
|
|
56
|
+
|
|
57
|
+
For **prs strategy**:
|
|
58
|
+
- Find branches: `<target>_plan`, `<target>_phase*`, `<target>_docs`
|
|
59
|
+
- Query PRs by head branch
|
|
60
|
+
- Capture: URL, state (open/merged/closed), CI status
|
|
61
|
+
|
|
62
|
+
For **local strategy**:
|
|
63
|
+
- Focus on target branch and Final PR only
|
|
64
|
+
|
|
65
|
+
### PR Review Comments
|
|
66
|
+
|
|
67
|
+
When PRs exist:
|
|
68
|
+
- Fetch inline review comments and general discussion
|
|
69
|
+
- Compare comment timestamps vs commit history
|
|
70
|
+
- Summarize: "X comments (Y addressed, Z outstanding)"
|
|
71
|
+
|
|
72
|
+
## Workflow Stage Progression
|
|
73
|
+
|
|
74
|
+
Map state to guidance:
|
|
75
|
+
|
|
76
|
+
| State | Recommendation |
|
|
77
|
+
|-------|----------------|
|
|
78
|
+
| Missing Spec.md + full mode | "Start specification: `spec`" |
|
|
79
|
+
| Spec.md exists, no CodeResearch.md | "Run code research: `research`" |
|
|
80
|
+
| CodeResearch.md exists, no Plan | "Create plan: `plan`" |
|
|
81
|
+
| Plan exists, no phase work | "Begin Phase 1: `implement`" |
|
|
82
|
+
| Phase N complete, Phase N+1 exists | "Continue Phase N+1: `implement`" |
|
|
83
|
+
| All complete | "Create final PR: `pr`" |
|
|
84
|
+
|
|
85
|
+
## Workflow Mode Behavior
|
|
86
|
+
|
|
87
|
+
### Full Mode
|
|
88
|
+
Expect: Spec → Spec Research (optional) → Code Research → Plan → Implementation (multi-phase) → Docs → Final PR
|
|
89
|
+
|
|
90
|
+
### Minimal Mode
|
|
91
|
+
Expect: Code Research → Plan → Implementation (single phase) → Final PR
|
|
92
|
+
Skips: Spec, Spec Research (local strategy enforced)
|
|
93
|
+
|
|
94
|
+
### Custom Mode
|
|
95
|
+
Inspect disk to discover actual stages per Custom Workflow Instructions.
|
|
96
|
+
|
|
97
|
+
## Multi-Work Management
|
|
98
|
+
|
|
99
|
+
When asked "What PAW work items do I have?":
|
|
100
|
+
- Enumerate `.paw/work/` directories with WorkflowContext.md
|
|
101
|
+
- Report: Work Title, Work ID, target branch, last modified, current stage
|
|
102
|
+
- Sort by most recently modified
|
|
103
|
+
|
|
104
|
+
## Issue/PR Updates (Opt-in Only)
|
|
105
|
+
|
|
106
|
+
Only post externally when explicitly asked.
|
|
107
|
+
|
|
108
|
+
**Issue comments**:
|
|
109
|
+
- Prefix: `**🐾 Status Update 🤖:**`
|
|
110
|
+
- Include: Artifacts, PRs, phase checklist
|
|
111
|
+
|
|
112
|
+
**PR body updates**:
|
|
113
|
+
- Only modify content inside `<!-- BEGIN:AGENT-SUMMARY -->` / `<!-- END:AGENT-SUMMARY -->` block
|
|
114
|
+
- Preserve all other text
|
|
115
|
+
|
|
116
|
+
**Never**:
|
|
117
|
+
- Modify issue descriptions
|
|
118
|
+
- Assign reviewers
|
|
119
|
+
- Change labels
|
|
120
|
+
|
|
121
|
+
## Help Mode
|
|
122
|
+
|
|
123
|
+
When asked "What does <stage> do?", provide:
|
|
124
|
+
1. Purpose of the stage
|
|
125
|
+
2. Required inputs/artifacts
|
|
126
|
+
3. Expected outputs
|
|
127
|
+
4. Typical duration
|
|
128
|
+
5. Command to run
|
|
129
|
+
|
|
130
|
+
For implementation details (e.g., two-agent pattern, delegation mechanics), reference `paw-workflow` skill.
|
|
131
|
+
|
|
132
|
+
For "How do I start?", explain:
|
|
133
|
+
- `PAW: New PAW Workflow` command
|
|
134
|
+
- Parameters (branch, mode, strategy, issue URL)
|
|
135
|
+
- That prompt files generate on demand
|
|
136
|
+
|
|
137
|
+
## Status Dashboard Format
|
|
138
|
+
|
|
139
|
+
Synthesize findings into sections:
|
|
140
|
+
- **Artifacts**: Existence and status
|
|
141
|
+
- **Phases**: Current progress (N of M)
|
|
142
|
+
- **Branch & Git**: Current state, divergence
|
|
143
|
+
- **PRs**: Open/merged status, review comments
|
|
144
|
+
- **Next Actions**: Recommended commands
|
|
145
|
+
|
|
146
|
+
## Guardrails
|
|
147
|
+
|
|
148
|
+
- Verify phase count from ImplementationPlan.md—never assume
|
|
149
|
+
- Never mutate issue descriptions or PR content outside summary blocks
|
|
150
|
+
- Never push, merge, or rewrite git history
|
|
151
|
+
- Be idempotent: same state → same summary
|
|
152
|
+
- If required info missing, state blocker and resolution
|
|
153
|
+
|
|
154
|
+
## Completion Response
|
|
155
|
+
|
|
156
|
+
Report:
|
|
157
|
+
- Current workflow state
|
|
158
|
+
- Recommended next action with command
|
|
159
|
+
- Any blockers or warnings
|
|
160
|
+
- PR/branch status summary
|