vouchington-tooling 0.22.0 → 0.23.0

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 (49) hide show
  1. package/README.md +34 -0
  2. package/dist/markdown/details-scope.d.mts +13 -0
  3. package/dist/markdown/details-scope.mjs +73 -0
  4. package/dist/markdown/document-sections.d.mts +3 -0
  5. package/dist/markdown/document-sections.mjs +64 -0
  6. package/dist/markdown/document-types.d.mts +21 -0
  7. package/dist/markdown/document-types.mjs +1 -0
  8. package/dist/markdown/index.d.mts +3 -0
  9. package/dist/markdown/index.mjs +2 -0
  10. package/dist/markdown/validate-sections.d.mts +3 -0
  11. package/dist/markdown/validate-sections.mjs +34 -0
  12. package/package.json +1 -1
  13. package/skills/agent-workflow/SKILL.md +19 -24
  14. package/skills/agent-workflow/references/evidence-sweep.md +4 -0
  15. package/skills/agent-workflow/references/implementation-and-review.md +2 -7
  16. package/skills/agent-workflow/references/implementation.md +9 -2
  17. package/skills/agent-workflow/references/review.md +3 -0
  18. package/skills/backend-vitest-test-authoring/SKILL.md +5 -1
  19. package/skills/blackboard/SKILL.md +5 -1
  20. package/skills/dependabot/SKILL.md +5 -1
  21. package/skills/dotnet-test-authoring/SKILL.md +5 -1
  22. package/skills/git-commit-checklist/SKILL.md +9 -1
  23. package/skills/github-actions-authoring/SKILL.md +5 -1
  24. package/skills/github-actions-checklist/SKILL.md +9 -1
  25. package/skills/github-issue/SKILL.md +5 -1
  26. package/skills/manifest.json +52 -41
  27. package/skills/nextjs-vitest-test-authoring/SKILL.md +5 -1
  28. package/skills/npm-publishing/SKILL.md +5 -1
  29. package/skills/organize-github-issues/SKILL.md +5 -1
  30. package/skills/package-json-checklist/SKILL.md +5 -1
  31. package/skills/planning/SKILL.md +16 -11
  32. package/skills/planning/references/impact-discovery.md +2 -0
  33. package/skills/playwright-authoring/SKILL.md +5 -1
  34. package/skills/postgres-node-performance-tuning/SKILL.md +5 -1
  35. package/skills/postgres-partitioning-uuid-v7/SKILL.md +5 -1
  36. package/skills/pr-description/SKILL.md +49 -11
  37. package/skills/pr-description/references/examples.md +136 -0
  38. package/skills/retrospective/SKILL.md +5 -1
  39. package/skills/retrospective-distill/SKILL.md +5 -1
  40. package/skills/review-ci-logs/SKILL.md +15 -1
  41. package/skills/review-github-issue-taxonomy/SKILL.md +5 -1
  42. package/skills/revisit-followups/SKILL.md +5 -1
  43. package/skills/stacked-prs/SKILL.md +5 -1
  44. package/skills/static-analysis-checklist/SKILL.md +5 -1
  45. package/skills/storybook-authoring/SKILL.md +5 -1
  46. package/skills/swift-test-authoring/SKILL.md +5 -1
  47. package/skills/test-authoring/SKILL.md +5 -1
  48. package/skills/test-authoring/references/core-practice.md +2 -0
  49. package/skills/vitest-test-authoring/SKILL.md +5 -1
@@ -4,180 +4,191 @@
4
4
  {
5
5
  "name": "agent-workflow",
6
6
  "plugin": "vouchington-workflow",
7
- "pluginVersion": "0.7.0",
7
+ "pluginVersion": "0.9.0",
8
8
  "path": "agent-workflow/SKILL.md",
9
- "prerequisites": ["github-issue"]
9
+ "prerequisites": ["github-issue", "pr-description", "review-ci-logs"]
10
10
  },
