@tianhai/pi-workflow-kit 0.16.0 → 0.18.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.
Files changed (27) hide show
  1. package/README.md +51 -39
  2. package/docs/developer-usage-guide.md +32 -14
  3. package/docs/lessons.md +18 -0
  4. package/docs/oversight-model.md +11 -5
  5. package/docs/plans/2026-06-03-karpathy-guidelines-ab-comparison.md +166 -0
  6. package/docs/plans/completed/2026-06-03-add-verify-skill-design.md +51 -0
  7. package/docs/plans/completed/2026-06-03-add-verify-skill-implementation.md +111 -0
  8. package/docs/plans/completed/2026-06-03-add-verify-skill-progress.md +11 -0
  9. package/docs/plans/completed/2026-06-03-verify-skill-design.md +176 -0
  10. package/docs/plans/completed/2026-06-09-code-review-fixes-implementation.md +74 -0
  11. package/docs/plans/completed/2026-06-09-code-review-fixes-progress.md +14 -0
  12. package/docs/plans/completed/2026-06-09-incremental-workflow-and-rename-design.md +186 -0
  13. package/docs/plans/completed/2026-06-09-incremental-workflow-and-rename-implementation.md +675 -0
  14. package/docs/plans/completed/2026-06-09-incremental-workflow-and-rename-progress.md +18 -0
  15. package/docs/plans/completed/2026-06-09-incremental-workflow-and-rename-verification-report.md +81 -0
  16. package/docs/plans/completed/2026-06-09-verification-fixes-implementation.md +69 -0
  17. package/docs/plans/completed/2026-06-09-verification-fixes-progress.md +14 -0
  18. package/docs/workflow-phases.md +19 -13
  19. package/extensions/workflow-guard.ts +10 -9
  20. package/package.json +2 -1
  21. package/skills/{brainstorming → pwk-brainstorming}/SKILL.md +17 -6
  22. package/skills/{design-review → pwk-design-review}/SKILL.md +11 -9
  23. package/skills/{diagnose → pwk-diagnose}/SKILL.md +1 -1
  24. package/skills/{executing-tasks → pwk-executing-tasks}/SKILL.md +46 -16
  25. package/skills/{finalizing → pwk-finalizing}/SKILL.md +9 -2
  26. package/skills/pwk-verify/SKILL.md +170 -0
  27. package/skills/{writing-plans → pwk-writing-plans}/SKILL.md +72 -6
