@event4u/agent-config 1.31.0 → 1.33.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/.agent-src/commands/research/deep.md +149 -0
- package/.agent-src/commands/research/report.md +134 -0
- package/.agent-src/commands/research.md +43 -13
- package/.agent-src/skills/feature-planning/SKILL.md +43 -7
- package/.agent-src/skills/judge-test-coverage/SKILL.md +4 -0
- package/.agent-src/skills/pest-testing/SKILL.md +13 -6
- package/.agent-src/skills/quality-tools/SKILL.md +4 -0
- package/.agent-src/skills/refine-prompt/SKILL.md +10 -0
- package/.agent-src/skills/refine-ticket/SKILL.md +12 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +77 -12
- package/.agent-src/skills/subagent-orchestration/prompts/README.md +29 -0
- package/.agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +121 -0
- package/.agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +60 -0
- package/.agent-src/skills/subagent-orchestration/prompts/do-competitively.md +65 -0
- package/.agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +62 -0
- package/.agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +62 -0
- package/.agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +70 -0
- package/.agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +63 -0
- package/.agent-src/skills/subagent-orchestration/schemas/subagent-status.json +63 -0
- package/.agent-src/skills/test-driven-development/SKILL.md +25 -13
- package/.agent-src/skills/testing-anti-patterns/SKILL.md +7 -0
- package/.agent-src/skills/testing-anti-patterns/process-anti-patterns.md +67 -0
- package/.claude-plugin/marketplace.json +3 -1
- package/CHANGELOG.md +51 -0
- package/README.md +3 -3
- package/docs/architecture.md +2 -2
- package/docs/catalog.md +11 -4
- package/docs/contracts/command-clusters.md +1 -1
- package/docs/contracts/file-ownership-matrix.json +395 -0
- package/docs/getting-started.md +1 -1
- package/docs/guidelines/agent-infra/5w2h-analysis.md +260 -0
- package/docs/guidelines/agent-infra/critical-thinking.md +156 -0
- package/docs/guidelines/agent-infra/first-principles.md +192 -0
- package/docs/guidelines/agent-infra/six-hats.md +353 -0
- package/docs/guidelines/agent-infra/systems-thinking.md +220 -0
- package/package.json +1 -1
- package/scripts/check_bite_sized_granularity.py +99 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Prompt — judge-with-debate
|
|
2
|
+
|
|
3
|
+
Mode reference: [`../SKILL.md`](../SKILL.md) § *5. judge-with-debate*.
|
|
4
|
+
|
|
5
|
+
## Judge-A / Judge-B prompt (run twice in parallel)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
You are JUDGE {{judge_letter}} reviewing a high-stakes diff (security,
|
|
9
|
+
data integrity, public API). Another judge is independently reviewing
|
|
10
|
+
the same diff. A meta-judge will reconcile your verdicts.
|
|
11
|
+
|
|
12
|
+
DO NOT reach for the safe answer. Disagreement IS the value.
|
|
13
|
+
|
|
14
|
+
TASK: {{task_description}}
|
|
15
|
+
DIFF: {{diff}}
|
|
16
|
+
TEST OUTPUT: {{test_output}}
|
|
17
|
+
SENSITIVITY: {{security_or_data_or_api}}
|
|
18
|
+
|
|
19
|
+
VERDICT (one envelope, schemas/subagent-status.json):
|
|
20
|
+
- DONE — diff is correct and safe; evidence[] cites
|
|
21
|
+
the specific defenses you verified.
|
|
22
|
+
- DONE_WITH_CONCERNS — correct but the failure modes you can name
|
|
23
|
+
go in concerns[].
|
|
24
|
+
- NEEDS_CONTEXT — paused; meta-judge will adjudicate after
|
|
25
|
+
orchestrator answers blocking_question.
|
|
26
|
+
- BLOCKED — diff is wrong; explain in blocking_reason.
|
|
27
|
+
|
|
28
|
+
NAME ONE FAILURE MODE you actively looked for, even if you did not
|
|
29
|
+
find it. "I looked for X, did not find it" is stronger evidence than
|
|
30
|
+
"this looks fine".
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Meta-judge prompt (run once after Judge-A and Judge-B return)
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
You are the META-JUDGE reconciling two independent verdicts. Both
|
|
37
|
+
judges saw the same diff; their envelopes are below.
|
|
38
|
+
|
|
39
|
+
JUDGE-A ENVELOPE: {{envelope_a}}
|
|
40
|
+
JUDGE-B ENVELOPE: {{envelope_b}}
|
|
41
|
+
DIFF: {{diff}}
|
|
42
|
+
|
|
43
|
+
RECONCILIATION RULES:
|
|
44
|
+
1. Both DONE → your verdict is DONE.
|
|
45
|
+
2. Either BLOCKED → your verdict is BLOCKED. No tiebreaker.
|
|
46
|
+
3. One DONE, one DONE_WITH_CONCERNS → DONE_WITH_CONCERNS (carry the
|
|
47
|
+
concerns).
|
|
48
|
+
4. One NEEDS_CONTEXT → consolidate blocking_question(s); your status
|
|
49
|
+
is NEEDS_CONTEXT.
|
|
50
|
+
5. Mixed otherwise → DONE_WITH_CONCERNS, listing every concern from
|
|
51
|
+
both judges.
|
|
52
|
+
|
|
53
|
+
DISAGREEMENT IS THE VALUE: do NOT average. The strict-er verdict wins.
|
|
54
|
+
|
|
55
|
+
VERDICT (one envelope, schemas/subagent-status.json) using the rules
|
|
56
|
+
above. Cite both judges' evidence[] in your evidence[].
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## High-stakes-only rule
|
|
60
|
+
|
|
61
|
+
`judge-with-debate` is two-judges-plus-meta = three subagent calls per
|
|
62
|
+
review. Reserve for security, data migration, public API, or
|
|
63
|
+
cross-tenant boundaries. Routine refactors use plain `do-and-judge`.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://event4u.dev/agent-config/schemas/subagent-status.json",
|
|
4
|
+
"title": "Subagent Status Envelope",
|
|
5
|
+
"description": "Required wire format for every implementer or judge subagent return. Loaded by /do-and-judge, /do-in-steps, and the subagent-orchestration skill. Hand-validated by tests/test_subagent_status_schema.py (no jsonschema runtime dep).",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["status", "summary"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"status": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"enum": ["DONE", "DONE_WITH_CONCERNS", "NEEDS_CONTEXT", "BLOCKED"],
|
|
13
|
+
"description": "DONE = work shipped, gate green. DONE_WITH_CONCERNS = work shipped but caller must read concerns[]. NEEDS_CONTEXT = paused, blocking_question[] must be answered. BLOCKED = halted, blocking_reason describes why no path forward."
|
|
14
|
+
},
|
|
15
|
+
"summary": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"minLength": 1,
|
|
18
|
+
"description": "One- or two-sentence outcome. Required for every status."
|
|
19
|
+
},
|
|
20
|
+
"evidence": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"items": {"type": "string", "minLength": 1},
|
|
23
|
+
"description": "Citations: file:line, command output, test name, contract section. Required for DONE / DONE_WITH_CONCERNS."
|
|
24
|
+
},
|
|
25
|
+
"concerns": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": {"type": "string", "minLength": 1},
|
|
28
|
+
"description": "Caller-actionable concerns. Required when status = DONE_WITH_CONCERNS, must be empty otherwise."
|
|
29
|
+
},
|
|
30
|
+
"blocking_question": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"minLength": 1,
|
|
33
|
+
"description": "Single specific question whose answer would unblock. Required when status = NEEDS_CONTEXT."
|
|
34
|
+
},
|
|
35
|
+
"blocking_reason": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"minLength": 1,
|
|
38
|
+
"description": "Why no path forward exists. Required when status = BLOCKED. Distinguish from NEEDS_CONTEXT (where caller can supply context)."
|
|
39
|
+
},
|
|
40
|
+
"next_action": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "What the caller does now. Optional; orchestrator infers from status when omitted."
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"allOf": [
|
|
46
|
+
{
|
|
47
|
+
"if": {"properties": {"status": {"const": "DONE"}}, "required": ["status"]},
|
|
48
|
+
"then": {"required": ["evidence"], "not": {"required": ["concerns"]}}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"if": {"properties": {"status": {"const": "DONE_WITH_CONCERNS"}}, "required": ["status"]},
|
|
52
|
+
"then": {"required": ["evidence", "concerns"]}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"if": {"properties": {"status": {"const": "NEEDS_CONTEXT"}}, "required": ["status"]},
|
|
56
|
+
"then": {"required": ["blocking_question"]}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"if": {"properties": {"status": {"const": "BLOCKED"}}, "required": ["status"]},
|
|
60
|
+
"then": {"required": ["blocking_reason"]}
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
@@ -64,6 +64,20 @@ stay on plain TDD — the section above.
|
|
|
64
64
|
If step 2 is skipped, the test is not trusted — a test that has never
|
|
65
65
|
failed proves nothing about the code under test.
|
|
66
66
|
|
|
67
|
+
### Iron Law — delete-and-restart over keep-as-reference
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
WHEN UNTESTED CODE EXISTS AND A TEST IS NEEDED — DELETE THE CODE,
|
|
71
|
+
WRITE THE TEST, REIMPLEMENT. NEVER KEEP IT "AS REFERENCE".
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Reading the existing implementation while writing its test is
|
|
75
|
+
test-after-the-fact with extra steps. The 12-row anti-rationalization
|
|
76
|
+
table that follows expands the most common ways this Iron Law gets
|
|
77
|
+
talked-around. Externalized to
|
|
78
|
+
[`testing-anti-patterns/process-anti-patterns.md`](../testing-anti-patterns/process-anti-patterns.md)
|
|
79
|
+
to keep this skill under the 400-line sunset trigger.
|
|
80
|
+
|
|
67
81
|
## Procedure
|
|
68
82
|
|
|
69
83
|
### 1. Identify the behavior to test
|
|
@@ -140,22 +154,20 @@ Back to step 1 with the next single-sentence behavior.
|
|
|
140
154
|
3. Captured green-run output
|
|
141
155
|
4. Any refactor diff (optional)
|
|
142
156
|
|
|
143
|
-
## Anti-rationalizations
|
|
157
|
+
## Anti-rationalizations
|
|
144
158
|
|
|
145
|
-
|
|
146
|
-
the
|
|
159
|
+
Twelve common rationalizations that fire *before* the test is written —
|
|
160
|
+
plus the delete-and-restart Iron Law — live in
|
|
161
|
+
[`testing-anti-patterns/process-anti-patterns.md`](../testing-anti-patterns/process-anti-patterns.md).
|
|
162
|
+
Read the table when:
|
|
147
163
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
| "I already ran it manually" | Manual runs are not repeatable. The next edit breaks it silently. |
|
|
153
|
-
| "Deleting this code I just wrote is wasteful" | Sunk cost. The cheap path is: delete, write the test, reimplement minimally. |
|
|
154
|
-
| "I'll keep the code as reference while I write the test" | You will read it and adapt it. That is test-after-the-fact with extra steps. Delete it. |
|
|
155
|
-
| "I just need to explore the API first" | Spike it on a throwaway branch. Then delete it and restart with TDD. |
|
|
156
|
-
| "The test is too hard to write" | That signals a design problem in the code, not in the test. Listen to it. |
|
|
157
|
-
| "This bug is urgent, no time for a test" | The test **is** the fastest path to a verified fix. Guessing takes longer. |
|
|
164
|
+
- You catch yourself thinking "I'll add the test after" — row 2.
|
|
165
|
+
- You want to keep the code "as reference" while writing the test — row 5.
|
|
166
|
+
- "CI is red, patch first, test later" — row 9.
|
|
167
|
+
- "Follow-up PR will add the test" — row 12.
|
|
158
168
|
|
|
169
|
+
For mock-isolation failure modes (separate concern), see
|
|
170
|
+
[`testing-anti-patterns`](../testing-anti-patterns/SKILL.md).
|
|
159
171
|
|
|
160
172
|
## Examples
|
|
161
173
|
|
|
@@ -8,6 +8,13 @@ source: package
|
|
|
8
8
|
|
|
9
9
|
Tests must verify real behavior, not mock behavior. Mocks isolate; they are not the thing under test. This skill is the **prevention** layer; [`judge-test-coverage`](../judge-test-coverage/SKILL.md) catches what slips through afterwards.
|
|
10
10
|
|
|
11
|
+
For the **process / rationalization** failure modes that fire *before* a
|
|
12
|
+
test is written (the urges to skip TDD, keep code "as reference", patch
|
|
13
|
+
without a regression test), see the sibling reference table in
|
|
14
|
+
[`process-anti-patterns.md`](process-anti-patterns.md). Both layers are
|
|
15
|
+
required — a correctly-mocked test that was written *after* the code is
|
|
16
|
+
still test-after-the-fact.
|
|
17
|
+
|
|
11
18
|
## When to use
|
|
12
19
|
|
|
13
20
|
- About to write a new test that mocks a collaborator.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Testing process anti-patterns — reference table
|
|
2
|
+
|
|
3
|
+
Sibling reference for [`testing-anti-patterns`](SKILL.md) and
|
|
4
|
+
[`test-driven-development`](../test-driven-development/SKILL.md).
|
|
5
|
+
|
|
6
|
+
`testing-anti-patterns/SKILL.md` covers **mock-isolation** failure modes
|
|
7
|
+
(mocking-the-mock, production pollution, partial mocks). This doc covers
|
|
8
|
+
the **process / rationalization** failure modes — the urges that fire
|
|
9
|
+
*before* the test is written and convince you to skip TDD entirely.
|
|
10
|
+
|
|
11
|
+
Both layers are required. A correctly-mocked test that was written *after*
|
|
12
|
+
the code is still test-after-the-fact. A TDD-first test that mocks itself
|
|
13
|
+
is still mocking the mock.
|
|
14
|
+
|
|
15
|
+
## The Iron Law (delete-and-restart)
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
WHEN YOU FIND YOURSELF KEEPING UNTESTED CODE "AS REFERENCE" WHILE WRITING
|
|
19
|
+
A TEST FOR IT — DELETE THE CODE. WRITE THE TEST. THEN REIMPLEMENT.
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The cheap path is one extra round-trip. The expensive path is a test that
|
|
23
|
+
silently encodes the bug it was supposed to catch.
|
|
24
|
+
|
|
25
|
+
## 12-row anti-rationalization table
|
|
26
|
+
|
|
27
|
+
The urge to skip TDD is strongest on tasks where TDD matters most. Name
|
|
28
|
+
the rationalization, then reject it:
|
|
29
|
+
|
|
30
|
+
| # | Thought | Reality |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| 1 | "This is too simple to need a test" | Simple code still breaks. A test takes less time than one debug cycle. |
|
|
33
|
+
| 2 | "I'll add the test after the code works" | A test written after code that passed first try has never failed. It does not prove the code is correct. |
|
|
34
|
+
| 3 | "I already ran it manually" | Manual runs are not repeatable. The next edit breaks it silently. |
|
|
35
|
+
| 4 | "Deleting code I just wrote is wasteful" | Sunk cost. The cheap path: delete, write the test, reimplement minimally. |
|
|
36
|
+
| 5 | "I'll keep the code as reference while I write the test" | You will read it and adapt to it. That is test-after-the-fact with extra steps. Delete it. |
|
|
37
|
+
| 6 | "I just need to explore the API first" | Spike on a throwaway branch. Then delete the spike and restart with TDD. |
|
|
38
|
+
| 7 | "The test is too hard to write" | That signals a design problem in the code, not the test. Listen to it — refactor the seam, then test. |
|
|
39
|
+
| 8 | "This bug is urgent, no time for a test" | The test **is** the fastest path to a verified fix. Guessing takes longer and re-occurs. |
|
|
40
|
+
| 9 | "CI is red — patch first, test later" | A red CI is the cheapest moment to write the regression test. The patch without the test invites the same bug back. |
|
|
41
|
+
| 10 | "The test is just proof-of-work for the PR review" | A test that exists to placate review is not a test — it is theater. Either it asserts behavior or delete it. |
|
|
42
|
+
| 11 | "The dependency is too awkward to seam" | The seam discomfort *is* the design feedback. A constructor-injection refactor pays for itself the second time you change the dependency. |
|
|
43
|
+
| 12 | "We'll add the test in a follow-up PR" | Follow-up PRs that add tests to merged code arrive 0% of the time. The test ships with the change or never. |
|
|
44
|
+
|
|
45
|
+
## When to use this doc
|
|
46
|
+
|
|
47
|
+
- Reviewing your own draft before writing a test — read the table, check
|
|
48
|
+
none of the 12 are firing in your head.
|
|
49
|
+
- Reviewing a teammate's PR — if the PR description matches one of the 12
|
|
50
|
+
patterns, surface the row number in the review.
|
|
51
|
+
- Onboarding — pair with [`test-driven-development`](../test-driven-development/SKILL.md)
|
|
52
|
+
to give new devs the *why* behind the discipline.
|
|
53
|
+
|
|
54
|
+
## Cross-references
|
|
55
|
+
|
|
56
|
+
- Mock-specific anti-patterns: [`testing-anti-patterns`](SKILL.md)
|
|
57
|
+
- TDD discipline: [`test-driven-development`](../test-driven-development/SKILL.md)
|
|
58
|
+
- Coverage hygiene on a finished diff: [`judge-test-coverage`](../judge-test-coverage/SKILL.md)
|
|
59
|
+
- Pest conventions: [`pest-testing`](../pest-testing/SKILL.md)
|
|
60
|
+
- Quality tooling: [`quality-tools`](../quality-tools/SKILL.md)
|
|
61
|
+
|
|
62
|
+
## Provenance
|
|
63
|
+
|
|
64
|
+
- Adapted from `obra/superpowers@v5.1.0` `testing/anti-patterns.md`.
|
|
65
|
+
- Council convergence (anthropic/claude-sonnet-4-5 + openai/gpt-4o,
|
|
66
|
+
2026-05-07): both members ADOPT — the catalogue surfaces specific
|
|
67
|
+
rationalization patterns that would otherwise leak past code review.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Shared agent configuration \u2014 skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI).",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.33.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
@@ -213,6 +213,8 @@
|
|
|
213
213
|
"./.claude/skills/repomix-packer",
|
|
214
214
|
"./.claude/skills/requesting-code-review",
|
|
215
215
|
"./.claude/skills/research",
|
|
216
|
+
"./.claude/skills/research-deep",
|
|
217
|
+
"./.claude/skills/research-report",
|
|
216
218
|
"./.claude/skills/review-changes",
|
|
217
219
|
"./.claude/skills/review-routing",
|
|
218
220
|
"./.claude/skills/rice-prioritization",
|
package/CHANGELOG.md
CHANGED
|
@@ -318,6 +318,57 @@ our recommendation order, not its support status.
|
|
|
318
318
|
users" tension without removing any path that an existing user
|
|
319
319
|
might rely on.
|
|
320
320
|
|
|
321
|
+
## [1.33.0](https://github.com/event4u-app/agent-config/compare/1.32.0...1.33.0) (2026-05-09)
|
|
322
|
+
|
|
323
|
+
### Features
|
|
324
|
+
|
|
325
|
+
* **commands:** port /research:deep + /research:report as cluster sub-commands ([71f8141](https://github.com/event4u-app/agent-config/commit/71f8141a3c553ee5b35f31ffdd7ab33e9cb110e5))
|
|
326
|
+
* **guidelines:** port 5w2h, six-hats, systems-thinking, first-principles, critical-thinking from ginobefun ([40ea866](https://github.com/event4u-app/agent-config/commit/40ea8662f4e7714aa66348aff5456b53a3045350))
|
|
327
|
+
|
|
328
|
+
### Bug Fixes
|
|
329
|
+
|
|
330
|
+
* **roadmap:** inline council convergence summary instead of file ref ([1087cab](https://github.com/event4u-app/agent-config/commit/1087cab557c12fb353cb7a3e5ac7ab27a8d19379))
|
|
331
|
+
* **research:** add ## Rules section to cluster head ([044bdab](https://github.com/event4u-app/agent-config/commit/044bdabd82b2b16350277f3f7b5e1b0e50703242))
|
|
332
|
+
* **research:** collapse ADOPT citation paths into repo@sha:path tokens ([54deb0d](https://github.com/event4u-app/agent-config/commit/54deb0ddcf201ecbeecf6a57c1074d904fb2d197))
|
|
333
|
+
|
|
334
|
+
### Documentation
|
|
335
|
+
|
|
336
|
+
* **counts:** bump command count 101→103 in README + getting-started ([f2fb002](https://github.com/event4u-app/agent-config/commit/f2fb0026c803819569c0c739fdbad8addd96928a))
|
|
337
|
+
* **roadmap:** refresh counts and progress for deep-research adoption phase 2 ([2c284cd](https://github.com/event4u-app/agent-config/commit/2c284cd431480e9c2ae39ec70132a1f8d5eb6e59))
|
|
338
|
+
|
|
339
|
+
### Chores
|
|
340
|
+
|
|
341
|
+
* **roadmap:** close road-to-feedback-followups (P0-P3+P5 done, P4 deferred) ([b07db6c](https://github.com/event4u-app/agent-config/commit/b07db6cae705a1e372ed9b75e47d2b14f8447b18))
|
|
342
|
+
* **roadmap:** cancel road-to-event-driven-discipline (skipped, 0% executed) ([590f27d](https://github.com/event4u-app/agent-config/commit/590f27d8c7239431df92e1b7e003837c6e0be178))
|
|
343
|
+
* **roadmap:** close road-to-deep-research-adoption (P1+P2 done, P3 dropped) ([d2a8808](https://github.com/event4u-app/agent-config/commit/d2a880836d79f13efefe6b3257a2ac869e6c9697))
|
|
344
|
+
* **ownership:** regenerate file-ownership matrix for research cluster ([e90f886](https://github.com/event4u-app/agent-config/commit/e90f8861a356e51dbb7bce8baf5c2d8e53732bd2))
|
|
345
|
+
|
|
346
|
+
Tests: 2560 (+0 since 1.32.0)
|
|
347
|
+
|
|
348
|
+
## [1.32.0](https://github.com/event4u-app/agent-config/compare/1.31.0...1.32.0) (2026-05-09)
|
|
349
|
+
|
|
350
|
+
### Features
|
|
351
|
+
|
|
352
|
+
* **roadmap:** bite-sized task granularity gate for structural roadmaps ([b23683d](https://github.com/event4u-app/agent-config/commit/b23683df15dd43229a25cad33882f6a692d92a97))
|
|
353
|
+
* **skills:** add 3-scan self-review to planning skills ([6784fb8](https://github.com/event4u-app/agent-config/commit/6784fb8ad355ef5b2d7f2cebe5d5e26f114cbe4a))
|
|
354
|
+
* **subagent-orchestration:** status taxonomy + externalized prompts + two-stage mode ([6d846a7](https://github.com/event4u-app/agent-config/commit/6d846a74441196b98cabf8cd1c18ca40db0cec89))
|
|
355
|
+
* **skills:** TDD hardening with externalized anti-pattern catalogue ([db2b1a2](https://github.com/event4u-app/agent-config/commit/db2b1a2a550f10fa51742bef360044b9de1bb7ca))
|
|
356
|
+
|
|
357
|
+
### Bug Fixes
|
|
358
|
+
|
|
359
|
+
* **investigation:** inline council convergence (council files gitignored) ([ff93aa7](https://github.com/event4u-app/agent-config/commit/ff93aa7ee6f6cffff062838a644047470e1d462e))
|
|
360
|
+
* **skills:** inline council convergence in anti-patterns provenance ([7d7e663](https://github.com/event4u-app/agent-config/commit/7d7e663f8e619882fd59465dfbfdb268132eeb8d))
|
|
361
|
+
* **skills:** drop roadmap reference from anti-patterns provenance ([a49c010](https://github.com/event4u-app/agent-config/commit/a49c0107971a5b70a1fdf33ed1a19c91d075980a))
|
|
362
|
+
|
|
363
|
+
### Chores
|
|
364
|
+
|
|
365
|
+
* **ownership:** regenerate matrix after superpowers-harvest landing ([faf4794](https://github.com/event4u-app/agent-config/commit/faf479470db9c83d17e8332dd3498df1e5f4c34b))
|
|
366
|
+
* **index:** regenerate after superpowers-harvest landing ([946f3cc](https://github.com/event4u-app/agent-config/commit/946f3ccad54da3a3898d0aeb4474be0b87e66800))
|
|
367
|
+
* **roadmap:** remove old roadmap path (already archived) ([18f281b](https://github.com/event4u-app/agent-config/commit/18f281bbeb51e93feef40146af3a3b5e5cb916f2))
|
|
368
|
+
* **roadmap:** close superpowers-harvest — Phase 1 LANDED, P1.4b deferred ([a296106](https://github.com/event4u-app/agent-config/commit/a296106c6a846a54c3fe20728203fb3bbae7fffc))
|
|
369
|
+
|
|
370
|
+
Tests: 2560 (+74 since 1.31.0)
|
|
371
|
+
|
|
321
372
|
## [1.31.0](https://github.com/event4u-app/agent-config/compare/1.29.0...1.31.0) (2026-05-09)
|
|
322
373
|
|
|
323
374
|
### Features
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Give your AI agents an audit-disciplined orchestration contract — testing, Git
|
|
|
7
7
|
> Your agent picks up the project's stack, runs tests, prepares PRs, fixes CI — and follows your team's coding standards while doing it. Stack-aware skill sets ship for PHP (Laravel · Symfony · Zend/Laminas), JavaScript (Next.js · React · Node), and cross-stack concerns (API · testing · security · observability).
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>153 Skills</strong> · <strong>60 Rules</strong> · <strong>
|
|
10
|
+
<strong>153 Skills</strong> · <strong>60 Rules</strong> · <strong>103 Commands</strong> · <strong>68 Guidelines</strong> · <strong>8 AI Tools</strong>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
13
|
---
|
|
@@ -343,7 +343,7 @@ kernel set: [`docs/contracts/kernel-membership.md`](docs/contracts/kernel-member
|
|
|
343
343
|
| [`/jira-ticket`](.agent-src/commands/jira-ticket.md) | Read ticket from branch, implement feature |
|
|
344
344
|
| [`/compress`](.agent-src/commands/compress.md) | Compress skills for token efficiency |
|
|
345
345
|
|
|
346
|
-
→ [Browse all
|
|
346
|
+
→ [Browse all 103 active commands](.agent-src/commands/)
|
|
347
347
|
|
|
348
348
|
---
|
|
349
349
|
|
|
@@ -368,7 +368,7 @@ Every developer gets the same behavior. No per-user setup needed.
|
|
|
368
368
|
native slash-commands)
|
|
369
369
|
|
|
370
370
|
> **What this means in practice:** Augment Code and Claude Code get the full
|
|
371
|
-
> package (rules + 153 skills +
|
|
371
|
+
> package (rules + 153 skills + 103 native commands). Cursor, Cline, Windsurf,
|
|
372
372
|
> Gemini CLI, and GitHub Copilot only get the **rules** natively; skills and
|
|
373
373
|
> commands are available to them as documentation the agent can read, not as
|
|
374
374
|
> first-class features.
|
package/docs/architecture.md
CHANGED
|
@@ -98,8 +98,8 @@ fails on any source-side violation, without producing artifacts.
|
|
|
98
98
|
|---|---|---|
|
|
99
99
|
| **Skills** | 153 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
|
|
100
100
|
| **Rules** | 60 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
|
|
101
|
-
| **Commands** |
|
|
102
|
-
| **Guidelines** |
|
|
101
|
+
| **Commands** | 103 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
|
|
102
|
+
| **Guidelines** | 68 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
|
|
103
103
|
| **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
|
|
104
104
|
| **Contexts** | 5 | Shared knowledge about the system itself |
|
|
105
105
|
|
package/docs/catalog.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# agent-config — Public Catalog
|
|
2
2
|
|
|
3
|
-
Consumer-facing catalog of all **
|
|
3
|
+
Consumer-facing catalog of all **381 public artefacts** shipped by
|
|
4
4
|
this package. Internal package-maintenance rules and deprecation shims
|
|
5
5
|
are excluded.
|
|
6
6
|
|
|
@@ -146,7 +146,7 @@ are excluded.
|
|
|
146
146
|
| skill | [`skill-reviewer`](../.agent-src/skills/skill-reviewer/SKILL.md) | | Use when reviewing, auditing, or optimizing skills — validates against the 7 Skill Killers checklist and produces fix recommendations. |
|
|
147
147
|
| skill | [`skill-writing`](../.agent-src/skills/skill-writing/SKILL.md) | | Use when deciding 'should this be a skill or a rule?', creating/improving/reviewing agent skills, SKILL.md frontmatter, or procedure sections — even without saying 'skill-writing'. |
|
|
148
148
|
| skill | [`sql-writing`](../.agent-src/skills/sql-writing/SKILL.md) | | Use when writing raw SQL — MariaDB/MySQL syntax, parameterization, raw migrations, seeders with `DB::statement` — even when the user just pastes a query and asks 'why is this slow' without naming SQL. |
|
|
149
|
-
| skill | [`subagent-orchestration`](../.agent-src/skills/subagent-orchestration/SKILL.md) | | Use when orchestrating implementer/judge subagents —
|
|
149
|
+
| skill | [`subagent-orchestration`](../.agent-src/skills/subagent-orchestration/SKILL.md) | | Use when orchestrating implementer/judge subagents — seven modes (do-and-judge ±two-stage, do-in-steps/parallel/worktrees, do-competitively, judge-with-debate) — models from .agent-settings.yml. |
|
|
150
150
|
| skill | [`systematic-debugging`](../.agent-src/skills/systematic-debugging/SKILL.md) | | Use when hitting a bug, test failure, crash, or unexpected behavior — enforces reproduce → isolate → hypothesize → verify before any fix — even when the user just says 'this is broken' or 'quick fix'. |
|
|
151
151
|
| skill | [`technical-specification`](../.agent-src/skills/technical-specification/SKILL.md) | | Use when the user says "write a spec", "create RFC", "write a PRD", or "document this decision". Writes technical specifications, PRDs, RFCs, and ADRs with clear structure. |
|
|
152
152
|
| skill | [`terraform`](../.agent-src/skills/terraform/SKILL.md) | | Use when writing Terraform — AWS modules, resources, variables, outputs, remote state — even when the user just says 'provision this infra' or 'add an S3 bucket' without naming Terraform. |
|
|
@@ -227,7 +227,7 @@ are excluded.
|
|
|
227
227
|
| rule | [`user-interaction`](../.agent-src/rules/user-interaction.md) | auto | Asking the user a question, presenting options, or summarizing progress — numbered-options Iron Law, single-recommendation rule, progress indicators |
|
|
228
228
|
| rule | [`verify-before-complete`](../.agent-src/rules/verify-before-complete.md) | always | Verify before completion — run tests and quality tools before claiming done |
|
|
229
229
|
|
|
230
|
-
## Commands (
|
|
230
|
+
## Commands (103)
|
|
231
231
|
|
|
232
232
|
| kind | name | cluster | description |
|
|
233
233
|
|---|---|---|---|
|
|
@@ -312,6 +312,8 @@ are excluded.
|
|
|
312
312
|
| command | [`project-health`](../.agent-src/commands/project-health.md) | | Quick project health check — show status of docs, modules, contexts, and roadmaps without creating anything |
|
|
313
313
|
| command | [`quality-fix`](../.agent-src/commands/quality-fix.md) | | Run quality pipeline (PHP and/or JS/TS) and fix all errors — auto-detects language from changed files |
|
|
314
314
|
| command | [`refine-ticket`](../.agent-src/commands/refine-ticket.md) | | Refine a Jira/Linear ticket before planning — rewritten ticket + Top-5 risks + persona voices, orchestrates validate-feature-fit and threat-modeling, ends with a close-prompt |
|
|
315
|
+
| command | [`research:deep`](../.agent-src/commands/research/deep.md) | cluster: research | Read `outline.yaml`, research each item in batches, write per-item JSON validated against the project-local research-schema. No Python runtime, no `~/.claude/` paths. |
|
|
316
|
+
| command | [`research:report`](../.agent-src/commands/research/report.md) | cluster: research | Summarise per-item JSON results from `/research:deep` into `report.md`. Agent renders directly + emits an optional `jq` template for deterministic regeneration. No Python runtime. |
|
|
315
317
|
| command | [`research`](../.agent-src/commands/research.md) | cluster: research | Preliminary research scaffolder — pick objects, define fields, emit `outline.yaml` + `fields.yaml` for downstream deep research. Use for surveys, benchmarks, tech selection, competitive scans. |
|
|
316
318
|
| command | [`review-changes`](../.agent-src/commands/review-changes.md) | | Self-review local changes before creating a PR — dispatches to four specialized judges (bug, security, tests, quality) and consolidates verdicts |
|
|
317
319
|
| command | [`review-routing`](../.agent-src/commands/review-routing.md) | | Compute reviewer roles and matched historical bug patterns for the current diff, using project-local ownership-map.yml and historical-bug-patterns.yml |
|
|
@@ -333,18 +335,21 @@ are excluded.
|
|
|
333
335
|
| command | [`upstream-contribute`](../.agent-src/commands/upstream-contribute.md) | | Contribute a learning, skill, rule, or fix from a consumer project back to the shared agent-config package |
|
|
334
336
|
| command | [`work`](../.agent-src/commands/work.md) | | Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Option-A loop over the `work_engine` Python engine, confidence-band gated, no auto-git. |
|
|
335
337
|
|
|
336
|
-
## Guidelines (
|
|
338
|
+
## Guidelines (68)
|
|
337
339
|
|
|
338
340
|
| kind | name | category | description |
|
|
339
341
|
|---|---|---|---|
|
|
342
|
+
| guideline | [`5w2h-analysis`](../docs/guidelines/agent-infra/5w2h-analysis.md) | agent-infra | |
|
|
340
343
|
| guideline | [`agent-interaction-and-decision-quality`](../docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md) | agent-infra | |
|
|
341
344
|
| guideline | [`ask-when-uncertain-demos`](../docs/guidelines/agent-infra/ask-when-uncertain-demos.md) | agent-infra | |
|
|
342
345
|
| guideline | [`asking-and-brevity-examples`](../docs/guidelines/agent-infra/asking-and-brevity-examples.md) | agent-infra | |
|
|
343
346
|
| guideline | [`break-glass-usage`](../docs/guidelines/agent-infra/break-glass-usage.md) | agent-infra | |
|
|
344
347
|
| guideline | [`carve-out-predicates`](../docs/guidelines/agent-infra/carve-out-predicates.md) | agent-infra | |
|
|
348
|
+
| guideline | [`critical-thinking`](../docs/guidelines/agent-infra/critical-thinking.md) | agent-infra | |
|
|
345
349
|
| guideline | [`developer-judgment`](../docs/guidelines/agent-infra/developer-judgment.md) | agent-infra | |
|
|
346
350
|
| guideline | [`direct-answers-demos`](../docs/guidelines/agent-infra/direct-answers-demos.md) | agent-infra | |
|
|
347
351
|
| guideline | [`engineering-memory-data-format`](../docs/guidelines/agent-infra/engineering-memory-data-format.md) | agent-infra | |
|
|
352
|
+
| guideline | [`first-principles`](../docs/guidelines/agent-infra/first-principles.md) | agent-infra | |
|
|
348
353
|
| guideline | [`inversion-thinking`](../docs/guidelines/agent-infra/inversion-thinking.md) | agent-infra | |
|
|
349
354
|
| guideline | [`ios-simulator-guide`](../docs/guidelines/agent-infra/ios-simulator-guide.md) | agent-infra | |
|
|
350
355
|
| guideline | [`language-and-tone-examples`](../docs/guidelines/agent-infra/language-and-tone-examples.md) | agent-infra | |
|
|
@@ -362,8 +367,10 @@ are excluded.
|
|
|
362
367
|
| guideline | [`runtime-layer`](../docs/guidelines/agent-infra/runtime-layer.md) | agent-infra | |
|
|
363
368
|
| guideline | [`scqa-framework`](../docs/guidelines/agent-infra/scqa-framework.md) | agent-infra | |
|
|
364
369
|
| guideline | [`self-improvement-pipeline`](../docs/guidelines/agent-infra/self-improvement-pipeline.md) | agent-infra | |
|
|
370
|
+
| guideline | [`six-hats`](../docs/guidelines/agent-infra/six-hats.md) | agent-infra | |
|
|
365
371
|
| guideline | [`size-and-scope`](../docs/guidelines/agent-infra/size-and-scope.md) | agent-infra | |
|
|
366
372
|
| guideline | [`skill-quality-checklist`](../docs/guidelines/agent-infra/skill-quality-checklist.md) | agent-infra | |
|
|
373
|
+
| guideline | [`systems-thinking`](../docs/guidelines/agent-infra/systems-thinking.md) | agent-infra | |
|
|
367
374
|
| guideline | [`tool-integration`](../docs/guidelines/agent-infra/tool-integration.md) | agent-infra | |
|
|
368
375
|
| guideline | [`verify-before-complete-demos`](../docs/guidelines/agent-infra/verify-before-complete-demos.md) | agent-infra | |
|
|
369
376
|
| guideline | [`augment-portability-patterns`](../docs/guidelines/augment-portability-patterns.md) | (root) | |
|
|
@@ -43,7 +43,7 @@ column 1 of this table.
|
|
|
43
43
|
| `create-pr` | 2 | `description-only` | `create-pr-description` |
|
|
44
44
|
| `council` | 3 | `default` · `pr` · `design` · `optimize` | `council` (legacy default lens) · `council-pr` · `council-design` · `council-optimize` |
|
|
45
45
|
| `challenge-me` | — | `vision` · `with-docs` | new — Pocock-inspired one-question-at-a-time interview; `vision` is the standard 95%-confidence variant, `with-docs` adds doc/glossary awareness with a session-scoped glossary and load-bearing claim-vs-code verification |
|
|
46
|
-
| `research` |
|
|
46
|
+
| `research` | 2 | `deep` · `report` | preliminary-research scaffolder ported from `Weizhena/Deep-Research-skills` (cluster head emits `outline.yaml` + `fields.yaml` against the `research-schema` contract). `:deep` populates per-item JSON in batches with native web-search + JSON-Schema self-validation (no Python runtime); `:report` renders `report.md` directly + optionally emits a `jq` template for deterministic regeneration. `add-items` / `add-fields` intentionally **not** ported — re-run `/research <topic>` to extend the field framework. |
|
|
47
47
|
|
|
48
48
|
**Net change:** Phase 1 collapsed 15 atomics → 3 clusters; Phase 2
|
|
49
49
|
collapses 26 atomics → 11 sub-command clusters. Sub-commands use
|