@ikon85/agent-workflow-kit 0.26.1 → 0.27.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.
- package/.agents/skills/ask-matt/SKILL.md +1 -2
- package/.agents/skills/board-to-waves/SKILL.md +2 -2
- package/.agents/skills/improve-codebase-architecture/SKILL.md +0 -2
- package/.agents/skills/setup-workflow/board-sync.md +11 -0
- package/.claude/skills/ask-matt/SKILL.md +1 -2
- package/.claude/skills/board-to-waves/SKILL.md +2 -2
- package/.claude/skills/improve-codebase-architecture/SKILL.md +0 -2
- package/.claude/skills/setup-pre-commit/SKILL.md +3 -0
- package/.claude/skills/setup-pre-commit/scripts/pre-commit.template.sh +6 -0
- package/.claude/skills/setup-workflow/board-sync.md +11 -0
- package/.claude/skills/skill-manifest.json +1 -9
- package/PROVENANCE.md +5 -4
- package/README.md +39 -17
- package/agent-workflow-kit.package.json +297 -49
- package/docs/agents/board-sync.md +3 -0
- package/docs/workflow.html +259 -0
- package/docs/workflow.png +0 -0
- package/package.json +1 -1
- package/scripts/board-sync.py +18 -13
- package/scripts/board_config.py +7 -0
- package/scripts/build-kit.mjs +2 -1
- package/scripts/build-kit.test.mjs +44 -1
- package/scripts/test_board_sync_wave_title.py +108 -0
- package/scripts/test_skill_precommit_template.py +30 -0
- package/src/commands/init.mjs +12 -1
- package/src/commands/update.mjs +2 -1
- package/src/lib/bundle.mjs +12 -6
- package/src/lib/manifest.mjs +13 -3
- package/src/lib/updateReconcile.mjs +22 -8
- package/.agents/skills/zoom-out/SKILL.md +0 -7
- package/.agents/skills/zoom-out/THIRD-PARTY-NOTICES.md +0 -29
- package/.claude/skills/zoom-out/SKILL.md +0 -7
- package/.claude/skills/zoom-out/THIRD-PARTY-NOTICES.md +0 -29
|
@@ -90,8 +90,7 @@ An independent second model catches what one model rationalises. Read-only, boun
|
|
|
90
90
|
|
|
91
91
|
Not feature work — upkeep.
|
|
92
92
|
|
|
93
|
-
- **`/improve-codebase-architecture`** — run in spare moments to keep the codebase good for agents. Surfaces **deepening opportunities**; picking one _generates an idea_ for the main flow at `/grill-with-docs`.
|
|
94
|
-
- **`/zoom-out`** — step back from the diff to the structure when a change is fighting the codebase; recon that becomes a planned slice or guides a refactor in place.
|
|
93
|
+
- **`/improve-codebase-architecture`** — run in spare moments to keep the codebase good for agents, or step back from the diff to the structure when a change is fighting the codebase. Surfaces **deepening opportunities**; picking one _generates an idea_ for the main flow at `/grill-with-docs`.
|
|
95
94
|
- **`/security-audit`** — a whole-app, application-layer security audit run as an independent two-model pass (two models audit the same code separately, then the remediation plan is hardened before any fix). Run before a release or after the attack surface changes (new endpoint, new input source, auth change, dependency bump). Infra hardening (ports/TLS/SSH/backups) is audited separately.
|
|
96
95
|
|
|
97
96
|
## Vocabulary underneath
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: board-to-waves
|
|
3
3
|
disable-model-invocation: false
|
|
4
|
-
"description": "Use when sweeping/grooming the GitHub backlog board to cluster open issues into thematic waves (Wellen) — \"lass uns das Board durchgehen\", \"was ist offen und passt zusammen\", \"clustern wir den Backlog\", \"welche Wellen stecken da drin\" — or to spot candidate waves before planning. Reads all open issues, groups them by the Gate+Booster+Splitter heuristic, estimates size/risk + grill-needed per candidate, and after the user confirms creates cluster/Wave-less candidate STUB issues with a To-Do checklist. STOPS at stubs: no PRD, no slicing, no sub-issue links, no promotion (downstream: to-prd matures the stub, to-issues slices + promotes). NOT for maturing/slicing ONE already-chosen candidate (to-prd/to-issues), NOT for per-issue triage labelling (triage), NOT for code comprehension
|
|
4
|
+
"description": "Use when sweeping/grooming the GitHub backlog board to cluster open issues into thematic waves (Wellen) — \"lass uns das Board durchgehen\", \"was ist offen und passt zusammen\", \"clustern wir den Backlog\", \"welche Wellen stecken da drin\" — or to spot candidate waves before planning. Reads all open issues, groups them by the Gate+Booster+Splitter heuristic, estimates size/risk + grill-needed per candidate, and after the user confirms creates cluster/Wave-less candidate STUB issues with a To-Do checklist. STOPS at stubs: no PRD, no slicing, no sub-issue links, no promotion (downstream: to-prd matures the stub, to-issues slices + promotes). NOT for maturing/slicing ONE already-chosen candidate (to-prd/to-issues), NOT for per-issue triage labelling (triage), NOT for code comprehension — this is board-WIDE thematic affinity grouping, not per-issue and not code-reading."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# board-to-waves
|
|
@@ -130,6 +130,6 @@ Next step (<maintainer>'s call, separate): grill → to-prd (matures the stub)
|
|
|
130
130
|
|
|
131
131
|
## Notes
|
|
132
132
|
- **Stops at stubs.** Never write the PRD, slice, link, promote, or call `to-prd`/`to-issues` yourself.
|
|
133
|
-
- Boundary: `triage` = per-issue state machine; `
|
|
133
|
+
- Boundary: `triage` = per-issue state machine; `improve-codebase-architecture` = code structure; `board-to-waves` = board-wide thematic affinity. Different altitudes.
|
|
134
134
|
- A leftover bucket is OK and intentional — not every issue belongs in a wave. Force-clustering dilutes the gate.
|
|
135
135
|
- Size/risk are a rough estimate, not a commitment. <maintainer> can override the stub's "when to grill" recommendation at any time.
|
|
@@ -8,8 +8,6 @@ description: "Find deepening opportunities in a codebase, informed by the domain
|
|
|
8
8
|
|
|
9
9
|
Surface architectural friction and propose **deepening opportunities** — refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
|
|
10
10
|
|
|
11
|
-
For a quick one-off map of an unfamiliar area without the report/grilling loop below, use `zoom-out` instead.
|
|
12
|
-
|
|
13
11
|
## Glossary
|
|
14
12
|
|
|
15
13
|
Use these terms exactly in every suggestion. Consistent language is the point — don't drift into "component," "service," "API," or "boundary." Full definitions in [LANGUAGE.md](LANGUAGE.md).
|
|
@@ -71,6 +71,9 @@ The optional `wrapup` block is a wrapup-only switch, not a board field: `wrapup.
|
|
|
71
71
|
"headings": {
|
|
72
72
|
"vorBau": "Clarify Before Build"
|
|
73
73
|
},
|
|
74
|
+
"titles": {
|
|
75
|
+
"wavePrefix": "Wave"
|
|
76
|
+
},
|
|
74
77
|
"wrapup": {
|
|
75
78
|
"remoteBranchSweep": false
|
|
76
79
|
}
|
|
@@ -93,6 +96,14 @@ follows; renaming an option later is one edit here. A role you don't have
|
|
|
93
96
|
with a visible hint, and `--status-role` commands fail with the exact snippet
|
|
94
97
|
to add.
|
|
95
98
|
|
|
99
|
+
### Wave titles (`titles.wavePrefix`)
|
|
100
|
+
|
|
101
|
+
The word that opens a wave anchor's title: `<prefix> <N> — <topic>` (e.g.
|
|
102
|
+
`Wave 7 — Auth hardening`). `board-sync.py promote` writes it and strips an
|
|
103
|
+
existing one idempotently on re-promote. A profile **without** the key keeps
|
|
104
|
+
the historical default `"Welle"`, so boards created before this key keep
|
|
105
|
+
their titles unchanged; set it once to match your board's language.
|
|
106
|
+
|
|
96
107
|
## If the IDs are not yet filled (stub)
|
|
97
108
|
|
|
98
109
|
1. Create a GitHub-Projects (v2) board for this owner and add the fields above (at minimum a `Status` single-select with your stage options — the recommended stage names are `Idea, Triaged, Spec, In Progress, Review, Done`, matching the seeded `roles` defaults).
|
|
@@ -90,8 +90,7 @@ An independent second model catches what one model rationalises. Read-only, boun
|
|
|
90
90
|
|
|
91
91
|
Not feature work — upkeep.
|
|
92
92
|
|
|
93
|
-
- **`/improve-codebase-architecture`** — run in spare moments to keep the codebase good for agents. Surfaces **deepening opportunities**; picking one _generates an idea_ for the main flow at `/grill-with-docs`.
|
|
94
|
-
- **`/zoom-out`** — step back from the diff to the structure when a change is fighting the codebase; recon that becomes a planned slice or guides a refactor in place.
|
|
93
|
+
- **`/improve-codebase-architecture`** — run in spare moments to keep the codebase good for agents, or step back from the diff to the structure when a change is fighting the codebase. Surfaces **deepening opportunities**; picking one _generates an idea_ for the main flow at `/grill-with-docs`.
|
|
95
94
|
- **`/security-audit`** — a whole-app, application-layer security audit run as an independent two-model pass (two models audit the same code separately, then the remediation plan is hardened before any fix). Run before a release or after the attack surface changes (new endpoint, new input source, auth change, dependency bump). Infra hardening (ports/TLS/SSH/backups) is audited separately.
|
|
96
95
|
|
|
97
96
|
## Vocabulary underneath
|
|
@@ -12,7 +12,7 @@ description: >-
|
|
|
12
12
|
stubs: no PRD, no slicing, no sub-issue links, no promotion (downstream:
|
|
13
13
|
to-prd matures the stub, to-issues slices + promotes). NOT for
|
|
14
14
|
maturing/slicing ONE already-chosen candidate (to-prd/to-issues), NOT for
|
|
15
|
-
per-issue triage labelling (triage), NOT for code comprehension
|
|
15
|
+
per-issue triage labelling (triage), NOT for code comprehension —
|
|
16
16
|
this is board-WIDE thematic affinity grouping, not per-issue and not
|
|
17
17
|
code-reading.
|
|
18
18
|
---
|
|
@@ -143,6 +143,6 @@ Next step (<maintainer>'s call, separate): grill → to-prd (matures the stub)
|
|
|
143
143
|
|
|
144
144
|
## Notes
|
|
145
145
|
- **Stops at stubs.** Never write the PRD, slice, link, promote, or call `to-prd`/`to-issues` yourself.
|
|
146
|
-
- Boundary: `triage` = per-issue state machine; `
|
|
146
|
+
- Boundary: `triage` = per-issue state machine; `improve-codebase-architecture` = code structure; `board-to-waves` = board-wide thematic affinity. Different altitudes.
|
|
147
147
|
- A leftover bucket is OK and intentional — not every issue belongs in a wave. Force-clustering dilutes the gate.
|
|
148
148
|
- Size/risk are a rough estimate, not a commitment. <maintainer> can override the stub's "when to grill" recommendation at any time.
|
|
@@ -8,8 +8,6 @@ description: Find deepening opportunities in a codebase, informed by the domain
|
|
|
8
8
|
|
|
9
9
|
Surface architectural friction and propose **deepening opportunities** — refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
|
|
10
10
|
|
|
11
|
-
For a quick one-off map of an unfamiliar area without the report/grilling loop below, use `zoom-out` instead.
|
|
12
|
-
|
|
13
11
|
## Glossary
|
|
14
12
|
|
|
15
13
|
Use these terms exactly in every suggestion. Consistent language is the point — don't drift into "component," "service," "API," or "boundary." Full definitions in [LANGUAGE.md](LANGUAGE.md).
|
|
@@ -102,3 +102,6 @@ both: pick one hooks mechanism per repo.
|
|
|
102
102
|
- Hooks are just scripts — `echo`-debug them freely; nothing is hidden behind a
|
|
103
103
|
tool.
|
|
104
104
|
- Exit non-zero = block the commit. Exit 0 = allow.
|
|
105
|
+
- Keep the template's `unset GIT_DIR …` line: git exports these to hooks, and a
|
|
106
|
+
gate that runs tests which call git in their own temp repos would otherwise
|
|
107
|
+
operate on the host repo's index instead.
|
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
set -euo pipefail
|
|
13
13
|
|
|
14
|
+
# --- Env sanitize (keep this) ----------------------------------------------
|
|
15
|
+
# Git exports GIT_DIR & co. to hooks. If your gate runs a test suite whose
|
|
16
|
+
# child tests call git in their own temp repos, these inherited vars redirect
|
|
17
|
+
# every such git call onto THIS repo's index (mass-staged deletions).
|
|
18
|
+
unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE GIT_PREFIX
|
|
19
|
+
|
|
14
20
|
# --- Optional preflight ----------------------------------------------------
|
|
15
21
|
# Bail early with a clear message if the toolchain isn't installed, so the
|
|
16
22
|
# real checks don't fail with cryptic errors. Adapt or delete for your stack.
|
|
@@ -71,6 +71,9 @@ The optional `wrapup` block is a wrapup-only switch, not a board field: `wrapup.
|
|
|
71
71
|
"headings": {
|
|
72
72
|
"vorBau": "Clarify Before Build"
|
|
73
73
|
},
|
|
74
|
+
"titles": {
|
|
75
|
+
"wavePrefix": "Wave"
|
|
76
|
+
},
|
|
74
77
|
"wrapup": {
|
|
75
78
|
"remoteBranchSweep": false
|
|
76
79
|
}
|
|
@@ -93,6 +96,14 @@ follows; renaming an option later is one edit here. A role you don't have
|
|
|
93
96
|
with a visible hint, and `--status-role` commands fail with the exact snippet
|
|
94
97
|
to add.
|
|
95
98
|
|
|
99
|
+
### Wave titles (`titles.wavePrefix`)
|
|
100
|
+
|
|
101
|
+
The word that opens a wave anchor's title: `<prefix> <N> — <topic>` (e.g.
|
|
102
|
+
`Wave 7 — Auth hardening`). `board-sync.py promote` writes it and strips an
|
|
103
|
+
existing one idempotently on re-promote. A profile **without** the key keeps
|
|
104
|
+
the historical default `"Welle"`, so boards created before this key keep
|
|
105
|
+
their titles unchanged; set it once to match your board's language.
|
|
106
|
+
|
|
96
107
|
## If the IDs are not yet filled (stub)
|
|
97
108
|
|
|
98
109
|
1. Create a GitHub-Projects (v2) board for this owner and add the fields above (at minimum a `Status` single-select with your stage options — the recommended stage names are `Idea, Triaged, Spec, In Progress, Review, Done`, matching the seeded `roles` defaults).
|
|
@@ -167,15 +167,6 @@
|
|
|
167
167
|
],
|
|
168
168
|
"provenance": "matt-pocock"
|
|
169
169
|
},
|
|
170
|
-
"zoom-out": {
|
|
171
|
-
"class": "vendored",
|
|
172
|
-
"publish": true,
|
|
173
|
-
"surfaces": [
|
|
174
|
-
"claude",
|
|
175
|
-
"codex"
|
|
176
|
-
],
|
|
177
|
-
"provenance": "matt-pocock"
|
|
178
|
-
},
|
|
179
170
|
"improve-codebase-architecture": {
|
|
180
171
|
"class": "vendored",
|
|
181
172
|
"publish": true,
|
|
@@ -393,6 +384,7 @@
|
|
|
393
384
|
"claude",
|
|
394
385
|
"codex"
|
|
395
386
|
],
|
|
387
|
+
"installRole": "maintainer",
|
|
396
388
|
"provenance": "own"
|
|
397
389
|
},
|
|
398
390
|
"project-release": {
|
package/PROVENANCE.md
CHANGED
|
@@ -6,7 +6,7 @@ not byte-identity.
|
|
|
6
6
|
|
|
7
7
|
## Matt Pocock (MIT) — https://github.com/mattpocock/skills @ d574778
|
|
8
8
|
|
|
9
|
-
to-prd, to-issues, grill-with-docs, grill-me, tdd, diagnose,
|
|
9
|
+
to-prd, to-issues, grill-with-docs, grill-me, tdd, diagnose,
|
|
10
10
|
improve-codebase-architecture, prototype, triage, write-a-skill,
|
|
11
11
|
codebase-design, domain-modeling, implement, resolving-merge-conflicts, ask-matt,
|
|
12
12
|
wayfinder, research, git-guardrails-claude-code, setup-workflow.
|
|
@@ -15,9 +15,10 @@ Folder↔upstream-name divergence (upstream renamed; local folder kept for
|
|
|
15
15
|
invocation stability): `diagnose` = upstream `diagnosing-bugs`,
|
|
16
16
|
`write-a-skill` = upstream `writing-great-skills`, `to-prd` = upstream
|
|
17
17
|
`to-spec`, `to-issues` = upstream `to-tickets` (upstream merged to-issues +
|
|
18
|
-
the short-lived to-plan into to-tickets @ v1.1.0). `zoom-out`
|
|
19
|
-
upstream
|
|
20
|
-
as
|
|
18
|
+
the short-lived to-plan into to-tickets @ v1.1.0). `zoom-out` (last-seen
|
|
19
|
+
upstream SHA 2bf7005) was removed upstream and, after a period as a local
|
|
20
|
+
fork, removed from this kit as well — `improve-codebase-architecture` covers
|
|
21
|
+
the step-back-to-the-structure door.
|
|
21
22
|
|
|
22
23
|
Each carries a `THIRD-PARTY-NOTICES.md` with its upstream path.
|
|
23
24
|
|
package/README.md
CHANGED
|
@@ -58,22 +58,20 @@ The skills aren't a grab-bag — they're four phases of one loop, entered throug
|
|
|
58
58
|
single funnel no matter where your work starts. Each phase below names the failure
|
|
59
59
|
mode it removes and the skills that remove it.
|
|
60
60
|
|
|
61
|
-