11
11
  {
12
12
  "name": "backend-vitest-test-authoring",
13
13
  "plugin": "vouchington-testing",
14
- "pluginVersion": "0.1.0",
14
+ "pluginVersion": "0.2.0",
15
15
  "path": "backend-vitest-test-authoring/SKILL.md",
16
16
  "prerequisites": ["vitest-test-authoring"]
17
17
  },
18
18
  {
19
19
  "name": "blackboard",
20
20
  "plugin": "vouchington-workflow",
21
- "pluginVersion": "0.7.0",
21
+ "pluginVersion": "0.9.0",
22
22
  "path": "blackboard/SKILL.md"
23
23
  },
24
24
  {
25
25
  "name": "dependabot",
26
26
  "plugin": "vouchington-workflow",
27
- "pluginVersion": "0.7.0",
27
+ "pluginVersion": "0.9.0",
28
28
  "path": "dependabot/SKILL.md",
29
29
  "prerequisites": ["github-actions-checklist"]
30
30
  },
31
31
  {
32
32
  "name": "dotnet-test-authoring",
33
33
  "plugin": "vouchington-testing",
34
- "pluginVersion": "0.1.0",
35
- "path": "dotnet-test-authoring/SKILL.md"
34
+ "pluginVersion": "0.2.0",
35
+ "path": "dotnet-test-authoring/SKILL.md",
36
+ "prerequisites": ["test-authoring"]
36
37
  },
37
38
  {
38
39
  "name": "git-commit-checklist",
39
40
  "plugin": "vouchington-workflow",
40
- "pluginVersion": "0.7.0",
41
+ "pluginVersion": "0.9.0",
41
42
  "path": "git-commit-checklist/SKILL.md"
42
43
  },
43
44
  {
44
45
  "name": "github-actions-authoring",
45
46
  "plugin": "vouchington-workflow",
46
- "pluginVersion": "0.7.0",
47
+ "pluginVersion": "0.9.0",
47
48
  "path": "github-actions-authoring/SKILL.md",
48
49
  "prerequisites": ["github-actions-checklist"]
49
50
  },
50
51
  {
51
52
  "name": "github-actions-checklist",
52
53
  "plugin": "vouchington-workflow",
53
- "pluginVersion": "0.7.0",
54
+ "pluginVersion": "0.9.0",
54
55
  "path": "github-actions-checklist/SKILL.md"
55
56
  },
56
57
  {
57
58
  "name": "github-issue",
58
59
  "plugin": "vouchington-workflow",
59
- "pluginVersion": "0.7.0",
60
+ "pluginVersion": "0.9.0",
60
61
  "path": "github-issue/SKILL.md"
61
62
  },
62
63
  {
63
64
  "name": "nextjs-vitest-test-authoring",
64
65
  "plugin": "vouchington-testing",
65
- "pluginVersion": "0.1.0",
66
+ "pluginVersion": "0.2.0",
66
67
  "path": "nextjs-vitest-test-authoring/SKILL.md",
67
68
  "prerequisites": ["vitest-test-authoring"]
68
69
  },
69
70
  {
70
71
  "name": "npm-publishing",
71
72
  "plugin": "vouchington-workflow",
72
- "pluginVersion": "0.7.0",
73
+ "pluginVersion": "0.9.0",
73
74
  "path": "npm-publishing/SKILL.md"
74
75
  },
75
76
  {
76
77
  "name": "organize-github-issues",
77
78
  "plugin": "vouchington-workflow",
78
- "pluginVersion": "0.7.0",
79
- "path": "organize-github-issues/SKILL.md"
79
+ "pluginVersion": "0.9.0",
80
+ "path": "organize-github-issues/SKILL.md",
81
+ "prerequisites": ["github-issue"]
80
82
  },
81
83
  {
82
84
  "name": "package-json-checklist",
83
85
  "plugin": "vouchington-workflow",
84
- "pluginVersion": "0.7.0",
86
+ "pluginVersion": "0.9.0",
85
87
  "path": "package-json-checklist/SKILL.md"
86
88
  },
