@leeovery/claude-technical-workflows 2.1.27 → 2.1.29
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 +90 -92
- package/agents/implementation-analysis-task-writer.md +6 -5
- package/agents/planning-review-integrity.md +71 -0
- package/agents/planning-review-traceability.md +74 -0
- package/agents/planning-task-designer.md +4 -4
- package/package.json +1 -1
- package/skills/link-dependencies/SKILL.md +3 -3
- package/skills/migrate/scripts/migrations/002-specification-frontmatter.sh +5 -0
- package/skills/migrate/scripts/migrations/003-planning-frontmatter.sh +5 -0
- package/skills/migrate/scripts/migrations/004-sources-object-format.sh +5 -0
- package/skills/migrate/scripts/migrations/005-plan-external-deps-frontmatter.sh +5 -0
- package/skills/migrate/scripts/migrations/006-directory-restructure.sh +167 -0
- package/skills/migrate/scripts/migrations/007-tasks-subdirectory.sh +86 -0
- package/skills/start-discussion/references/handle-selection.md +8 -0
- package/skills/start-feature/SKILL.md +2 -2
- package/skills/start-implementation/SKILL.md +1 -3
- package/skills/start-implementation/scripts/discovery.sh +7 -7
- package/skills/start-planning/references/invoke-skill.md +3 -3
- package/skills/start-planning/scripts/discovery.sh +8 -8
- package/skills/start-review/references/invoke-skill.md +3 -3
- package/skills/start-review/scripts/discovery.sh +3 -3
- package/skills/start-specification/references/confirm-continue.md +3 -3
- package/skills/start-specification/references/confirm-create.md +3 -3
- package/skills/start-specification/references/confirm-refine.md +1 -1
- package/skills/start-specification/references/confirm-unify.md +4 -4
- package/skills/start-specification/references/handoffs/continue-concluded.md +3 -1
- package/skills/start-specification/references/handoffs/continue.md +3 -1
- package/skills/start-specification/references/handoffs/create-with-incorporation.md +2 -2
- package/skills/start-specification/references/handoffs/create.md +1 -1
- package/skills/start-specification/references/handoffs/unify-with-incorporation.md +3 -3
- package/skills/start-specification/references/handoffs/unify.md +1 -1
- package/skills/start-specification/scripts/discovery.sh +6 -6
- package/skills/status/scripts/discovery.sh +7 -7
- package/skills/technical-discussion/SKILL.md +46 -8
- package/skills/technical-implementation/SKILL.md +66 -20
- package/skills/technical-implementation/references/{steps/analysis-loop.md → analysis-loop.md} +1 -1
- package/skills/technical-implementation/references/{steps/invoke-analysis.md → invoke-analysis.md} +5 -5
- package/skills/technical-implementation/references/{steps/invoke-executor.md → invoke-executor.md} +5 -5
- package/skills/technical-implementation/references/{steps/invoke-reviewer.md → invoke-reviewer.md} +2 -2
- package/skills/technical-implementation/references/{steps/invoke-synthesizer.md → invoke-synthesizer.md} +3 -3
- package/skills/technical-implementation/references/{steps/invoke-task-writer.md → invoke-task-writer.md} +4 -4
- package/skills/technical-implementation/references/{steps/task-loop.md → task-loop.md} +45 -38
- package/skills/technical-planning/SKILL.md +64 -22
- package/skills/technical-planning/references/{steps/analyze-task-graph.md → analyze-task-graph.md} +33 -16
- package/skills/technical-planning/references/author-tasks.md +100 -0
- package/skills/technical-planning/references/{steps/define-phases.md → define-phases.md} +15 -9
- package/skills/technical-planning/references/{steps/define-tasks.md → define-tasks.md} +10 -6
- package/skills/technical-planning/references/invoke-review-integrity.md +36 -0
- package/skills/technical-planning/references/invoke-review-traceability.md +37 -0
- package/skills/technical-planning/references/output-formats/local-markdown/about.md +6 -4
- package/skills/technical-planning/references/output-formats/local-markdown/authoring.md +3 -3
- package/skills/technical-planning/references/output-formats/local-markdown/reading.md +3 -3
- package/skills/technical-planning/references/output-formats/local-markdown/updating.md +1 -1
- package/skills/technical-planning/references/output-formats/tick/about.md +68 -0
- package/skills/technical-planning/references/output-formats/tick/authoring.md +106 -0
- package/skills/technical-planning/references/output-formats/tick/graph.md +62 -0
- package/skills/technical-planning/references/output-formats/tick/reading.md +61 -0
- package/skills/technical-planning/references/output-formats/tick/updating.md +25 -0
- package/skills/technical-planning/references/output-formats.md +11 -0
- package/skills/technical-planning/references/{steps/plan-construction.md → plan-construction.md} +33 -9
- package/skills/technical-planning/references/plan-review.md +122 -0
- package/skills/technical-planning/references/process-review-findings.md +171 -0
- package/skills/technical-planning/references/{steps/resolve-dependencies.md → resolve-dependencies.md} +18 -12
- package/skills/technical-planning/references/review-integrity.md +127 -0
- package/skills/technical-planning/references/review-traceability.md +105 -0
- package/skills/technical-planning/references/task-design.md +1 -1
- package/skills/technical-planning/references/{steps/verify-source-material.md → verify-source-material.md} +3 -3
- package/skills/technical-research/SKILL.md +20 -4
- package/skills/technical-review/SKILL.md +21 -4
- package/skills/technical-specification/SKILL.md +34 -8
- package/skills/technical-specification/references/specification-guide.md +228 -56
- package/skills/view-plan/SKILL.md +1 -1
- package/skills/technical-planning/references/steps/author-tasks.md +0 -72
- package/skills/technical-planning/references/steps/plan-review.md +0 -94
- package/skills/technical-planning/references/steps/review-integrity.md +0 -222
- package/skills/technical-planning/references/steps/review-traceability.md +0 -200
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Tick
|
|
2
|
+
|
|
3
|
+
*Output format adapter for **[technical-planning](../../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use this format when you want structured task tracking with native dependency resolution, priority ordering, and token-efficient output designed for AI agents.
|
|
8
|
+
|
|
9
|
+
## Benefits
|
|
10
|
+
|
|
11
|
+
- Native dependency graph with cycle detection and blocking resolution
|
|
12
|
+
- `tick ready` returns the next available task in one command
|
|
13
|
+
- Token-efficient TOON output format (30-60% fewer tokens than JSON)
|
|
14
|
+
- Git-friendly JSONL storage — append-only, human-readable
|
|
15
|
+
- Parent/child hierarchy maps naturally to topic/phase/task structure
|
|
16
|
+
- SQLite cache for fast queries over large task sets
|
|
17
|
+
|
|
18
|
+
## Setup
|
|
19
|
+
|
|
20
|
+
Install Tick:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# macOS
|
|
24
|
+
brew install leeovery/tools/tick
|
|
25
|
+
|
|
26
|
+
# Linux
|
|
27
|
+
curl -fsSL https://raw.githubusercontent.com/leeovery/tick/main/scripts/install.sh | bash
|
|
28
|
+
|
|
29
|
+
# Go
|
|
30
|
+
go install github.com/leeovery/tick/cmd/tick@latest
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Initialize in the project root:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
tick init
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Add to `.gitignore`:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
.tick/.store
|
|
43
|
+
.tick/lock
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Structure Mapping
|
|
47
|
+
|
|
48
|
+
| Concept | Tick Entity |
|
|
49
|
+
|---------|:---|
|
|
50
|
+
| Topic | Top-level parent task |
|
|
51
|
+
| Phase | Subtask of the topic task |
|
|
52
|
+
| Task | Subtask of a phase task |
|
|
53
|
+
| Dependency | Blocking relationship (`tick dep add`) |
|
|
54
|
+
|
|
55
|
+
The 3-level hierarchy (topic → phase → task) uses Tick's parent/child system. Parent tasks are implicitly blocked by their children — a parent is not "ready" until all children are complete. Explicit dependencies (`tick dep add`) handle cross-phase and cross-topic blocking.
|
|
56
|
+
|
|
57
|
+
## Output Location
|
|
58
|
+
|
|
59
|
+
Tasks are stored in a `.tick/` directory at the project root:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
.tick/
|
|
63
|
+
├── tasks.jsonl # Append-only source of truth (git-friendly)
|
|
64
|
+
├── .store # SQLite cache (auto-rebuilt, do not commit)
|
|
65
|
+
└── lock # File lock for concurrent access
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
All task data lives in `tasks.jsonl`. The hierarchy is encoded via parent references — no subdirectories needed.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Tick: Authoring
|
|
2
|
+
|
|
3
|
+
## Task Storage
|
|
4
|
+
|
|
5
|
+
Tasks are created using the `tick create` command. Before creating individual tasks, establish the topic and phase parent tasks.
|
|
6
|
+
|
|
7
|
+
**1. Create the topic task:**
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
tick create "{Topic Name}"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This returns the topic task ID (e.g., `tick-a1b2`).
|
|
14
|
+
|
|
15
|
+
**2. Create phase tasks as children of the topic:**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
tick create "Phase 1: {Phase Name}" --parent tick-a1b2
|
|
19
|
+
tick create "Phase 2: {Phase Name}" --parent tick-a1b2
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**3. Create tasks as children of their phase:**
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
tick create "{Task Title}" --parent tick-c3d4 \
|
|
26
|
+
--description "{Task description content.
|
|
27
|
+
|
|
28
|
+
Acceptance criteria, edge cases, and implementation
|
|
29
|
+
details go here. Supports multi-line text.}"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Complete example — creating a task under a phase:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
tick create "Implement authentication middleware" \
|
|
36
|
+
--parent tick-c3d4 \
|
|
37
|
+
--description "Create Express middleware that validates JWT tokens on protected routes.
|
|
38
|
+
|
|
39
|
+
Acceptance criteria:
|
|
40
|
+
- Validates token signature and expiry
|
|
41
|
+
- Extracts user ID from token payload
|
|
42
|
+
- Returns 401 for missing or invalid tokens
|
|
43
|
+
- Passes user context to downstream handlers"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Task Properties
|
|
47
|
+
|
|
48
|
+
### Status
|
|
49
|
+
|
|
50
|
+
Tasks are created with `open` status by default.
|
|
51
|
+
|
|
52
|
+
| Status | Meaning |
|
|
53
|
+
|--------|---------|
|
|
54
|
+
| `open` | Task has been authored but not started |
|
|
55
|
+
| `in_progress` | Task is currently being worked on |
|
|
56
|
+
| `done` | Task is complete |
|
|
57
|
+
| `cancelled` | Task is no longer needed |
|
|
58
|
+
|
|
59
|
+
### Phase Grouping
|
|
60
|
+
|
|
61
|
+
Phases are represented as parent tasks. Each task belongs to a phase by being a child of that phase's task. Use `--parent <phase-id>` during creation.
|
|
62
|
+
|
|
63
|
+
To list tasks within a phase:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
tick list --parent <phase-id>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Labels / Tags
|
|
70
|
+
|
|
71
|
+
Tick does not have a native label or tag system. Categorisation is handled through the parent/child hierarchy.
|
|
72
|
+
|
|
73
|
+
## Flagging
|
|
74
|
+
|
|
75
|
+
When information is missing, prefix the task title with `[NEEDS INFO]` and include questions in the description:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
tick create "[NEEDS INFO] Rate limiting strategy" \
|
|
79
|
+
--parent tick-c3d4 \
|
|
80
|
+
--description "Needs clarification:
|
|
81
|
+
- What is the rate limit threshold?
|
|
82
|
+
- Per-user or per-IP?
|
|
83
|
+
- What response code on limit exceeded?"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Cleanup (Restart)
|
|
87
|
+
|
|
88
|
+
Cancel the topic task and all its descendants. First, list the tasks to collect their IDs:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
tick list --parent <topic-id>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Then cancel each task (leaf tasks first, then phases, then the topic):
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
tick cancel <task-id>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Cancelled tasks remain in the JSONL history but are excluded from `tick ready` and active listings.
|
|
101
|
+
|
|
102
|
+
**Full reset** (removes all tasks across all topics):
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
rm -rf .tick && tick init
|
|
106
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Tick: Task Graph
|
|
2
|
+
|
|
3
|
+
Tick has native support for priority and blocking dependencies with cycle detection. This file is used by the graphing agent after all tasks have been authored.
|
|
4
|
+
|
|
5
|
+
## Priority
|
|
6
|
+
|
|
7
|
+
| Level | Name | Value |
|
|
8
|
+
|-------|------|-------|
|
|
9
|
+
| 0 | Critical | Highest priority |
|
|
10
|
+
| 1 | High | |
|
|
11
|
+
| 2 | Medium | Default |
|
|
12
|
+
| 3 | Low | |
|
|
13
|
+
| 4 | Backlog | Lowest priority |
|
|
14
|
+
|
|
15
|
+
Lower number = higher priority. Tasks are created with priority `2` (medium) by default.
|
|
16
|
+
|
|
17
|
+
### Setting Priority
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
tick update <task-id> --priority 1
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Removing Priority
|
|
24
|
+
|
|
25
|
+
Reset to the default medium priority:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
tick update <task-id> --priority 2
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Tick does not support unsetting priority — every task has a priority level. Use `2` (medium) as the neutral default.
|
|
32
|
+
|
|
33
|
+
## Dependencies
|
|
34
|
+
|
|
35
|
+
Tick validates all dependency changes: prevents cycles, self-references, and children blocked by their own parent.
|
|
36
|
+
|
|
37
|
+
### Adding a Dependency
|
|
38
|
+
|
|
39
|
+
Declare that a task is blocked by another task:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
tick dep add <task-id> <blocked-by-id>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Example — task `tick-e5f6` depends on `tick-a1b2`:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
tick dep add tick-e5f6 tick-a1b2
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
To add multiple dependencies to a single task, run the command for each:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
tick dep add tick-e5f6 tick-a1b2
|
|
55
|
+
tick dep add tick-e5f6 tick-c3d4
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Removing a Dependency
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
tick dep rm <task-id> <blocked-by-id>
|
|
62
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Tick: Reading
|
|
2
|
+
|
|
3
|
+
## Listing Tasks
|
|
4
|
+
|
|
5
|
+
To retrieve all tasks for a topic:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
tick list --parent <topic-id>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This returns all descendants (phases and tasks) with summary-level data: id, title, status, priority, and parent. Results are sorted by priority (ascending), then creation date.
|
|
12
|
+
|
|
13
|
+
To list tasks within a specific phase:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
tick list --parent <phase-id>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Additional filtering:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
tick list --parent <topic-id> --status open # only open tasks
|
|
23
|
+
tick list --parent <topic-id> --ready # ready tasks only
|
|
24
|
+
tick list --parent <topic-id> --blocked # blocked tasks only
|
|
25
|
+
tick list --parent <topic-id> --priority 0 # critical tasks only
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Extracting a Task
|
|
29
|
+
|
|
30
|
+
To read full task detail including description, blockers, and children:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
tick show <task-id>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Returns: id, title, status, priority, created/updated timestamps, parent, blocked_by list, children list, and full description.
|
|
37
|
+
|
|
38
|
+
## Next Available Task
|
|
39
|
+
|
|
40
|
+
To find the next task to implement:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
tick ready --parent <phase-id>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
This returns tasks that are:
|
|
47
|
+
|
|
48
|
+
1. Status is `open` (not started, not done, not cancelled)
|
|
49
|
+
2. No unresolved blockers (all `blocked_by` tasks are `done`)
|
|
50
|
+
3. No open children (leaf tasks, or parent tasks whose children are all complete)
|
|
51
|
+
4. Within the specified phase (scoped by `--parent`)
|
|
52
|
+
|
|
53
|
+
Results are sorted by priority (lower number = higher priority), then creation date. The first result is the next task.
|
|
54
|
+
|
|
55
|
+
To find the next task across all phases of a topic:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
tick ready --parent <topic-id>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If `tick ready` returns no results, either all tasks are complete or remaining tasks are blocked.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Tick: Updating
|
|
2
|
+
|
|
3
|
+
## Status Transitions
|
|
4
|
+
|
|
5
|
+
Tick uses dedicated commands for each status transition:
|
|
6
|
+
|
|
7
|
+
| Transition | Command |
|
|
8
|
+
|------------|---------|
|
|
9
|
+
| Start | `tick start <task-id>` (open → in_progress) |
|
|
10
|
+
| Complete | `tick done <task-id>` (in_progress → done) |
|
|
11
|
+
| Cancelled | `tick cancel <task-id>` (any → cancelled) |
|
|
12
|
+
| Reopen | `tick reopen <task-id>` (done/cancelled → open) |
|
|
13
|
+
| Skipped | `tick cancel <task-id>` (no separate skipped status — use cancel) |
|
|
14
|
+
|
|
15
|
+
`done` and `cancel` set a closed timestamp. `reopen` clears it.
|
|
16
|
+
|
|
17
|
+
## Updating Task Content
|
|
18
|
+
|
|
19
|
+
To update a task's properties:
|
|
20
|
+
|
|
21
|
+
- **Title**: `tick update <task-id> --title "New title"`
|
|
22
|
+
- **Description**: `tick update <task-id> --description "New description"`
|
|
23
|
+
- **Priority**: `tick update <task-id> --priority 1`
|
|
24
|
+
- **Parent**: `tick update <task-id> --parent <new-parent-id>` (pass empty string to clear)
|
|
25
|
+
- **Dependencies**: See [graph.md](graph.md)
|
|
@@ -33,3 +33,14 @@ Tasks managed as Linear issues within a Linear project. A thin Plan Index File p
|
|
|
33
33
|
- **Pros**: Visual tracking, team collaboration, real-time updates, integrates with existing Linear workflows
|
|
34
34
|
- **Cons**: Requires Linear account and MCP server, external dependency, not fully local
|
|
35
35
|
- **Best for**: Teams already using Linear, collaborative projects needing shared visibility
|
|
36
|
+
|
|
37
|
+
### Tick
|
|
38
|
+
format: `tick`
|
|
39
|
+
|
|
40
|
+
adapter: [tick/](output-formats/tick/)
|
|
41
|
+
|
|
42
|
+
CLI task management with native dependencies, priority, and token-efficient output designed for AI agents. Tasks stored in git-friendly JSONL with a SQLite cache.
|
|
43
|
+
|
|
44
|
+
- **Pros**: Native dependency graph with cycle detection, `tick ready` for next-task resolution, token-efficient TOON output, git-friendly, works offline
|
|
45
|
+
- **Cons**: Requires Tick CLI installation, no visual board or web UI
|
|
46
|
+
- **Best for**: AI-driven workflows needing structured task tracking with dependency resolution
|
package/skills/technical-planning/references/{steps/plan-construction.md → plan-construction.md}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Plan Construction
|
|
2
2
|
|
|
3
|
-
*Reference for **[technical-planning](
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -51,9 +51,13 @@ After the phase structure is approved, continue to **Process Phases** below.
|
|
|
51
51
|
|
|
52
52
|
Work through each phase in order.
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
> *Output the next fenced block as a code block:*
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
```
|
|
57
|
+
I'll now work through each phase — presenting existing work for review
|
|
58
|
+
and designing or authoring anything still pending. You'll approve at
|
|
59
|
+
every stage.
|
|
60
|
+
```
|
|
57
61
|
|
|
58
62
|
### For each phase, check its state:
|
|
59
63
|
|
|
@@ -67,10 +71,14 @@ After Step A returns with an approved task table, continue to **Author Tasks for
|
|
|
67
71
|
|
|
68
72
|
#### If the phase has a task table
|
|
69
73
|
|
|
70
|
-
|
|
74
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
71
75
|
|
|
76
|
+
```
|
|
72
77
|
**Phase {N}: {Phase Name}** — {M} tasks.
|
|
73
78
|
|
|
79
|
+
{task list from the phase's task table}
|
|
80
|
+
```
|
|
81
|
+
|
|
74
82
|
> *Output the next fenced block as markdown (not a code block):*
|
|
75
83
|
|
|
76
84
|
```
|
|
@@ -84,9 +92,13 @@ Present the task list to the user as rendered markdown (not in a code block).
|
|
|
84
92
|
|
|
85
93
|
**STOP.** Wait for the user's response.
|
|
86
94
|
|
|
87
|
-
|
|
95
|
+
#### If the user wants changes
|
|
96
|
+
|
|
97
|
+
→ Go to **Step A** with this phase for revision.
|
|
88
98
|
|
|
89
|
-
|
|
99
|
+
#### If confirmed
|
|
100
|
+
|
|
101
|
+
→ Continue to **Author Tasks for the Phase** below.
|
|
90
102
|
|
|
91
103
|
---
|
|
92
104
|
|
|
@@ -107,9 +119,13 @@ Never parallelize the first `pending` task in a phase. Never parallelize across
|
|
|
107
119
|
|
|
108
120
|
#### If the task status is `authored`
|
|
109
121
|
|
|
110
|
-
Already written.
|
|
122
|
+
Already written.
|
|
123
|
+
|
|
124
|
+
> *Output the next fenced block as a code block:*
|
|
111
125
|
|
|
112
|
-
|
|
126
|
+
```
|
|
127
|
+
Task {M} of {total}: {Task Name} — already authored.
|
|
128
|
+
```
|
|
113
129
|
|
|
114
130
|
Continue to the next task.
|
|
115
131
|
|
|
@@ -123,7 +139,11 @@ After Step B returns, the task is authored. Continue to the next task.
|
|
|
123
139
|
|
|
124
140
|
Advance the `planning:` block in frontmatter to the next phase. Commit: `planning({topic}): complete Phase {N} tasks`
|
|
125
141
|
|
|
142
|
+
> *Output the next fenced block as a code block:*
|
|
143
|
+
|
|
144
|
+
```
|
|
126
145
|
Phase {N}: {Phase Name} — complete ({M} tasks authored).
|
|
146
|
+
```
|
|
127
147
|
|
|
128
148
|
Continue to the next phase.
|
|
129
149
|
|
|
@@ -133,7 +153,11 @@ Continue to the next phase.
|
|
|
133
153
|
|
|
134
154
|
When all phases have all tasks authored:
|
|
135
155
|
|
|
136
|
-
|
|
156
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
All phases are complete. The plan has **{N} phases** with **{M} tasks** total.
|
|
160
|
+
```
|
|
137
161
|
|
|
138
162
|
---
|
|
139
163
|
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Plan Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Two-part review dispatched to sub-agents. Traceability runs first — its approved fixes are applied before the integrity review begins, so integrity evaluates the corrected plan.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## A. Cycle Management
|
|
12
|
+
|
|
13
|
+
Check the `review_cycle` field in the Plan Index File frontmatter.
|
|
14
|
+
|
|
15
|
+
#### If `review_cycle` is missing or not set
|
|
16
|
+
|
|
17
|
+
Add `review_cycle: 1` to the Plan Index File frontmatter.
|
|
18
|
+
|
|
19
|
+
#### If `review_cycle` is already set
|
|
20
|
+
|
|
21
|
+
Increment `review_cycle` by 1.
|
|
22
|
+
|
|
23
|
+
Record the current cycle number — passed to both review agents for tracking file naming (`c{N}`).
|
|
24
|
+
|
|
25
|
+
→ Proceed to **B. Traceability Review**.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## B. Traceability Review
|
|
30
|
+
|
|
31
|
+
1. Load **[invoke-review-traceability.md](invoke-review-traceability.md)** and follow its instructions to dispatch the agent.
|
|
32
|
+
2. **STOP.** Do not proceed until the agent has returned its result.
|
|
33
|
+
3. On receipt of result, load **[process-review-findings.md](process-review-findings.md)** and follow its instructions to process the findings with the user.
|
|
34
|
+
|
|
35
|
+
→ Proceed to **C. Plan Integrity Review**.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## C. Plan Integrity Review
|
|
40
|
+
|
|
41
|
+
1. Load **[invoke-review-integrity.md](invoke-review-integrity.md)** and follow its instructions to dispatch the agent.
|
|
42
|
+
2. **STOP.** Do not proceed until the agent has returned its result.
|
|
43
|
+
3. On receipt of result, load **[process-review-findings.md](process-review-findings.md)** and follow its instructions to process the findings with the user.
|
|
44
|
+
|
|
45
|
+
→ Proceed to **D. Re-Loop Prompt**.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## D. Re-Loop Prompt
|
|
50
|
+
|
|
51
|
+
#### If no findings were surfaced in this cycle
|
|
52
|
+
|
|
53
|
+
→ Proceed directly to **E. Completion**.
|
|
54
|
+
|
|
55
|
+
#### If findings were surfaced
|
|
56
|
+
|
|
57
|
+
Check `finding_gate_mode` and `review_cycle` in the Plan Index File frontmatter.
|
|
58
|
+
|
|
59
|
+
#### If `finding_gate_mode: auto` and `review_cycle < 5`
|
|
60
|
+
|
|
61
|
+
Announce (one line, no stop):
|
|
62
|
+
|
|
63
|
+
> *Output the next fenced block as a code block:*
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Review cycle {N} complete — findings applied. Running follow-up cycle.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
→ Return to **A. Cycle Management**.
|
|
70
|
+
|
|
71
|
+
#### If `finding_gate_mode: auto` and `review_cycle >= 5`
|
|
72
|
+
|
|
73
|
+
Review has auto-cycled 5 times without converging. Escalating for human review.
|
|
74
|
+
|
|
75
|
+
→ Present the gated re-loop prompt below.
|
|
76
|
+
|
|
77
|
+
#### If `finding_gate_mode: gated`
|
|
78
|
+
|
|
79
|
+
> *Output the next fenced block as a code block:*
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Fixes applied this cycle may have shifted dependencies, introduced gaps,
|
|
83
|
+
or affected other tasks. A follow-up round reviews the corrected plan
|
|
84
|
+
with fresh context — 2-3 cycles typically surface anything cascading.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
· · · · · · · · · · · ·
|
|
91
|
+
- **`r`/`reanalyse`** — Run another round of review (traceability + integrity)
|
|
92
|
+
- **`p`/`proceed`** — Proceed to conclusion
|
|
93
|
+
· · · · · · · · · · · ·
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**STOP.** Wait for user response.
|
|
97
|
+
|
|
98
|
+
#### If reanalyse
|
|
99
|
+
|
|
100
|
+
→ Return to **A. Cycle Management** to begin a fresh cycle.
|
|
101
|
+
|
|
102
|
+
#### If proceed
|
|
103
|
+
|
|
104
|
+
→ Continue to **E. Completion**.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## E. Completion
|
|
109
|
+
|
|
110
|
+
1. **Verify tracking files are marked complete** — All traceability and integrity tracking files across all cycles must have `status: complete`.
|
|
111
|
+
|
|
112
|
+
> **CHECKPOINT**: Do not confirm completion if any tracking files still show `status: in-progress`. They indicate incomplete review work.
|
|
113
|
+
|
|
114
|
+
2. **Commit** all review tracking files: `planning({topic}): complete plan review (cycle {N})`
|
|
115
|
+
|
|
116
|
+
> *Output the next fenced block as a code block:*
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
Plan review complete — {N} cycle(s), all tracking files finalised.
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
→ Return to **[technical-planning SKILL.md](../SKILL.md)** for **Step 8**.
|