semantu-agents 1.2.2 → 1.3.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 +3 -2
- package/cli.mjs +7 -3
- package/package.json +1 -1
- package/skills/public/automatic/SKILL.md +20 -21
- package/skills/public/explore/SKILL.md +11 -9
- package/skills/public/ideation/SKILL.md +31 -10
- package/skills/public/implementation/SKILL.md +10 -8
- package/skills/public/plan/SKILL.md +15 -5
- package/skills/public/review/SKILL.md +80 -36
- package/skills/public/tasks/SKILL.md +4 -1
- package/skills/public/todo/SKILL.md +34 -0
- package/skills/public/workflow/SKILL.md +20 -11
- package/skills/public/wrapup/SKILL.md +17 -7
package/README.md
CHANGED
|
@@ -81,7 +81,7 @@ Print a markdown or JSON index of docs that use YAML frontmatter.
|
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
83
|
npx semantu-agents docs
|
|
84
|
-
npx semantu-agents docs
|
|
84
|
+
npx semantu-agents docs backlog
|
|
85
85
|
npx semantu-agents docs architecture
|
|
86
86
|
npx semantu-agents docs --all
|
|
87
87
|
npx semantu-agents docs --format markdown
|
|
@@ -92,7 +92,7 @@ Supported scopes:
|
|
|
92
92
|
|
|
93
93
|
- `root` (default) -> `docs/*.md`
|
|
94
94
|
- `architecture` -> `docs/architecture/*.md`
|
|
95
|
-
- `
|
|
95
|
+
- `backlog` -> `docs/backlog/*.md`
|
|
96
96
|
- `plans` -> `docs/plans/*.md`
|
|
97
97
|
- `reports` -> `docs/reports/*.md`
|
|
98
98
|
|
|
@@ -126,4 +126,5 @@ Both are merged into the same flat `.claude/skills/` directory at sync time.
|
|
|
126
126
|
| `implementation` | Execute tasks phase-by-phase with commits and validation |
|
|
127
127
|
| `review` | Review work against intent, readiness, and gaps; triage iterate vs defer |
|
|
128
128
|
| `wrapup` | Cleanup, changesets, and PR preparation |
|
|
129
|
+
| `todo` | Capture user-deferred follow-up work in `docs/backlog` |
|
|
129
130
|
| `automatic` | Run the full workflow without manual mode transitions |
|
package/cli.mjs
CHANGED
|
@@ -15,7 +15,7 @@ const skillsRepo = 'git@github.com:Semantu/agents.git';
|
|
|
15
15
|
const DOC_FOLDERS = {
|
|
16
16
|
root: 'docs',
|
|
17
17
|
architecture: path.join('docs', 'architecture'),
|
|
18
|
-
|
|
18
|
+
backlog: path.join('docs', 'backlog'),
|
|
19
19
|
plans: path.join('docs', 'plans'),
|
|
20
20
|
reports: path.join('docs', 'reports'),
|
|
21
21
|
};
|
|
@@ -91,6 +91,7 @@ function installPostMergeHook(repoDir) {
|
|
|
91
91
|
const hooksDir = path.join(repoDir, '.git', 'hooks');
|
|
92
92
|
const hookPath = path.join(hooksDir, 'post-merge');
|
|
93
93
|
const hook = `#!/bin/sh
|
|
94
|
+
[ "$SEMANTU_AGENTS_SKIP_HOOK_SYNC" = "1" ] && exit 0
|
|
94
95
|
cd "$(git rev-parse --show-toplevel)" && node cli.mjs sync
|
|
95
96
|
`;
|
|
96
97
|
|
|
@@ -133,7 +134,10 @@ function updateDevCheckout() {
|
|
|
133
134
|
|
|
134
135
|
run('git fetch origin main', {cwd: srcDir});
|
|
135
136
|
run('git switch main', {cwd: srcDir});
|
|
136
|
-
run('git pull --ff-only origin main', {
|
|
137
|
+
run('git pull --ff-only origin main', {
|
|
138
|
+
cwd: srcDir,
|
|
139
|
+
env: {...process.env, SEMANTU_AGENTS_SKIP_HOOK_SYNC: '1'},
|
|
140
|
+
});
|
|
137
141
|
syncFromSource(srcDir, '~/.agents-src');
|
|
138
142
|
|
|
139
143
|
if (currentBranch && currentBranch !== 'main') {
|
|
@@ -208,7 +212,7 @@ function setupProject() {
|
|
|
208
212
|
console.log('Updated .gitignore');
|
|
209
213
|
}
|
|
210
214
|
|
|
211
|
-
for (const dir of ['docs/
|
|
215
|
+
for (const dir of ['docs/backlog', 'docs/plans', 'docs/reports']) {
|
|
212
216
|
const fullPath = path.join(projectRoot, dir);
|
|
213
217
|
if (!existsSync(fullPath)) {
|
|
214
218
|
mkdirSync(fullPath, {recursive: true});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: automatic
|
|
3
|
-
description: Execute the full workflow cycle
|
|
3
|
+
description: Execute the full workflow cycle and automatically iterate on review findings of medium severity or higher. Use only when the user explicitly requests automatic mode. Never auto-suggest or auto-enter this mode.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Instructions
|
|
@@ -21,22 +21,20 @@ Run the standard workflow end-to-end without waiting for user confirmation betwe
|
|
|
21
21
|
4. `implementation`
|
|
22
22
|
5. `review`
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Automatically iterate on review findings until only low/minor gaps remain, then pause.
|
|
25
25
|
|
|
26
26
|
## Core behavior
|
|
27
27
|
|
|
28
28
|
1. Execute each mode in sequence using the same requirements and artifact rules as the corresponding individual mode skills.
|
|
29
29
|
2. Keep momentum: do not stop between internal mode transitions unless blocked by missing mandatory input, hard failures, or safety constraints.
|
|
30
|
-
3. **Ideation in automatic mode** follows the exact same flow as the interactive ideation skill (discover
|
|
30
|
+
3. **Ideation in automatic mode** follows the exact same flow as the interactive ideation skill (create the active plan doc, discover open items, explore planning blockers, record accepted decisions), but the agent emulates user responses instead of waiting for input. Apply this priority framework when choosing between approaches:
|
|
31
31
|
1. **Long-term maintainability** — simplicity, elegance, least complexity
|
|
32
32
|
2. **Scalability** — handles growth without redesign
|
|
33
33
|
3. **Performance** — fastest/most efficient option
|
|
34
|
-
For each decision, show the reasoning and chosen option in chat, then record it in the
|
|
34
|
+
For each decision, show the reasoning and chosen option in chat, then record it in the active plan doc just as in interactive mode.
|
|
35
35
|
4. **Progress indicators**: When walking through decisions or gaps, always show position — e.g. "Decision 2 of 5" — so the user can gauge progress when reviewing.
|
|
36
36
|
5. After ideation is complete, continue immediately into plan mode, then tasks mode, then implementation mode, then review mode.
|
|
37
|
-
6.
|
|
38
|
-
- `wrapup`
|
|
39
|
-
- `iterate` — select which gaps to address
|
|
37
|
+
6. After review, automatically iterate on every medium-or-higher gap, including stale comments and documentation. Leave low/minor gaps for the final review pause.
|
|
40
38
|
|
|
41
39
|
## Mandatory transition gates
|
|
42
40
|
|
|
@@ -45,16 +43,19 @@ Never transition to the next mode until the current mode's required on-disk arti
|
|
|
45
43
|
Before leaving each mode, enforce all checks below:
|
|
46
44
|
|
|
47
45
|
1. Ideation -> Plan gate:
|
|
48
|
-
- A concrete
|
|
49
|
-
- The doc
|
|
46
|
+
- A concrete active plan doc exists/was updated in `docs/plans/<nnn>-<topic>.md`.
|
|
47
|
+
- The plan doc has `status: Ideation`.
|
|
48
|
+
- The doc contains planning blockers, accepted decisions, and a clearly selected route.
|
|
50
49
|
|
|
51
50
|
2. Plan -> Tasks gate:
|
|
52
51
|
- A plan doc exists/was updated in `docs/plans/<nnn>-<topic>.md`.
|
|
52
|
+
- The plan doc has `status: Plan`.
|
|
53
53
|
- The plan includes architecture decisions, expected file changes, pitfalls, and explicit contracts.
|
|
54
54
|
- The plan is focused on the chosen route (not a list of all routes).
|
|
55
55
|
|
|
56
56
|
3. Tasks -> Implementation gate:
|
|
57
57
|
- The same plan doc includes phased tasks.
|
|
58
|
+
- The plan doc has `status: Tasks`.
|
|
58
59
|
- Every phase has explicit validation criteria.
|
|
59
60
|
- Dependency graph / parallelization notes are present.
|
|
60
61
|
|
|
@@ -62,6 +63,7 @@ Before leaving each mode, enforce all checks below:
|
|
|
62
63
|
- Implementation work is executed phase by phase against the tasked plan.
|
|
63
64
|
- Validation for each completed phase is run and recorded.
|
|
64
65
|
- The plan doc is updated after each completed phase before moving on.
|
|
66
|
+
- The plan doc has `status: Implementation`.
|
|
65
67
|
|
|
66
68
|
If any gate check fails, stop and fix the missing artifact first. Do not implement code before the tasks gate is satisfied.
|
|
67
69
|
|
|
@@ -69,8 +71,8 @@ If any gate check fails, stop and fix the missing artifact first. Do not impleme
|
|
|
69
71
|
|
|
70
72
|
Use the same artifact contract as the normal workflow:
|
|
71
73
|
|
|
72
|
-
- `ideation`: create/update `docs/
|
|
73
|
-
- `plan`:
|
|
74
|
+
- `ideation`: create/update the active `docs/plans/<nnn>-<topic>.md`
|
|
75
|
+
- `plan`: update the same active plan doc
|
|
74
76
|
- `tasks`: update the active plan doc with phases/tasks/validation
|
|
75
77
|
- `implementation`: execute phases and update the active plan doc after completed phases
|
|
76
78
|
- `review`: emit findings in chat, then update plan doc with review section and iteration content
|
|
@@ -79,10 +81,10 @@ Follow numbering and conversion rules from workflow mode.
|
|
|
79
81
|
|
|
80
82
|
## Iterate loop
|
|
81
83
|
|
|
82
|
-
|
|
84
|
+
After each review:
|
|
83
85
|
|
|
84
|
-
1.
|
|
85
|
-
2. **All iteration work stays in the active plan document.** Do not create
|
|
86
|
+
1. Classify findings as critical/urgent, high, medium, or low/minor. Select every medium-or-higher gap, plus stale comments and documentation.
|
|
87
|
+
2. **All iteration work stays in the active plan document.** Do not create additional plan docs for iteration gaps.
|
|
86
88
|
3. Append the following sections to the plan doc:
|
|
87
89
|
|
|
88
90
|
```markdown
|
|
@@ -108,12 +110,9 @@ If the user chooses `iterate` after review:
|
|
|
108
110
|
...
|
|
109
111
|
```
|
|
110
112
|
|
|
111
|
-
4. Walk through ideation for **all selected gaps first** (
|
|
112
|
-
5. After implementation, run review again
|
|
113
|
-
|
|
114
|
-
- `iterate`
|
|
115
|
-
|
|
116
|
-
Repeat until the user selects `wrapup` or stops.
|
|
113
|
+
4. Walk through ideation for **all selected gaps first** (in chat batches where possible, emulating user responses with the same priority framework), then condense into a plan, then break into phases/tasks, then implement all phases.
|
|
114
|
+
5. After implementation, run review again and repeat while selected gaps remain.
|
|
115
|
+
6. When only low/minor gaps remain, pause and ask whether to `wrapup` or address any remaining gap.
|
|
117
116
|
|
|
118
117
|
## Handoff to wrapup
|
|
119
118
|
|
|
@@ -131,5 +130,5 @@ Enter `wrapup` only after the user explicitly chooses `wrapup` at a review pause
|
|
|
131
130
|
|
|
132
131
|
## Exit criteria
|
|
133
132
|
|
|
134
|
-
-
|
|
133
|
+
- Completed review iterations until only low/minor gaps remain and paused, or
|
|
135
134
|
- User explicitly selected `wrapup` and control has been handed off to wrapup mode.
|
|
@@ -11,24 +11,26 @@ Provide a reusable deep-dive format for `explore <topic>` in any mode, including
|
|
|
11
11
|
|
|
12
12
|
## Entry gate
|
|
13
13
|
|
|
14
|
-
Run this skill when the user explicitly says `explore <topic
|
|
14
|
+
Run this skill when the user explicitly says `explore <topic>`, clearly asks to explore a topic in this format, or another active skill delegates decision exploration.
|
|
15
15
|
|
|
16
16
|
## Steps
|
|
17
17
|
|
|
18
18
|
1. Confirm scope only if the topic is ambiguous; otherwise proceed directly.
|
|
19
19
|
2. Decompose the topic into decision candidates and unknowns.
|
|
20
|
-
3.
|
|
21
|
-
4.
|
|
22
|
-
5.
|
|
23
|
-
6.
|
|
24
|
-
7. If there are multiple decisions, present them in batches of 3 by default (use fewer only when fewer remain or when the user asks for a different batch size). Start with `Decision x-y of N`, and end with `Recap: 1A 2C 3B`; ask for agreement or edits.
|
|
20
|
+
3. Prioritize planning blockers first when called from ideation or review iteration.
|
|
21
|
+
4. Before presenting options, explain the affected area, current behavior, wider context, and why the decision matters. Assume the user may not know the implementation. Include code, before/after, or concrete examples when useful.
|
|
22
|
+
5. Present exactly 3 viable approaches (A–C), each with pros, cons, and risks.
|
|
23
|
+
6. After all options, add a separate **Recommendation** section naming the suggested option and why it is the best fit.
|
|
24
|
+
7. If there are multiple decisions, present them in batches of 3 by default (use fewer only when fewer remain or when the user asks for a different batch size). Start with `Decision x-y of N`, and end with `Recap: 1A 2C 3B`; ask for agreement or edits in normal chat.
|
|
25
25
|
8. Iterate until consent; no feedback on a decision counts as acceptance after an explicit agreement prompt.
|
|
26
|
-
9. Recurse only for nested decisions
|
|
27
|
-
10. After consent, ask whether to continue the current mode or switch modes.
|
|
26
|
+
9. Recurse only for nested decisions that block planning. Default max depth is 2 unless the user asks for deeper drilldown.
|
|
27
|
+
10. After consent, ask whether to continue the current mode or switch modes in normal chat.
|
|
28
28
|
|
|
29
29
|
## Guardrails
|
|
30
30
|
|
|
31
|
+
- Do not use interactive question tools such as `AskUserQuestion`, `request_user_input`, picker UIs, or multiple-choice tool prompts. They interrupt reading the proposals. Ask follow-up questions as ordinary chat text.
|
|
31
32
|
- Do not force a mode switch by default; this skill can run inside any active mode.
|
|
32
33
|
- Do not create ideation/plan artifacts unless the active mode requires them or the user asks.
|
|
34
|
+
- When called from ideation, explore in chat first and let ideation persist only accepted decisions.
|
|
33
35
|
- Keep outputs structured and concise; avoid repeating unchanged context.
|
|
34
|
-
- Do not recurse indefinitely; respect the depth cap and
|
|
36
|
+
- Do not recurse indefinitely; respect the depth cap and keep non-blocking items as open context.
|
|
@@ -16,26 +16,47 @@ Run this mode when the user explicitly chooses ideation, or when workflow routes
|
|
|
16
16
|
## Steps
|
|
17
17
|
|
|
18
18
|
1. Read relevant code, tests, and docs first.
|
|
19
|
-
2. Create/update `docs/
|
|
20
|
-
- For new
|
|
21
|
-
- Every new
|
|
22
|
-
|
|
19
|
+
2. Create/update the active plan doc in `docs/plans/<nnn>-<topic>.md` with `status: Ideation`.
|
|
20
|
+
- For new plan docs, `<nnn>` MUST be the next available 3-digit prefix in `docs/plans`.
|
|
21
|
+
- Every new plan doc MUST start with YAML frontmatter containing at least `summary` and `status: Ideation`.
|
|
22
|
+
- If starting from `docs/backlog/<nnn>-<topic>.md`, copy relevant context into the plan and add a source backlog reference in frontmatter or the opening section.
|
|
23
|
+
3. Discover relevant architecture context:
|
|
24
|
+
- Run `npx semantu-agents docs architecture` to list architecture docs and summaries.
|
|
25
|
+
- Read the docs relevant to the current scope before proposing approaches.
|
|
26
|
+
- Record applicable constraints and architecture unknowns/gaps in the active plan doc.
|
|
27
|
+
4. Discover impacted repo/package test surfaces:
|
|
23
28
|
- Locate changed package roots (root repo and/or `packages/<name>` roots as applicable).
|
|
24
29
|
- For each impacted package, identify quick test commands (target total runtime 1-2 minutes), full/slow test commands, and where each was found (`package.json` scripts first, README fallback).
|
|
25
30
|
- Record unknowns/gaps when no reliable quick regression command exists.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
5. Build an open-item map: list decisions, gaps, assumptions, architecture questions, research needs, unclear requirements, impact questions, and implementation risks.
|
|
32
|
+
6. Mark which open items block planning.
|
|
33
|
+
7. Immediately use the `explore` skill on the highest-priority planning blockers in batches of 3. Do not ask where to start unless priority is genuinely ambiguous.
|
|
34
|
+
8. Use chat as the primary place for A/B/C decision exploration. Keep the active plan doc lightweight until choices are accepted.
|
|
35
|
+
9. After each accepted batch, record the chosen option, rationale, relevant context, and brief rejected-alternative summary in the active plan doc.
|
|
36
|
+
10. Continue until planning blockers reach consent; then ask whether to switch to `plan` mode.
|
|
37
|
+
|
|
38
|
+
## Open-item examples
|
|
39
|
+
|
|
40
|
+
Use these examples as discovery prompts, not a checklist. Surface only open items that are relevant to the current scope and important enough to affect the plan:
|
|
41
|
+
- Unknown implementation details or code paths that need research.
|
|
42
|
+
- Effects on other packages, APIs, data flows, runtime behavior, or developer workflows.
|
|
43
|
+
- Architecture constraints, violations, extensions, or documentation updates.
|
|
44
|
+
- Public API, naming, ownership, storage, auth, deployment, or package-boundary decisions.
|
|
45
|
+
- Migration, backwards compatibility, release, or rollout questions.
|
|
46
|
+
- Testing gaps, missing quick regression checks, or slow-suite risks.
|
|
47
|
+
- Performance, security, reliability, error handling, or observability concerns.
|
|
48
|
+
- UX/product scope ambiguities when they affect technical design.
|
|
31
49
|
|
|
32
50
|
## Guardrails
|
|
33
51
|
|
|
34
52
|
- Do not write implementation code in this mode.
|
|
35
53
|
- Do not convert ideation into a plan unless the user explicitly requests it.
|
|
54
|
+
- Do not write full A/B/C analysis into the active plan doc before user consent; explore in chat first.
|
|
55
|
+
- Do not decide that work is out of scope yourself. If a follow-up seems outside the current scope, propose deferring it; only create a backlog item with the `todo` skill after the user explicitly agrees.
|
|
36
56
|
|
|
37
57
|
## Exit criteria
|
|
38
58
|
|
|
39
|
-
-
|
|
59
|
+
- Planning blockers, architecture context, and accepted decisions are documented.
|
|
40
60
|
- User feedback has narrowed choices.
|
|
61
|
+
- The active plan doc has `status: Ideation` and is committed unless the repo ignores `docs/`.
|
|
41
62
|
- User has explicitly confirmed whether to switch to plan mode or stay in ideation mode.
|
|
@@ -12,13 +12,14 @@ Run only after explicit user confirmation to enter implementation mode, with an
|
|
|
12
12
|
## Steps
|
|
13
13
|
|
|
14
14
|
1. Confirm the approved plan exists on disk at `docs/plans/<nnn>-<topic>.md`. Tool-native plan mode alone is not sufficient.
|
|
15
|
-
2.
|
|
15
|
+
2. Set or update the active plan frontmatter status to `Implementation`.
|
|
16
16
|
3. Implement one planned phase at a time.
|
|
17
|
-
4.
|
|
18
|
-
5.
|
|
19
|
-
6.
|
|
20
|
-
7.
|
|
21
|
-
8.
|
|
17
|
+
4. Before completing a phase, compare changed behavior/API/contracts against the plan's Architecture compliance section.
|
|
18
|
+
5. Run the phase validation criteria and record results, including the quick regression gate for impacted packages (target total runtime 1-2 minutes).
|
|
19
|
+
6. After a phase is completed, update `docs/plans/<nnn>-<topic>.md` to reflect completed work and mark phase status. This update is mandatory before moving to the next phase.
|
|
20
|
+
7. Create one commit per phase per repository. Never combine parent and nested repository changes. For reusable packages, keep root-project-specific names out of commit messages. Include code changes and the phase-completion plan update in the same commit.
|
|
21
|
+
8. Continue to next phase without pausing only if there are no deviations and no major problems.
|
|
22
|
+
9. If any deviation/blocker/major risk appears, pause and report.
|
|
22
23
|
|
|
23
24
|
Full/slow test suites may be deferred until review by default. Run deferred suites earlier only if the user requests it.
|
|
24
25
|
|
|
@@ -42,14 +43,15 @@ When the plan marks phases as parallelizable, use the Task tool (or any availabl
|
|
|
42
43
|
|
|
43
44
|
## Documentation
|
|
44
45
|
|
|
45
|
-
-
|
|
46
|
+
- Record deviations and problems in the active plan. Never update historical reports.
|
|
46
47
|
|
|
47
48
|
## Guardrails
|
|
48
49
|
|
|
49
|
-
- If the originating ideation doc is ambiguous, pause and ask the user which ideation file to remove.
|
|
50
50
|
- Do not skip plan updates between completed phases.
|
|
51
51
|
- Do not switch to review/wrapup implicitly; ask the user to explicitly confirm the next mode.
|
|
52
52
|
- Do not mark a phase complete if its quick regression gate fails.
|
|
53
|
+
- Do not silently diverge from architecture docs or the plan's Architecture compliance section; pause and report deviations.
|
|
54
|
+
- Do not decide that work is out of scope yourself. If a follow-up seems outside the current scope, propose deferring it; only create a backlog item with the `todo` skill after the user explicitly agrees.
|
|
53
55
|
|
|
54
56
|
## Exit criteria
|
|
55
57
|
|
|
@@ -11,11 +11,12 @@ Run only when the user explicitly confirms plan mode (for example: converting id
|
|
|
11
11
|
|
|
12
12
|
## Steps
|
|
13
13
|
|
|
14
|
-
1.
|
|
15
|
-
-
|
|
16
|
-
-
|
|
14
|
+
1. Update the active plan doc in `docs/plans/<nnn>-<topic>.md` and set frontmatter `status: Plan`. This on-disk plan file is mandatory.
|
|
15
|
+
- Create a new plan doc only when plan mode starts without an existing active plan.
|
|
16
|
+
- When creating a new plan doc, `<nnn>` MUST be the next available 3-digit prefix in `docs/plans`.
|
|
17
|
+
- Every new plan doc MUST start with YAML frontmatter containing at least `summary` and `status: Plan`.
|
|
17
18
|
2. Focus on chosen route(s), not all explored options.
|
|
18
|
-
3. **Carry forward all
|
|
19
|
+
3. **Carry forward all accepted ideation decisions already captured in the active plan doc.** Every feature, API surface, design detail, and example that was accepted and not explicitly rejected must appear in the plan. No accepted idea can be silently dropped. If unsure whether something was tentatively discussed or firmly decided, ask the user for clarification rather than omitting it.
|
|
19
20
|
4. Include:
|
|
20
21
|
- Main architecture decisions
|
|
21
22
|
- Files expected to change
|
|
@@ -23,6 +24,11 @@ Run only when the user explicitly confirms plan mode (for example: converting id
|
|
|
23
24
|
- Potential pitfalls
|
|
24
25
|
- Remaining unclear areas/decisions
|
|
25
26
|
- **Inter-component contracts**: When the architecture has separable parts (layers, modules, packages), make the contracts between them explicit — type definitions, function signatures, shared data structures. These contracts enable parallel implementation in tasks mode.
|
|
27
|
+
- **Architecture compliance**:
|
|
28
|
+
- relevant `docs/architecture` files discovered with `npx semantu-agents docs architecture`
|
|
29
|
+
- applicable constraints from those docs
|
|
30
|
+
- how the chosen design follows them
|
|
31
|
+
- any approved architecture change, extension, or unresolved gap
|
|
26
32
|
- **Test strategy**:
|
|
27
33
|
- impacted repo/package list
|
|
28
34
|
- quick regression gate commands (target total runtime 1-2 minutes) to run after each phase
|
|
@@ -37,10 +43,14 @@ Run only when the user explicitly confirms plan mode (for example: converting id
|
|
|
37
43
|
- Do not add task breakdown in this mode.
|
|
38
44
|
- Do not start implementation.
|
|
39
45
|
- Do not rely on tool-native planning state alone; all plan content MUST be persisted to `docs/plans/<nnn>-<topic>.md`.
|
|
40
|
-
- Do not
|
|
46
|
+
- Do not create a second plan doc for the same task/thread.
|
|
47
|
+
- Do not approve a plan without naming the relevant architecture docs, or explicitly stating that none were found.
|
|
48
|
+
- Do not decide that work is out of scope yourself. If a follow-up seems outside the current scope, propose deferring it; only create a backlog item with the `todo` skill after the user explicitly agrees.
|
|
41
49
|
|
|
42
50
|
## Exit criteria
|
|
43
51
|
|
|
44
52
|
- Plan clearly reflects chosen decisions.
|
|
53
|
+
- Relevant architecture docs are named and the plan explains compliance or approved deviations.
|
|
45
54
|
- Risks and open questions are explicit.
|
|
55
|
+
- The active plan doc has `status: Plan` and is committed unless the repo ignores `docs/`.
|
|
46
56
|
- User has explicitly approved the plan and explicitly confirmed whether to switch to tasks mode or remain in plan mode.
|
|
@@ -11,65 +11,101 @@ Run only when the user explicitly confirms review mode.
|
|
|
11
11
|
|
|
12
12
|
## Review focus
|
|
13
13
|
|
|
14
|
-
1.
|
|
15
|
-
2.
|
|
16
|
-
3.
|
|
17
|
-
4.
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
1. Set or update the active plan frontmatter status to `Review`.
|
|
15
|
+
2. Compare current implementation against the original intent and agreed plan.
|
|
16
|
+
3. Assess whether the result is ready for others to use.
|
|
17
|
+
4. Spend independent attention on each review pass below. Do not collapse these into a single generic gap scan:
|
|
18
|
+
- **Intent and plan fit**: What was promised, what exists, and what diverged.
|
|
19
|
+
- **Remaining functional gaps**: Missing behavior, incomplete flows, unhandled edge cases, or acceptance criteria that are only partially met.
|
|
20
|
+
- **Weaknesses and issues**: Bugs, brittle assumptions, confusing UX/API behavior, failure modes, data integrity risks, security/privacy concerns, performance risks, and operational risks.
|
|
21
|
+
- **Cleanup needed**: Dead code, unused files, stale scaffolding, naming drift, duplication, unnecessary TODOs, and generated artifacts that should not remain.
|
|
22
|
+
- **Simplification opportunities**: Overbuilt abstractions, needless configuration, avoidable branching, complicated contracts, or places where less code would be clearer.
|
|
23
|
+
- **Comments needed**: Non-obvious intent, invariants, boundary conditions, or algorithms that need concise explanatory comments.
|
|
24
|
+
- **Documentation updates**: README, setup instructions, examples, architecture docs, API docs, env/config notes, changelogs, reports, or plan docs that need to reflect the work.
|
|
25
|
+
- **Tests and validation**: Missing coverage, weak assertions, manual QA still needed, deferred suites to rerun, and any checks that should be added before external use.
|
|
26
|
+
5. Re-run deferred full/slow test suites for all impacted repos/packages from the plan's test strategy, and report pass/fail with any skipped checks and reasons.
|
|
27
|
+
6. Audit architecture compliance:
|
|
28
|
+
- Run `npx semantu-agents docs architecture`.
|
|
29
|
+
- Re-read the architecture docs cited by the plan.
|
|
30
|
+
- Compare changed code, behavior, APIs, and contracts against those docs.
|
|
31
|
+
- Report architecture violations, missing architecture updates, or explicitly state that no architecture issues were found.
|
|
20
32
|
|
|
21
33
|
## Parallel review via subagents
|
|
22
34
|
|
|
23
35
|
When the implementation spans multiple modules or many files, spawn subagents to review different areas concurrently. For example: one agent reviews API surface correctness, another checks test coverage against the plan, another checks for dead code or missing error handling.
|
|
24
36
|
|
|
25
|
-
Each review subagent receives: the relevant plan section, the list of files in its review area, and the specific review questions to answer. Subagents report findings; the main agent synthesizes results into the
|
|
37
|
+
Each review subagent receives: the relevant plan section, the list of files in its review area, and the specific review questions to answer. Subagents report findings; the main agent synthesizes results into the review sections presented to the user.
|
|
26
38
|
|
|
27
39
|
## Output
|
|
28
40
|
|
|
29
41
|
Review findings must be emitted in chat first.
|
|
30
42
|
Do not write findings to plan or report files until decisions are clarified with the user.
|
|
31
43
|
|
|
32
|
-
|
|
44
|
+
Use these sections in the review output. Each section must either list findings or explicitly say `No findings`.
|
|
33
45
|
|
|
34
|
-
|
|
46
|
+
```markdown
|
|
47
|
+
## Intent and Plan Fit
|
|
48
|
+
## Remaining Functional Gaps
|
|
49
|
+
## Weaknesses / Issues
|
|
50
|
+
## Cleanup Needed
|
|
51
|
+
## Simplification Opportunities
|
|
52
|
+
## Comments Needed
|
|
53
|
+
## Documentation Updates
|
|
54
|
+
## Tests / Validation
|
|
55
|
+
## Architecture Compliance
|
|
56
|
+
## Proposed Fixes and Improvements
|
|
57
|
+
## Proposed Deferrals
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Present each actionable finding with a **progress indicator** — e.g. "Finding 1 of 7" — so the user knows how many remain.
|
|
35
61
|
|
|
36
|
-
|
|
62
|
+
At the end of the review, the agent must independently propose:
|
|
63
|
+
- **Proposed Fixes and Improvements**: A prioritized list of things that should be fixed, improved, cleaned up, simplified, documented, commented, or validated before wrapup. This list is based on the whole review, not only direct plan misses.
|
|
64
|
+
- **Proposed Deferrals**: A separate list of work that can genuinely wait because it belongs to a later phase of the active plan, another plan, or a future todo/backlog item. For each deferral, state why it is not part of the current completion bar.
|
|
37
65
|
|
|
38
|
-
|
|
66
|
+
## Finding triage
|
|
39
67
|
|
|
40
|
-
|
|
68
|
+
After presenting all findings and the proposed fix/defer lists, ask the user:
|
|
69
|
+
|
|
70
|
+
> "Which proposed fixes/improvements should we address now, which should we defer, and which risks do you accept as-is?"
|
|
71
|
+
|
|
72
|
+
For findings the user wants to **address now** (iterate):
|
|
41
73
|
- These will go through a full ideation → plan → tasks → implementation cycle.
|
|
42
74
|
- All iteration work stays in the active plan document (see Iteration structure below).
|
|
43
75
|
|
|
44
|
-
For
|
|
45
|
-
- Create
|
|
76
|
+
For findings the user wants to **defer**:
|
|
77
|
+
- Create backlog docs in `docs/backlog/` using the `todo` skill to capture what's known so far:
|
|
46
78
|
- The problem/need (e.g. "currently we can only do X, but we want Y")
|
|
47
|
-
-
|
|
79
|
+
- Existing context and open questions that surfaced during review
|
|
48
80
|
- Do NOT expand beyond what was discovered — just write up the current state
|
|
49
|
-
- Group related deferred items into one
|
|
50
|
-
- Create separate
|
|
51
|
-
- Assign the next available 3-digit prefix in `docs/
|
|
81
|
+
- Group related deferred items into one backlog doc
|
|
82
|
+
- Create separate backlog docs only for very different, large deferred tasks
|
|
83
|
+
- Assign the next available 3-digit prefix in `docs/backlog` for each new doc
|
|
84
|
+
|
|
85
|
+
For risks the user explicitly accepts:
|
|
86
|
+
- Record the accepted risk and rationale in the review section.
|
|
87
|
+
- Do not create a backlog item unless the user also wants future tracking.
|
|
52
88
|
|
|
53
89
|
## Iteration structure
|
|
54
90
|
|
|
55
|
-
When the user chooses to iterate on
|
|
91
|
+
When the user chooses to iterate on findings, append to the **active plan document**:
|
|
56
92
|
|
|
57
93
|
```markdown
|
|
58
94
|
## Review
|
|
59
95
|
|
|
60
|
-
<
|
|
96
|
+
<review findings and proposed fix/defer lists>
|
|
61
97
|
|
|
62
98
|
## Iteration {n} — Ideation
|
|
63
99
|
|
|
64
|
-
###
|
|
100
|
+
### Finding 1 of {total}: <finding title>
|
|
65
101
|
<ideation content: context, approaches, pros/cons, chosen approach, rationale>
|
|
66
102
|
|
|
67
|
-
###
|
|
103
|
+
### Finding 2 of {total}: <finding title>
|
|
68
104
|
...
|
|
69
105
|
|
|
70
106
|
## Iteration {n} — Plan
|
|
71
107
|
|
|
72
|
-
<condensed plan for all
|
|
108
|
+
<condensed plan for all selected findings: architecture decisions, file changes, contracts>
|
|
73
109
|
|
|
74
110
|
## Iteration {n} — Phases
|
|
75
111
|
|
|
@@ -78,16 +114,16 @@ When the user chooses to iterate on gaps, append to the **active plan document**
|
|
|
78
114
|
```
|
|
79
115
|
|
|
80
116
|
The ideation within this section follows the same rules as the ideation skill:
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
117
|
+
- Build an open-item map for selected findings.
|
|
118
|
+
- Immediately use `explore` on the highest-priority planning blockers in chat, in batches of 3 where possible.
|
|
119
|
+
- Record accepted decisions only after consent.
|
|
120
|
+
- Keep the active plan document lightweight until decisions are accepted.
|
|
85
121
|
|
|
86
|
-
**Ideate all selected
|
|
122
|
+
**Ideate all selected findings first**, then condense into a plan section, then break into phases/tasks. Do not run the full cycle per individual finding.
|
|
87
123
|
|
|
88
124
|
## Follow-up questions before switching modes
|
|
89
125
|
|
|
90
|
-
**After ideation for all
|
|
126
|
+
**After ideation for all selected findings is complete, ask implementation-specific follow-up questions before moving forward.** Findings identified during review are often under-specified. Proactively ask about:
|
|
91
127
|
|
|
92
128
|
- **Placement decisions**: Where should new files/configs live?
|
|
93
129
|
- **Tool/dependency choices**: Which specific library, image, or tool version to use?
|
|
@@ -97,21 +133,29 @@ The ideation within this section follows the same rules as the ideation skill:
|
|
|
97
133
|
|
|
98
134
|
## Guardrails
|
|
99
135
|
|
|
100
|
-
- Do not
|
|
136
|
+
- Do not rush from review to wrapup. Assume review usually uncovers follow-up work that deserves careful triage.
|
|
137
|
+
- Do not perform release-prep tasks in this mode; use wrapup mode for that. Review mode may identify cleanup, simplification, comments, docs, and validation work, then route it through iteration or deferral.
|
|
101
138
|
- Do not remove `docs/plans/<nnn>-<topic>.md` in review mode; plan removal happens in wrapup after report approval.
|
|
102
139
|
- If big remaining work is identified, discuss tradeoffs/solutions in chat first.
|
|
103
|
-
- Only convert review findings into iteration content after the user confirms which
|
|
140
|
+
- Only convert review findings into iteration content after the user confirms which findings to address.
|
|
104
141
|
- For newly uncovered work, always go through ideation first — never skip straight to tasks or implementation.
|
|
105
142
|
- If the user's response involves clarifying approach or scope, treat this as still in the clarification loop — ask follow-ups for any remaining ambiguity.
|
|
106
143
|
- Do not claim review completion without test evidence for impacted packages (or explicit user-approved skips).
|
|
144
|
+
- Do not claim review completion without architecture compliance findings.
|
|
145
|
+
- Do not claim review completion until every required output section has been assessed with findings or `No findings`.
|
|
146
|
+
- Do not recommend wrapup until the proposed fixes/improvements list has been triaged.
|
|
147
|
+
- Do not decide that work is out of scope yourself. Only create backlog items after the user explicitly agrees to defer them.
|
|
107
148
|
|
|
108
149
|
## Exit criteria
|
|
109
150
|
|
|
110
|
-
-
|
|
111
|
-
- If iterating: ideation for all selected
|
|
112
|
-
- If deferring:
|
|
151
|
+
- Findings are triaged with explicit user decisions (fix/improve now, defer, or accept risk).
|
|
152
|
+
- If iterating: ideation for all selected findings is recorded in the plan doc, and user has confirmed next step.
|
|
153
|
+
- If deferring: backlog docs were created for user-deferred findings.
|
|
154
|
+
- Accepted risks, if any, are recorded with rationale.
|
|
113
155
|
- Deferred full/slow test suites for impacted packages were executed and reported, or explicitly skipped with user approval.
|
|
156
|
+
- Architecture compliance was checked against the plan's cited architecture docs and reported.
|
|
157
|
+
- The active plan doc has `status: Review` and is committed unless the repo ignores `docs/`.
|
|
114
158
|
- User has explicitly confirmed whether to:
|
|
115
|
-
- **Iterate** — proceed to plan the ideated
|
|
159
|
+
- **Iterate** — proceed to plan the ideated findings (manually via plan mode, or via automatic mode for plan → tasks → implementation → review)
|
|
116
160
|
- **Wrapup** — no more work needed, move to wrapup mode
|
|
117
|
-
- **Defer all** — all
|
|
161
|
+
- **Defer all** — all findings deferred, move to wrapup mode
|
|
@@ -11,7 +11,7 @@ Run only when the user explicitly confirms tasks mode.
|
|
|
11
11
|
|
|
12
12
|
## Steps
|
|
13
13
|
|
|
14
|
-
1. Update the active plan doc in `docs/plans/<nnn>-<topic>.md`. Task breakdown MUST be persisted in this same on-disk plan file.
|
|
14
|
+
1. Update the active plan doc in `docs/plans/<nnn>-<topic>.md` and set frontmatter `status: Tasks`. Task breakdown MUST be persisted in this same on-disk plan file.
|
|
15
15
|
2. Define implementation phases.
|
|
16
16
|
3. Define concrete tasks under each phase.
|
|
17
17
|
4. Add explicit validation criteria per phase (for example: unit tests, integration tests, build/typecheck commands, targeted runtime checks).
|
|
@@ -21,6 +21,7 @@ Run only when the user explicitly confirms tasks mode.
|
|
|
21
21
|
- full/slow suites deferred to review.
|
|
22
22
|
6. Write detailed test specifications for every phase (see **Test specification** below).
|
|
23
23
|
7. Ensure phases are commit-friendly (one commit per phase).
|
|
24
|
+
8. When work spans repositories, separate phases and validation by repository.
|
|
24
25
|
|
|
25
26
|
## Parallel execution
|
|
26
27
|
|
|
@@ -64,10 +65,12 @@ The validation specifications serve as the phase's acceptance criteria: a phase
|
|
|
64
65
|
## Guardrails
|
|
65
66
|
|
|
66
67
|
- Do not start implementation unless user explicitly requests implementation mode.
|
|
68
|
+
- Do not create a second plan doc for the same task/thread.
|
|
67
69
|
|
|
68
70
|
## Exit criteria
|
|
69
71
|
|
|
70
72
|
- Every phase has tasks and validation criteria.
|
|
71
73
|
- Dependency graph and parallel opportunities are explicit.
|
|
72
74
|
- Stubs needed for parallel execution are noted.
|
|
75
|
+
- The active plan doc has `status: Tasks` and is committed unless the repo ignores `docs/`.
|
|
73
76
|
- User has explicitly confirmed whether to switch to implementation mode or remain in tasks mode.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: todo
|
|
3
|
+
description: Capture user-deferred follow-up work as a lightweight backlog document with context and first open questions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Instructions
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
|
|
10
|
+
Create a concise backlog item for future work without derailing the active plan.
|
|
11
|
+
|
|
12
|
+
## Entry gate
|
|
13
|
+
|
|
14
|
+
Run this skill only when the user explicitly asks to create a todo/backlog item or explicitly agrees to defer work for later.
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. Create `docs/backlog/<nnn>-<topic>.md`.
|
|
19
|
+
- `<nnn>` MUST be the next available 3-digit prefix in `docs/backlog`.
|
|
20
|
+
- The document MUST start with YAML frontmatter containing at least `summary`.
|
|
21
|
+
2. Include:
|
|
22
|
+
- Main task/problem statement.
|
|
23
|
+
- Relevant context known so far.
|
|
24
|
+
- Source plan/report link when applicable.
|
|
25
|
+
- Relevant files, docs, architecture constraints, or package names.
|
|
26
|
+
- First open questions that should be explored next.
|
|
27
|
+
3. Keep it lightweight; do not perform full ideation or planning inside the backlog doc.
|
|
28
|
+
4. Report the created backlog path to the user.
|
|
29
|
+
|
|
30
|
+
## Guardrails
|
|
31
|
+
|
|
32
|
+
- Do not decide scope yourself. Only create a backlog item after explicit user deferral/approval.
|
|
33
|
+
- Do not create a plan, tasks, or implementation work in this skill.
|
|
34
|
+
- Do not duplicate large chat transcripts; capture only reusable context.
|
|
@@ -14,9 +14,11 @@ description: Enforce the explicit mode cadence (ideation -> plan -> tasks -> imp
|
|
|
14
14
|
- If the user says `explore <topic>`, run the `explore` skill immediately, even when already inside another mode.
|
|
15
15
|
- `explore` is a deep-dive formatting shortcut, not a mode switch by itself.
|
|
16
16
|
- After finishing an `explore` pass, ask whether to continue the current mode or switch modes.
|
|
17
|
+
- If the user explicitly defers work or asks to capture a future task, use the `todo` skill to create a `docs/backlog` item.
|
|
17
18
|
|
|
18
19
|
## Mode selection at task start
|
|
19
20
|
|
|
21
|
+
- At task start, inspect `package.json` workspaces and Git roots under their package paths. If work spans repositories, handle branches, commits, changesets, and PRs separately for each repository.
|
|
20
22
|
- If the user has already explicitly chosen a mode (or explicitly called a mode skill), enter that mode directly.
|
|
21
23
|
- `automatic` is a special meta mode and can only be entered when the user explicitly requests it.
|
|
22
24
|
- Never auto-suggest `automatic` in startup prompts.
|
|
@@ -43,34 +45,41 @@ Meta mode:
|
|
|
43
45
|
Only switch to the next sequential mode with explicit user confirmation. When completing any mode, the agent must ask: `Shall we switch to {name of next mode}?`.
|
|
44
46
|
Never skip a mode unless explicitly told to.
|
|
45
47
|
If user seems to suggest skipping a mode but is not explicitly saying which mode to use, then the agent must ask the user `Do you want to continue with {name of next mode} or continue straight to {user suggested mode}?`
|
|
46
|
-
When review identifies remaining work, the agent iterates: `review -> ideation (for all gaps) -> plan -> tasks -> implementation -> review`. Iteration work stays in the active plan document
|
|
47
|
-
When
|
|
48
|
+
When review identifies remaining work, the agent iterates: `review -> ideation (for all gaps) -> plan -> tasks -> implementation -> review`. Iteration work stays in the active plan document. Every switch still requires explicit user confirmation.
|
|
49
|
+
When the user explicitly defers work for future scope, the agent creates backlog docs in `docs/backlog/` using the `todo` skill.
|
|
48
50
|
Requests related to PR preparation/publishing are an explicit exception and should route directly to `wrapup` mode.
|
|
49
51
|
These transition gates apply to standard modes. `automatic` mode is an explicit exception and manages internal transitions autonomously until its review pause point.
|
|
50
52
|
|
|
51
53
|
## Required artifacts by mode
|
|
52
54
|
|
|
53
|
-
- `
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
56
|
-
- `
|
|
57
|
-
- `
|
|
58
|
-
- `
|
|
55
|
+
- `backlog`: optional source/follow-up docs in `docs/backlog/<nnn>-<topic>.md`
|
|
56
|
+
- `ideation`: create/update one active plan doc in `docs/plans/<nnn>-<topic>.md` with `status: Ideation`
|
|
57
|
+
- `plan`: update the same active plan doc with `status: Plan`
|
|
58
|
+
- `tasks`: update the same active plan doc with `status: Tasks`
|
|
59
|
+
- `implementation`: update the same active plan doc after every completed phase with `status: Implementation`
|
|
60
|
+
- `review`: update the same active plan doc with `status: Review`; emit findings in chat first
|
|
61
|
+
- `wrapup`: convert the active plan into `docs/reports/<nnn>-<topic>.md`, remove the plan doc, and remove the consumed source backlog doc if any
|
|
59
62
|
|
|
60
63
|
## Frontmatter requirements for docs
|
|
61
64
|
|
|
62
|
-
- Any new doc created under `docs/
|
|
65
|
+
- Any new doc created under `docs/backlog`, `docs/plans`, `docs/reports`, or `docs/architecture` MUST start with YAML frontmatter.
|
|
63
66
|
- Minimum required frontmatter for new docs:
|
|
64
67
|
```yaml
|
|
65
68
|
---
|
|
66
69
|
summary: One or two lines describing the document.
|
|
67
70
|
---
|
|
68
71
|
```
|
|
72
|
+
- Active plan docs MUST also include `status: Ideation|Plan|Tasks|Implementation|Review`.
|
|
69
73
|
|
|
70
74
|
## Global constraints
|
|
71
75
|
|
|
72
76
|
- Tool-native plan modes do NOT replace the on-disk plan file requirement.
|
|
77
|
+
- One task/thread uses one active plan doc from ideation through review. Do not create additional plan docs for the same thread.
|
|
78
|
+
- Update the active plan doc `status` frontmatter when entering each mode.
|
|
79
|
+
- Before switching from ideation, plan, tasks, or review, commit the final active plan state unless the repo ignores `docs/`.
|
|
80
|
+
- Existing files in `docs/reports` are historical snapshots. Never edit them; apply later documentation fixes and renames only to current documentation.
|
|
73
81
|
- After each completed implementation phase, the on-disk plan file MUST be updated before moving to the next phase.
|
|
82
|
+
- Each implementation phase MUST be committed with code changes and the updated plan together.
|
|
74
83
|
- Mode changes are never implicit; every mode switch requires explicit user confirmation.
|
|
75
|
-
- Numbering rule: when creating a new doc in `docs/
|
|
76
|
-
- Conversion rule: when converting/moving docs across folders (for example `
|
|
84
|
+
- Numbering rule: when creating a new doc in `docs/backlog`, `docs/plans`, or `docs/reports`, `<nnn>` MUST be the next available 3-digit prefix in the destination folder.
|
|
85
|
+
- Conversion rule: when converting/moving docs across folders (for example `plans -> reports`), do not reuse the old prefix; assign the next available prefix in the destination folder and update references accordingly.
|
|
@@ -33,16 +33,18 @@ Also treat any user request to prepare/open/update a PR, or draft PR title/body/
|
|
|
33
33
|
- When converting from a plan, rewrite the `summary` so it reflects the completed result and report scope, not the earlier proposed plan.
|
|
34
34
|
- Update any references to the report path after conversion.
|
|
35
35
|
7. **Report quality** — see the dedicated section below. The report is a condensed but comprehensive record of everything that was done. It is NOT a brief summary.
|
|
36
|
-
8. **Remove the plan doc** `docs/plans/<nnn>-<topic>.md` after the report is written. Do not wait until after the PR —
|
|
36
|
+
8. **Remove the plan doc** `docs/plans/<nnn>-<topic>.md` after the report is written. If the plan frontmatter or opening section references a consumed source backlog doc, remove that `docs/backlog/<nnn>-<topic>.md` doc too. Do not wait until after the PR — cleanup must happen before the final commit.
|
|
37
37
|
|
|
38
38
|
### PR preparation
|
|
39
39
|
|
|
40
40
|
9. Verify documentation coverage for what changed.
|
|
41
|
-
10.
|
|
42
|
-
11.
|
|
43
|
-
12.
|
|
44
|
-
13.
|
|
45
|
-
14.
|
|
41
|
+
10. Update architecture docs when approved work changed architecture, contracts, storage, naming, auth, infrastructure, package boundaries, or other architecture-covered behavior. Do not ask for permission again when the change was already approved in the plan/review; make the doc update and report exactly what changed.
|
|
42
|
+
11. Run a PR-readiness checklist and identify anything missing (for example: architecture docs, tests/validation evidence, plan/report consistency, release notes).
|
|
43
|
+
12. If anything is missing, notify the user with a concrete checklist and ask whether to add/fix the missing items now.
|
|
44
|
+
13. Changeset handling — see the dedicated section below.
|
|
45
|
+
14. Draft a PR title and PR message/body summarizing changes, validation, architecture doc updates, and follow-up notes.
|
|
46
|
+
15. **Final commit**: all cleanup (comments, dead code removal, plan deletion, report) must be committed before creating the PR.
|
|
47
|
+
16. Prepare commits, changesets, and PRs separately for each repository.
|
|
46
48
|
|
|
47
49
|
## Report quality
|
|
48
50
|
|
|
@@ -56,8 +58,9 @@ The report replaces the plan as the permanent record. Any agent working on code
|
|
|
56
58
|
- Conversion/mapping rules (e.g., IR node → algebra node mapping tables)
|
|
57
59
|
- All resolved gaps, bugs, and edge cases with their chosen approach
|
|
58
60
|
- Test coverage summary (which test files, what they cover, total counts)
|
|
61
|
+
- Architecture docs updated, with exact files and rationale
|
|
59
62
|
- Known limitations and remaining test gaps
|
|
60
|
-
- Deferred work with pointers to
|
|
63
|
+
- Deferred work with pointers to backlog docs
|
|
61
64
|
- Links to relevant documentation files (e.g., `documentation/sparql-algebra.md`)
|
|
62
65
|
- PR reference (number and URL) when a PR was created during this scope
|
|
63
66
|
- Anything that affects future work or that future agents need to know
|
|
@@ -71,6 +74,10 @@ The report replaces the plan as the permanent record. Any agent working on code
|
|
|
71
74
|
|
|
72
75
|
**Sizing guideline:** If the plan was 500+ lines, the report should be at least 150-300 lines. A 10-line report for a 3000-line plan means critical information was lost.
|
|
73
76
|
|
|
77
|
+
## Reusable package wording
|
|
78
|
+
|
|
79
|
+
For nested repositories and reusable packages under `packages/`, keep root-project, app, client, and product names out of branch names, commit messages, PR titles/bodies, changeset filenames, and changeset prose. Use generic capability language. Exact package names are allowed where tooling requires them, such as changeset frontmatter.
|
|
80
|
+
|
|
74
81
|
## Changeset handling
|
|
75
82
|
|
|
76
83
|
**Always create a changeset** when package code changed, even if other changesets already exist. Each changeset becomes a separate entry in the public changelog via CI/CD, so it should describe what users of the library need to know about THIS set of changes.
|
|
@@ -93,6 +100,7 @@ A changeset is only skippable when the scope is purely internal (docs, CI config
|
|
|
93
100
|
- All changed code reviewed for readability, with comments added where needed.
|
|
94
101
|
- Dead code removed.
|
|
95
102
|
- Plan doc removed (`docs/plans/<nnn>-<topic>.md`).
|
|
103
|
+
- Consumed source backlog doc removed when applicable (`docs/backlog/<nnn>-<topic>.md`).
|
|
96
104
|
- Final report at `docs/reports/<nnn>-<topic>.md`.
|
|
97
105
|
- Changeset file in `.changeset/` (when applicable).
|
|
98
106
|
|
|
@@ -100,8 +108,10 @@ A changeset is only skippable when the scope is purely internal (docs, CI config
|
|
|
100
108
|
|
|
101
109
|
- Code review pass is complete (readability, comments, dead code).
|
|
102
110
|
- Plan doc has been removed.
|
|
111
|
+
- Consumed source backlog doc has been removed when applicable.
|
|
103
112
|
- Final report is written.
|
|
104
113
|
- Cleanup and documentation checks are complete.
|
|
114
|
+
- Approved architecture doc updates are complete and explicitly reported.
|
|
105
115
|
- PR readiness gaps (if any) were surfaced to the user and a decision was collected.
|
|
106
116
|
- Changeset requirement is resolved (prepared, or explicitly skipped for docs-only/no-code-change scope).
|
|
107
117
|
- PR title and message are ready.
|