87
89
  {
88
90
  "name": "planning",
89
91
  "plugin": "vouchington-workflow",
90
- "pluginVersion": "0.7.0",
91
- "path": "planning/SKILL.md"
92
+ "pluginVersion": "0.9.0",
93
+ "path": "planning/SKILL.md",
94
+ "prerequisites": ["github-issue"]
92
95
  },
93
96
  {
94
97
  "name": "playwright-authoring",
95
98
  "plugin": "vouchington-testing",
96
- "pluginVersion": "0.1.0",
97
- "path": "playwright-authoring/SKILL.md"
99
+ "pluginVersion": "0.2.0",
100
+ "path": "playwright-authoring/SKILL.md",
101
+ "prerequisites": ["test-authoring"]
98
102
  },
99
103
  {
100
104
  "name": "postgres-node-performance-tuning",
101
105
  "plugin": "vouchington-database",
102
- "pluginVersion": "0.1.0",
106
+ "pluginVersion": "0.2.0",
103
107
  "path": "postgres-node-performance-tuning/SKILL.md"
104
108
  },
105
109
  {
106
110
  "name": "postgres-partitioning-uuid-v7",
107
111
  "plugin": "vouchington-database",
108
- "pluginVersion": "0.1.0",
112
+ "pluginVersion": "0.2.0",
109
113
  "path": "postgres-partitioning-uuid-v7/SKILL.md"
110
114
  },
111
115
  {
112
116
  "name": "pr-description",
113
117
  "plugin": "vouchington-workflow",
114
- "pluginVersion": "0.7.0",
118
+ "pluginVersion": "0.9.0",
115
119
  "path": "pr-description/SKILL.md"
116
120
  },
117
121
  {
118
122
  "name": "retrospective",
119
123
  "plugin": "vouchington-workflow",
120
- "pluginVersion": "0.7.0",
124
+ "pluginVersion": "0.9.0",
121
125
  "path": "retrospective/SKILL.md"
122
126
  },
123
127
  {
124
128
  "name": "retrospective-distill",
125
129
  "plugin": "vouchington-workflow",
126
- "pluginVersion": "0.7.0",
127
- "path": "retrospective-distill/SKILL.md"
130
+ "pluginVersion": "0.9.0",
131
+ "path": "retrospective-distill/SKILL.md",
132
+ "prerequisites": ["github-issue"]
128
133
  },
129
134
  {
130
135
  "name": "review-ci-logs",
131
136
  "plugin": "vouchington-workflow",
132
- "pluginVersion": "0.7.0",
133
- "path": "review-ci-logs/SKILL.md"
137
+ "pluginVersion": "0.9.0",
138
+ "path": "review-ci-logs/SKILL.md",
139
+ "prerequisites": ["github-actions-checklist", "pr-description"]
134
140
  },
135
141
  {
136
142
  "name": "review-github-issue-taxonomy",
137
143
  "plugin": "vouchington-workflow",
138
- "pluginVersion": "0.7.0",
139
- "path": "review-github-issue-taxonomy/SKILL.md"
144
+ "pluginVersion": "0.9.0",
145
+ "path": "review-github-issue-taxonomy/SKILL.md",
146
+ "prerequisites": ["github-issue"]
140
147
  },
141
148
  {
142
149
  "name": "revisit-followups",
143
150
  "plugin": "vouchington-workflow",
144
- "pluginVersion": "0.7.0",
145
- "path": "revisit-followups/SKILL.md"
151
+ "pluginVersion": "0.9.0",
152
+ "path": "revisit-followups/SKILL.md",
153
+ "prerequisites": ["github-issue"]
146
154
  },
147
155
  {
148
156
  "name": "stacked-prs",
149
157
  "plugin": "vouchington-workflow",
150
- "pluginVersion": "0.7.0",
158
+ "pluginVersion": "0.9.0",
151
159
  "path": "stacked-prs/SKILL.md"
152
160
  },