@@ -0,0 +1,176 @@
1
+ # Verify Skill — Draft SKILL.md
2
+
3
+ > **Target path:** `skills/verify/SKILL.md` (to be created during executing-tasks)
4
+
5
+ ---
6
+
7
+ ```markdown
8
+ ---
9
+ name: verify
10
+ description: "Post-implementation code verification with three expert review passes — security, optimization, and traceability. Use after executing-tasks and before finalizing to catch issues that pass tests but break in production. Runs the 'last prompt' pattern: adversarial security review, dead code and duplication audit, and end-to-end contract verification across every layer. Use this skill whenever the user says 'verify', 'review the code', 'check for issues', 'security review', 'the last prompt', 'audit', or when code has been implemented and needs a quality gate before shipping."
11
+ ---
12
+
13
+ # Verify
14
+
15
+ Three expert review passes over the implemented codebase. Read-only — you **may** write the verification report to `docs/plans/`, but you **may not** modify source code.
16
+
17
+ The core insight: code that passes tests is not code that's ready. Working code can have security holes, dead branches, duplicated logic, and broken contracts between layers — especially when AI generates across many files without maintaining a single mental model of the whole system. This skill catches what tests miss.
18
+
19
+ ## Process
20
+
21
+ 1. **Check what's been done** — run `git log --oneline` and `git diff --stat` to understand the scope of recent changes. If nothing has been implemented, say "No code changes found. Run `/skill:executing-tasks` first." and stop.
22
+
23
+ 2. **Identify the project's layers** — before reviewing, map the codebase's architecture. Look for layer boundaries: UI/handlers/routes → services/business logic → repositories/data access → database/models. Note the patterns: does the project use controllers, handlers, or routes? Services or use cases? Repositories or DAOs? This map drives the traceability pass.
24
+
25
+ 3. **Run three expert review passes** — each pass adopts a distinct adversarial framing. Do them sequentially. For each pass, read the relevant code deeply — don't skim. Then write findings.
26
+
27
+ 4. **Compile the report** — write all findings to `docs/plans/*-verification-report.md`. Present the report to the user and wait for feedback.
28
+
29
+ 5. **Offer to create a remediation plan** — after the report, ask: "Want me to create a fix plan from these findings? Run `/skill:writing-plans` to turn the task list into executable tasks."
30
+
31
+ ## Pass 1 — Security Review 🔴
32
+
33
+ **Framing:** A junior developer wrote this code. Now the best security expert on the team is reviewing it — adversarial, suspicious of everything. Trust nothing.
34
+
35
+ **What to look for:**
36
+
37
+ - **Input validation** — every external input (HTTP params, form data, headers, query strings, environment variables) must be validated and sanitized. Unvalidated input is a critical finding.
38
+ - **Authentication & authorization** — every endpoint that handles user data must have auth checks. Are there endpoints that skip auth? Can one user access another user's data by changing an ID?
39
+ - **Injection** — SQL queries built by string concatenation, unsanitized shell commands, template injection, XSS in HTML output. Any raw variable interpolated into a query or command is critical.
40
+ - **Secrets** — API keys, passwords, tokens hardcoded in source files. Check environment variable loading — are defaults set to empty or to actual secrets?
41
+ - **Data exposure** — are sensitive fields (passwords, tokens, PII) logged, returned in API responses, or stored unencrypted?
42
+ - **Dependency risks** — known-vulnerable packages (if `package.json`/`go.mod`/`requirements.txt` is present).
43
+
44
+ **Severity classification:**
45
+
46
+ | Severity | Definition |
47
+ |----------|-----------|
48
+ | Critical | Exploitable right now — auth bypass, injection, data leak |
49
+ | High | Likely exploitable — missing validation on sensitive endpoint, weak auth |
50
+ | Medium | Harder to exploit but real risk — verbose error messages leaking internals, missing rate limits |
51
+ | Low | Best practice violations — missing CSP headers, no HSTS, long session timeouts |
52
+
53
+ ## Pass 2 — Optimization Review 🟡
54
+
55
+ **Framing:** A code quality expert looking for waste — things that make the codebase harder to maintain, slower to run, or more confusing than necessary.
56
+
57
+ **What to look for:**
58
+
59
+ - **Dead code** — functions, methods, types, or exports that are never called anywhere in the codebase. Search for definitions and verify they have callers.
60
+ - **Duplication** — the same logic implemented in slightly different ways across multiple files. AI-generated code is especially prone to this — if context was lost between sessions, the AI solved the same sub-problem differently in two places. Flag each pair with file paths and line numbers.
61
+ - **Over-engineering** — abstractions, interfaces, or layers that add complexity without earning their keep (only one implementation, no real variation across the seam).
62
+ - **Under-engineering** — god functions, 200-line blocks, deeply nested conditionals that should be extracted.
63
+ - **Performance concerns** — N+1 queries, unbounded loops, unnecessary copies of large data structures, missing pagination on list endpoints.
64
+
65
+ **Priority classification:**
66
+
67
+ | Priority | Definition |
68
+ |----------|-----------|
69
+ | P0 | Dead code in a critical path or duplicated logic that will diverge |
70
+ | P1 | Significant duplication or over-engineering that increases maintenance cost |
71
+ | P2 | Minor cleanups — long functions, missing pagination, style inconsistencies |
72
+
73
+ ## Pass 3 — Traceability Review 🔵
74
+
75
+ **Framing:** An integration expert tracing every user-facing action end-to-end — from UI to database and back. The AI generates code file-by-file, and the seams between files are where bugs hide.
76
+
77
+ **What to look for:**
78
+
79
+ 1. **Map every entry point** — list all handlers, routes, controllers, or event listeners that receive external input.
80
+ 2. **Trace each call chain** — for each entry point, follow the call: handler → service → repository → database. At each boundary, verify:
81
+ - **Function name** — does the caller use the exact function name the callee exposes?
82
+ - **Argument names** — does the caller pass `userId` when the function expects `user_id`? Does `id` mean the same thing in both layers?
83
+ - **Argument types** — is a string passed where an integer is expected? Is an object shape different from what the next layer destructures?
84
+ - **Return shape** — does the caller expect fields that the callee actually returns? Are response DTOs consistent across layers?
85
+ 3. **Check error propagation** — when a database query returns no results, does the service layer handle it? Does the handler return 404 or 500? Do errors propagate cleanly or get swallowed silently?
86
+ 4. **Verify the round-trip** — if the UI calls `getUser(id)` and displays `user.name`, trace that `name` actually exists in the DB schema, gets selected by the query, mapped by the repository, passed through the service, included in the response, and rendered by the UI.
87
+
88
+ **This is the pass that catches the most bugs.** AI-generated code will often have a frontend calling `getUserProfile(userId)` and a backend exposing `get_user_profile(user_id)` — both work in isolation, neither works together.
89
+
90
+ **Severity classification:**
91
+
92
+ | Severity | Definition |
93
+ |----------|-----------|
94
+ | Critical | Call chain is completely broken — function doesn't exist or signature is fundamentally wrong |
95
+ | High | Signature mismatch — wrong arg names, wrong types, missing required fields |
96
+ | Medium | Silent error handling — errors swallowed without logging or user feedback |
97
+ | Low | Inconsistent naming conventions that could confuse future developers |
98
+
99
+ ## Report Format
100
+
101
+ Write findings to `docs/plans/*-verification-report.md` using this structure:
102
+
103
+ # Verification Report: <feature/topic>
104
+
105
+ **Date:** <ISO date>
106
+ **Scope:** <summary of what was reviewed>
107
+ **Reviewer:** AI verify skill (security + optimization + traceability)
108
+
109
+ ## Summary
110
+
111
+ | Pass | Critical | High | Medium | Low |
112
+ |------|----------|------|--------|-----|
113
+ | Security | X | X | X | X |
114
+ | Optimization | — | X | X | X |
115
+ | Traceability | X | X | X | X |
116
+ | **Total** | **X** | **X** | **X** | **X** |
117
+
118
+ ## 🔴 Security Findings
119
+
120
+ ### [S-001] Critical — <short title>
121
+
122
+ **Location:** `path/to/file.ts:line`
123
+
124
+ **Issue:** <what's wrong and why it matters>
125
+
126
+ **Fix:** <concrete remediation step>
127
+
128
+ ### [S-002] High — <short title>
129
+ ...
130
+
131
+ ## 🟡 Optimization Findings
132
+
133
+ ### [O-001] P0 — <short title>
134
+
135
+ **Location:** `path/to/file.ts:line` and `path/to/other.ts:line`
136
+
137
+ **Issue:** <what's wrong>
138
+
139
+ **Fix:** <concrete remediation step>
140
+
141
+ ### [O-002] P1 — <short title>
142
+ ...
143
+
144
+ ## 🔵 Traceability Findings
145
+
146
+ ### [T-001] Critical — <short title>
147
+
148
+ **Entry point:** `path/to/handler.ts:line`
149
+ **Call chain:** handler → service → repository → DB
150
+ **Broken at:** <which boundary>
151
+ **Issue:** <what's wrong — e.g., handler passes `userId` but service expects `user_id`>
152
+
153
+ **Fix:** <concrete remediation step>
154
+
155
+ ### [T-002] High — <short title>
156
+ ...
157
+
158
+ ## Remediation Task List
159
+
160
+ Convert findings into actionable tasks:
161
+
162
+ | ID | Priority | Finding | Estimated Effort |
163
+ |----|----------|---------|-----------------|
164
+ | S-001 | Critical | <one-liner> | <small/medium/large> |
165
+ | T-001 | Critical | <one-liner> | <small/medium/large> |
166
+ | O-001 | P0 | <one-liner> | <small/medium/large> |
167
+ | ...
168
+
169
+ ## Principles
170
+
171
+ - **Be specific** — every finding must include a file path and line reference. "There might be security issues" is useless.
172
+ - **Be adversarial** — actively look for problems. If you don't find any, say so — but don't phone it in.
173
+ - **Be proportional** — a small config change doesn't need the same depth as a new API endpoint. Adjust your review depth to the scope of changes.
174
+ - **Don't fix anything** — this is read-only. Find and report. The user decides what to fix and when.
175
+ - **Focus on seams** — the traceability pass is where the most value lives. Code within a single file is usually coherent; the bugs hide between files.
176
+ ```
@@ -0,0 +1,74 @@
1
+ # Implementation Plan: Code review findings fix
2
+
3
+ ## Overview
4
+
5
+ Fix 5 findings from the cross-skill code review. All are small — documentation clarity and minor correctness guards.
6
+
7
+ ## Task 1: Add explicit fallback documentation in executing-tasks "Find the plan"
8
+
9
+ <!-- tdd: trivial -->
10
+
11
+ Fix finding #1. The primary path expects a design doc with Features table, but the fallback for plans without one is implicit.
12
+
13
+ Files:
14
+ - `skills/pwk-executing-tasks/SKILL.md`
15
+
16
+ Steps:
17
+ 1. In step 2 ("Find the plan"), after the fallback sentence, append: "This covers plans created without a brainstorm session (no design doc or Features table)."
18
+
19
+ ## Task 2: Add metadata-missing guard in executing-tasks per-task step 2
20
+
21
+ <!-- tdd: trivial -->
22
+
23
+ Fix finding #2. When a plan has no `Design:` / `Feature:` metadata (no Features table), the "Extract metadata" instruction is dangling.
24
+
25
+ Files:
26
+ - `skills/pwk-executing-tasks/SKILL.md`
27
+
28
+ Steps:
29
+ 1. In per-task step 2, after "Extract the `Design:` and `Feature:` metadata to know which design doc and feature row this execution covers.", add: "If no `Design:` or `Feature:` metadata is present, the plan covers the entire design (no feature table). Skip design doc reading and proceed directly to task execution."
30
+
31
+ ## Task 3: Document worktree handoff behavior for multi-feature plans
32
+
33
+ <!-- tdd: trivial -->
34
+
35
+ Fix finding #3. The worktree glob moves all plan docs, which is correct but should be documented explicitly.
36
+
37
+ Files:
38
+ - `skills/pwk-executing-tasks/SKILL.md`
39
+
40
+ Steps:
41
+ 1. In step 3b ("Move plan docs into the worktree"), add a note before the mv commands:
42
+ > When using the feature table, all plan docs for this design move together — completed feature plans, the current feature's plan, and the design doc. This is intentional: the worktree works on one design at a time.
43
+
44
+ ## Task 4: Add unstarted-features guard to finalizing
45
+
46
+ <!-- tdd: trivial -->
47
+
48
+ Fix finding #4. Archiving the design doc while features are still `⬜ pending` makes them invisible to future planning.
49
+
50
+ Files:
51
+ - `skills/pwk-finalizing/SKILL.md`
52
+
53
+ Steps:
54
+ 1. In step 1 ("Move planning docs"), before the archive commands, add a check:
55
+ > If the design doc has a `## Features` table with any `⬜ pending` or `🔄 planned` features, warn:
56
+ > ```
57
+ > ⚠️ Design doc has N unplanned features. Archive anyway, or go back to plan them?
58
+ > ```
59
+ > Wait for the user to confirm before proceeding.
60
+
61
+ ## Task 5: Add verification report to finalizing archive step
62
+
63
+ <!-- tdd: trivial -->
64
+
65
+ Fix finding #5. Verification reports are left behind in `docs/plans/` after finalizing.
66
+
67
+ Files:
68
+ - `skills/pwk-finalizing/SKILL.md`
69
+
70
+ Steps:
71
+ 1. In step 1, after the existing `mv` commands, add:
72
+ ```
73
+ mv docs/plans/*-verification-report.md docs/plans/completed/ 2>/dev/null || true
74
+ ```
@@ -0,0 +1,14 @@
1
+ # Progress: Code review fixes
2
+
3
+ Plan: docs/plans/2026-06-09-code-review-fixes-implementation.md
4
+ Branch: incremental-workflow-and-rename
5
+ Started: 2026-06-09T23:15:00
6
+ Last updated: 2026-06-09T23:15:00
7
+
8
+ | # | Status | Task | Commit |
9
+ |---|--------|------|--------|
10
+ | 1 | ✅ done | Add explicit fallback docs in executing-tasks "Find the plan" | 1ab7825 |
11
+ | 2 | ✅ done | Add metadata-missing guard in executing-tasks per-task step 2 | 1ab7825 |
12
+ | 3 | ✅ done | Document worktree handoff for multi-feature plans | 1ab7825 |
13
+ | 4 | ✅ done | Add unstarted-features guard to finalizing | 1ab7825 |
14
+ | 5 | ✅ done | Add verification report to finalizing archive step | 1ab7825 |
@@ -0,0 +1,186 @@
1
+ # Incremental Workflow & Skill Rename
2
+
3
+ ## Problem
4
+
5
+ Three issues with the current workflow:
6
+
7
+ 1. **Design review runs too early.** The 8 hazard checks evaluate concrete code (missing indexes, raw SQL interpolation, unbounded concurrency). A design doc is too vague to audit effectively — most hazards are invisible until the plan has actual code.
8
+ 2. **Large features create context pressure.** Planning all tasks upfront, then executing them all, means a 20-task plan accumulates massive context. Lessons learned mid-execution can't reshape later tasks. The plan goes stale.
9
+ 3. **Skills aren't namespaced.** All 7 skills live in a flat namespace, making it hard to discover which skills belong to pi-workflow-kit versus third-party or user-installed skills.
10
+
11
+ ## Decision
12
+
13
+ 1. **Move design review after writing-plans.** The plan doc has concrete code, making hazard checks meaningful. Writing-plans already flags high-risk areas — when flagged, suggest design-review before executing.
14
+ 2. **Incremental feature-based workflow.** Brainstorm names features. Each feature gets its own plan → execute → optional verify cycle. The brainstorm doc's `## Features` table tracks overall progress.
15
+ 3. **Rename all skills with `pwk-` prefix.** All 7 skills and all cross-references updated.
16
+
17
+ ## Workflow Change
18
+
19
+ ### Before
20
+
21
+ ```
22
+ brainstorm → [design-review?] → plan (all tasks) → execute (all tasks) → [verify?] → finalize
23
+ ```
24
+
25
+ ### After
26
+
27
+ ```
28
+ brainstorm (name features)
29
+ → plan next feature
30
+ → [design-review if hazards flagged]
31
+ → execute feature
32
+ → [verify this feature? (optional)]
33
+ → more features? → loop back to plan
34
+ → all done?
35
+ → [verify everything? (optional)]
36
+ → finalize
37
+ ```
38
+
39
+ ## Feature Table
40
+
41
+ Brainstorm doc adds a `## Features` table. Simple features get one row. Complex features get many. The table is the feature-level state machine — it answers "what's next?" at any point.
42
+
43
+ ```markdown
44
+ ## Features
45
+
46
+ | # | Feature | Status | Observable Behavior |
47
+ |---|---------|--------|---------------------|
48
+ | 1 | User signup | ✅ done | User can create account with email+password |
49
+ | 2 | Email verification | 🔄 planned | User receives and confirms verification email |
50
+ | 3 | Password reset | ⬜ pending | User can reset password via email link |
51
+ ```
52
+
53
+ Status values: `⬜ pending`, `🔄 planned`, `✅ done`, `⏭ skipped`.
54
+
55
+ ### Table maintenance
56
+
57
+ - **Brainstorm** creates the table with all rows as `⬜ pending`
58
+ - **Writing-plans** marks the next feature as `🔄 planned` when it creates a plan for it
59
+ - **Executing-tasks** marks the feature as `✅ done` (or `⏭ skipped`) after completing all its tasks
60
+ - **Any skill can add rows** if a new feature is discovered mid-implementation (human decides, not agent)
61
+ - The table is a living document. If features need merging, splitting, or reordering, the human directs changes during execution
62
+
63
+ ## Design Review Changes
64
+
65
+ ### Timing
66
+
67
+ Design review moves from after-brainstorm to after-writing-plans.
68
+
69
+ **Trigger mechanism (already exists in writing-plans step 1):** Writing-plans checks for hazards (DB schema changes, auth, external APIs, concurrency, uploads, Redis/MQ). If any apply AND no architectural review section exists → prompt user to run `/skill:pwk-design-review` or type 'proceed' to skip.
70
+
71
+ If the plan doc notes "Simple change — no design review needed" → skip.
72
+
73
+ ### Review input
74
+
75
+ Design review reads both the plan doc (concrete code) and the design doc (architectural context). This is better than the current flow — concrete code makes hazards visible.
76
+
77
+ ### No mandatory per-feature review
78
+
79
+ Design review is suggested, not mandatory, for each feature. The writing-plans hazard check gates it. Low-risk features skip it entirely.
80
+
81
+ ## Verify Changes
82
+
83
+ ### Two modes
84
+
85
+ | | Per-feature verify | Full verify |
86
+ |---|---|---|
87
+ | **Scope** | One feature's code | All feature code together |
88
+ | **Catches** | Security, dead code, traceability within the feature | Cross-feature integration, duplicated patterns across features, overall consistency |
89
+ | **When** | After each feature (optional, human-initiated) | After all features (optional, human-initiated) |
90
+ | **Cost** | Low — small code surface | Higher — full codebase |
91
+
92
+ Neither is mandatory. The human decides based on risk and complexity.
93
+
94
+ ### Executor prompts
95
+
96
+ After completing a feature:
97
+ ```
98
+ ✅ Feature "<name>" complete.
99
+ ⏭ Next: "<next feature name>"
100
+ 💡 Options:
101
+ - Plan next feature: /skill:pwk-writing-plans
102
+ - Verify this feature first: /skill:pwk-verify
103
+ - Or just say "continue"
104
+ ```
105
+
106
+ After all features complete:
107
+ ```
108
+ ✅ All features complete!
109
+ - Verify everything: /skill:pwk-verify
110
+ - Ship: /skill:pwk-finalizing
111
+ ```
112
+
113
+ ## Per-Feature Execution Model
114
+
115
+ ### Plan docs
116
+
117
+ One plan doc per feature: `docs/plans/YYYY-MM-DD-<topic>-<feature-name>-implementation.md`
118
+
119
+ ### Progress docs
120
+
121
+ One progress doc per feature: `docs/plans/YYYY-MM-DD-<topic>-<feature-name>-progress.md`
122
+
123
+ ### Feature loop
124
+
125
+ 1. **Writing-plans** reads design doc, identifies next `⬜ pending` feature, marks it `🔄 planned`, writes plan doc for that feature
126
+ 2. **Design review** (if triggered) reviews plan doc + design doc
127
+ 3. **Executing-tasks** executes the feature's plan, marks feature `✅ done` in design doc table
128
+ 4. **Verify** (optional) reviews just the feature's code
129
+ 5. **Loop** back to step 1 if more `⬜ pending` features exist
130
+
131
+ ### Session boundaries
132
+
133
+ Each plan → execute cycle is a natural session break. The executor suggests `/new` between features for clean context, as it already does for long task runs.
134
+
135
+ ## Skill Rename
136
+
137
+ All 7 skills renamed with `pwk-` prefix:
138
+
139
+ | Current | New |
140
+ |---------|-----|
141
+ | brainstorming | pwk-brainstorming |
142
+ | writing-plans | pwk-writing-plans |
143
+ | executing-tasks | pwk-executing-tasks |
144
+ | design-review | pwk-design-review |
145
+ | verify | pwk-verify |
146
+ | finalizing | pwk-finalizing |
147
+ | diagnose | pwk-diagnose |
148
+
149
+ All cross-references between skills updated (e.g. `Run /skill:executing-tasks` → `Run /skill:pwk-executing-tasks`).
150
+
151
+ ## Files Changed
152
+
153
+ ### Skill files (rename + content updates)
154
+ - `skills/brainstorming/SKILL.md` → `skills/pwk-brainstorming/SKILL.md`
155
+ - `skills/writing-plans/SKILL.md` → `skills/pwk-writing-plans/SKILL.md`
156
+ - `skills/executing-tasks/SKILL.md` → `skills/pwk-executing-tasks/SKILL.md`
157
+ - `skills/design-review/SKILL.md` → `skills/pwk-design-review/SKILL.md`
158
+ - `skills/verify/SKILL.md` → `skills/pwk-verify/SKILL.md`
159
+ - `skills/finalizing/SKILL.md` → `skills/pwk-finalizing/SKILL.md`
160
+ - `skills/diagnose/SKILL.md` → `skills/pwk-diagnose/SKILL.md`
161
+
162
+ ### Documentation
163
+ - `docs/workflow-phases.md` — update skill names and flow diagram
164
+ - `docs/oversight-model.md` — update skill names
165
+ - `docs/developer-usage-guide.md` — update skill names
166
+
167
+ ### Extension
168
+ - `extensions/workflow-guard.ts` — update skill name references:
169
+ - `SKILL_TO_PHASE` keys: `brainstorming` → `pwk-brainstorming`, `writing-plans` → `pwk-writing-plans`
170
+ - Phase-clearing triggers: `/skill:executing-tasks` → `/skill:pwk-executing-tasks`, `/skill:finalizing` → `/skill:pwk-finalizing`
171
+ - Add `"pwk-verify": "verify"` to `SKILL_TO_PHASE` — enforce write restriction (only `docs/plans/`) during verify phase, matching the skill's read-only claim
172
+ - `tests/workflow-guard.test.ts` — update all skill name references and add test cases for `pwk-verify` phase
173
+
174
+ ## Features (implementation slices)
175
+
176
+ 1. **Rename skill directories and files** — move all 7 skill folders to `pwk-` prefix names, update frontmatter names
177
+ 2. **Update cross-references in all skills** — find-and-replace all `/skill:` references across all 7 skill files
178
+ 3. **Add feature table to brainstorming** — update brainstorming skill to produce a `## Features` table in design doc
179
+ 4. **Update writing-plans for feature-at-a-time** — detect next `⬜ pending` feature, plan only that feature, mark `🔄 planned`, update file naming to per-feature
180
+ 5. **Update executing-tasks for feature loop** — mark feature `✅ done` after all tasks, suggest next feature or verify/finalize
181
+ 6. **Move design review trigger** — remove brainstorm's "after design" review suggestion, confirm writing-plans already has the trigger (it does)
182
+ 7. **Update executor end-of-feature prompts** — new prompt format with verify option and next feature
183
+ 8. **Update workflow-guard extension** — rename skill references, add `pwk-verify` to phase map
184
+ 9. **Update documentation** — workflow-phases.md, oversight-model.md, developer-usage-guide.md
185
+
186
+ Simple change — no design review needed.