agents-inc 0.162.0 → 0.164.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 +28 -0
- package/dist/{chunk-HRVPZMKK.js → chunk-2CQNPLVF.js} +35 -14
- package/dist/chunk-2CQNPLVF.js.map +1 -0
- package/dist/{chunk-VFZF7LVY.js → chunk-3WVH2CTK.js} +3 -3
- package/dist/{chunk-5J6DO4VW.js → chunk-4VL3CEOS.js} +3 -3
- package/dist/{chunk-QM3ZNOWJ.js → chunk-6MV4JOCL.js} +2 -2
- package/dist/{chunk-WIJM6BX6.js → chunk-7ANJQLPJ.js} +2 -2
- package/dist/{chunk-3JDVBHWO.js → chunk-7REKOTKG.js} +2 -2
- package/dist/{chunk-MI7LKLD7.js → chunk-ABAZMMG4.js} +2 -2
- package/dist/{chunk-XSM3IBMG.js → chunk-AOTCIUGX.js} +2 -2
- package/dist/{chunk-L65XGQKR.js → chunk-ARYNOWKF.js} +8 -8
- package/dist/{chunk-3QBOVV6A.js → chunk-AVK2HEKB.js} +5 -5
- package/dist/{chunk-3QBOVV6A.js.map → chunk-AVK2HEKB.js.map} +1 -1
- package/dist/{chunk-AQSMNUKJ.js → chunk-B3Y3QMWI.js} +4 -4
- package/dist/{chunk-ES7WGE32.js → chunk-B6FSLXYN.js} +3 -3
- package/dist/{chunk-S6GX7IJ2.js → chunk-DSL66I4N.js} +6 -6
- package/dist/{chunk-IMTWWA3N.js → chunk-ECURHW3T.js} +12 -12
- package/dist/{chunk-VEONZFTL.js → chunk-FLW25ORT.js} +3 -3
- package/dist/{chunk-53XPSAJ4.js → chunk-G2JJ5BO5.js} +17 -16
- package/dist/chunk-G2JJ5BO5.js.map +1 -0
- package/dist/{chunk-H2MDPOLG.js → chunk-JIERYE6B.js} +5 -5
- package/dist/{chunk-GFO55TMY.js → chunk-JU4ZGJ7A.js} +100 -24
- package/dist/chunk-JU4ZGJ7A.js.map +1 -0
- package/dist/{chunk-K26SBQLO.js → chunk-K5ITEA3I.js} +4 -4
- package/dist/{chunk-4KVJJJG2.js → chunk-LT5GXEB2.js} +6 -6
- package/dist/{chunk-2IMHZEIK.js → chunk-NKGYKOB7.js} +3 -3
- package/dist/{chunk-X6KXPRKI.js → chunk-NQXO4LR3.js} +4 -4
- package/dist/{chunk-ZFPQM63K.js → chunk-NTF4UXGK.js} +5 -5
- package/dist/{chunk-77YZFVQD.js → chunk-PHCPUQVR.js} +2 -2
- package/dist/{chunk-T2RPUNYP.js → chunk-Q4IRRVXK.js} +3 -3
- package/dist/{chunk-EN5MEPAS.js → chunk-QGUP3QJF.js} +5 -5
- package/dist/{chunk-MSUTHS2V.js → chunk-QZX7SYKU.js} +2 -2
- package/dist/{chunk-BR3TNSO3.js → chunk-RGYDFBCT.js} +4 -4
- package/dist/{chunk-4NAWM4OQ.js → chunk-S63LXWMC.js} +2 -2
- package/dist/{chunk-IV42Z63R.js → chunk-UITEKY2R.js} +19 -9
- package/dist/chunk-UITEKY2R.js.map +1 -0
- package/dist/{chunk-RMMEYCEA.js → chunk-URXIQE7I.js} +2 -2
- package/dist/{chunk-57YWAMNT.js → chunk-V5GLL2JB.js} +7 -7
- package/dist/{chunk-C53RJ7AA.js → chunk-X37UYIE3.js} +43 -41
- package/dist/chunk-X37UYIE3.js.map +1 -0
- package/dist/{chunk-J2YG7P7L.js → chunk-X4SSJZLY.js} +49 -6
- package/dist/chunk-X4SSJZLY.js.map +1 -0
- package/dist/{chunk-VEBEGZUV.js → chunk-XATLUKXK.js} +5 -5
- package/dist/{chunk-33ZKIYJM.js → chunk-XHPWTL4I.js} +3 -3
- package/dist/{chunk-UNASGGW2.js → chunk-XPDVAJDH.js} +69 -8
- package/dist/chunk-XPDVAJDH.js.map +1 -0
- package/dist/{chunk-FL2CJ5T5.js → chunk-YRS3QZP2.js} +3 -3
- package/dist/{chunk-FXL63LDL.js → chunk-ZVXGW2IC.js} +2 -2
- package/dist/commands/build/marketplace.js +7 -7
- package/dist/commands/build/plugins.js +7 -7
- package/dist/commands/compile.js +82 -30
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/doctor.js +10 -10
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +40 -38
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +10 -10
- package/dist/commands/init.js +36 -36
- package/dist/commands/list.js +8 -8
- package/dist/commands/new/marketplace.js +7 -7
- package/dist/commands/search.js +10 -10
- package/dist/commands/share.js +8 -8
- package/dist/commands/uninstall.js +11 -11
- package/dist/commands/update.js +6 -6
- package/dist/components/common/removal-plan-confirm.js +2 -2
- package/dist/components/common/select-list.js +2 -2
- package/dist/components/wizard/category-grid.js +4 -4
- package/dist/components/wizard/checkbox-grid.js +4 -4
- package/dist/components/wizard/domain-selection.js +9 -9
- package/dist/components/wizard/run-wizard-session.js +26 -26
- package/dist/components/wizard/scroll-affordance.js +2 -2
- package/dist/components/wizard/skill-agent-summary.js +5 -5
- package/dist/components/wizard/source-grid.js +5 -5
- package/dist/components/wizard/stack-selection.js +7 -7
- package/dist/components/wizard/step-agents.js +8 -8
- package/dist/components/wizard/step-build.js +7 -7
- package/dist/components/wizard/step-confirm.js +9 -9
- package/dist/components/wizard/step-sources.js +8 -8
- package/dist/components/wizard/step-stack.js +8 -8
- package/dist/components/wizard/summary-panel.js +8 -8
- package/dist/components/wizard/toast.js +2 -2
- package/dist/components/wizard/wizard-layout.js +12 -12
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard.js +25 -25
- package/dist/hooks/init.js +36 -36
- package/dist/load-agent-defs-7IM3GBEQ.js +13 -0
- package/dist/recompile-project-agents-VR4NLGOU.js +17 -0
- package/dist/{source-loader-KAWB76OH.js → source-loader-GRBVNRAW.js} +4 -4
- package/dist/src/agents/_templates/agent.liquid +30 -122
- package/dist/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
- package/dist/src/agents/developer/ai-developer/critical-reminders.md +9 -48
- package/dist/src/agents/developer/ai-developer/critical-requirements.md +29 -47
- package/dist/src/agents/developer/ai-developer/identity.md +31 -40
- package/dist/src/agents/developer/ai-developer/output.md +92 -245
- package/dist/src/agents/developer/ai-developer/playbook.md +116 -270
- package/dist/src/agents/developer/api-developer/critical-reminders.md +9 -40
- package/dist/src/agents/developer/api-developer/critical-requirements.md +19 -34
- package/dist/src/agents/developer/api-developer/identity.md +18 -33
- package/dist/src/agents/developer/api-developer/output.md +118 -255
- package/dist/src/agents/developer/api-developer/playbook.md +103 -284
- package/dist/src/agents/developer/cli-developer/critical-reminders.md +9 -45
- package/dist/src/agents/developer/cli-developer/critical-requirements.md +21 -39
- package/dist/src/agents/developer/cli-developer/identity.md +22 -36
- package/dist/src/agents/developer/cli-developer/output.md +72 -185
- package/dist/src/agents/developer/cli-developer/playbook.md +107 -307
- package/dist/src/agents/developer/web-developer/critical-reminders.md +9 -34
- package/dist/src/agents/developer/web-developer/critical-requirements.md +11 -30
- package/dist/src/agents/developer/web-developer/identity.md +15 -15
- package/dist/src/agents/developer/web-developer/output.md +67 -220
- package/dist/src/agents/developer/web-developer/playbook.md +93 -283
- package/dist/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
- package/dist/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
- package/dist/src/agents/meta/agent-summoner/identity.md +20 -23
- package/dist/src/agents/meta/agent-summoner/metadata.yaml +1 -1
- package/dist/src/agents/meta/agent-summoner/output.md +85 -261
- package/dist/src/agents/meta/agent-summoner/playbook.md +220 -1398
- package/dist/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
- package/dist/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
- package/dist/src/agents/meta/codex-keeper/identity.md +31 -32
- package/dist/src/agents/meta/codex-keeper/output.md +49 -335
- package/dist/src/agents/meta/codex-keeper/playbook.md +164 -1110
- package/dist/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
- package/dist/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
- package/dist/src/agents/meta/convention-keeper/identity.md +35 -21
- package/dist/src/agents/meta/convention-keeper/metadata.yaml +1 -1
- package/dist/src/agents/meta/convention-keeper/output.md +33 -123
- package/dist/src/agents/meta/convention-keeper/playbook.md +64 -144
- package/dist/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
- package/dist/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
- package/dist/src/agents/meta/skill-summoner/identity.md +18 -22
- package/dist/src/agents/meta/skill-summoner/metadata.yaml +1 -1
- package/dist/src/agents/meta/skill-summoner/output.md +164 -270
- package/dist/src/agents/meta/skill-summoner/playbook.md +150 -1398
- package/dist/src/agents/planning/pm/critical-requirements.md +23 -25
- package/dist/src/agents/planning/pm/identity.md +24 -23
- package/dist/src/agents/planning/pm/output.md +5 -9
- package/dist/src/agents/planning/pm/playbook.md +50 -140
- package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
- package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
- package/dist/src/agents/researcher/ai-researcher/identity.md +36 -77
- package/dist/src/agents/researcher/ai-researcher/output.md +44 -151
- package/dist/src/agents/researcher/ai-researcher/playbook.md +130 -394
- package/dist/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
- package/dist/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
- package/dist/src/agents/researcher/api-researcher/identity.md +29 -63
- package/dist/src/agents/researcher/api-researcher/output.md +61 -153
- package/dist/src/agents/researcher/api-researcher/playbook.md +63 -140
- package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
- package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
- package/dist/src/agents/researcher/cli-researcher/identity.md +36 -78
- package/dist/src/agents/researcher/cli-researcher/output.md +22 -128
- package/dist/src/agents/researcher/cli-researcher/playbook.md +108 -263
- package/dist/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
- package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
- package/dist/src/agents/researcher/web-researcher/identity.md +28 -60
- package/dist/src/agents/researcher/web-researcher/output.md +41 -134
- package/dist/src/agents/researcher/web-researcher/playbook.md +48 -162
- package/dist/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
- package/dist/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
- package/dist/src/agents/reviewer/reviewer/identity.md +23 -20
- package/dist/src/agents/reviewer/reviewer/metadata.yaml +7 -2
- package/dist/src/agents/reviewer/reviewer/output.md +8 -26
- package/dist/src/agents/reviewer/reviewer/playbook.md +50 -91
- package/dist/src/agents/tester/ai-tester/critical-reminders.md +7 -40
- package/dist/src/agents/tester/ai-tester/critical-requirements.md +39 -31
- package/dist/src/agents/tester/ai-tester/identity.md +25 -40
- package/dist/src/agents/tester/ai-tester/output.md +8 -144
- package/dist/src/agents/tester/ai-tester/playbook.md +28 -40
- package/dist/src/agents/tester/api-tester/critical-reminders.md +8 -35
- package/dist/src/agents/tester/api-tester/critical-requirements.md +36 -25
- package/dist/src/agents/tester/api-tester/identity.md +18 -29
- package/dist/src/agents/tester/api-tester/metadata.yaml +1 -1
- package/dist/src/agents/tester/api-tester/output.md +3 -86
- package/dist/src/agents/tester/api-tester/playbook.md +10 -2
- package/dist/src/agents/tester/cli-tester/critical-reminders.md +7 -30
- package/dist/src/agents/tester/cli-tester/critical-requirements.md +29 -21
- package/dist/src/agents/tester/cli-tester/identity.md +25 -33
- package/dist/src/agents/tester/cli-tester/output.md +13 -105
- package/dist/src/agents/tester/cli-tester/playbook.md +8 -5
- package/dist/src/agents/tester/web-tester/critical-reminders.md +7 -25
- package/dist/src/agents/tester/web-tester/critical-requirements.md +25 -16
- package/dist/src/agents/tester/web-tester/identity.md +24 -30
- package/dist/src/agents/tester/web-tester/output.md +11 -116
- package/dist/src/agents/tester/web-tester/playbook.md +58 -221
- package/dist/stores/wizard-store.js +4 -4
- package/package.json +1 -1
- package/src/agents/_templates/agent.liquid +30 -122
- package/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
- package/src/agents/developer/ai-developer/critical-reminders.md +9 -48
- package/src/agents/developer/ai-developer/critical-requirements.md +29 -47
- package/src/agents/developer/ai-developer/identity.md +31 -40
- package/src/agents/developer/ai-developer/output.md +92 -245
- package/src/agents/developer/ai-developer/playbook.md +116 -270
- package/src/agents/developer/api-developer/critical-reminders.md +9 -40
- package/src/agents/developer/api-developer/critical-requirements.md +19 -34
- package/src/agents/developer/api-developer/identity.md +18 -33
- package/src/agents/developer/api-developer/output.md +118 -255
- package/src/agents/developer/api-developer/playbook.md +103 -284
- package/src/agents/developer/cli-developer/critical-reminders.md +9 -45
- package/src/agents/developer/cli-developer/critical-requirements.md +21 -39
- package/src/agents/developer/cli-developer/identity.md +22 -36
- package/src/agents/developer/cli-developer/output.md +72 -185
- package/src/agents/developer/cli-developer/playbook.md +107 -307
- package/src/agents/developer/web-developer/critical-reminders.md +9 -34
- package/src/agents/developer/web-developer/critical-requirements.md +11 -30
- package/src/agents/developer/web-developer/identity.md +15 -15
- package/src/agents/developer/web-developer/output.md +67 -220
- package/src/agents/developer/web-developer/playbook.md +93 -283
- package/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
- package/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
- package/src/agents/meta/agent-summoner/identity.md +20 -23
- package/src/agents/meta/agent-summoner/metadata.yaml +1 -1
- package/src/agents/meta/agent-summoner/output.md +85 -261
- package/src/agents/meta/agent-summoner/playbook.md +220 -1398
- package/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
- package/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
- package/src/agents/meta/codex-keeper/identity.md +31 -32
- package/src/agents/meta/codex-keeper/output.md +49 -335
- package/src/agents/meta/codex-keeper/playbook.md +164 -1110
- package/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
- package/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
- package/src/agents/meta/convention-keeper/identity.md +35 -21
- package/src/agents/meta/convention-keeper/metadata.yaml +1 -1
- package/src/agents/meta/convention-keeper/output.md +33 -123
- package/src/agents/meta/convention-keeper/playbook.md +64 -144
- package/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
- package/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
- package/src/agents/meta/skill-summoner/identity.md +18 -22
- package/src/agents/meta/skill-summoner/metadata.yaml +1 -1
- package/src/agents/meta/skill-summoner/output.md +164 -270
- package/src/agents/meta/skill-summoner/playbook.md +150 -1398
- package/src/agents/planning/pm/critical-requirements.md +23 -25
- package/src/agents/planning/pm/identity.md +24 -23
- package/src/agents/planning/pm/output.md +5 -9
- package/src/agents/planning/pm/playbook.md +50 -140
- package/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
- package/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
- package/src/agents/researcher/ai-researcher/identity.md +36 -77
- package/src/agents/researcher/ai-researcher/output.md +44 -151
- package/src/agents/researcher/ai-researcher/playbook.md +130 -394
- package/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
- package/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
- package/src/agents/researcher/api-researcher/identity.md +29 -63
- package/src/agents/researcher/api-researcher/output.md +61 -153
- package/src/agents/researcher/api-researcher/playbook.md +63 -140
- package/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
- package/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
- package/src/agents/researcher/cli-researcher/identity.md +36 -78
- package/src/agents/researcher/cli-researcher/output.md +22 -128
- package/src/agents/researcher/cli-researcher/playbook.md +108 -263
- package/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
- package/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
- package/src/agents/researcher/web-researcher/identity.md +28 -60
- package/src/agents/researcher/web-researcher/output.md +41 -134
- package/src/agents/researcher/web-researcher/playbook.md +48 -162
- package/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
- package/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
- package/src/agents/reviewer/reviewer/identity.md +23 -20
- package/src/agents/reviewer/reviewer/metadata.yaml +7 -2
- package/src/agents/reviewer/reviewer/output.md +8 -26
- package/src/agents/reviewer/reviewer/playbook.md +50 -91
- package/src/agents/tester/ai-tester/critical-reminders.md +7 -40
- package/src/agents/tester/ai-tester/critical-requirements.md +39 -31
- package/src/agents/tester/ai-tester/identity.md +25 -40
- package/src/agents/tester/ai-tester/output.md +8 -144
- package/src/agents/tester/ai-tester/playbook.md +28 -40
- package/src/agents/tester/api-tester/critical-reminders.md +8 -35
- package/src/agents/tester/api-tester/critical-requirements.md +36 -25
- package/src/agents/tester/api-tester/identity.md +18 -29
- package/src/agents/tester/api-tester/metadata.yaml +1 -1
- package/src/agents/tester/api-tester/output.md +3 -86
- package/src/agents/tester/api-tester/playbook.md +10 -2
- package/src/agents/tester/cli-tester/critical-reminders.md +7 -30
- package/src/agents/tester/cli-tester/critical-requirements.md +29 -21
- package/src/agents/tester/cli-tester/identity.md +25 -33
- package/src/agents/tester/cli-tester/output.md +13 -105
- package/src/agents/tester/cli-tester/playbook.md +8 -5
- package/src/agents/tester/web-tester/critical-reminders.md +7 -25
- package/src/agents/tester/web-tester/critical-requirements.md +25 -16
- package/src/agents/tester/web-tester/identity.md +24 -30
- package/src/agents/tester/web-tester/output.md +11 -116
- package/src/agents/tester/web-tester/playbook.md +58 -221
- package/src/schemas/agent-frontmatter.schema.json +14 -0
- package/src/schemas/agent.schema.json +14 -0
- package/dist/chunk-53XPSAJ4.js.map +0 -1
- package/dist/chunk-C53RJ7AA.js.map +0 -1
- package/dist/chunk-GFO55TMY.js.map +0 -1
- package/dist/chunk-HRVPZMKK.js.map +0 -1
- package/dist/chunk-IV42Z63R.js.map +0 -1
- package/dist/chunk-J2YG7P7L.js.map +0 -1
- package/dist/chunk-UNASGGW2.js.map +0 -1
- package/dist/load-agent-defs-57YKPVQW.js +0 -13
- package/dist/recompile-project-agents-IQD3HRRS.js +0 -17
- package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
- package/dist/src/agents/_templates/methodologies/context-management.liquid +0 -15
- package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
- package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
- package/dist/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
- package/dist/src/agents/_templates/methodologies/write-verification.liquid +0 -43
- package/dist/src/agents/planning/pm/critical-reminders.md +0 -39
- package/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
- package/src/agents/_templates/methodologies/context-management.liquid +0 -15
- package/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
- package/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
- package/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
- package/src/agents/_templates/methodologies/write-verification.liquid +0 -43
- package/src/agents/planning/pm/critical-reminders.md +0 -39
- /package/dist/{chunk-VFZF7LVY.js.map → chunk-3WVH2CTK.js.map} +0 -0
- /package/dist/{chunk-5J6DO4VW.js.map → chunk-4VL3CEOS.js.map} +0 -0
- /package/dist/{chunk-QM3ZNOWJ.js.map → chunk-6MV4JOCL.js.map} +0 -0
- /package/dist/{chunk-WIJM6BX6.js.map → chunk-7ANJQLPJ.js.map} +0 -0
- /package/dist/{chunk-3JDVBHWO.js.map → chunk-7REKOTKG.js.map} +0 -0
- /package/dist/{chunk-MI7LKLD7.js.map → chunk-ABAZMMG4.js.map} +0 -0
- /package/dist/{chunk-XSM3IBMG.js.map → chunk-AOTCIUGX.js.map} +0 -0
- /package/dist/{chunk-L65XGQKR.js.map → chunk-ARYNOWKF.js.map} +0 -0
- /package/dist/{chunk-AQSMNUKJ.js.map → chunk-B3Y3QMWI.js.map} +0 -0
- /package/dist/{chunk-ES7WGE32.js.map → chunk-B6FSLXYN.js.map} +0 -0
- /package/dist/{chunk-S6GX7IJ2.js.map → chunk-DSL66I4N.js.map} +0 -0
- /package/dist/{chunk-IMTWWA3N.js.map → chunk-ECURHW3T.js.map} +0 -0
- /package/dist/{chunk-VEONZFTL.js.map → chunk-FLW25ORT.js.map} +0 -0
- /package/dist/{chunk-H2MDPOLG.js.map → chunk-JIERYE6B.js.map} +0 -0
- /package/dist/{chunk-K26SBQLO.js.map → chunk-K5ITEA3I.js.map} +0 -0
- /package/dist/{chunk-4KVJJJG2.js.map → chunk-LT5GXEB2.js.map} +0 -0
- /package/dist/{chunk-2IMHZEIK.js.map → chunk-NKGYKOB7.js.map} +0 -0
- /package/dist/{chunk-X6KXPRKI.js.map → chunk-NQXO4LR3.js.map} +0 -0
- /package/dist/{chunk-ZFPQM63K.js.map → chunk-NTF4UXGK.js.map} +0 -0
- /package/dist/{chunk-77YZFVQD.js.map → chunk-PHCPUQVR.js.map} +0 -0
- /package/dist/{chunk-T2RPUNYP.js.map → chunk-Q4IRRVXK.js.map} +0 -0
- /package/dist/{chunk-EN5MEPAS.js.map → chunk-QGUP3QJF.js.map} +0 -0
- /package/dist/{chunk-MSUTHS2V.js.map → chunk-QZX7SYKU.js.map} +0 -0
- /package/dist/{chunk-BR3TNSO3.js.map → chunk-RGYDFBCT.js.map} +0 -0
- /package/dist/{chunk-4NAWM4OQ.js.map → chunk-S63LXWMC.js.map} +0 -0
- /package/dist/{chunk-RMMEYCEA.js.map → chunk-URXIQE7I.js.map} +0 -0
- /package/dist/{chunk-57YWAMNT.js.map → chunk-V5GLL2JB.js.map} +0 -0
- /package/dist/{chunk-VEBEGZUV.js.map → chunk-XATLUKXK.js.map} +0 -0
- /package/dist/{chunk-33ZKIYJM.js.map → chunk-XHPWTL4I.js.map} +0 -0
- /package/dist/{chunk-FL2CJ5T5.js.map → chunk-YRS3QZP2.js.map} +0 -0
- /package/dist/{chunk-FXL63LDL.js.map → chunk-ZVXGW2IC.js.map} +0 -0
- /package/dist/{load-agent-defs-57YKPVQW.js.map → load-agent-defs-7IM3GBEQ.js.map} +0 -0
- /package/dist/{recompile-project-agents-IQD3HRRS.js.map → recompile-project-agents-VR4NLGOU.js.map} +0 -0
- /package/dist/{source-loader-KAWB76OH.js.map → source-loader-GRBVNRAW.js.map} +0 -0
|
@@ -1,241 +1,245 @@
|
|
|
1
1
|
## Output Format
|
|
2
2
|
|
|
3
3
|
<output_format>
|
|
4
|
-
Provide your skill definition in this structure:
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
Write the skill to disk as a directory, then report each file you wrote.
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
### Directory
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
**The directory name is the skill id** — the string the config, the matrix and every agent's skill
|
|
10
|
+
list refer to. It takes the shape `{domain}-{group}-{technology}` and lands at
|
|
11
|
+
`<project>/.claude/skills/<id>/` for a project skill, `~/.claude/skills/<id>/` for a global-scope
|
|
12
|
+
one, or `src/skills/<id>/` in a marketplace source repository.
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
```
|
|
15
|
+
<id>/
|
|
16
|
+
├── SKILL.md the decision layer — loaded whole when the skill is invoked
|
|
17
|
+
├── metadata.yaml the catalogue entry
|
|
18
|
+
├── reference.md comparison tables, API lookup and migration notes
|
|
19
|
+
└── examples/
|
|
20
|
+
├── core.md the essential patterns, in full
|
|
21
|
+
└── {topic}.md one per topic the technology splits into naturally
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**The directory is levels of disclosure, and each costs differently.** `metadata.yaml` and
|
|
25
|
+
`SKILL.md`'s frontmatter are read to decide whether the skill applies at all. `SKILL.md`'s body is
|
|
26
|
+
loaded whole once it does. `reference.md` and `examples/` stay dormant on disk until something
|
|
27
|
+
reaches for them by name.
|
|
13
28
|
|
|
14
29
|
### metadata.yaml
|
|
15
30
|
|
|
31
|
+
**Every field is stated rather than derived from the directory name.** `desktop-backend-tauri`
|
|
32
|
+
carries slug `tauri-backend` and `api-database-drizzle` carries category `api-orm`, so reading a
|
|
33
|
+
field off the id gives the wrong answer for a real share of the catalogue. `category`, `slug`,
|
|
34
|
+
`author`, `displayName`, `cliDescription` and `usageGuidance` are required by
|
|
35
|
+
`packages/cli/src/schemas/metadata.schema.json`, and `domain` is required by the loader. The schema refuses any
|
|
36
|
+
key it does not declare, which is why there is no `version` and no `tags` — and why `custom`,
|
|
37
|
+
which it does declare, is available below.
|
|
38
|
+
|
|
16
39
|
```yaml
|
|
17
40
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/agents-inc/agents-inc/main/packages/cli/src/schemas/metadata.schema.json
|
|
18
|
-
category: [
|
|
19
|
-
slug: [
|
|
20
|
-
domain: [
|
|
21
|
-
author: "@[
|
|
22
|
-
displayName: [
|
|
23
|
-
cliDescription: [
|
|
41
|
+
category: [one of the values enumerated in metadata.schema.json]
|
|
42
|
+
slug: [a catalogue slug, or any kebab-case name when custom: true is set]
|
|
43
|
+
domain: [ai | api | cli | desktop | infra | meta | mobile | shared | web]
|
|
44
|
+
author: "@[handle]"
|
|
45
|
+
displayName: [30 characters or fewer]
|
|
46
|
+
cliDescription: [60 characters or fewer]
|
|
24
47
|
usageGuidance: >-
|
|
25
|
-
[
|
|
48
|
+
[The conditions under which an agent should load this skill, named specifically]
|
|
26
49
|
```
|
|
27
50
|
|
|
51
|
+
**Which schema validates the file depends on one field.** For a technology the public catalogue
|
|
52
|
+
already carries, `category` and `slug` are closed enums generated from that catalogue by
|
|
53
|
+
`packages/cli/scripts/generate-json-schemas.ts`, and the values have to be the catalogue's own. For a technology
|
|
54
|
+
it does not carry, add `custom: true`: `validateSkillMetadata` then judges the file by
|
|
55
|
+
`customMetadataValidationSchema`, where `category` is any string and `slug` any kebab-case name up
|
|
56
|
+
to 50 characters. Writing a new slug without that field is what gets rejected — the field is the
|
|
57
|
+
declaration that this skill is not a catalogue entry.
|
|
58
|
+
|
|
59
|
+
The `$schema` line is `SCHEMA_PATHS.metadata` in `packages/cli/src/cli/consts.ts` for a catalogue
|
|
60
|
+
skill, and the custom-metadata path beside it for one declaring `custom: true`; copy the value from
|
|
61
|
+
there rather than typing it, in case the address has moved.
|
|
62
|
+
|
|
28
63
|
### SKILL.md
|
|
29
64
|
|
|
30
65
|
````markdown
|
|
31
66
|
---
|
|
32
|
-
name: [
|
|
33
|
-
description: [One
|
|
67
|
+
name: [the skill id, matching the directory name]
|
|
68
|
+
description: [One line — what the skill covers, then the conditions that should load it]
|
|
34
69
|
---
|
|
35
70
|
|
|
36
|
-
# [
|
|
37
|
-
|
|
38
|
-
> **Quick Guide:** [1-2 sentence summary of when/why to use this technology]
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
<critical_requirements>
|
|
43
|
-
|
|
44
|
-
## ⚠️ CRITICAL: Before Using This Skill
|
|
45
|
-
|
|
46
|
-
> **All code must follow project conventions in CLAUDE.md** (kebab-case, named exports, import ordering, `import type`, named constants)
|
|
71
|
+
# [Technology] Patterns
|
|
47
72
|
|
|
48
|
-
**
|
|
73
|
+
> **Quick Guide:** [One paragraph. The decisions this skill settles, and the version-specific facts
|
|
74
|
+
> that change the answer.]
|
|
49
75
|
|
|
50
|
-
**
|
|
76
|
+
**Detailed Resources:**
|
|
51
77
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
78
|
+
- [examples/core.md](examples/core.md) — [the patterns it carries]
|
|
79
|
+
- [examples/{topic}.md](examples/{topic}.md) — [the patterns it carries]
|
|
80
|
+
- [reference.md](reference.md) — comparison tables, API lookup and migration notes
|
|
55
81
|
|
|
56
82
|
---
|
|
57
83
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
**When to use:**
|
|
84
|
+
## Which path applies
|
|
61
85
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- [Specific scenario 3]
|
|
86
|
+
[Include this section only where the technology is used in more than one way. Branch on what the
|
|
87
|
+
workspace shows and name the file each branch opens, so the branches not taken stay unread.]
|
|
65
88
|
|
|
66
|
-
**
|
|
67
|
-
|
|
68
|
-
- [
|
|
69
|
-
|
|
70
|
-
- [Core pattern 3]
|
|
89
|
+
- **[The condition the first branch is for]** — [what changes], then follow
|
|
90
|
+
[examples/{topic}.md](examples/{topic}.md).
|
|
91
|
+
- **[The second condition]** — [what changes], then follow
|
|
92
|
+
[examples/{other}.md](examples/{other}.md).
|
|
71
93
|
|
|
72
94
|
---
|
|
73
95
|
|
|
74
|
-
<
|
|
75
|
-
|
|
76
|
-
## Philosophy
|
|
77
|
-
|
|
78
|
-
[Why this technology exists, what problems it solves]
|
|
96
|
+
<critical_requirements>
|
|
79
97
|
|
|
80
|
-
|
|
98
|
+
## Before writing [Technology] code
|
|
81
99
|
|
|
82
|
-
|
|
83
|
-
- [Use case 2]
|
|
100
|
+
[The action to take, and what it buys, in one sentence.]
|
|
84
101
|
|
|
85
|
-
|
|
102
|
+
[The second action, and what it buys.]
|
|
86
103
|
|
|
87
|
-
|
|
88
|
-
- [Anti-pattern scenario 2]
|
|
104
|
+
[The third.]
|
|
89
105
|
|
|
90
|
-
</
|
|
106
|
+
</critical_requirements>
|
|
91
107
|
|
|
92
108
|
---
|
|
93
109
|
|
|
94
|
-
|
|
110
|
+
**Auto-detection:** [comma-separated symbols, import paths and phrases that should load this skill]
|
|
95
111
|
|
|
96
|
-
|
|
112
|
+
**Applies to:**
|
|
97
113
|
|
|
98
|
-
|
|
114
|
+
- [A task this skill answers]
|
|
115
|
+
- [Another]
|
|
99
116
|
|
|
100
|
-
|
|
117
|
+
**Handled elsewhere:**
|
|
101
118
|
|
|
102
|
-
[
|
|
103
|
-
|
|
104
|
-
```[language]
|
|
105
|
-
// ✅ Good Example
|
|
106
|
-
// Complete, runnable code with explanatory comments
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**Why good:** [Concise reasoning as comma-separated list - explain the consequence/benefit, not just facts]
|
|
110
|
-
|
|
111
|
-
```[language]
|
|
112
|
-
// ❌ Bad Example - Anti-pattern
|
|
113
|
-
// Code showing what NOT to do
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
**Why bad:** [Concise reasoning as comma-separated list - explain what breaks/fails, not just "missing X"]
|
|
117
|
-
|
|
118
|
-
[OPTIONAL - only include if not obvious from context:]
|
|
119
|
-
**When to use:** [Concise scenario - only when the choice isn't self-evident]
|
|
120
|
-
|
|
121
|
-
**When not to use:** [Concise anti-pattern - only when helpful to clarify boundaries]
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
### Pattern 2: [Name]
|
|
126
|
-
|
|
127
|
-
[Continue for all major patterns with embedded good/bad examples...]
|
|
128
|
-
|
|
129
|
-
</patterns>
|
|
119
|
+
- [Adjacent concern, named as a capability rather than as the skill or package that provides it]
|
|
130
120
|
|
|
131
121
|
---
|
|
132
122
|
|
|
133
|
-
<
|
|
134
|
-
|
|
135
|
-
## Performance Optimization (OPTIONAL)
|
|
123
|
+
<philosophy>
|
|
136
124
|
|
|
137
|
-
[
|
|
125
|
+
[Optional. Why this technology, and the mental model it asks for — include it where the shape of the
|
|
126
|
+
tool is non-obvious, and leave it out where the patterns speak for themselves.]
|
|
138
127
|
|
|
139
|
-
</
|
|
128
|
+
</philosophy>
|
|
140
129
|
|
|
141
130
|
---
|
|
142
131
|
|
|
143
132
|
<decision_framework>
|
|
144
133
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
[Decision tree or flow chart for choosing between approaches]
|
|
134
|
+
[Optional. Comparative "pick X over Y" guidance, where the technology competes with a named
|
|
135
|
+
alternative inside its own domain. Every branch ends inside this skill.]
|
|
148
136
|
|
|
149
137
|
</decision_framework>
|
|
150
138
|
|
|
151
139
|
---
|
|
152
140
|
|
|
153
|
-
<
|
|
141
|
+
<patterns>
|
|
154
142
|
|
|
155
|
-
##
|
|
143
|
+
## Core patterns
|
|
156
144
|
|
|
157
|
-
|
|
145
|
+
### Pattern 1: [Name]
|
|
158
146
|
|
|
159
|
-
|
|
147
|
+
[One or two sentences: what the pattern is, and when it is the right choice.]
|
|
160
148
|
|
|
161
|
-
|
|
162
|
-
|
|
149
|
+
```[language]
|
|
150
|
+
[3–10 lines showing the shape — the call, the signature, the arrangement. Not a runnable file.]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Full code: [examples/core.md](examples/core.md)
|
|
163
154
|
|
|
164
|
-
|
|
155
|
+
### Pattern 2: [Name]
|
|
165
156
|
|
|
166
|
-
|
|
157
|
+
[Same shape, one entry per pattern the technology turns on.]
|
|
167
158
|
|
|
168
|
-
</
|
|
159
|
+
</patterns>
|
|
169
160
|
|
|
170
161
|
---
|
|
171
162
|
|
|
172
163
|
<red_flags>
|
|
173
164
|
|
|
174
|
-
##
|
|
175
|
-
|
|
176
|
-
**High Priority Issues:**
|
|
165
|
+
## Red flags
|
|
177
166
|
|
|
178
|
-
|
|
179
|
-
- ❌ [Anti-pattern 2 with explanation]
|
|
167
|
+
**Breaks at runtime:**
|
|
180
168
|
|
|
181
|
-
|
|
169
|
+
- [What gets written] — [what it costs] — [what to write instead]
|
|
182
170
|
|
|
183
|
-
|
|
184
|
-
- ⚠️ [Warning 2]
|
|
171
|
+
**Surprising behaviour:**
|
|
185
172
|
|
|
186
|
-
|
|
173
|
+
- [The quirk, and the condition that triggers it]
|
|
187
174
|
|
|
188
|
-
|
|
189
|
-
|
|
175
|
+
</red_flags>
|
|
176
|
+
````
|
|
190
177
|
|
|
191
|
-
|
|
178
|
+
Name the concern rather than the neighbour in "Handled elsewhere" — a skill that points at a
|
|
179
|
+
sibling by name couples the two, so a reader who has a different tool for that concern is sent to
|
|
180
|
+
the wrong place and the pair have to be updated together.
|
|
192
181
|
|
|
193
|
-
|
|
194
|
-
|
|
182
|
+
The requirements appear once, at the top. A closing block repeating them is paid for on every load
|
|
183
|
+
and carries nothing the top block does not.
|
|
195
184
|
|
|
196
|
-
|
|
185
|
+
### examples/core.md
|
|
197
186
|
|
|
198
|
-
|
|
187
|
+
**Every skill has this file.** It carries the full runnable code for the patterns `SKILL.md` names,
|
|
188
|
+
each under a heading matching the pattern's name there so a link lands on it, with a line at the
|
|
189
|
+
top cross-referencing the sibling example files.
|
|
199
190
|
|
|
200
|
-
|
|
191
|
+
### examples/{topic}.md
|
|
201
192
|
|
|
202
|
-
|
|
193
|
+
Split by the technology's own topics rather than by an imposed scheme, and give a topic its own
|
|
194
|
+
file once it has enough focused content to stand alone. Read the `examples/` directory of a
|
|
195
|
+
published skill with a comparable surface before choosing the split — `api-framework-hono` in the
|
|
196
|
+
skills marketplace repository is one worked example.
|
|
203
197
|
|
|
204
|
-
|
|
198
|
+
### reference.md
|
|
205
199
|
|
|
206
|
-
|
|
200
|
+
What a reader consults once the approach is settled and they need a value, a signature or a
|
|
201
|
+
migration step.
|
|
207
202
|
|
|
208
|
-
|
|
203
|
+
### Improve mode — differences for the user to decide
|
|
209
204
|
|
|
210
|
-
|
|
205
|
+
Improve mode's deliverable is the differences — one entry for each item the playbook puts in the
|
|
206
|
+
user's column:
|
|
211
207
|
|
|
212
|
-
|
|
208
|
+
```markdown
|
|
209
|
+
### [Pattern name]
|
|
213
210
|
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
- **Skill says:** [quote or snippet] — in [file], [section]
|
|
212
|
+
- **Research says:** [finding] — [source url]
|
|
213
|
+
- **Impact:** [what changes, whether it breaks callers, how hard the migration is]
|
|
214
|
+
- **Options:** [keep / adopt / hybrid — one line each]
|
|
215
|
+
- **Recommendation:** [which, and why]
|
|
216
|
+
```
|
|
216
217
|
|
|
217
|
-
|
|
218
|
+
Where the comparison was against the project's own standards rather than an existing skill, the
|
|
219
|
+
same entry reads:
|
|
218
220
|
|
|
219
221
|
```markdown
|
|
220
|
-
|
|
222
|
+
### [Pattern name]
|
|
221
223
|
|
|
222
|
-
[
|
|
224
|
+
- **External practice:** [what the research says] — [source url]
|
|
225
|
+
- **This project:** [what the standard says] — [file and section]
|
|
226
|
+
- **Trade-off:** [what each buys, and what it costs]
|
|
227
|
+
- **Recommendation:** [which, and why]
|
|
223
228
|
```
|
|
224
229
|
|
|
225
|
-
|
|
230
|
+
Close with the counts: changes made, decisions asked for, patterns added, patterns removed.
|
|
226
231
|
|
|
227
|
-
|
|
228
|
-
</skill_definition>
|
|
232
|
+
---
|
|
229
233
|
|
|
230
234
|
<research_sources>
|
|
231
235
|
|
|
232
236
|
## Sources Used
|
|
233
237
|
|
|
234
|
-
| Source | URL/Location
|
|
235
|
-
| ------------------- |
|
|
236
|
-
| Official docs | [url]
|
|
237
|
-
| Codebase pattern | [
|
|
238
|
-
| Best practice guide | [url]
|
|
238
|
+
| Source | URL/Location | What Was Used |
|
|
239
|
+
| ------------------- | ------------ | ------------------------- |
|
|
240
|
+
| Official docs | [url] | [specific section] |
|
|
241
|
+
| Codebase pattern | [file path] | [what pattern] |
|
|
242
|
+
| Best practice guide | [url] | [specific recommendation] |
|
|
239
243
|
|
|
240
244
|
</research_sources>
|
|
241
245
|
|
|
@@ -243,148 +247,38 @@ description: [One-line description]
|
|
|
243
247
|
|
|
244
248
|
## Relationship Analysis
|
|
245
249
|
|
|
246
|
-
|
|
250
|
+
Relationships are declared centrally rather than in a skill's own metadata. The shipped set lives
|
|
251
|
+
in the CLI's `packages/cli/src/cli/lib/configuration/default-rules.ts`; a marketplace source repository can add
|
|
252
|
+
its own `config/skill-rules.ts` to extend or override it, and `agents-inc/skills` carries no such
|
|
253
|
+
file today. Report the relationships for whichever of the two the skill belongs to:
|
|
247
254
|
|
|
248
|
-
|
|
255
|
+
The four kinds `RelationshipDefinitions` carries, and no others:
|
|
249
256
|
|
|
250
|
-
**
|
|
257
|
+
**Requires:** [skill-id] — [why this skill needs that one selected first]
|
|
251
258
|
|
|
252
|
-
|
|
259
|
+
**Conflicts with:** [skill-id] — [why selecting one disables the other]
|
|
253
260
|
|
|
254
|
-
**
|
|
261
|
+
**Discourages:** [skill-id] — [why the pair warns rather than disables]
|
|
255
262
|
|
|
256
|
-
|
|
263
|
+
**Alternatives:** [skill-id, skill-id] — [the purpose they are interchangeable for]
|
|
257
264
|
|
|
258
|
-
**Category:** [category]
|
|
259
265
|
</skill_relationships>
|
|
260
266
|
|
|
261
|
-
<
|
|
262
|
-
## Skill Quality Checks
|
|
263
|
-
|
|
264
|
-
- [ ] Skill directory follows 3-part naming: `{domain}-{category}-{technology}`
|
|
265
|
-
- [ ] SKILL.md exists with complete structure
|
|
266
|
-
- [ ] metadata.yaml exists with required fields
|
|
267
|
-
- [ ] All code examples are syntactically correct
|
|
268
|
-
- [ ] Examples follow the patterns described (no contradictions)
|
|
269
|
-
- [ ] Usage guidance is specific (not vague "use when needed")
|
|
270
|
-
- [ ] SKILL.md has TOC if > 100 lines
|
|
271
|
-
- [ ] No overlap with existing skills (checked against: [list])
|
|
272
|
-
- [ ] slug field matches the technology portion of the directory name
|
|
273
|
-
- [ ] domain field matches the domain portion of the directory name
|
|
274
|
-
</validation>
|
|
275
|
-
</output_format>
|
|
276
|
-
|
|
277
|
-
## Example: Complete Skill Package
|
|
278
|
-
|
|
279
|
-
### Directory Structure
|
|
280
|
-
|
|
281
|
-
```
|
|
282
|
-
.claude/skills/web-state-mobx/
|
|
283
|
-
├── SKILL.md
|
|
284
|
-
├── metadata.yaml
|
|
285
|
-
└── examples/async-actions.md (optional)
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
### metadata.yaml
|
|
289
|
-
|
|
290
|
-
```yaml
|
|
291
|
-
category: web-client-state
|
|
292
|
-
slug: mobx
|
|
293
|
-
domain: web
|
|
294
|
-
author: "@skill-summoner"
|
|
295
|
-
displayName: MobX State
|
|
296
|
-
cliDescription: Observable state management patterns
|
|
297
|
-
usageGuidance: >-
|
|
298
|
-
Use when implementing client-side state with MobX observables,
|
|
299
|
-
computed values, or reactions. Not for server state (use React Query).
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### SKILL.md (condensed)
|
|
303
|
-
|
|
304
|
-
```markdown
|
|
305
|
-
# MobX State Management Patterns
|
|
306
|
-
|
|
307
|
-
> **Quick Guide:** Use MobX for complex client state needing computed values and automatic dependency tracking.
|
|
308
|
-
|
|
309
|
-
<critical_requirements>
|
|
310
|
-
|
|
311
|
-
## ⚠️ CRITICAL: Before Using This Skill
|
|
312
|
-
|
|
313
|
-
> **All code must follow project conventions in CLAUDE.md**
|
|
314
|
-
|
|
315
|
-
**(You MUST call `makeAutoObservable(this)` in EVERY store constructor)**
|
|
316
|
-
**(You MUST wrap ALL async state updates in `runInAction()`)**
|
|
317
|
-
**(You MUST use React Query for server state - NOT MobX)**
|
|
318
|
-
</critical_requirements>
|
|
319
|
-
|
|
320
|
-
<philosophy>
|
|
321
|
-
## Philosophy
|
|
322
|
-
MobX: "anything that can be derived, should be derived automatically."
|
|
323
|
-
**When to use:** Complex client state, computed values, class-based architecture
|
|
324
|
-
**When NOT to use:** Server state (React Query), simple UI state (useState/Zustand)
|
|
325
|
-
</philosophy>
|
|
326
|
-
|
|
327
|
-
<patterns>
|
|
328
|
-
## Core Patterns
|
|
329
|
-
|
|
330
|
-
### Pattern 1: Store with makeAutoObservable
|
|
331
|
-
|
|
332
|
-
`typescript
|
|
333
|
-
// ✅ Good Example
|
|
334
|
-
const ACTIVE_STATUS = "active";
|
|
335
|
-
class UserStore {
|
|
336
|
-
users: User[] = [];
|
|
337
|
-
constructor() { makeAutoObservable(this); }
|
|
338
|
-
get activeUsers() { return this.users.filter((u) => u.status === ACTIVE_STATUS); }
|
|
339
|
-
}
|
|
340
|
-
export { UserStore };
|
|
341
|
-
`
|
|
342
|
-
**Why good:** makeAutoObservable enables tracking, named constants, named exports
|
|
343
|
-
|
|
344
|
-
`typescript
|
|
345
|
-
// ❌ Bad Example
|
|
346
|
-
class UserStore {
|
|
347
|
-
users = [];
|
|
348
|
-
async fetchUsers() {
|
|
349
|
-
const response = await apiClient.getUsers();
|
|
350
|
-
this.users = response.data; // BAD: Outside action after await
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
export default UserStore; // BAD: Default export
|
|
354
|
-
`
|
|
355
|
-
**Why bad:** State mutation after await breaks reactivity, default export violates conventions
|
|
356
|
-
</patterns>
|
|
357
|
-
|
|
358
|
-
<red_flags>
|
|
359
|
-
|
|
360
|
-
## RED FLAGS
|
|
361
|
-
|
|
362
|
-
- ❌ Mutating observables outside actions (breaks reactivity)
|
|
363
|
-
- ❌ Using MobX for server state (use React Query)
|
|
364
|
-
- ⚠️ Not using `observer()` HOC on React components
|
|
365
|
-
**Gotchas:** Code after `await` is NOT part of the action - wrap in `runInAction()`
|
|
366
|
-
</red_flags>
|
|
267
|
+
<completion_gate>
|
|
367
268
|
|
|
368
|
-
|
|
269
|
+
## Completion
|
|
369
270
|
|
|
370
|
-
|
|
271
|
+
Report the three completion checks from the playbook and what each returned — the file roster, the
|
|
272
|
+
`<red_flags>` grep and the cross-domain scan. State the result even where it was clean, since a
|
|
273
|
+
check reported as nothing is indistinguishable from a check not run.
|
|
371
274
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
**Failure to follow these rules will break MobX reactivity.**
|
|
376
|
-
</critical_reminders>
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
---
|
|
275
|
+
Then name `npx agents-inc doctor` as the command that validates the written skill against the
|
|
276
|
+
schema. It is the user's to run rather than this agent's, and it is what turns "the files look
|
|
277
|
+
right" into a checked claim.
|
|
380
278
|
|
|
381
|
-
|
|
279
|
+
Close by naming what makes the skill reachable: a written skill is selectable but carried by no
|
|
280
|
+
agent until an agent's `stack` entry in the config names it, which `npx agents-inc edit` does, or
|
|
281
|
+
`agent-summoner` when the assignment is part of authoring that agent.
|
|
382
282
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
| Directory location | `src/skills/mobx.md` | `.claude/skills/web-state-mobx/` |
|
|
386
|
-
| Naming pattern | `mobx`, `state-mobx` | `web-client-state-mobx` |
|
|
387
|
-
| Metadata fields | `cli_name`, `version`, `tags` | `displayName`, `slug`, `domain` |
|
|
388
|
-
| File structure | Single file | Directory + SKILL.md + metadata.yaml |
|
|
389
|
-
| Auto-detection | "state management" | "MobX observable, makeAutoObservable" |
|
|
390
|
-
| Examples | Separate section | Embedded in each pattern |
|
|
283
|
+
</completion_gate>
|
|
284
|
+
</output_format>
|