153
161
  {
154
162
  "name": "static-analysis-checklist",
155
163
  "plugin": "vouchington-workflow",
156
- "pluginVersion": "0.7.0",
157
- "path": "static-analysis-checklist/SKILL.md"
164
+ "pluginVersion": "0.9.0",
165
+ "path": "static-analysis-checklist/SKILL.md",
166
+ "prerequisites": ["github-actions-checklist"]
158
167
  },
159
168
  {
160
169
  "name": "storybook-authoring",
161
170
  "plugin": "vouchington-testing",
162
- "pluginVersion": "0.1.0",
163
- "path": "storybook-authoring/SKILL.md"
171
+ "pluginVersion": "0.2.0",
172
+ "path": "storybook-authoring/SKILL.md",
173
+ "prerequisites": ["test-authoring"]
164
174
  },
165
175
  {
166
176
  "name": "swift-test-authoring",
167
177
  "plugin": "vouchington-testing",
168
- "pluginVersion": "0.1.0",
169
- "path": "swift-test-authoring/SKILL.md"
178
+ "pluginVersion": "0.2.0",
179
+ "path": "swift-test-authoring/SKILL.md",
180
+ "prerequisites": ["test-authoring"]
170
181
  },
171
182
  {
172
183
  "name": "test-authoring",
173
184
  "plugin": "vouchington-testing",
174
- "pluginVersion": "0.1.0",
185
+ "pluginVersion": "0.2.0",
175
186
  "path": "test-authoring/SKILL.md"
176
187
  },
177
188
  {
178
189
  "name": "vitest-test-authoring",
179
190
  "plugin": "vouchington-testing",
180
- "pluginVersion": "0.1.0",
191
+ "pluginVersion": "0.2.0",
181
192
  "path": "vitest-test-authoring/SKILL.md",
182
193
  "prerequisites": ["test-authoring"]
183
194
  }
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: nextjs-vitest-test-authoring
3
- description: Apply Vitest patterns for Next.js components, routes, and server-side modules.
3
+ description: Test Next.js components, routes, and server boundaries with Vitest.
4
4
  ---
5
5
 
6
6
  # Next.js Vitest test authoring
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/nextjs-vitest-test-authoring/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Apply [vitest-test-authoring](../vitest-test-authoring/SKILL.md) first.
9
13
 
10
14
  - Mock framework navigation, headers, and server-only boundaries at the framework edge.
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: npm-publishing
3
- description: Bootstrap an npm package and give a human the exact commands to publish it publicly and configure GitHub trusted publishing.
3
+ description: Prepare npm bootstrap and trusted publishing commands for a human.
4
4
  ---
5
5
 
6
6
  # npm publishing bootstrap
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/npm-publishing/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Prepare the local package. Leave public registry writes and trusted-publisher mutations to the
9
13
  human. Read every applicable `AGENTS.md` from the repository root through the
10
14
  package. Repository-local policy and the consumer wrapper own the package path and name, npm scope,
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: organize-github-issues
3
- description: Organize existing GitHub issues and pull requests with the repository's live taxonomy without inventing new taxonomy.
3
+ description: Apply existing issue and PR taxonomy within the requested scope.
4
4
  ---
5
5
 
6
6
  # Organize GitHub issues
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/organize-github-issues/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Use for issue hygiene, priority normalization, milestone assignment, and project membership. Read
9
13
  local `AGENTS.md`, and live taxonomy guidance before acting.
10
14
 
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: package-json-checklist
3
- description: Use when changing JavaScript package metadata, dependencies, scripts, workspaces, or published entrypoints.
3
+ description: Check package metadata, dependencies, entrypoints, and lockfiles.
4
4
  ---
5
5
 