|
|
62
62
|
|
|
63
63
|
<!--
|
|
64
|
-
The image above is a pre-rendered PNG, not
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-i tools/agent-workflow-kit/assets/workflow.mmd \
|
|
72
|
-
-o tools/agent-workflow-kit/assets/workflow.png \
|
|
73
|
-
-t dark -b '#0d1117' -s 3
|
|
74
|
-
build-kit.mjs copies assets/workflow.png -> dist-kit/docs/workflow.png.
|
|
64
|
+
The image above is a pre-rendered PNG, not live HTML, on purpose: GitHub
|
|
65
|
+
READMEs can't embed HTML pages, and a PNG renders identically everywhere.
|
|
66
|
+
Source of truth: docs/workflow.html (same design language as
|
|
67
|
+
docs/methodology.html). Regenerate after editing the source:
|
|
68
|
+
serve docs/ locally, open workflow.html?theme=dark in a 1160px-wide
|
|
69
|
+
viewport, take a full-page screenshot -> docs/workflow.png
|
|
70
|
+
The interactive version is linked below and published via GitHub Pages.
|
|
75
71
|
-->
|
|
76
72
|
|
|
73
|
+
**[view the workflow map →](https://ikon85.github.io/agent-workflow-kit/workflow.html)**
|
|
74
|
+
|
|
77
75
|
|
|
78
76
|
### 1. Plan — turn a vague idea into shaped, tracked work
|
|
79
77
|
|
|
@@ -155,7 +153,7 @@ enter outside the plan funnel and feed straight into Execute:
|
|
|
155
153
|
- **`diagnose`** — a disciplined root-cause hunt for bugs (reproduce → isolate →
|
|
156
154
|
fix → prove), not a guess-and-patch. Entered from a bug or anomaly, never the PRD
|
|
157
155
|
funnel; the fix it lands flows on into Execute.
|
|
158
|
-
- **`
|
|
156
|
+
- **`improve-codebase-architecture`** — step back from the diff to
|
|
159
157
|
the structure when a change is fighting the codebase. A recon stream that either
|
|
160
158
|
becomes a planned slice (back through `to-issues`) or guides a refactor in place.
|
|
161
159
|
|
|
@@ -332,6 +330,29 @@ still reference. Flags: `--force` (overwrite pre-existing files on `init`),
|
|
|
332
330
|
|
|
333
331
|
## Release notes
|
|
334
332
|
|
|
333
|
+
### 0.27.0
|
|
334
|
+
|
|
335
|
+
- removed: `.agents/skills/zoom-out/SKILL.md`
|
|
336
|
+
- removed: `.agents/skills/zoom-out/THIRD-PARTY-NOTICES.md`
|
|
337
|
+
- removed: `.claude/skills/zoom-out/SKILL.md`
|
|
338
|
+
- removed: `.claude/skills/zoom-out/THIRD-PARTY-NOTICES.md`
|
|
339
|
+
- changed: `.agents/skills/ask-matt/SKILL.md`
|
|
340
|
+
- changed: `.agents/skills/board-to-waves/SKILL.md`
|
|
341
|
+
- changed: `.agents/skills/improve-codebase-architecture/SKILL.md`
|
|
342
|
+
- changed: `.agents/skills/setup-workflow/board-sync.md`
|
|
343
|
+
- changed: `.claude/skills/ask-matt/SKILL.md`
|
|
344
|
+
- changed: `.claude/skills/board-to-waves/SKILL.md`
|
|
345
|
+
- changed: `.claude/skills/improve-codebase-architecture/SKILL.md`
|
|
346
|
+
- changed: `.claude/skills/setup-pre-commit/SKILL.md`
|
|
347
|
+
- changed: `.claude/skills/setup-pre-commit/scripts/pre-commit.template.sh`
|
|
348
|
+
- changed: `.claude/skills/setup-workflow/board-sync.md`
|
|
349
|
+
- changed: `scripts/board-sync.py`
|
|
350
|
+
- changed: `scripts/board_config.py`
|
|
351
|
+
|
|
352
|
+
### 0.26.2
|
|
353
|
+
|
|
354
|
+
- Metadata-only release.
|
|
355
|
+
|
|
335
356
|
### 0.26.1
|
|
336
357
|
|
|
337
358
|
- changed: `.agents/skills/kit-update/SKILL.md`
|
|
@@ -739,14 +760,15 @@ still reference. Flags: `--force` (overwrite pre-existing files on `init`),
|
|
|
739
760
|
|
|
740
761
|
## What's in the box
|
|
741
762
|
|
|
742
|
-
**
|
|
763
|
+
**43 skills** (Router: ask-matt — "which skill/flow fits?" · Plan: grill-me,
|
|
743
764
|
grill-with-docs, to-prd, to-issues, board-to-waves, triage, spec-self-critique,
|
|
744
765
|
verify-spike, decision-gate, scale-check, to-waves, wayfinder, research · Execute: tdd, prototype, implement, orchestrate-wave ·
|
|
745
|
-
Design/diagnose/refactor streams: diagnose,
|
|
766
|
+
Design/diagnose/refactor streams: diagnose,
|
|
746
767
|
improve-codebase-architecture, codebase-design, domain-modeling, security-audit · Land: wrapup,
|
|
747
768
|
resolving-merge-conflicts, code-review, local-ci, git-worktree-recover, kit-release,
|
|
748
|
-
project-release · Learn: retro, audit-skills, write-a-skill
|
|
749
|
-
|
|
769
|
+
project-release, kit-update · Learn: retro, audit-skills, write-a-skill,
|
|
770
|
+
memory-lifecycle · Setup:
|
|
771
|
+
setup-workflow, git-guardrails, setup-pre-commit, census-update · Codex cross-model: grill-me-codex,
|
|
750
772
|
grill-with-docs-codex, codex-review, codex-build),
|
|
751
773
|
installed for both surfaces — `.claude/skills`
|
|
752
774
|
(Claude Code) and `.agents/skills` (Codex) — plus `codex-adapter-sync`
|