@agents-inc/cli 0.75.1 → 0.76.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/CHANGELOG.md +12 -0
- package/dist/{chunk-SXGBPQY6.js → chunk-2I5SXGXR.js} +2 -2
- package/dist/{chunk-CUCF5LM4.js → chunk-36YW5E7G.js} +5 -5
- package/dist/{chunk-T5DJCIUP.js → chunk-3REKTRAN.js} +2 -2
- package/dist/{chunk-UQKCYLOA.js → chunk-6F3CZLD6.js} +9 -9
- package/dist/chunk-6F3CZLD6.js.map +1 -0
- package/dist/{chunk-JOTAIMTC.js → chunk-7NACNRFG.js} +4 -4
- package/dist/{chunk-SPATQKH6.js → chunk-7PMFIL5L.js} +3 -3
- package/dist/{chunk-GMUOEQOY.js → chunk-7PZFDI46.js} +4 -4
- package/dist/{chunk-PSU42CXK.js → chunk-7XUKTYVD.js} +182 -294
- package/dist/chunk-7XUKTYVD.js.map +1 -0
- package/dist/{chunk-WXC2Y5TF.js → chunk-AE2QHAFO.js} +7 -7
- package/dist/{chunk-ZZJ6H6VB.js → chunk-CBJTSEI2.js} +5 -5
- package/dist/{chunk-AOZBHMYL.js → chunk-CCSU4R65.js} +3 -3
- package/dist/{chunk-XZ57QYVI.js → chunk-CKU7FJNV.js} +4 -4
- package/dist/{chunk-QN3V3ES7.js → chunk-EEZSCHS2.js} +9 -9
- package/dist/{chunk-CBXMOWQY.js → chunk-ERHTXNIF.js} +3 -3
- package/dist/{chunk-GCT7LSYW.js → chunk-EWBNSS5Y.js} +6 -6
- package/dist/{chunk-TQLDQ3XZ.js → chunk-EYFBODHL.js} +2 -2
- package/dist/{chunk-AUNBGZS4.js → chunk-FFMWFEUH.js} +2 -2
- package/dist/{chunk-EGMQ3SXN.js → chunk-FMYAYX6W.js} +1 -1
- package/dist/chunk-FMYAYX6W.js.map +1 -0
- package/dist/{chunk-W22IYRZV.js → chunk-I2SUTL7S.js} +5 -5
- package/dist/{chunk-XHTN56UT.js → chunk-I534EWJQ.js} +3 -3
- package/dist/{chunk-2PZ7LBFT.js → chunk-IDN2OZJY.js} +2 -2
- package/dist/{chunk-HKIQA4F6.js → chunk-JWMYAJHD.js} +637 -2179
- package/dist/chunk-JWMYAJHD.js.map +1 -0
- package/dist/{chunk-MWGDG4QN.js → chunk-K63OEZW7.js} +2 -2
- package/dist/{chunk-Q72ZBA4X.js → chunk-KPRCP3MZ.js} +3 -3
- package/dist/{chunk-FYYIRFYT.js → chunk-LO5QGAP2.js} +5 -5
- package/dist/{chunk-TYM4D3OF.js → chunk-M4ZDKHJV.js} +3 -3
- package/dist/{chunk-TYM4D3OF.js.map → chunk-M4ZDKHJV.js.map} +1 -1
- package/dist/{chunk-CXRVM7BA.js → chunk-M76LNKMY.js} +2 -2
- package/dist/{chunk-WF5PMBIR.js → chunk-MLXAZODL.js} +2 -2
- package/dist/{chunk-UFKDY45I.js → chunk-NWW3OJH5.js} +3 -3
- package/dist/{chunk-U5R4M7MA.js → chunk-O5CPXIC4.js} +5 -5
- package/dist/{chunk-7QAVO7VN.js → chunk-ODVQXXEO.js} +14 -14
- package/dist/{chunk-BVSWWBPE.js → chunk-PRG7PKZM.js} +5 -5
- package/dist/{chunk-SYGXJBG6.js → chunk-Q4PJSAMP.js} +20 -11
- package/dist/chunk-Q4PJSAMP.js.map +1 -0
- package/dist/{chunk-Q3F36QZZ.js → chunk-R7F5YQMI.js} +2 -2
- package/dist/{chunk-FHHTDPMW.js → chunk-S6DKM6MJ.js} +6 -6
- package/dist/{chunk-XMLCXRTS.js → chunk-SQ7WINEU.js} +3 -3
- package/dist/{chunk-U6A4YFOF.js → chunk-UBNHVBSV.js} +4 -4
- package/dist/{chunk-VU4ZCRZS.js → chunk-VQV3DSHD.js} +6 -6
- package/dist/{chunk-JGSPESM3.js → chunk-WMMU5FOO.js} +15 -12
- package/dist/chunk-WMMU5FOO.js.map +1 -0
- package/dist/{chunk-6C66NL4X.js → chunk-WN2TUP4M.js} +4 -4
- package/dist/chunk-WN2TUP4M.js.map +1 -0
- package/dist/{chunk-5BGBH3KD.js → chunk-WS3TL2AO.js} +8 -8
- package/dist/{chunk-DFKNFZI2.js → chunk-WZ5S4LGX.js} +6 -6
- package/dist/{chunk-KDYE3AGL.js → chunk-XYZ7B5BY.js} +2 -2
- package/dist/commands/build/marketplace.js +5 -5
- package/dist/commands/build/plugins.js +9 -9
- package/dist/commands/build/stack.js +9 -9
- package/dist/commands/compile.js +10 -10
- package/dist/commands/config/index.js +9 -9
- package/dist/commands/config/path.js +8 -8
- package/dist/commands/config/show.js +9 -9
- package/dist/commands/diff.js +8 -8
- package/dist/commands/doctor.js +8 -8
- package/dist/commands/edit.js +33 -33
- package/dist/commands/eject.js +8 -8
- package/dist/commands/import/skill.js +9 -9
- package/dist/commands/info.js +9 -9
- package/dist/commands/init.js +33 -33
- package/dist/commands/list.js +8 -8
- package/dist/commands/new/agent.js +9 -9
- package/dist/commands/new/marketplace.js +10 -10
- package/dist/commands/new/skill.js +9 -9
- package/dist/commands/outdated.js +8 -8
- package/dist/commands/search.js +11 -11
- package/dist/commands/uninstall.js +9 -9
- package/dist/commands/update.js +10 -10
- package/dist/commands/validate.js +9 -9
- package/dist/components/common/select-list.js +2 -2
- package/dist/components/skill-search/skill-search.js +3 -3
- package/dist/components/wizard/category-grid.js +4 -4
- package/dist/components/wizard/category-grid.test.js +13 -13
- package/dist/components/wizard/checkbox-grid.js +4 -4
- package/dist/components/wizard/checkbox-grid.test.js +4 -4
- package/dist/components/wizard/domain-selection.js +13 -13
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/menu-item.js +1 -1
- package/dist/components/wizard/search-modal.js +3 -3
- package/dist/components/wizard/search-modal.test.js +3 -3
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +2 -2
- package/dist/components/wizard/selection-card.js +2 -2
- package/dist/components/wizard/source-grid.js +6 -6
- package/dist/components/wizard/source-grid.test.js +15 -15
- package/dist/components/wizard/stack-selection.js +11 -11
- package/dist/components/wizard/step-agents.js +12 -12
- package/dist/components/wizard/step-agents.test.js +15 -15
- package/dist/components/wizard/step-build.js +12 -12
- package/dist/components/wizard/step-build.test.js +14 -14
- package/dist/components/wizard/step-confirm.js +5 -5
- package/dist/components/wizard/step-confirm.test.js +11 -11
- package/dist/components/wizard/step-refine.js +2 -2
- package/dist/components/wizard/step-refine.test.js +2 -2
- package/dist/components/wizard/step-settings.js +10 -10
- package/dist/components/wizard/step-settings.test.js +13 -13
- package/dist/components/wizard/step-sources.js +14 -14
- package/dist/components/wizard/step-sources.test.js +17 -17
- package/dist/components/wizard/step-stack.js +16 -16
- package/dist/components/wizard/step-stack.test.js +17 -17
- package/dist/components/wizard/wizard-layout.js +11 -11
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard-tabs.test.js +2 -2
- package/dist/components/wizard/wizard.js +30 -30
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +33 -33
- package/dist/{loader-TK7YS2I5.js → loader-7RQ4G4TH.js} +5 -5
- package/dist/{source-loader-UQXJVVSO.js → source-loader-CXCIDGWV.js} +8 -8
- package/dist/source-manager-TPLO2DVS.js +19 -0
- package/dist/src/agents/_templates/agent.liquid +24 -0
- package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
- package/dist/src/agents/_templates/methodologies/context-management.liquid +162 -0
- package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
- package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
- package/dist/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
- package/dist/src/agents/_templates/methodologies/write-verification.liquid +43 -0
- package/dist/src/agents/meta/agent-summoner/workflow.md +2 -2
- package/dist/src/agents/meta/skill-summoner/workflow.md +48 -3
- package/dist/stores/wizard-store.js +8 -8
- package/dist/stores/wizard-store.test.js +36 -36
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/_templates/agent.liquid +24 -0
- package/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
- package/src/agents/_templates/methodologies/context-management.liquid +162 -0
- package/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
- package/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
- package/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
- package/src/agents/_templates/methodologies/write-verification.liquid +43 -0
- package/src/agents/meta/agent-summoner/workflow.md +2 -2
- package/src/agents/meta/skill-summoner/workflow.md +48 -3
- package/dist/chunk-6C66NL4X.js.map +0 -1
- package/dist/chunk-EGMQ3SXN.js.map +0 -1
- package/dist/chunk-HKIQA4F6.js.map +0 -1
- package/dist/chunk-JGSPESM3.js.map +0 -1
- package/dist/chunk-PSU42CXK.js.map +0 -1
- package/dist/chunk-SYGXJBG6.js.map +0 -1
- package/dist/chunk-UQKCYLOA.js.map +0 -1
- package/dist/source-manager-HS2ZT4XE.js +0 -19
- /package/dist/{chunk-SXGBPQY6.js.map → chunk-2I5SXGXR.js.map} +0 -0
- /package/dist/{chunk-CUCF5LM4.js.map → chunk-36YW5E7G.js.map} +0 -0
- /package/dist/{chunk-T5DJCIUP.js.map → chunk-3REKTRAN.js.map} +0 -0
- /package/dist/{chunk-JOTAIMTC.js.map → chunk-7NACNRFG.js.map} +0 -0
- /package/dist/{chunk-SPATQKH6.js.map → chunk-7PMFIL5L.js.map} +0 -0
- /package/dist/{chunk-GMUOEQOY.js.map → chunk-7PZFDI46.js.map} +0 -0
- /package/dist/{chunk-WXC2Y5TF.js.map → chunk-AE2QHAFO.js.map} +0 -0
- /package/dist/{chunk-ZZJ6H6VB.js.map → chunk-CBJTSEI2.js.map} +0 -0
- /package/dist/{chunk-AOZBHMYL.js.map → chunk-CCSU4R65.js.map} +0 -0
- /package/dist/{chunk-XZ57QYVI.js.map → chunk-CKU7FJNV.js.map} +0 -0
- /package/dist/{chunk-QN3V3ES7.js.map → chunk-EEZSCHS2.js.map} +0 -0
- /package/dist/{chunk-CBXMOWQY.js.map → chunk-ERHTXNIF.js.map} +0 -0
- /package/dist/{chunk-GCT7LSYW.js.map → chunk-EWBNSS5Y.js.map} +0 -0
- /package/dist/{chunk-TQLDQ3XZ.js.map → chunk-EYFBODHL.js.map} +0 -0
- /package/dist/{chunk-AUNBGZS4.js.map → chunk-FFMWFEUH.js.map} +0 -0
- /package/dist/{chunk-W22IYRZV.js.map → chunk-I2SUTL7S.js.map} +0 -0
- /package/dist/{chunk-XHTN56UT.js.map → chunk-I534EWJQ.js.map} +0 -0
- /package/dist/{chunk-2PZ7LBFT.js.map → chunk-IDN2OZJY.js.map} +0 -0
- /package/dist/{chunk-MWGDG4QN.js.map → chunk-K63OEZW7.js.map} +0 -0
- /package/dist/{chunk-Q72ZBA4X.js.map → chunk-KPRCP3MZ.js.map} +0 -0
- /package/dist/{chunk-FYYIRFYT.js.map → chunk-LO5QGAP2.js.map} +0 -0
- /package/dist/{chunk-CXRVM7BA.js.map → chunk-M76LNKMY.js.map} +0 -0
- /package/dist/{chunk-WF5PMBIR.js.map → chunk-MLXAZODL.js.map} +0 -0
- /package/dist/{chunk-UFKDY45I.js.map → chunk-NWW3OJH5.js.map} +0 -0
- /package/dist/{chunk-U5R4M7MA.js.map → chunk-O5CPXIC4.js.map} +0 -0
- /package/dist/{chunk-7QAVO7VN.js.map → chunk-ODVQXXEO.js.map} +0 -0
- /package/dist/{chunk-BVSWWBPE.js.map → chunk-PRG7PKZM.js.map} +0 -0
- /package/dist/{chunk-Q3F36QZZ.js.map → chunk-R7F5YQMI.js.map} +0 -0
- /package/dist/{chunk-FHHTDPMW.js.map → chunk-S6DKM6MJ.js.map} +0 -0
- /package/dist/{chunk-XMLCXRTS.js.map → chunk-SQ7WINEU.js.map} +0 -0
- /package/dist/{chunk-U6A4YFOF.js.map → chunk-UBNHVBSV.js.map} +0 -0
- /package/dist/{chunk-VU4ZCRZS.js.map → chunk-VQV3DSHD.js.map} +0 -0
- /package/dist/{chunk-5BGBH3KD.js.map → chunk-WS3TL2AO.js.map} +0 -0
- /package/dist/{chunk-DFKNFZI2.js.map → chunk-WZ5S4LGX.js.map} +0 -0
- /package/dist/{chunk-KDYE3AGL.js.map → chunk-XYZ7B5BY.js.map} +0 -0
- /package/dist/{loader-TK7YS2I5.js.map → loader-7RQ4G4TH.js.map} +0 -0
- /package/dist/{source-loader-UQXJVVSO.js.map → source-loader-CXCIDGWV.js.map} +0 -0
- /package/dist/{source-manager-HS2ZT4XE.js.map → source-manager-TPLO2DVS.js.map} +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<success_criteria_template>
|
|
2
|
+
|
|
3
|
+
Every task needs explicit, measurable criteria that define "done." This prevents agents from stopping too early or continuing unnecessarily.
|
|
4
|
+
|
|
5
|
+
Success criteria must be:
|
|
6
|
+
|
|
7
|
+
1. **Specific** - No ambiguity about what "done" means
|
|
8
|
+
2. **Measurable** - Can verify with tests, checks, or observations
|
|
9
|
+
3. **Achievable** - Within scope of the task
|
|
10
|
+
4. **Verifiable** - Can provide evidence of completion
|
|
11
|
+
|
|
12
|
+
## Template Structure
|
|
13
|
+
|
|
14
|
+
Use this structure when defining success criteria:
|
|
15
|
+
|
|
16
|
+
```xml
|
|
17
|
+
<success_criteria>
|
|
18
|
+
Your implementation must meet these criteria:
|
|
19
|
+
|
|
20
|
+
**Functional Requirements:**
|
|
21
|
+
1. [Specific behavior that must work]
|
|
22
|
+
2. [Another specific behavior]
|
|
23
|
+
|
|
24
|
+
**Technical Requirements:**
|
|
25
|
+
3. All existing tests continue to pass
|
|
26
|
+
4. New functionality is covered by tests with >80% coverage
|
|
27
|
+
5. Code follows existing patterns in [specific files]
|
|
28
|
+
|
|
29
|
+
**Constraints:**
|
|
30
|
+
6. No new dependencies are introduced
|
|
31
|
+
7. Changes are limited to [specific files/modules]
|
|
32
|
+
8. Performance is equivalent to or better than [baseline]
|
|
33
|
+
|
|
34
|
+
**After Implementation:**
|
|
35
|
+
- Run the test suite and report results
|
|
36
|
+
- Verify each criterion is met
|
|
37
|
+
- Report any criteria that aren't met and explain why
|
|
38
|
+
</success_criteria>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
</success_criteria_template>
|
|
42
|
+
|
|
43
|
+
### Good vs. Bad Success Criteria
|
|
44
|
+
|
|
45
|
+
**Bad (vague, unmeasurable):**
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
- Feature works well
|
|
49
|
+
- Code is clean
|
|
50
|
+
- No bugs
|
|
51
|
+
- Good user experience
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Problem:** No specific, measurable targets. What does "works" mean? Which tests? How do you know it's "clean"?
|
|
55
|
+
|
|
56
|
+
**Good (specific, measurable):**
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
1. User can click "Edit Profile" button and modal appears
|
|
60
|
+
2. Modal displays current values (name, email, bio)
|
|
61
|
+
3. Email validation prevents invalid formats (test@test passes, test fails)
|
|
62
|
+
4. Form submission updates user record in database
|
|
63
|
+
5. Success message displays after save
|
|
64
|
+
6. All tests in profile-editor.test.ts pass
|
|
65
|
+
7. New tests cover: happy path, validation errors, network errors
|
|
66
|
+
8. No modifications to authentication system (auth.py unchanged)
|
|
67
|
+
9. Follows form pattern from SettingsForm.tsx (lines 45-89)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Why better:** Each criterion can be verified with a simple yes/no check.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
<verification_process>
|
|
75
|
+
|
|
76
|
+
### Verification Process
|
|
77
|
+
|
|
78
|
+
After completing work, systematically verify:
|
|
79
|
+
|
|
80
|
+
```xml
|
|
81
|
+
<verification_checklist>
|
|
82
|
+
For each success criterion:
|
|
83
|
+
1. State the criterion
|
|
84
|
+
2. Describe how you verified it
|
|
85
|
+
3. Provide evidence (test output, behavior observed, file comparison)
|
|
86
|
+
4. Mark as PASS (met) or FAIL (not met)
|
|
87
|
+
|
|
88
|
+
If any criterion is FAIL:
|
|
89
|
+
- Explain why it's not met
|
|
90
|
+
- Indicate if it's a blocker or acceptable deviation
|
|
91
|
+
- Suggest what's needed to meet it
|
|
92
|
+
</verification_checklist>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Example Verification:**
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Criterion 1: User can click "Edit Profile" and see modal with current values
|
|
99
|
+
PASS Verified: Tested in browser, modal opens with user's current name, email, bio
|
|
100
|
+
Evidence: Screenshot attached, manual test passed
|
|
101
|
+
|
|
102
|
+
Criterion 5: All tests in profile-editor.test.ts pass
|
|
103
|
+
PASS Verified: Ran `npm test profile-editor.test.ts`
|
|
104
|
+
Evidence: All 12 tests passing, 0 failures
|
|
105
|
+
|
|
106
|
+
Criterion 7: No modifications to authentication system
|
|
107
|
+
PASS Verified: git diff shows no changes to auth.py or related files
|
|
108
|
+
Evidence: `git diff main...feature-branch -- auth.py` returns empty
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
</verification_process>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<write_verification_protocol>
|
|
2
|
+
|
|
3
|
+
**CRITICAL: Never report success without verifying your work was actually saved.**
|
|
4
|
+
|
|
5
|
+
### Why This Exists
|
|
6
|
+
|
|
7
|
+
Agents can:
|
|
8
|
+
|
|
9
|
+
1. Analyze what needs to change
|
|
10
|
+
2. Generate correct content
|
|
11
|
+
3. Plan the edits
|
|
12
|
+
4. **Fail to actually execute the Write/Edit operations**
|
|
13
|
+
5. **Report success based on the plan, not reality**
|
|
14
|
+
|
|
15
|
+
This causes downstream failures that are hard to debug because the agent reported success.
|
|
16
|
+
|
|
17
|
+
### Mandatory Verification Steps
|
|
18
|
+
|
|
19
|
+
**After completing ANY file edits, you MUST:**
|
|
20
|
+
|
|
21
|
+
1. **Re-read the file(s) you just edited** using the Read tool
|
|
22
|
+
2. **Verify your changes exist in the file:**
|
|
23
|
+
- For new content: Confirm the new text/code is present
|
|
24
|
+
- For edits: Confirm the old content was replaced
|
|
25
|
+
- For structural changes: Confirm the structure is correct
|
|
26
|
+
3. **If verification fails:**
|
|
27
|
+
- Report: "VERIFICATION FAILED: [what was expected] not found in [file]"
|
|
28
|
+
- Do NOT report success
|
|
29
|
+
- Re-attempt the edit operation
|
|
30
|
+
4. **Only report success AFTER verification passes**
|
|
31
|
+
|
|
32
|
+
### Verification Checklist
|
|
33
|
+
|
|
34
|
+
Include this in your final validation:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
**Write Verification:**
|
|
38
|
+
- [ ] Re-read file(s) after completing edits
|
|
39
|
+
- [ ] Verified expected changes exist in file
|
|
40
|
+
- [ ] Only reporting success after verification passed
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
</write_verification_protocol>
|
|
@@ -356,8 +356,8 @@ Skills use a three-file structure in domain-based directories:
|
|
|
356
356
|
|
|
357
357
|
- **Location:** `.claude/skills/{domain}-{category}-{technology}/`
|
|
358
358
|
- **Files:** `SKILL.md`, `metadata.yaml`, `reference.md` (optional)
|
|
359
|
-
- **Domains:** `web-`, `api-`, `cli-`, `
|
|
360
|
-
- **Examples:** `web-framework-react/`, `api-database-drizzle/`, `meta-
|
|
359
|
+
- **Domains:** `web-`, `api-`, `cli-`, `shared-`, `mobile-`
|
|
360
|
+
- **Examples:** `web-framework-react/`, `api-database-drizzle/`, `shared-meta-reviewing/`
|
|
361
361
|
|
|
362
362
|
---
|
|
363
363
|
|
|
@@ -762,8 +762,8 @@ For complex skill creation/improvement tasks spanning multiple conversation turn
|
|
|
762
762
|
- [ ] Has `<patterns>` section with Core Patterns with embedded good/bad examples
|
|
763
763
|
- [ ] Has `<performance>` section for optimization patterns (OPTIONAL - include if relevant)
|
|
764
764
|
- [ ] Has `<decision_framework>` section
|
|
765
|
-
- [ ] Has `<integration>` section
|
|
766
|
-
- [ ] Has `<red_flags>` section with "Gotchas & Edge Cases" subsection
|
|
765
|
+
- [ ] Has `<integration>` section ONLY if skill has its own ecosystem packages to list (OPTIONAL — must NOT name external tools from other domains per atomicity bible)
|
|
766
|
+
- [ ] Has `<red_flags>` section with "Gotchas & Edge Cases" subsection (REQUIRED in SKILL.md, not just reference.md)
|
|
767
767
|
|
|
768
768
|
**Example Quality:**
|
|
769
769
|
- [ ] Good/Bad pairs embedded in each Core Pattern
|
|
@@ -774,6 +774,26 @@ For complex skill creation/improvement tasks spanning multiple conversation turn
|
|
|
774
774
|
- [ ] Named exports used (no default exports)
|
|
775
775
|
- [ ] Patterns use `#### SubsectionName` headers as needed
|
|
776
776
|
|
|
777
|
+
**Atomicity (REQUIRED — most common source of skill defects):**
|
|
778
|
+
- [ ] Grep for `NEXT_PUBLIC_`, `@repo/`, `@/lib/` — replace with generic names
|
|
779
|
+
- [ ] Grep for external tool names from other domains (React Query, Zustand, SCSS, MSW, Vitest, lucide-react, Hono, Drizzle)
|
|
780
|
+
- [ ] `<integration>` section (if present) names ONLY the skill's own ecosystem packages, not external tools
|
|
781
|
+
- [ ] "When NOT to use" does NOT name specific competing tools by name
|
|
782
|
+
- [ ] Decision trees end within this skill's domain (no "→ Use React Query" exits)
|
|
783
|
+
- [ ] Critical requirements actually relate to THIS technology (no template contamination — e.g. `runInAction()` in a non-MobX skill)
|
|
784
|
+
|
|
785
|
+
**File Structure:**
|
|
786
|
+
- [ ] `examples/core.md` exists (ALWAYS required — rename the most fundamental file if needed)
|
|
787
|
+
- [ ] `<red_flags>` section exists in SKILL.md (not just in reference.md)
|
|
788
|
+
- [ ] SKILL.md is the decision layer (~500 lines max): brief 3-10 line snippets + links to example files, NOT full implementations
|
|
789
|
+
- [ ] No content duplicated between SKILL.md and example files
|
|
790
|
+
- [ ] No content duplicated between SKILL.md and reference.md
|
|
791
|
+
|
|
792
|
+
**API Accuracy:**
|
|
793
|
+
- [ ] For each code example's main API call, verified the function signature against official docs
|
|
794
|
+
- [ ] Verified which package an import comes from (not just the function name)
|
|
795
|
+
- [ ] Checked npm for the latest stable version — updated version claims if stale
|
|
796
|
+
|
|
777
797
|
**Write Verification:**
|
|
778
798
|
- [ ] Re-read the files after completing edits
|
|
779
799
|
- [ ] Verified all required files exist
|
|
@@ -818,6 +838,25 @@ For complex skill creation/improvement tasks spanning multiple conversation turn
|
|
|
818
838
|
- [ ] Any removed content was ONLY removed because it was redundant or violated conventions
|
|
819
839
|
- [ ] Added prompt-bible structure AROUND existing content, not replacing it
|
|
820
840
|
|
|
841
|
+
**Atomicity (REQUIRED — most common source of skill defects):**
|
|
842
|
+
- [ ] Grep for `NEXT_PUBLIC_`, `@repo/`, `@/lib/` — replace with generic names
|
|
843
|
+
- [ ] Grep for external tool names from other domains (React Query, Zustand, SCSS, MSW, Vitest, lucide-react, Hono, Drizzle)
|
|
844
|
+
- [ ] `<integration>` section (if present) names ONLY the skill's own ecosystem packages, not external tools
|
|
845
|
+
- [ ] "When NOT to use" does NOT name specific competing tools by name
|
|
846
|
+
- [ ] Decision trees end within this skill's domain
|
|
847
|
+
- [ ] Critical requirements actually relate to THIS technology (no template contamination)
|
|
848
|
+
|
|
849
|
+
**File Structure:**
|
|
850
|
+
- [ ] `examples/core.md` exists (ALWAYS required)
|
|
851
|
+
- [ ] `<red_flags>` section exists in SKILL.md
|
|
852
|
+
- [ ] SKILL.md serves as decision layer (~500 lines max): brief snippets + links, NOT full implementations
|
|
853
|
+
- [ ] No content duplicated between SKILL.md, reference.md, and example files
|
|
854
|
+
|
|
855
|
+
**API Accuracy:**
|
|
856
|
+
- [ ] For each code example's main API call, verified the function signature against official docs
|
|
857
|
+
- [ ] Verified which package an import comes from (not just the function name)
|
|
858
|
+
- [ ] Checked npm for the latest stable version — updated version claims if stale
|
|
859
|
+
|
|
821
860
|
**Write Verification:**
|
|
822
861
|
- [ ] Re-read the files after completing edits
|
|
823
862
|
- [ ] Verified changes were actually written
|
|
@@ -847,10 +886,16 @@ For complex skill creation/improvement tasks spanning multiple conversation turn
|
|
|
847
886
|
|
|
848
887
|
**Completeness:**
|
|
849
888
|
- [ ] All major patterns covered
|
|
850
|
-
- [ ] Integration guidance
|
|
889
|
+
- [ ] Integration guidance (if present) is generic — names only skill's own packages, not external tools
|
|
851
890
|
- [ ] Testing approaches included (if applicable)
|
|
852
891
|
- [ ] Performance section addresses optimization (if relevant)
|
|
853
892
|
|
|
893
|
+
**Content Ownership (no duplication):**
|
|
894
|
+
- [ ] SKILL.md owns: decisions, philosophy, red flags, brief pattern snippets
|
|
895
|
+
- [ ] Example files own: full code implementations (SKILL.md links to them, doesn't duplicate)
|
|
896
|
+
- [ ] reference.md owns: quick-lookup tables, checklists, API reference
|
|
897
|
+
- [ ] Anti-patterns appear in ONE location (SKILL.md red flags OR reference.md, not both)
|
|
898
|
+
|
|
854
899
|
**Currency:**
|
|
855
900
|
- [ ] No deprecated patterns recommended
|
|
856
901
|
- [ ] Version-specific content accurate
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
useWizardStore
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-PRG7PKZM.js";
|
|
5
|
+
import "../chunk-WS3TL2AO.js";
|
|
6
|
+
import "../chunk-I534EWJQ.js";
|
|
7
|
+
import "../chunk-JWMYAJHD.js";
|
|
8
|
+
import "../chunk-WN2TUP4M.js";
|
|
9
|
+
import "../chunk-Q4PJSAMP.js";
|
|
10
|
+
import "../chunk-FMYAYX6W.js";
|
|
11
|
+
import "../chunk-7XUKTYVD.js";
|
|
12
12
|
import "../chunk-DHET7RCE.js";
|
|
13
13
|
export {
|
|
14
14
|
useWizardStore
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
ALL_SKILLS_WEB_FRAMEWORK_MATRIX,
|
|
10
10
|
ALL_SKILLS_WEB_PAIR_CATEGORIES_MATRIX,
|
|
11
11
|
REACT_HONO_FRAMEWORK_API_MATRIX
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-6F3CZLD6.js";
|
|
13
|
+
import "../chunk-M4ZDKHJV.js";
|
|
14
14
|
import {
|
|
15
15
|
SKILLS,
|
|
16
16
|
createMockMatrix
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-WMMU5FOO.js";
|
|
18
18
|
import {
|
|
19
19
|
beforeEach,
|
|
20
20
|
describe,
|
|
@@ -23,17 +23,17 @@ import {
|
|
|
23
23
|
} from "../chunk-XY3XDVMI.js";
|
|
24
24
|
import {
|
|
25
25
|
useWizardStore
|
|
26
|
-
} from "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
26
|
+
} from "../chunk-PRG7PKZM.js";
|
|
27
|
+
import "../chunk-WS3TL2AO.js";
|
|
28
|
+
import "../chunk-I534EWJQ.js";
|
|
29
29
|
import {
|
|
30
30
|
initializeMatrix,
|
|
31
31
|
typedKeys
|
|
32
|
-
} from "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
32
|
+
} from "../chunk-JWMYAJHD.js";
|
|
33
|
+
import "../chunk-WN2TUP4M.js";
|
|
34
|
+
import "../chunk-Q4PJSAMP.js";
|
|
35
|
+
import "../chunk-FMYAYX6W.js";
|
|
36
|
+
import "../chunk-7XUKTYVD.js";
|
|
37
37
|
import {
|
|
38
38
|
init_esm_shims
|
|
39
39
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -720,7 +720,7 @@ describe("WizardStore", () => {
|
|
|
720
720
|
const store = useWizardStore.getState();
|
|
721
721
|
const stack = {
|
|
722
722
|
agents: {
|
|
723
|
-
misc: { "shared-
|
|
723
|
+
misc: { "shared-meta": [sa("meta-methodology-vitest")] }
|
|
724
724
|
}
|
|
725
725
|
};
|
|
726
726
|
initializeMatrix(ALL_SKILLS_METHODOLOGY_BARE_MATRIX);
|
|
@@ -733,10 +733,10 @@ describe("WizardStore", () => {
|
|
|
733
733
|
const stack = {
|
|
734
734
|
agents: {
|
|
735
735
|
"pattern-scout": {
|
|
736
|
-
"shared-
|
|
737
|
-
sa("meta-methodology
|
|
738
|
-
sa("meta-
|
|
739
|
-
sa("meta-
|
|
736
|
+
"shared-meta": [
|
|
737
|
+
sa("shared-meta-research-methodology", true),
|
|
738
|
+
sa("shared-meta-reviewing", true),
|
|
739
|
+
sa("shared-meta-cli-reviewing", true)
|
|
740
740
|
]
|
|
741
741
|
}
|
|
742
742
|
}
|
|
@@ -744,10 +744,10 @@ describe("WizardStore", () => {
|
|
|
744
744
|
initializeMatrix(ALL_SKILLS_METHODOLOGY_MATRIX);
|
|
745
745
|
store.populateFromStack(stack);
|
|
746
746
|
const { domainSelections } = useWizardStore.getState();
|
|
747
|
-
globalExpect(domainSelections.shared["shared-
|
|
748
|
-
"meta-methodology
|
|
749
|
-
"meta-
|
|
750
|
-
"meta-
|
|
747
|
+
globalExpect(domainSelections.shared["shared-meta"]).toEqual([
|
|
748
|
+
"shared-meta-research-methodology",
|
|
749
|
+
"shared-meta-reviewing",
|
|
750
|
+
"shared-meta-cli-reviewing"
|
|
751
751
|
]);
|
|
752
752
|
});
|
|
753
753
|
it("should handle single-element and multi-element arrays across agents", () => {
|
|
@@ -756,9 +756,9 @@ describe("WizardStore", () => {
|
|
|
756
756
|
agents: {
|
|
757
757
|
web: {
|
|
758
758
|
"web-framework": [sa("web-framework-react", true)],
|
|
759
|
-
"shared-
|
|
760
|
-
sa("meta-methodology
|
|
761
|
-
sa("meta-
|
|
759
|
+
"shared-meta": [
|
|
760
|
+
sa("shared-meta-research-methodology", true),
|
|
761
|
+
sa("shared-meta-reviewing", true)
|
|
762
762
|
]
|
|
763
763
|
},
|
|
764
764
|
api: { "api-api": [sa("api-framework-hono", true)] }
|
|
@@ -768,9 +768,9 @@ describe("WizardStore", () => {
|
|
|
768
768
|
store.populateFromStack(stack);
|
|
769
769
|
const { domainSelections } = useWizardStore.getState();
|
|
770
770
|
globalExpect(domainSelections.web["web-framework"]).toEqual(["web-framework-react"]);
|
|
771
|
-
globalExpect(domainSelections.shared["shared-
|
|
772
|
-
"meta-methodology
|
|
773
|
-
"meta-
|
|
771
|
+
globalExpect(domainSelections.shared["shared-meta"]).toEqual([
|
|
772
|
+
"shared-meta-research-methodology",
|
|
773
|
+
"shared-meta-reviewing"
|
|
774
774
|
]);
|
|
775
775
|
globalExpect(domainSelections.api["api-api"]).toEqual(["api-framework-hono"]);
|
|
776
776
|
});
|
|
@@ -779,15 +779,15 @@ describe("WizardStore", () => {
|
|
|
779
779
|
const stack = {
|
|
780
780
|
agents: {
|
|
781
781
|
agent1: {
|
|
782
|
-
"shared-
|
|
783
|
-
sa("meta-methodology
|
|
784
|
-
sa("meta-
|
|
782
|
+
"shared-meta": [
|
|
783
|
+
sa("shared-meta-research-methodology", true),
|
|
784
|
+
sa("shared-meta-reviewing", true)
|
|
785
785
|
]
|
|
786
786
|
},
|
|
787
787
|
agent2: {
|
|
788
|
-
"shared-
|
|
789
|
-
sa("meta-
|
|
790
|
-
sa("meta-
|
|
788
|
+
"shared-meta": [
|
|
789
|
+
sa("shared-meta-reviewing", true),
|
|
790
|
+
sa("shared-meta-cli-reviewing", true)
|
|
791
791
|
]
|
|
792
792
|
}
|
|
793
793
|
}
|
|
@@ -795,10 +795,10 @@ describe("WizardStore", () => {
|
|
|
795
795
|
initializeMatrix(ALL_SKILLS_METHODOLOGY_MATRIX);
|
|
796
796
|
store.populateFromStack(stack);
|
|
797
797
|
const { domainSelections } = useWizardStore.getState();
|
|
798
|
-
globalExpect(domainSelections.shared["shared-
|
|
799
|
-
"meta-methodology
|
|
800
|
-
"meta-
|
|
801
|
-
"meta-
|
|
798
|
+
globalExpect(domainSelections.shared["shared-meta"]).toEqual([
|
|
799
|
+
"shared-meta-research-methodology",
|
|
800
|
+
"shared-meta-reviewing",
|
|
801
|
+
"shared-meta-cli-reviewing"
|
|
802
802
|
]);
|
|
803
803
|
});
|
|
804
804
|
});
|