6
6
  # Package metadata checklist
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/package-json-checklist/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Use before changing `package.json`, a lockfile, workspace metadata, or a package entrypoint. Read
9
13
  every applicable `AGENTS.md` from the repository root through the owning package,
10
14
  applying the closest file only when rules conflict. Those instructions own package-manager version,
@@ -1,28 +1,33 @@
1
1
  ---
2
2
  name: planning
3
- description: Create an evidence-backed implementation plan for a repository change or a justified no-change recommendation.
3
+ description: Plan a repository change and save the decision outside Git.
4
4
  ---
5
5
 
6
6
  # Planning
7
7
 
8
- Use before implementation work that needs a durable plan. Repository-local `AGENTS.md`,
9
- `AGENTS.md`, issue templates, and planning conventions override this portable foundation.
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/planning/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
12
+ Use when a task needs a plan. Scale detail to uncertainty and impact; no fixed headings, tables,
13
+ diagram, independent reviewer, or separate issue are required by this skill.
10
14
 
11
15
  1. State the desired outcome and compare no change, reuse, and alternative approaches. Choose the
12
16
  smallest durable option; ask before treating an unresolved product choice as settled.
13
17
  2. Read applicable instructions, documentation, current code, tests, and recent changes from a
14
18
  fresh base. Record which evidence supports each proposed path.
15
- 3. Map affected owners, public contracts, migrations, operational boundaries, and tests. Use
16
- independent review or exploration when the change is cross-cutting or uncertain.
17
- 4. Specify implementation steps, file-level intent, validation, rollout, and any follow-up that is
18
- truly outside the accepted scope. Distinguish existing paths from new paths.
19
- 5. Validate and save the plan using the repository's required issue or document workflow before
20
- implementation when local policy requires one. When creating a plan issue from a source issue
19
+ 3. Map affected owners, contracts, operational boundaries, and tests. Use independent review or
20
+ exploration when the change is cross-cutting or uncertain and local policy calls for it.
21
+ 4. Record the chosen approach, steps, validation, and unresolved decisions. Add rollout details
22
+ only when an established deployment contract requires them.
23
+ 5. Save the plan once outside Git: an existing issue, a PR description, or a durable native plan
24
+ file outside the repository. Do not commit task plans or count temporary scratch files as saved
25
+ plans. If no durable record is available, use an issue through the local issue workflow. Link
26
+ the record from the handoff instead of duplicating it. When creating a plan issue from a source issue
21
27
  that already has a milestone or project, apply that same existing milestone or project through
22
28
  [github-issue](../github-issue/SKILL.md).
23
29
 
24
30
  For cross-cutting changes, read [impact discovery](references/impact-discovery.md) before selecting
25
31
  tests or concluding that a surface has no dependents.
26
32
 
27
- Consumer wrapper owns: plan template, default repository, issue taxonomy, dependency graph tool,
28
- and approval workflow.
33
+ Consumer wrapper owns: durable plan storage, repository, taxonomy, discovery tools, and approval.
@@ -5,5 +5,7 @@ tests. Use the repository's graph or search tools where available; otherwise rec
5
5
  used and the uncertainty that remains. Select focused tests from real dependents, then include
6
6
  broader validation when a shared contract, package boundary, or generated artifact changes.
7
7
 
8
+ Check source-issue paths against current source before relying on them; issue text is a snapshot.
9
+
8
10
  Do not treat a tool's incomplete graph as proof that no dependent exists. Escalate uncertain
9
11
  high-risk boundaries for independent review or a broader test selection.
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: playwright-authoring
3
- description: Author reliable Playwright browser tests, fixtures, selectors, and user flows.
3
+ description: Author reliable Playwright flows, fixtures, and assertions.
4
4
  ---
5
5
 
6
6
  # Playwright authoring
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/playwright-authoring/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Apply [test-authoring](../test-authoring/SKILL.md).
9
13
 
