@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,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-docs-guidance
|
|
3
|
+
description: Documentation conventions for PAW implementation workflow. Provides Docs.md template structure, include/exclude guidelines, and project documentation update patterns.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Documentation Guidance
|
|
9
|
+
|
|
10
|
+
## Docs.md Purpose
|
|
11
|
+
|
|
12
|
+
`Docs.md` is the **authoritative technical reference** for implemented work. It serves as:
|
|
13
|
+
|
|
14
|
+
- The most comprehensive documentation of what was implemented
|
|
15
|
+
- A standalone technical reference for engineers
|
|
16
|
+
- The source of truth for understanding how the implementation works
|
|
17
|
+
- The basis for generating project-specific documentation
|
|
18
|
+
- Documentation that persists as the go-to reference
|
|
19
|
+
|
|
20
|
+
**Docs.md is NOT**: A list of documentation changes or a changelog.
|
|
21
|
+
|
|
22
|
+
## Docs.md Template
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
# [Work Title]
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
[Comprehensive description of what was implemented, its purpose, and the problem it solves]
|
|
30
|
+
|
|
31
|
+
## Architecture and Design
|
|
32
|
+
|
|
33
|
+
### High-Level Architecture
|
|
34
|
+
[Architectural overview, system components, data flow]
|
|
35
|
+
|
|
36
|
+
### Design Decisions
|
|
37
|
+
[Key design choices made during implementation and rationale]
|
|
38
|
+
|
|
39
|
+
### Integration Points
|
|
40
|
+
[How this implementation integrates with existing systems]
|
|
41
|
+
|
|
42
|
+
## User Guide
|
|
43
|
+
|
|
44
|
+
### Prerequisites
|
|
45
|
+
[What users need before using this implementation]
|
|
46
|
+
|
|
47
|
+
### Basic Usage
|
|
48
|
+
[Step-by-step guide for common use cases with examples]
|
|
49
|
+
|
|
50
|
+
### Advanced Usage
|
|
51
|
+
[Complex scenarios, customization options, power-user features]
|
|
52
|
+
|
|
53
|
+
## API Reference
|
|
54
|
+
|
|
55
|
+
### Key Components
|
|
56
|
+
[Document reusable components that other code will call]
|
|
57
|
+
|
|
58
|
+
### Configuration Options
|
|
59
|
+
[Available settings and their effects]
|
|
60
|
+
|
|
61
|
+
## Testing
|
|
62
|
+
|
|
63
|
+
### How to Test
|
|
64
|
+
[How to exercise the implementation as a human user]
|
|
65
|
+
|
|
66
|
+
### Edge Cases
|
|
67
|
+
[Known edge cases and how they're handled]
|
|
68
|
+
|
|
69
|
+
## Limitations and Future Work
|
|
70
|
+
|
|
71
|
+
[Known limitations, planned improvements, out-of-scope items]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## What to Include
|
|
75
|
+
|
|
76
|
+
Focus Docs.md on information not easily discovered from code:
|
|
77
|
+
|
|
78
|
+
| Include | Why |
|
|
79
|
+
|---------|-----|
|
|
80
|
+
| Design decisions and rationale | Not visible in code |
|
|
81
|
+
| Architecture and integration points | High-level view |
|
|
82
|
+
| User-facing behavior and usage patterns | User perspective |
|
|
83
|
+
| How to test/exercise as a human | Verification guidance |
|
|
84
|
+
| Migration paths and compatibility | Operational knowledge |
|
|
85
|
+
| Reusable components for other code | API surface |
|
|
86
|
+
| Edge cases and limitations | Gotchas users should know |
|
|
87
|
+
|
|
88
|
+
## What NOT to Include
|
|
89
|
+
|
|
90
|
+
Avoid duplicating information already in code or other artifacts:
|
|
91
|
+
|
|
92
|
+
| Exclude | Why |
|
|
93
|
+
|---------|-----|
|
|
94
|
+
| Code reproduction | Already in the code |
|
|
95
|
+
| Every function/class | Internal details |
|
|
96
|
+
| Exhaustive API docs | Over-documentation |
|
|
97
|
+
| Test coverage checklists | In PRs and tests |
|
|
98
|
+
| Acceptance criteria verification | In implementation artifacts |
|
|
99
|
+
| Project doc updates list | In PR description |
|
|
100
|
+
| Unnecessary code examples | Only when essential |
|
|
101
|
+
|
|
102
|
+
## Project Documentation Updates
|
|
103
|
+
|
|
104
|
+
When updating README, CHANGELOG, guides, or API docs, follow these principles:
|
|
105
|
+
|
|
106
|
+
### Style Matching (CRITICAL)
|
|
107
|
+
|
|
108
|
+
**STUDY FIRST**: Before updating any project documentation:
|
|
109
|
+
1. Read multiple existing entries/sections
|
|
110
|
+
2. Understand the style, length, and detail level
|
|
111
|
+
3. Match it precisely
|
|
112
|
+
|
|
113
|
+
### CHANGELOG Discipline
|
|
114
|
+
|
|
115
|
+
- Create **ONE entry** for the work, not multiple sub-entries
|
|
116
|
+
- Follow existing format exactly (bullet style, sentence case, etc.)
|
|
117
|
+
- Group related changes into a single coherent entry
|
|
118
|
+
|
|
119
|
+
**Example:**
|
|
120
|
+
```markdown
|
|
121
|
+
## [Unreleased]
|
|
122
|
+
|
|
123
|
+
### Added
|
|
124
|
+
- Skills-based architecture for implementation workflow (#164)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### README Discipline
|
|
128
|
+
|
|
129
|
+
- Match section length and detail level of surrounding sections
|
|
130
|
+
- Don't expand sections beyond the existing style
|
|
131
|
+
- Keep additions proportional to the significance of the change
|
|
132
|
+
|
|
133
|
+
### When Uncertain
|
|
134
|
+
|
|
135
|
+
Err on the side of **LESS detail** in project docs. Docs.md contains the comprehensive detail; users can ask for more if needed.
|
|
136
|
+
|
|
137
|
+
## Surgical Change Discipline
|
|
138
|
+
|
|
139
|
+
- ONLY modify documentation files required to describe the completed work
|
|
140
|
+
- DO NOT format or rewrite implementation code sections
|
|
141
|
+
- DO NOT introduce unrelated documentation updates or cleanups
|
|
142
|
+
- DO NOT remove historical context without explicit direction
|
|
143
|
+
- When unsure if a change is purely documentation, pause and ask
|
|
144
|
+
|
|
145
|
+
## Documentation Depth by Workflow Mode
|
|
146
|
+
|
|
147
|
+
| Mode | Docs.md Depth | Project Docs |
|
|
148
|
+
|------|---------------|--------------|
|
|
149
|
+
| full | Comprehensive with all sections | Full updates |
|
|
150
|
+
| minimal | Essential information only | Minimal updates |
|
|
151
|
+
| custom | Per Custom Workflow Instructions | As specified |
|
|
152
|
+
|
|
153
|
+
## Quality Checklist
|
|
154
|
+
|
|
155
|
+
Before completing documentation:
|
|
156
|
+
|
|
157
|
+
- [ ] Docs.md covers all sections relevant to the implementation
|
|
158
|
+
- [ ] Design decisions and rationale documented
|
|
159
|
+
- [ ] User-facing behavior explained with examples
|
|
160
|
+
- [ ] No code reproduction or over-documentation
|
|
161
|
+
- [ ] Project docs match existing style
|
|
162
|
+
- [ ] CHANGELOG has single coherent entry
|
|
163
|
+
- [ ] README changes proportional to significance
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-git-operations
|
|
3
|
+
description: Shared git mechanics for PAW activity skills including branch naming conventions, strategy-based branching logic, and selective staging discipline.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Git Operations
|
|
9
|
+
|
|
10
|
+
## Branch Naming Conventions
|
|
11
|
+
|
|
12
|
+
| Branch Type | Pattern | Example |
|
|
13
|
+
|-------------|---------|---------|
|
|
14
|
+
| Phase branch | `<target>_phase[N]` | `feature/auth-system_phase1` |
|
|
15
|
+
| Multi-phase | `<target>_phase[M-N]` | `feature/auth-system_phase1-3` |
|
|
16
|
+
| Planning branch | `<target>_plan` | `feature/auth-system_plan` |
|
|
17
|
+
| Docs branch | `<target>_docs` | `feature/auth-system_docs` |
|
|
18
|
+
|
|
19
|
+
**Target branch** is the feature branch from WorkflowContext.md (e.g., `feature/auth-system`).
|
|
20
|
+
|
|
21
|
+
## Strategy-Based Branching Logic
|
|
22
|
+
|
|
23
|
+
### PRs Strategy
|
|
24
|
+
|
|
25
|
+
Create intermediate branches for each workflow stage; push and create PRs for review.
|
|
26
|
+
|
|
27
|
+
**Phase work:**
|
|
28
|
+
1. Check current branch: `git branch --show-current`
|
|
29
|
+
2. If not on correct phase branch:
|
|
30
|
+
- Checkout target branch: `git checkout <target>`
|
|
31
|
+
- Set upstream if not set: `git branch --set-upstream-to=<remote>/<target>`
|
|
32
|
+
- Pull latest: `git pull`
|
|
33
|
+
- Create phase branch from target: `git checkout -b <target>_phase[N]`
|
|
34
|
+
3. Verify: `git branch --show-current`
|
|
35
|
+
4. Implement on phase branch, commit locally
|
|
36
|
+
5. Push: `git push -u <remote> <target>_phase[N]`
|
|
37
|
+
6. Create PR: `<target>_phase[N]` → `<target>`
|
|
38
|
+
|
|
39
|
+
**Planning work:**
|
|
40
|
+
1. Checkout target branch: `git checkout <target>`
|
|
41
|
+
2. Set upstream if not set: `git branch --set-upstream-to=<remote>/<target>`
|
|
42
|
+
3. Pull latest: `git pull`
|
|
43
|
+
4. Create planning branch: `git checkout -b <target>_plan`
|
|
44
|
+
5. Commit planning artifacts
|
|
45
|
+
6. Push: `git push -u <remote> <target>_plan`
|
|
46
|
+
7. Create PR: `<target>_plan` → `<target>`
|
|
47
|
+
|
|
48
|
+
**Docs work:**
|
|
49
|
+
1. Checkout target branch: `git checkout <target>`
|
|
50
|
+
2. Set upstream if not set: `git branch --set-upstream-to=<remote>/<target>`
|
|
51
|
+
3. Pull latest: `git pull`
|
|
52
|
+
4. Create docs branch: `git checkout -b <target>_docs`
|
|
53
|
+
5. Commit documentation
|
|
54
|
+
6. Push: `git push -u <remote> <target>_docs`
|
|
55
|
+
7. Create PR: `<target>_docs` → `<target>`
|
|
56
|
+
|
|
57
|
+
### Local Strategy
|
|
58
|
+
|
|
59
|
+
Work directly on target branch; no intermediate branches or PRs between stages.
|
|
60
|
+
|
|
61
|
+
**All work:**
|
|
62
|
+
1. Check current branch: `git branch --show-current`
|
|
63
|
+
2. If not on target branch:
|
|
64
|
+
- Checkout target: `git checkout <target>`
|
|
65
|
+
- Set upstream if not set: `git branch --set-upstream-to=<remote>/<target>`
|
|
66
|
+
- Pull latest: `git pull`
|
|
67
|
+
3. Verify: `git branch --show-current`
|
|
68
|
+
4. Implement, commit to target branch
|
|
69
|
+
5. Push: `git push <remote> <target>`
|
|
70
|
+
6. Skip intermediate PR creation
|
|
71
|
+
|
|
72
|
+
## Selective Staging Discipline
|
|
73
|
+
|
|
74
|
+
**CRITICAL**: Never use `git add .` or `git add -A`. Always stage files explicitly.
|
|
75
|
+
|
|
76
|
+
### Standard Staging
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Stage specific files
|
|
80
|
+
git add <file1> <file2> <file3>
|
|
81
|
+
|
|
82
|
+
# Verify staged changes before commit
|
|
83
|
+
git diff --cached
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### PAW Artifact Staging
|
|
87
|
+
|
|
88
|
+
Before staging `.paw/` files, check if artifact tracking is disabled:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Check for .gitignore in work directory
|
|
92
|
+
if [ -f ".paw/work/<feature-slug>/.gitignore" ]; then
|
|
93
|
+
# Tracking disabled - skip .paw/ artifacts
|
|
94
|
+
git add <non-paw-files-only>
|
|
95
|
+
else
|
|
96
|
+
# Tracking enabled - stage all changed files
|
|
97
|
+
git add <all-changed-files>
|
|
98
|
+
fi
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Why**: Users can disable artifact tracking via `.gitignore`. Respect this by checking before staging `.paw/` files.
|
|
102
|
+
|
|
103
|
+
## Branch Verification
|
|
104
|
+
|
|
105
|
+
Before every commit, verify you're on the expected branch:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Get current branch
|
|
109
|
+
git branch --show-current
|
|
110
|
+
|
|
111
|
+
# Expected patterns by work type:
|
|
112
|
+
# - Phase work (prs): *_phase[N] or *_phase[M-N]
|
|
113
|
+
# - Planning (prs): *_plan
|
|
114
|
+
# - Docs (prs): *_docs
|
|
115
|
+
# - Any work (local): <target> (no suffix)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**If on wrong branch**: STOP immediately. Do not commit. Switch to correct branch first.
|
|
119
|
+
|
|
120
|
+
## Pre-Commit Checklist
|
|
121
|
+
|
|
122
|
+
1. ✓ Verify current branch matches expected pattern
|
|
123
|
+
2. ✓ Stage only related files (no `git add .`)
|
|
124
|
+
3. ✓ Check `.paw/work/<slug>/.gitignore` before staging `.paw/` artifacts
|
|
125
|
+
4. ✓ Review staged changes: `git diff --cached`
|
|
126
|
+
5. ✓ Commit with descriptive message
|
|
127
|
+
|
|
128
|
+
## Phase PR Creation
|
|
129
|
+
|
|
130
|
+
After implementation review passes, create Phase PR (PRs strategy only).
|
|
131
|
+
|
|
132
|
+
### Push and Create PR
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# 1. Verify on phase branch
|
|
136
|
+
git branch --show-current # Should be <target>_phase[N]
|
|
137
|
+
|
|
138
|
+
# 2. Push branch
|
|
139
|
+
git push -u <remote> <target>_phase[N]
|
|
140
|
+
|
|
141
|
+
# 3. Create PR via gh CLI
|
|
142
|
+
gh pr create \
|
|
143
|
+
--base <target> \
|
|
144
|
+
--head <target>_phase[N] \
|
|
145
|
+
--title "[<Work Title>] Phase <N>: <description>" \
|
|
146
|
+
--body "<PR body>"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### PR Title Format
|
|
150
|
+
|
|
151
|
+
`[<Work Title>] Phase <N>: <one-sentence description>`
|
|
152
|
+
|
|
153
|
+
Example: `[Auth System] Phase 1: Add JWT token validation`
|
|
154
|
+
|
|
155
|
+
### PR Body Scaling
|
|
156
|
+
|
|
157
|
+
**Simple phases**:
|
|
158
|
+
```
|
|
159
|
+
Phase <N>: <one-sentence objective>
|
|
160
|
+
|
|
161
|
+
🐾 Generated with [PAW](https://github.com/lossyrob/phased-agent-workflow)
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Complex phases**:
|
|
165
|
+
```
|
|
166
|
+
## Summary
|
|
167
|
+
<Key changes and approach>
|
|
168
|
+
|
|
169
|
+
## Design Decisions
|
|
170
|
+
<Noteworthy decisions made>
|
|
171
|
+
|
|
172
|
+
## Reviewer Notes
|
|
173
|
+
<Items for reviewer attention>
|
|
174
|
+
|
|
175
|
+
🐾 Generated with [PAW](https://github.com/lossyrob/phased-agent-workflow)
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Post-PR Actions
|
|
179
|
+
|
|
180
|
+
1. Capture PR URL from `gh pr create` output
|
|
181
|
+
2. Update ImplementationPlan.md with PR link in phase notes
|
|
182
|
+
3. Report PR URL to user
|
|
183
|
+
|
|
184
|
+
### PR Update Policy
|
|
185
|
+
|
|
186
|
+
After a PR is opened, post progress updates as **PR comments**, not modifications to the PR body. PR body modifications require explicit user request.
|
|
187
|
+
|
|
188
|
+
### Reply Format (PR Comments)
|
|
189
|
+
|
|
190
|
+
When replying to review comments:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
**🐾 PAW 🤖:**
|
|
194
|
+
|
|
195
|
+
[What was changed and commit hash reference]
|
|
196
|
+
```
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-impl-review
|
|
3
|
+
description: Implementation review activity skill for PAW workflow. Reviews implementation for quality, adds documentation, and returns structured verdict.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Implementation 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 or perform git operations.
|
|
11
|
+
|
|
12
|
+
Review implementation changes for quality and maintainability. Acts as quality gate between implementation and PR creation.
|
|
13
|
+
|
|
14
|
+
> **Reference**: Follow Core Implementation Principles from `paw-workflow` skill.
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Review implementation for quality and maintainability
|
|
19
|
+
- Add documentation/docstrings to implementation
|
|
20
|
+
- Verify `paw-implement` addressed PR comments correctly
|
|
21
|
+
- Return structured verdict (pass/fail + issues)
|
|
22
|
+
|
|
23
|
+
## Role: Maintainability
|
|
24
|
+
|
|
25
|
+
Focus on ensuring code is well-documented, readable, and maintainable.
|
|
26
|
+
|
|
27
|
+
**Responsibilities:**
|
|
28
|
+
- Review code for clarity, readability, necessity
|
|
29
|
+
- Question design decisions and identify unnecessary code
|
|
30
|
+
- Generate docstrings and code comments
|
|
31
|
+
- Make small refactors (remove unused parameters, simplify)
|
|
32
|
+
- Return structured verdict for orchestrator
|
|
33
|
+
|
|
34
|
+
**Not responsibilities** (handled elsewhere):
|
|
35
|
+
- Writing functional code or tests (`paw-implement`)
|
|
36
|
+
- Push branches or create PRs (PAW agent / `paw-git-operations`)
|
|
37
|
+
- Merging PRs (human responsibility)
|
|
38
|
+
|
|
39
|
+
## Review Philosophy
|
|
40
|
+
|
|
41
|
+
Act as a critical PR reviewer, not just a documentation pass:
|
|
42
|
+
|
|
43
|
+
- Question whether code should exist as-is
|
|
44
|
+
- Identify unused parameters, dead code, over-engineering
|
|
45
|
+
- Check for code duplication across changed files
|
|
46
|
+
- Verify tests exist for new functionality
|
|
47
|
+
|
|
48
|
+
**Small refactors** (do yourself): Remove unused parameters, dead code, extract duplicate utilities
|
|
49
|
+
**Large refactors** (coordinate): Restructuring, major changes → return `blocked` with reason, specific changes needed, and evidence (file:line references, test output)
|
|
50
|
+
|
|
51
|
+
## Project Instructions Adherence
|
|
52
|
+
|
|
53
|
+
Discover and enforce project-specific coding conventions from instruction files.
|
|
54
|
+
|
|
55
|
+
**Discovery**: Search for instruction files at repo root and `.github/`:
|
|
56
|
+
- `AGENTS.md`, `.github/AGENTS.md`
|
|
57
|
+
- `.github/copilot-instructions.md`
|
|
58
|
+
- `*.agent.md` in project root or `agents/` directory
|
|
59
|
+
- `.cursor/rules` or similar convention files
|
|
60
|
+
|
|
61
|
+
**Extract and verify**:
|
|
62
|
+
- Required commands (lint, build, test) → run them, must pass
|
|
63
|
+
- Coding patterns and conventions → verify in changed code
|
|
64
|
+
- Project-specific standards → check adherence
|
|
65
|
+
|
|
66
|
+
**Enforcement**: Non-adherence is a **blocking issue**, not a suggestion. If instructions specify a required command, failure = BLOCKED.
|
|
67
|
+
|
|
68
|
+
## Desired End State
|
|
69
|
+
|
|
70
|
+
After review, the PAW agent receives:
|
|
71
|
+
- Pass/fail determination
|
|
72
|
+
- For passing reviews: confirmation ready for PR creation (with optional polish suggestions)
|
|
73
|
+
- For failing reviews: specific issues, what needs to change, and whether Implementer rework is required
|
|
74
|
+
|
|
75
|
+
## Review Process
|
|
76
|
+
|
|
77
|
+
### Plan Completeness Check (CRITICAL)
|
|
78
|
+
|
|
79
|
+
**Before reviewing code quality**, verify the implementation covers all plan items:
|
|
80
|
+
|
|
81
|
+
1. **Read ImplementationPlan.md** for the current phase
|
|
82
|
+
2. **Extract all planned changes**: files to modify, features to add, components to update
|
|
83
|
+
3. **Compare against actual changes**: `git diff` against the plan checklist
|
|
84
|
+
4. **Flag gaps**: If the plan says "update services A, B, C" but only A and B changed → BLOCKED
|
|
85
|
+
|
|
86
|
+
**This check catches partial implementations** where the agent implements some items but forgets others.
|
|
87
|
+
|
|
88
|
+
### Initial Phase Review
|
|
89
|
+
|
|
90
|
+
**Required context**:
|
|
91
|
+
- Implementation changes via `git diff` or `git log`
|
|
92
|
+
- ImplementationPlan.md requirements for comparison
|
|
93
|
+
|
|
94
|
+
**Review focus**:
|
|
95
|
+
- Code clarity, readability, project conventions
|
|
96
|
+
- Code necessity: unused parameters, dead code, duplication
|
|
97
|
+
- Tests exist and pass (REQUIRED)
|
|
98
|
+
|
|
99
|
+
**Allowed improvements**:
|
|
100
|
+
- Add docstrings to new functions/classes
|
|
101
|
+
- Add inline comments for complex logic
|
|
102
|
+
- Small refactors (remove unused parameters, simplify)
|
|
103
|
+
- **Do NOT modify core functional logic**
|
|
104
|
+
|
|
105
|
+
**Constraints**:
|
|
106
|
+
- Commit improvements with clear messages
|
|
107
|
+
- Do NOT push or create PRs (orchestrator handles this)
|
|
108
|
+
|
|
109
|
+
### Review Comment Verification
|
|
110
|
+
|
|
111
|
+
When reviewing Implementer's response to PR comments:
|
|
112
|
+
|
|
113
|
+
**Required context**:
|
|
114
|
+
- Implementer's commits present locally
|
|
115
|
+
- All PR comments and threads
|
|
116
|
+
|
|
117
|
+
**Verification**:
|
|
118
|
+
- Review Implementer's commits against the comments
|
|
119
|
+
- Run tests (REQUIRED):
|
|
120
|
+
- If tests fail due to reviewer changes → fix them
|
|
121
|
+
- If tests fail due to Implementer's code → return `blocked`
|
|
122
|
+
- If functional code changed but tests not updated → BLOCKER
|
|
123
|
+
|
|
124
|
+
**Constraints**:
|
|
125
|
+
- Add improvements if needed (documentation, polish)
|
|
126
|
+
- Do NOT push (orchestrator handles this)
|
|
127
|
+
|
|
128
|
+
## Quality Checklist
|
|
129
|
+
|
|
130
|
+
- [ ] **Plan completeness verified**: All phase items from ImplementationPlan.md implemented
|
|
131
|
+
- [ ] Project instruction files discovered and reviewed
|
|
132
|
+
- [ ] Required commands from instructions pass (lint, build, test)
|
|
133
|
+
- [ ] Changes follow documented coding conventions
|
|
134
|
+
- [ ] All tests pass
|
|
135
|
+
- [ ] Reviewed for code necessity and duplication
|
|
136
|
+
- [ ] Docstrings added to public functions/classes
|
|
137
|
+
- [ ] No modifications to core functional logic
|
|
138
|
+
- [ ] Changes committed locally (not pushed)
|
|
139
|
+
|
|
140
|
+
## Completion Response
|
|
141
|
+
|
|
142
|
+
Return structured feedback to PAW agent:
|
|
143
|
+
|
|
144
|
+
**PASS**: Implementation meets quality criteria, ready for PR
|
|
145
|
+
- Confirm tests pass
|
|
146
|
+
- Note any non-blocking observations
|
|
147
|
+
- Commits made (documentation, polish)
|
|
148
|
+
|
|
149
|
+
**BLOCKED**: Implementation needs rework
|
|
150
|
+
- List blocking issues with file:line references
|
|
151
|
+
- Specify what Implementer needs to change
|
|
152
|
+
- Note **incomplete plan items** (e.g., "Phase 2 says update services A, B, C but only A implemented")
|
|
153
|
+
- Note test failures or missing tests
|
|
154
|
+
- Note violations of project instruction conventions
|
|
155
|
+
|
|
156
|
+
> **After returning PASS**: The PAW orchestrator will handle push/PR creation (via `paw-git-operations`) and then invoke `paw-transition`. This skill does NOT push or create PRs—it only returns the verdict.
|
|
157
|
+
|
|
158
|
+
### Response Format
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
## Review Result: [PASS|BLOCKED]
|
|
162
|
+
|
|
163
|
+
### Summary
|
|
164
|
+
[One-sentence summary of review outcome]
|
|
165
|
+
|
|
166
|
+
### Tests
|
|
167
|
+
- Status: [PASS|FAIL]
|
|
168
|
+
- [Details if relevant]
|
|
169
|
+
|
|
170
|
+
### Commits Made
|
|
171
|
+
- [List of commits added during review, if any]
|
|
172
|
+
|
|
173
|
+
### Issues Found
|
|
174
|
+
[For BLOCKED only: specific issues requiring Implementer attention]
|
|
175
|
+
|
|
176
|
+
### Notes for Reviewer
|
|
177
|
+
[Optional: items flagged for human PR reviewer attention]
|
|
178
|
+
```
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paw-implement
|
|
3
|
+
description: Implementation activity skill for PAW workflow. Executes plan phases with code changes, documentation phases, and PR review comment handling. One phase per invocation.
|
|
4
|
+
metadata:
|
|
5
|
+
version: "0.0.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Implementation
|
|
9
|
+
|
|
10
|
+
> **Execution Context**: This skill runs **directly** in the PAW session (not a subagent), preserving user interactivity for course-correction during implementation.
|
|
11
|
+
|
|
12
|
+
Execute implementation plan phases by making code changes, running verification, and committing locally. Operates one phase per invocation by default.
|
|
13
|
+
|
|
14
|
+
> **Reference**: Follow Core Implementation Principles from `paw-workflow` skill.
|
|
15
|
+
|
|
16
|
+
## Critical: Preserve Existing Changes
|
|
17
|
+
|
|
18
|
+
**DO NOT modify, revert, or stage existing uncommitted changes** in the working directory. The user may have in-progress work they haven't committed yet.
|
|
19
|
+
|
|
20
|
+
- Before making changes, check `git status` to understand current state
|
|
21
|
+
- Only stage files YOU modified for the current phase
|
|
22
|
+
- Never use `git add .` or `git add -A` (can capture unrelated changes)
|
|
23
|
+
- If existing uncommitted changes conflict with plan work, report as `blocked` and ask user how to proceed
|
|
24
|
+
|
|
25
|
+
## Capabilities
|
|
26
|
+
|
|
27
|
+
- Execute one or more plan phases based on delegation instructions
|
|
28
|
+
- Make focused code changes with appropriate verification (tests, lint) per repository norms
|
|
29
|
+
- Execute documentation phases (create/update Docs.md, update project documentation)
|
|
30
|
+
- Address PR review comments on implementation work (load `paw-review-response` for mechanics)
|
|
31
|
+
- Handle non-linear requests (e.g., "adjust implementation to match updated spec") when delegated by PAW agent
|
|
32
|
+
|
|
33
|
+
## Role: Forward Momentum
|
|
34
|
+
|
|
35
|
+
Focus on making changes work and getting automated verification passing.
|
|
36
|
+
|
|
37
|
+
**Responsibilities:**
|
|
38
|
+
- Implement plan phases with functional code
|
|
39
|
+
- Run automated verification (tests, linting, type checking)
|
|
40
|
+
- Address PR review comments by making code changes
|
|
41
|
+
- Update ImplementationPlan.md with progress
|
|
42
|
+
- Commit functional changes locally
|
|
43
|
+
|
|
44
|
+
**Not responsibilities** (handled by `paw-impl-review`):
|
|
45
|
+
- Docstrings or code comments
|
|
46
|
+
- Code formatting or style polish
|
|
47
|
+
- Opening Phase PRs
|
|
48
|
+
- Replying to PR review comments
|
|
49
|
+
|
|
50
|
+
## Implementation Philosophy
|
|
51
|
+
|
|
52
|
+
Plans are carefully designed, but reality can be messy:
|
|
53
|
+
|
|
54
|
+
- Follow the plan's intent while adapting to what you find
|
|
55
|
+
- Implement each phase fully before moving to the next
|
|
56
|
+
- Verify your work makes sense in the broader codebase context
|
|
57
|
+
- Update checkboxes in the plan as you complete sections
|
|
58
|
+
|
|
59
|
+
When things don't match the plan exactly, think about why and communicate clearly. The plan is your guide, but your judgment matters too.
|
|
60
|
+
|
|
61
|
+
## Blocking Behavior
|
|
62
|
+
|
|
63
|
+
When plan conflicts with codebase reality or leaves critical gaps: **STOP immediately**. No TODO comments, placeholders, or speculative code. Return status `blocked` with specific blockers and what would resolve each.
|
|
64
|
+
|
|
65
|
+
**Exception**: If delegation explicitly allows degraded verification for non-critical checks (e.g., flaky tests, optional linters), report as `⚠️ warning` and proceed.
|
|
66
|
+
|
|
67
|
+
## Execution Contexts
|
|
68
|
+
|
|
69
|
+
### Initial Phase Development
|
|
70
|
+
|
|
71
|
+
**Desired end state**: Phase implemented, tests passing, changes committed locally on correct branch
|
|
72
|
+
|
|
73
|
+
**Required context**:
|
|
74
|
+
- Current phase requirements from ImplementationPlan.md
|
|
75
|
+
- Codebase conventions and verification commands from CodeResearch.md
|
|
76
|
+
- Branch state per Review Strategy (load `paw-git-operations`)
|
|
77
|
+
|
|
78
|
+
**Constraints**:
|
|
79
|
+
- All verification commands from CodeResearch.md must pass before committing
|
|
80
|
+
- Update ImplementationPlan.md: mark phase complete in Phase Status (`- [ ]` → `- [x]`)
|
|
81
|
+
- Commit locally with descriptive message
|
|
82
|
+
- **DO NOT push** — `paw-impl-review` handles that
|
|
83
|
+
|
|
84
|
+
### Documentation Phase Execution
|
|
85
|
+
|
|
86
|
+
**Desired end state**: Docs.md created/updated, project docs updated (if warranted), docs build passing
|
|
87
|
+
|
|
88
|
+
**Required context**:
|
|
89
|
+
- Load `paw-docs-guidance` utility skill for templates and conventions
|
|
90
|
+
- Docs build command from CodeResearch.md (if framework discovered)
|
|
91
|
+
|
|
92
|
+
**Constraints**:
|
|
93
|
+
- Use same branch strategy and review flow as code phases
|
|
94
|
+
- Verify docs build passes before committing
|
|
95
|
+
- **DO NOT push** — `paw-impl-review` handles that
|
|
96
|
+
|
|
97
|
+
### PR Review Comment Response
|
|
98
|
+
|
|
99
|
+
**Desired end state**: All review comments addressed with focused commits, ready for verification
|
|
100
|
+
|
|
101
|
+
**Required context**:
|
|
102
|
+
- PR metadata (URL or number) from delegation—if absent, return `blocked`
|
|
103
|
+
- PR type determined from PR description/metadata (Phase PR vs Final PR)
|
|
104
|
+
- Load `paw-review-response` for commit/reply mechanics
|
|
105
|
+
- Pull latest to include any reviewer commits
|
|
106
|
+
|
|
107
|
+
**Constraints**:
|
|
108
|
+
- One focused commit per comment group (related comments addressed together)
|
|
109
|
+
- Complete each group fully (changes + commit) before starting next
|
|
110
|
+
- **DO NOT push** — `paw-impl-review` verifies and pushes
|
|
111
|
+
|
|
112
|
+
## Branching and Commits
|
|
113
|
+
|
|
114
|
+
> **Reference**: Load `paw-git-operations` skill for branch naming, commit mechanics, and selective staging.
|
|
115
|
+
|
|
116
|
+
## Resuming Work
|
|
117
|
+
|
|
118
|
+
If the plan has existing checkmarks:
|
|
119
|
+
- Trust that completed work is done
|
|
120
|
+
- Pick up from the first unchecked item
|
|
121
|
+
- Verify previous work only if something seems off
|
|
122
|
+
|
|
123
|
+
## Artifact Update Discipline
|
|
124
|
+
|
|
125
|
+
- Only update checkboxes for work actually completed in current session
|
|
126
|
+
- DO NOT mark phases complete preemptively
|
|
127
|
+
- Preserve prior notes; append new summaries
|
|
128
|
+
- Limit edits to sections affected by current phase
|
|
129
|
+
- Re-running same phase should produce no additional plan changes
|
|
130
|
+
|
|
131
|
+
## Quality Checklist
|
|
132
|
+
|
|
133
|
+
### Initial Phase Implementation
|
|
134
|
+
|
|
135
|
+
- [ ] All automated success criteria green
|
|
136
|
+
- [ ] Phase Status checkbox marked complete in ImplementationPlan.md
|
|
137
|
+
- [ ] Changes committed locally (NOT pushed)
|
|
138
|
+
|
|
139
|
+
### PR Review Comment Response
|
|
140
|
+
|
|
141
|
+
- [ ] All automated checks passing
|
|
142
|
+
- [ ] Each comment group addressed with focused commit
|
|
143
|
+
- [ ] ImplementationPlan.md updated with "Addressed Review Comments:" section
|
|
144
|
+
- [ ] All commits local (NOT pushed)
|
|
145
|
+
|
|
146
|
+
## Completion Response
|
|
147
|
+
|
|
148
|
+
Report back:
|
|
149
|
+
- Phase(s) completed and brief summary
|
|
150
|
+
- Verification results (tests, lint)
|
|
151
|
+
- Branch name and commit hash(es)
|
|
152
|
+
- Any items requiring user decision or review attention
|
|
153
|
+
- Status: `complete` or `blocked` (with specific blockers)
|