10
14
  - Use a stable, accessible locator. Assert a user-observable outcome.
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: postgres-node-performance-tuning
3
- description: Diagnose and improve PostgreSQL performance in Node.js applications with large data volumes.
3
+ description: Measure and improve PostgreSQL queries in Node.js services.
4
4
  ---
5
5
 
6
6
  # PostgreSQL and Node.js performance
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/postgres-node-performance-tuning/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Measure the query plan and the workload shape before changing code.
9
13
 
10
14
  - Select only the required columns.
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: postgres-partitioning-uuid-v7
3
- description: Design PostgreSQL partitions and indexes that use time-ordered UUIDv7 identifiers efficiently.
3
+ description: Design PostgreSQL partitions and pruning around UUIDv7.
4
4
  ---
5
5
 
6
6
  # PostgreSQL partitioning with UUIDv7
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/postgres-partitioning-uuid-v7/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Partition only after lifecycle, retention, and query predicates show that it helps.
9
13
 
10
14
  - Treat a UUIDv7 as time ordered. Where the meaning matters, keep an explicit business timestamp.
@@ -1,24 +1,62 @@
1
1
  ---
2
2
  name: pr-description
3
- description: Draft or review a self-contained pull-request description with summary, root cause, validation, rollout, and issue context.
3
+ description: Write a self-contained PR description backed by the final diff.
4
4
  ---
5
5
 
6
6
  # Pull-request description
7
7
 
8
- Use before opening or updating a pull request, or when reviewing PR hand-off quality. Read local
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/pr-description/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
12
+ Use before opening or updating a pull request, after diagnosing a CI failure, or at handoff. Read local
9
13
  `AGENTS.md`, pull-request template, and issue-linking policy first.
10
14
 
11
- Include enough context for a reviewer with no prior conversation:
15
+ Keep the description understandable without the conversation. Its short visible core explains:
16
+
17
+ - **Summary:** what changed, why, and the concrete before/after behavior. For a fix, explain its
18
+ root cause as well as the symptom. A reader should understand the outcome before implementation
19
+ details.
20
+ - **Impact:** who or what is affected and how their behavior changes. Name the actual audience,
21
+ such as end users, staff, API clients, operators, or contributors. Keep material risks and
22
+ limitations visible. For internal work, describe the affected development or operational flow.
23
+
24
+ Add detail only where the change warrants it:
25
+
26
+ - For cost changes, state the direction and scope. Label figures as measured or estimated, name the
27
+ workload and assumptions, and link evidence. Say unmeasured when no defensible figure exists;
28
+ do not invent savings or claim a neutral cost without evidence. Follow the consumer's privacy
29
+ policy before reporting actual spending, and use approved aggregated or redacted evidence.
30
+ - For database changes, inventory added, removed, and changed tables, columns, constraints, and
31
+ indexes. Explain the relationships and conformance to the consumer's schema rules, including
32
+ producer/consumer changes and any justified exceptions. Link the policy and concrete evidence.
33
+ - For API, workflow, or independently deployed changes, explain the affected contract, lifecycle,
34
+ or operational safety. Follow the consumer's compatibility and deployment policy.
35
+ - Use a before/after table or meaningful Mermaid diagram when it makes behavior, relationships,
36
+ workflow topology, or lifecycle easier to understand. Prose is sufficient for a simple change.
37
+
38
+ Put long comparisons, inventories, diagrams, calculations, and failure evidence in collapsed
39
+ `<details>` sections. Keep the short conclusions and material risks outside them. Keep the
40
+ consumer's required visible core headings outside disclosure containers. Put opening/closing tags
41
+ on separate lines, with a blank line after `</summary>` and before `</details>` so Markdown renders.
42
+ Read [description examples](references/examples.md) when choosing a comparison, diagram, or failure
43
+ record.
44
+
45
+ Do not fill the description with routine local successful-test lists. This is a reporting rule,
46
+ not permission to skip checks: execute required validation and retain its revision, exact scope,
47
+ result, and any omission reason in the work's evidence record.
12
48
 
13
- - A concise summary of what changed and why.
14
- - The underlying root cause for a fix, not only its visible symptom.
15
- - Validation performed and any intentionally skipped checks with reasons.
16
- - Rollout, compatibility, operational safety, and follow-up context when the change affects a live
17
- or independently deployed surface.
18
- - Correct issue relationships: close only issues fully resolved and explain any non-closing links.
19
- - A compact diagram only when it materially clarifies a multi-component flow or lifecycle.
49
+ Include **Harness gaps** only after CI diagnosis establishes an omitted local verification or a
50
+ proven local/CI mismatch. Link the first failing run/job and its exact head revision, compare the actual local and
51
+ CI scope, explain the omission or difference, and record the durable correction or authorized
52
+ linked follow-up. Distinguish an omitted check from one that passed locally. Unknown coverage is
53
+ not evidence of a miss; classify genuine CI-only or external infrastructure failures separately.
54
+ Retain confirmed gap records after CI turns green. Diagnose the failure through the repository's
55
+ CI investigation workflow; a failed status alone does not establish a gap.
20
56
 
21
- Use the repository's approved PR tooling and preserve sections managed by its review automation.
57
+ Use the repository's approved PR tooling and preserve sections managed by its review automation
58
+ verbatim. Close only issues fully resolved and explain non-closing issue links. Apply this guidance
59
+ to descriptions being created or updated, not a bulk rewrite of historical pull requests.
22
60
 
23
61
  Consumer wrapper owns: required headings, source-issue rule, merge policy, repository command, and
24
62
  hosted review system.
@@ -0,0 +1,136 @@
1
+ # Description examples
2
+
3
+ These illustrative descriptions show how to keep conclusions visible while disclosing longer
4
+ evidence. Use the consumer's actual headings, policy links, issue relationships, and run evidence.
5
+ Do not copy a claim or figure unless the current change supports it.
6
+
7
+ ## Small behavior fix
8
+
9
+ ```markdown
10
+ ## Summary
11
+
12
+ Reopening the review dialog now cancels its pending reset. Previously, the reset cleared the
13
+ new selection because the timer outlived the closed state.
14
+
15
+ ## Impact
16
+
17
+ Staff can close and reopen a review without losing the new selection. Closing normally still
18
+ clears the old selection after the exit animation.
19
+ ```
20
+
21
+ No diagram, cost calculation, database inventory, or local successful-test list is needed.
22
+
23
+ ## Database relationship change
24
+
25
+ ```markdown
26
+ ## Summary
27
+
28
+ Recovery attempts now reference retained account identities through a foreign key. Previously,
29
+ an unvalidated identifier could refer to an account that no longer existed.
30
+
31
+ ## Impact
32
+
33
+ Operators can trace each attempt to a retained identity, and deletion cannot orphan recovery
34
+ history. The API's recovery response is unchanged. Storage cost is unmeasured; retaining an
35
+ identity row per deleted account adds storage proportional to account deletions.
36
+
37
+ <details>
38
+ <summary>Schema inventory and conformance</summary>
39
+
40
+ | Object | Before | After |
41
+ | --------------------------------------------- | ----------------------- | --------------------------------- |
42
+ | `account_identity` table | Absent | Retains each account's identity |
43
+ | `recovery_attempt.account_id` column | Unvalidated UUID | Removed |
44
+ | `recovery_attempt.account_identity_id` column | Absent | Required foreign key |
45
+ | Foreign-key constraint | Absent | References `account_identity(id)` |
46
+ | Lookup index | Uses the removed column | Uses `account_identity_id` |
47
+
48
+ The relationship uses a typed column and concrete foreign key, as required by the repository's
49
+ relational-storage policy. The current schema, recovery writer, account-deletion path, and
50
+ operator query change together. There is no dual reader or writer.
51
+
52
+ </details>
53
+ ```
54
+
55
+ In a real description, link the consumer's policy and implementation evidence. Do not prescribe
56
+ this consumer-specific retention or deployment policy for other repositories.
57
+
58
+ ## Workflow and cost change
59
+
60
+ ````markdown
61
+ ## Summary
62
+
63
+ Test jobs now run once per revision. Previously, changing a pull request's draft status started
64
+ a duplicate test run even though no test job consumed draft state.
65
+
66
+ ## Impact
67
+
68
+ Contributors keep the checks already attached to their revision when marking it ready. Estimated
69
+ runner use falls by one duplicate suite per draft-to-ready transition; the estimate assumes
70
+ one transition and a 12-minute suite. Aggregate savings are unmeasured.
71
+
72
+ <details>
73
+ <summary>Before and after event flow</summary>
74
+
75
+ ```mermaid
76
+ flowchart LR
77
+ subgraph Before
78
+ B1[Revision pushed] --> B3[Test suite]
79
+ B2[Draft marked ready] --> B4[Duplicate test suite]
80
+ end
81
+ subgraph After
82
+ A1[Revision pushed] --> A3[Test suite]
83
+ A2[Draft marked ready] --> A4[Merge eligibility only]
84
+ end
85
+ ```
86
+
87
+ </details>
88
+ ````
89
+
90
+ The diagram explains event ownership; a file list or arrows between the Summary and Impact sections
91
+ would not clarify the behavior. Link the run measurements supporting a real estimate.
92
+
93
+ ## Harness gap: omitted local verification
94
+
95
+ ```markdown
96
+ ## Harness gaps
97
+
98
+ CI found that the local pre-push command omitted the compiler-contract suite. The harness now
99
+ includes that suite, and the missing public export is fixed.
100
+
101
+ <details>
102
+ <summary>Failure and durable correction</summary>
103
+
104
+ The failed compiler-contract job on the first pushed revision reported the missing export.
105
+ The pre-push record ran the component project only; the compiler-contract project was omitted
106
+ because the command catalog did not include it. The catalog and pre-push selection now include
107
+ the project, and a public-import regression covers this export.
108
+
109
+ </details>
110
+ ```
111
+
112
+ The actual record must link the failing run/job and exact head SHA, plus the local scope and
113
+ correction evidence. Retain it when the corrected revision passes CI.
114
+
115
+ ## Harness gap: passed locally, failed in CI
116
+
117
+ ```markdown
118
+ ## Harness gaps
119
+
120
+ The contract suite passed locally but failed in CI because the local runner selected the host
121
+ architecture instead of the deployment target. Local validation now selects that target explicitly.
122
+
123
+ <details>
124
+ <summary>Local and CI scope difference</summary>
125
+
126
+ The pre-push record and failing job used the same suite on the same revision. Their target
127
+ configurations differed: local selected the host target, while CI compiled the deployment target.
128
+ The local command now uses the deployment target, and a compiler regression covers the rejected
129
+ cross-target import. This was a configuration mismatch, not an omitted suite.
130
+
131
+ </details>
132
+ ```
133
+
134
+ Link the concrete revision, failed job, local evidence, and correction in the actual record.
135
+ An external service outage, unavailable CI-only credentials, or unknown local execution history
136
+ does not support this claim. Explain such limitations separately when they affect the outcome.
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  name: retrospective
3
- description: Produce a concise evidence-based retrospective for a completed task or session when local workflow provides a durable record.
3
+ description: Summarize completed work from verified facts and the session journal.
4
4
  ---
5
5
 
6
6
  # Retrospective
7
7
 
8
+ Read applicable `AGENTS.md` and their declared adapter alias, otherwise
9
+ `.agents/skills/retrospective/SKILL.md` from the repository root if present.
10
+ Local policy overrides these defaults; do not reload an already-read adapter or canonical skill.
11
+
8
12
  Use at task completion or session close-out when the repository has a retrospective workflow. Read
9
13
  local `AGENTS.md`, and journal guidance first.
10
14