codymaster 7.0.2 → 7.0.3
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 +64 -0
- package/README.md +38 -1
- package/dist/agent/codex.js +73 -21
- package/dist/agent-dispatch.js +63 -48
- package/dist/cli/commands/brain.js +18 -0
- package/dist/cli/commands/design-studio.js +1 -1
- package/dist/cm-suggest.js +3 -3
- package/dist/dashboard-project-summary.js +9 -0
- package/dist/dashboard.js +11 -5
- package/dist/execution-analyzer.js +9 -1
- package/dist/judge.js +16 -15
- package/dist/mcp-context-server.js +45 -23
- package/dist/mcp-skills-tools.js +2 -2
- package/dist/skill-chain.js +26 -3
- package/dist/skill-token-report.js +105 -0
- package/dist/sprint-pipeline.js +3 -3
- package/dist/ui/onboarding.js +3 -4
- package/dist/utils/design-taste.js +1 -1
- package/dist/utils/output-compress.js +8 -0
- package/package.json +2 -1
- package/public/dashboard/app.js +40 -13
- package/public/dashboard/index.html +190 -5
- package/public/dashboard/style.css +1 -1
- package/scripts/build-skills.mjs +36 -2
- package/scripts/mcp-bridge.js +41 -24
- package/scripts/pack-plugin.mjs +206 -0
- package/skills/cm-ads-tracker/SKILL.md +401 -0
- package/skills/cm-ads-tracker/evals/evals.json +55 -0
- package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
- package/skills/cm-ads-tracker/references/industry-events.md +294 -0
- package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
- package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
- package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
- package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
- package/skills/cm-auto-publisher/SKILL.md +81 -0
- package/skills/cm-booking-calendar/SKILL.md +521 -0
- package/skills/cm-booking-calendar/references/industry-patterns.md +527 -0
- package/skills/cm-booking-calendar/templates/booking-form.css +626 -0
- package/skills/cm-booking-calendar/templates/booking-form.html +477 -0
- package/skills/cm-booking-calendar/templates/calendar-engine.js +419 -0
- package/skills/cm-booking-calendar/templates/calendar-export.js +395 -0
- package/skills/cm-booking-calendar/templates/reminder-config.js +629 -0
- package/skills/cm-brainstorm-idea/SKILL.md +5 -5
- package/skills/cm-code-review/SKILL.md +2 -2
- package/skills/cm-codeintell/SKILL.md +47 -580
- package/skills/cm-codeintell/references/integration-workflows.md +23 -0
- package/skills/cm-codeintell/references/layer-0-skeleton.md +54 -0
- package/skills/cm-codeintell/references/layer-1-codegraph.md +58 -0
- package/skills/cm-codeintell/references/layer-2-architecture.md +31 -0
- package/skills/cm-codeintell/references/layer-3-context-builder.md +32 -0
- package/skills/cm-content-factory/.content-factory-state.json +132 -0
- package/skills/cm-content-factory/.git 2/logs/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
- package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
- package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
- package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
- package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
- package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
- package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
- package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
- package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
- package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
- package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
- package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
- package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
- package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
- package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
- package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
- package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
- package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
- package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
- package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
- package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
- package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
- package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
- package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
- package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
- package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
- package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
- package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
- package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
- package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
- package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
- package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
- package/skills/cm-content-factory/.git 2/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +76 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +1 -0
- package/skills/cm-content-factory/AGENTS.md +61 -0
- package/skills/cm-content-factory/CLAUDE.md +63 -0
- package/skills/cm-content-factory/CURSOR.md +43 -0
- package/skills/cm-content-factory/Content Factory.zip +0 -0
- package/skills/cm-content-factory/SKILL.md +416 -0
- package/skills/cm-content-factory/cf +313 -0
- package/skills/cm-content-factory/config.schema.json +397 -0
- package/skills/cm-content-factory/dashboard/app.js +556 -0
- package/skills/cm-content-factory/dashboard/index.html +397 -0
- package/skills/cm-content-factory/dashboard/style.css +1211 -0
- package/skills/cm-content-factory/examples/01-real-estate.config.json +146 -0
- package/skills/cm-content-factory/examples/02-personal-finance.config.json +146 -0
- package/skills/cm-content-factory/examples/03-health-wellness.config.json +147 -0
- package/skills/cm-content-factory/examples/04-saas-software.config.json +147 -0
- package/skills/cm-content-factory/examples/05-legal-services.config.json +147 -0
- package/skills/cm-content-factory/examples/06-insurance.config.json +146 -0
- package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +146 -0
- package/skills/cm-content-factory/examples/08-online-education.config.json +147 -0
- package/skills/cm-content-factory/examples/09-crypto-defi.config.json +147 -0
- package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +147 -0
- package/skills/cm-content-factory/examples/11-home-services.config.json +146 -0
- package/skills/cm-content-factory/examples/12-dental-clinic.config.json +147 -0
- package/skills/cm-content-factory/examples/13-pet-care.config.json +147 -0
- package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +147 -0
- package/skills/cm-content-factory/examples/15-ai-automation.config.json +147 -0
- package/skills/cm-content-factory/examples/16-wedding-events.config.json +147 -0
- package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +148 -0
- package/skills/cm-content-factory/examples/18-cybersecurity.config.json +147 -0
- package/skills/cm-content-factory/examples/19-food-restaurant.config.json +148 -0
- package/skills/cm-content-factory/examples/20-solar-energy.config.json +147 -0
- package/skills/cm-content-factory/examples/fitness-blog.config.json +116 -0
- package/skills/cm-content-factory/examples/tech-blog.config.json +107 -0
- package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +72 -0
- package/skills/cm-content-factory/extensions/hooks.py +126 -0
- package/skills/cm-content-factory/extensions/openclaw_adapter.py +132 -0
- package/skills/cm-content-factory/landing/docs/content/changelog.md +36 -0
- package/skills/cm-content-factory/landing/docs/content/deployment.md +46 -0
- package/skills/cm-content-factory/landing/docs/content/execution-flow.md +67 -0
- package/skills/cm-content-factory/landing/docs/content/openspace.md +27 -0
- package/skills/cm-content-factory/landing/docs/content/openviking.md +33 -0
- package/skills/cm-content-factory/landing/docs/content/use-cases.md +26 -0
- package/skills/cm-content-factory/landing/docs/content/v5-intro.md +28 -0
- package/skills/cm-content-factory/landing/docs/index.html +240 -0
- package/skills/cm-content-factory/landing/index.html +680 -0
- package/skills/cm-content-factory/landing/script.js +143 -0
- package/skills/cm-content-factory/landing/style.css +1216 -0
- package/skills/cm-content-factory/landing/translations.js +508 -0
- package/skills/cm-content-factory/logs/events.jsonl +11 -0
- package/skills/cm-content-factory/profiles/_template.profile.json +231 -0
- package/skills/cm-content-factory/profiles/finance.profile.json +278 -0
- package/skills/cm-content-factory/profiles/legal.profile.json +263 -0
- package/skills/cm-content-factory/profiles/medical-research.profile.json +321 -0
- package/skills/cm-content-factory/profiles/technology.profile.json +275 -0
- package/skills/cm-content-factory/scripts/agent_dispatcher.py +266 -0
- package/skills/cm-content-factory/scripts/audit.py +106 -0
- package/skills/cm-content-factory/scripts/dashboard_server.py +225 -0
- package/skills/cm-content-factory/scripts/deploy.py +146 -0
- package/skills/cm-content-factory/scripts/extract.py +132 -0
- package/skills/cm-content-factory/scripts/landing_generator.py +459 -0
- package/skills/cm-content-factory/scripts/memory.py +521 -0
- package/skills/cm-content-factory/scripts/monetize.py +239 -0
- package/skills/cm-content-factory/scripts/pipeline.py +357 -0
- package/skills/cm-content-factory/scripts/plan.py +163 -0
- package/skills/cm-content-factory/scripts/publish.py +145 -0
- package/skills/cm-content-factory/scripts/research.py +337 -0
- package/skills/cm-content-factory/scripts/scaffold.py +464 -0
- package/skills/cm-content-factory/scripts/scoreboard.py +336 -0
- package/skills/cm-content-factory/scripts/seo.py +90 -0
- package/skills/cm-content-factory/scripts/state_manager.py +320 -0
- package/skills/cm-content-factory/scripts/token_manager.py +268 -0
- package/skills/cm-content-factory/scripts/validate.py +221 -0
- package/skills/cm-content-factory/scripts/wizard.py +329 -0
- package/skills/cm-content-factory/scripts/write.py +93 -0
- package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +90 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +54 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +38 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +65 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +48 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +39 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +42 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +51 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +86 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +80 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +102 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +55 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +41 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +40 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +56 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +46 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +108 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +22 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +92 -0
- package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +575 -0
- package/skills/cm-content-factory/tests/conftest.py +66 -0
- package/skills/cm-content-factory/tests/test_agent_dispatcher.py +125 -0
- package/skills/cm-content-factory/tests/test_memory.py +128 -0
- package/skills/cm-content-factory/tests/test_pipeline.py +107 -0
- package/skills/cm-content-factory/tests/test_research.py +56 -0
- package/skills/cm-content-factory/tests/test_state_manager.py +131 -0
- package/skills/cm-content-factory/tests/test_token_manager.py +110 -0
- package/skills/cm-content-factory/tests/test_wizard.py +121 -0
- package/skills/cm-continuity/SKILL.md +49 -480
- package/skills/cm-continuity/references/cm-uri-scheme.md +23 -0
- package/skills/cm-continuity/references/continuity-template.md +48 -0
- package/skills/cm-continuity/references/mcp-context-server.md +27 -0
- package/skills/cm-continuity/references/memory-architecture.md +26 -0
- package/skills/cm-continuity/references/memory-audit.md +18 -0
- package/skills/cm-continuity/references/session-protocol.md +31 -0
- package/skills/cm-continuity/references/storage-formats.md +20 -0
- package/skills/cm-cro-methodology/SKILL.md +290 -0
- package/skills/cm-cro-methodology/references/COPYWRITING.md +178 -0
- package/skills/cm-cro-methodology/references/OBJECTIONS.md +135 -0
- package/skills/cm-cro-methodology/references/PERSUASION.md +158 -0
- package/skills/cm-cro-methodology/references/RESEARCH.md +220 -0
- package/skills/cm-cro-methodology/references/funnel-analysis.md +365 -0
- package/skills/cm-cro-methodology/references/testing-methodology.md +330 -0
- package/skills/cm-design-system/SKILL.md +5 -6
- package/skills/cm-execution/SKILL.md +61 -379
- package/skills/cm-execution/references/mode-a-batch.md +28 -0
- package/skills/cm-execution/references/mode-b-subagent.md +46 -0
- package/skills/cm-execution/references/mode-c-parallel.md +39 -0
- package/skills/cm-execution/references/mode-d-rarv.md +62 -0
- package/skills/cm-execution/references/mode-e-triz-parallel.md +53 -0
- package/skills/cm-execution/references/mode-f-party.md +61 -0
- package/skills/cm-execution/references/persona-dispatch.md +22 -0
- package/skills/cm-execution/references/security-rules.md +47 -0
- package/skills/cm-google-form/SKILL.md +266 -0
- package/skills/cm-google-form/templates/apps-script.js +55 -0
- package/skills/cm-google-form/templates/form-markup.html +110 -0
- package/skills/cm-google-form/templates/form-submit.js +201 -0
- package/skills/cm-google-form/templates/toast.css +152 -0
- package/skills/cm-growth-hacking/SKILL.md +282 -0
- package/skills/cm-growth-hacking/bottom-sheet-engine.md +261 -0
- package/skills/cm-growth-hacking/calendar-integration.md +264 -0
- package/skills/cm-growth-hacking/references/engagement-patterns.md +346 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.css +528 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.js +269 -0
- package/skills/cm-growth-hacking/templates/calendar-cta.js +213 -0
- package/skills/cm-growth-hacking/templates/tracking-events.js +211 -0
- package/skills/cm-growth-hacking/templates/trigger-manager.js +254 -0
- package/skills/cm-growth-hacking/tracking-events.md +246 -0
- package/skills/cm-growth-hacking/trigger-system.md +342 -0
- package/skills/cm-how-it-work/SKILL.md +8 -9
- package/skills/cm-identity-guard/SKILL.md +4 -4
- package/skills/cm-jtbd/SKILL.md +98 -0
- package/skills/cm-notebooklm/SKILL.md +156 -0
- package/skills/cm-notebooklm/references/command_reference.md +94 -0
- package/skills/cm-notebooklm/references/workflows.md +60 -0
- package/skills/cm-notebooklm/resources/knowledge_sources.md +106 -0
- package/skills/cm-notebooklm/scripts/brain-sync.sh +453 -0
- package/skills/cm-notebooklm/scripts/graduate_wisdom.py +101 -0
- package/skills/cm-planning/SKILL.md +3 -3
- package/skills/cm-project-bootstrap/SKILL.md +2 -2
- package/skills/cm-quality-gate/SKILL.md +1 -1
- package/skills/cm-readit/SKILL.md +289 -0
- package/skills/cm-readit/audio-player.md +206 -0
- package/skills/cm-readit/examples/blog-reader.js +352 -0
- package/skills/cm-readit/examples/voice-cro.js +390 -0
- package/skills/cm-readit/tts-engine.md +262 -0
- package/skills/cm-readit/ui-patterns.md +362 -0
- package/skills/cm-readit/voice-cro.md +223 -0
- package/skills/cm-safe-deploy/SKILL.md +80 -510
- package/skills/cm-safe-deploy/references/gate-0-5-security-scan.md +31 -0
- package/skills/cm-safe-deploy/references/gate-0-secret-hygiene.md +68 -0
- package/skills/cm-safe-deploy/references/gate-1-syntax.md +23 -0
- package/skills/cm-safe-deploy/references/gate-2-test-suite.md +28 -0
- package/skills/cm-safe-deploy/references/gate-3-i18n.md +19 -0
- package/skills/cm-safe-deploy/references/gate-4-5-build-dist.md +16 -0
- package/skills/cm-safe-deploy/references/gate-6-deploy-smoke.md +18 -0
- package/skills/cm-safe-deploy/references/rollback.md +17 -0
- package/skills/cm-safe-deploy/references/setup-new-project.md +20 -0
- package/skills/cm-skill-index/SKILL.md +15 -15
- package/skills/cm-start/SKILL.md +1 -1
- package/skills/cm-tdd/SKILL.md +51 -356
- package/skills/cm-tdd/references/bugfix-example.md +15 -0
- package/skills/cm-tdd/references/rationalizations.md +20 -0
- package/skills/cm-tdd/references/red-green-refactor.md +33 -0
- package/skills/cm-tdd/references/stuck-debugging.md +18 -0
- package/skills/cm-tdd/references/test-quality.md +19 -0
- package/skills/cm-ux-master/SKILL.md +368 -115
- package/skills/profiles/core.txt +1 -4
- package/skills/profiles/design.txt +1 -2
- package/skills/profiles/full.txt +10 -16
- package/skills/profiles/growth.txt +9 -9
- package/skills/profiles/top35.json +13 -13
- package/skills/cm-conductor-worktrees/SKILL.archive.md +0 -28
- package/skills/cm-conductor-worktrees/SKILL.md +0 -26
- package/skills/cm-dashboard/SKILL.archive.md +0 -15
- package/skills/cm-dashboard/SKILL.md +0 -26
- package/skills/cm-dashboard/ui/app.js +0 -1278
- package/skills/cm-dashboard/ui/index.html +0 -206
- package/skills/cm-dashboard/ui/style.css +0 -440
- package/skills/cm-design-studio/SKILL.archive.md +0 -34
- package/skills/cm-design-studio/SKILL.md +0 -26
- package/skills/cm-engineering-meta/SKILL.archive.md +0 -73
- package/skills/cm-engineering-meta/SKILL.md +0 -26
- package/skills/cm-git-worktrees/SKILL.archive.md +0 -157
- package/skills/cm-git-worktrees/SKILL.md +0 -26
- package/skills/cm-post-deploy-canary/SKILL.archive.md +0 -22
- package/skills/cm-post-deploy-canary/SKILL.md +0 -26
- package/skills/cm-qa-visual-cli/SKILL.archive.md +0 -22
- package/skills/cm-qa-visual-cli/SKILL.md +0 -26
- package/skills/cm-second-opinion-cli/SKILL.archive.md +0 -23
- package/skills/cm-second-opinion-cli/SKILL.md +0 -26
- package/skills/cm-secret-shield/SKILL.archive.md +0 -580
- package/skills/cm-secret-shield/SKILL.md +0 -26
- package/skills/cm-security-gate/SKILL.archive.md +0 -239
- package/skills/cm-security-gate/SKILL.md +0 -26
- package/skills/cm-skill-health/SKILL.archive.md +0 -83
- package/skills/cm-skill-health/SKILL.md +0 -26
- package/skills/cm-skill-mastery/SKILL.archive.md +0 -156
- package/skills/cm-skill-mastery/SKILL.md +0 -26
- package/skills/cm-skill-search/SKILL.archive.md +0 -49
- package/skills/cm-skill-search/SKILL.md +0 -26
- package/skills/cm-skill-share/SKILL.archive.md +0 -58
- package/skills/cm-skill-share/SKILL.md +0 -26
- package/skills/cm-test-gate/SKILL.archive.md +0 -245
- package/skills/cm-test-gate/SKILL.md +0 -26
- package/skills/cm-ui-preview/SKILL.archive.md +0 -153
- package/skills/cm-ui-preview/SKILL.md +0 -26
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Gate 0 — Secret Hygiene
|
|
2
|
+
|
|
3
|
+
> Fastest fail. Prevent secrets, tracked env files, and unsafe config from reaching a remote.
|
|
4
|
+
|
|
5
|
+
## Use When
|
|
6
|
+
- Before any deploy
|
|
7
|
+
- While setting up a deploy pipeline
|
|
8
|
+
- After any secret-related incident
|
|
9
|
+
|
|
10
|
+
## What This Gate Checks
|
|
11
|
+
- secrets embedded in deploy config
|
|
12
|
+
- missing `.gitignore` coverage for local secret files
|
|
13
|
+
- tracked `.env` or `.dev.vars` files
|
|
14
|
+
- dangerous secret placement in repo-managed config
|
|
15
|
+
|
|
16
|
+
## Essential Check
|
|
17
|
+
```bash
|
|
18
|
+
node -e "
|
|
19
|
+
const fs = require('fs');
|
|
20
|
+
const { execSync } = require('child_process');
|
|
21
|
+
const wranglerFiles = ['wrangler.jsonc', 'wrangler.toml', 'wrangler.json'];
|
|
22
|
+
const dangerous = ['SERVICE_KEY', 'ANON_KEY', 'DB_PASSWORD', 'SECRET_KEY', 'PRIVATE_KEY', 'API_SECRET'];
|
|
23
|
+
let failed = false;
|
|
24
|
+
|
|
25
|
+
for (const wf of wranglerFiles) {
|
|
26
|
+
if (!fs.existsSync(wf)) continue;
|
|
27
|
+
const src = fs.readFileSync(wf, 'utf-8');
|
|
28
|
+
for (const key of dangerous) {
|
|
29
|
+
const valuePattern = new RegExp(key + '\\\\s*[=:]\\\\s*[\"\\'][a-zA-Z0-9/+=]{20,}', 'g');
|
|
30
|
+
if (valuePattern.test(src)) {
|
|
31
|
+
console.error('❌ DANGEROUS: ' + wf + ' contains a ' + key + ' VALUE');
|
|
32
|
+
failed = true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (fs.existsSync('.gitignore')) {
|
|
38
|
+
const gi = fs.readFileSync('.gitignore', 'utf-8');
|
|
39
|
+
const required = ['.env', '.dev.vars'];
|
|
40
|
+
const missing = required.filter(r => !gi.includes(r));
|
|
41
|
+
if (missing.length > 0) {
|
|
42
|
+
console.error('❌ .gitignore missing: ' + missing.join(', '));
|
|
43
|
+
failed = true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
try {
|
|
48
|
+
const tracked = execSync('git ls-files', { encoding: 'utf-8' });
|
|
49
|
+
const badFiles = ['.env', '.dev.vars', '.env.local', '.env.production'];
|
|
50
|
+
const trackedBad = badFiles.filter(f => tracked.split('\\n').includes(f));
|
|
51
|
+
if (trackedBad.length > 0) {
|
|
52
|
+
console.error('❌ tracked secret files: ' + trackedBad.join(', '));
|
|
53
|
+
failed = true;
|
|
54
|
+
}
|
|
55
|
+
} catch {}
|
|
56
|
+
|
|
57
|
+
if (failed) process.exit(1);
|
|
58
|
+
console.log('✅ Gate 0 passed');
|
|
59
|
+
"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Remediation
|
|
63
|
+
- move secrets to platform secret managers
|
|
64
|
+
- scrub or untrack local secret files
|
|
65
|
+
- rotate any leaked values immediately
|
|
66
|
+
|
|
67
|
+
## Rule
|
|
68
|
+
If Gate 0 fails, do not continue to later gates.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Gate 1 — Syntax Validation
|
|
2
|
+
|
|
3
|
+
> Fast fail before slow tests. Catch parse and compile issues early.
|
|
4
|
+
|
|
5
|
+
## Use When
|
|
6
|
+
- every deploy path
|
|
7
|
+
- especially frontend-heavy projects where one syntax error can white-screen production
|
|
8
|
+
|
|
9
|
+
## Common Commands
|
|
10
|
+
| Stack | Command |
|
|
11
|
+
|---|---|
|
|
12
|
+
| Vanilla JS | `node -c path/to/app.js` |
|
|
13
|
+
| TypeScript | `npx tsc --noEmit` |
|
|
14
|
+
| Python | `python -m py_compile app.py` |
|
|
15
|
+
| Go | `go vet ./...` |
|
|
16
|
+
|
|
17
|
+
## Why This Gate Exists
|
|
18
|
+
- syntax checks are cheaper than test suites
|
|
19
|
+
- they produce precise failure locations
|
|
20
|
+
- they prevent wasting time on later gates when the build is already invalid
|
|
21
|
+
|
|
22
|
+
## Rule
|
|
23
|
+
If syntax fails, do not proceed to test or build gates.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Gate 2 — Test Suite
|
|
2
|
+
|
|
3
|
+
> Validate behavior, not just syntax.
|
|
4
|
+
|
|
5
|
+
## Required Coverage Areas
|
|
6
|
+
| Category | Purpose |
|
|
7
|
+
|---|---|
|
|
8
|
+
| Frontend safety | syntax, integrity, corruption checks |
|
|
9
|
+
| Backend API | route behavior |
|
|
10
|
+
| Business logic | rules, transforms, calculations |
|
|
11
|
+
| i18n sync | key parity and drift |
|
|
12
|
+
| Integration | workflow coverage when practical |
|
|
13
|
+
|
|
14
|
+
## Script Convention
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"scripts": {
|
|
18
|
+
"test:gate": "vitest run --reporter=verbose"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Rule
|
|
24
|
+
- `test:gate` must pass with zero failures before later gates
|
|
25
|
+
- if tests are missing, that is a setup problem, not a reason to skip the gate
|
|
26
|
+
|
|
27
|
+
## Integration
|
|
28
|
+
Use `cm-quality-gate` when you need parser-based or evidence-focused validation patterns inside the test gate.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Gate 3 — i18n Parity
|
|
2
|
+
|
|
3
|
+
> Only for multilingual projects, but mandatory when those projects ship localized content.
|
|
4
|
+
|
|
5
|
+
## Use When
|
|
6
|
+
- project has multiple locales
|
|
7
|
+
- localized content is user-facing
|
|
8
|
+
|
|
9
|
+
## What to Check
|
|
10
|
+
- key-count parity
|
|
11
|
+
- missing translations
|
|
12
|
+
- orphaned translations
|
|
13
|
+
- locale files staying in sync after changes
|
|
14
|
+
|
|
15
|
+
## Rule
|
|
16
|
+
If the project is multilingual, this gate is not optional.
|
|
17
|
+
|
|
18
|
+
## Integration
|
|
19
|
+
Use `cm-safe-i18n` to establish safer extraction, batching, and sync rules when localization work is active.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Gates 4-5 — Build Verification and Dist Verification
|
|
2
|
+
|
|
3
|
+
> Validate the artifact you are actually about to ship.
|
|
4
|
+
|
|
5
|
+
## Gate 4 — Build
|
|
6
|
+
- run the production build
|
|
7
|
+
- confirm exit status is clean
|
|
8
|
+
- capture final warnings or errors
|
|
9
|
+
|
|
10
|
+
## Gate 5 — Dist
|
|
11
|
+
- verify expected dist assets exist
|
|
12
|
+
- verify entry files and output structure are sane
|
|
13
|
+
- confirm deployment target receives the right artifact shape
|
|
14
|
+
|
|
15
|
+
## Rule
|
|
16
|
+
Passing tests is not enough. The built artifact must also be validated.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Gate 6 — Deploy + Smoke Test
|
|
2
|
+
|
|
3
|
+
> Final stage: deploy the validated artifact, then prove the deployed target behaves.
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
1. Deploy using the project’s approved command or workflow.
|
|
7
|
+
2. Confirm deploy success signal or URL.
|
|
8
|
+
3. Run smoke checks against the deployed target.
|
|
9
|
+
4. Stop immediately if smoke checks fail.
|
|
10
|
+
|
|
11
|
+
## Smoke Test Focus
|
|
12
|
+
- app loads
|
|
13
|
+
- key routes respond
|
|
14
|
+
- critical UI does not white-screen
|
|
15
|
+
- critical backend endpoint responds if relevant
|
|
16
|
+
|
|
17
|
+
## Rule
|
|
18
|
+
A green deploy command without a green smoke test is not a successful deployment.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Rollback Protocol
|
|
2
|
+
|
|
3
|
+
> Use when a deploy fails or the deployed target is unhealthy.
|
|
4
|
+
|
|
5
|
+
## Trigger
|
|
6
|
+
- Gate 6 smoke test fails
|
|
7
|
+
- production issue detected immediately after release
|
|
8
|
+
- wrong artifact or config shipped
|
|
9
|
+
|
|
10
|
+
## Response
|
|
11
|
+
1. Stop forward rollout
|
|
12
|
+
2. Revert to last known good artifact or deployment target
|
|
13
|
+
3. Verify the rollback target with smoke checks
|
|
14
|
+
4. Capture incident details and root cause
|
|
15
|
+
|
|
16
|
+
## Rule
|
|
17
|
+
Rollback is part of the deploy system, not a last-minute improvisation.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Setup — New Project Deploy Infrastructure
|
|
2
|
+
|
|
3
|
+
> Use this when a project does not yet have a reliable gated deploy path.
|
|
4
|
+
|
|
5
|
+
## Setup Sequence
|
|
6
|
+
1. Create test infrastructure
|
|
7
|
+
2. Add gate scripts to `package.json`
|
|
8
|
+
3. Add frontend safety tests where relevant
|
|
9
|
+
4. Create deploy workflow / script
|
|
10
|
+
5. Ensure secret handling and identity checks are in place
|
|
11
|
+
|
|
12
|
+
## Minimum Outcome
|
|
13
|
+
- `test:gate` exists
|
|
14
|
+
- syntax and build checks exist
|
|
15
|
+
- deploy command is scripted
|
|
16
|
+
- smoke verification path is defined
|
|
17
|
+
- rollback path is known
|
|
18
|
+
|
|
19
|
+
## Rule
|
|
20
|
+
Do not mix “setup the pipeline” with “run a live deploy” in one uncontrolled step.
|
|
@@ -58,7 +58,7 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
58
58
|
| `cm-tdd` | test, TDD, red-green-refactor | Red-Green-Refactor cycle before any implementation |
|
|
59
59
|
| `cm-debugging` | bug, error, fix, debug, broken | Root cause analysis before fixing. 5-phase investigation |
|
|
60
60
|
| `cm-quality-gate` | deploy, ship, verify, quality, gate | 6-gate verification: static analysis → blind review → ship |
|
|
61
|
-
| `cm-
|
|
61
|
+
| `cm-quality-gate` | test setup, CI, verification | Test + verification gate before claiming completion |
|
|
62
62
|
| `cm-code-review` | review, PR, feedback, branch | Request reviews, handle feedback, complete branches |
|
|
63
63
|
| `cm-codeintell` | understand codebase, call graph, impact, architecture, what calls X, what breaks | AST knowledge graph + architecture diagrams + smart context (30% fewer tokens) |
|
|
64
64
|
| `cm-reactor` | rewrite, pivot, migrate, direction change, architecture wrong, restructure | TRIZ-powered strategic codebase re-direction — 5-phase incremental migration |
|
|
@@ -70,14 +70,14 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
70
70
|
|-------|----------|---------|
|
|
71
71
|
| `cm-safe-deploy` | deploy, staging, production, release | Multi-gate deploy pipeline with rollback strategy |
|
|
72
72
|
| `cm-identity-guard` | git push, deploy, Cloudflare, Supabase, account | Verify identity before any push/deploy to prevent wrong-account |
|
|
73
|
-
| `cm-
|
|
73
|
+
| `cm-execution` | branch, isolate, worktree, parallel | Execution modes including isolated workspaces and parallel batches |
|
|
74
74
|
| `cm-terminal` | command, terminal, run, execute | Safe terminal execution with progress logging |
|
|
75
75
|
|
|
76
76
|
### Security Swarm 🔒
|
|
77
77
|
|
|
78
78
|
| Skill | Triggers | Summary |
|
|
79
79
|
|-------|----------|---------|
|
|
80
|
-
| `cm-
|
|
80
|
+
| `cm-safe-deploy` | secret, token, leak, security, scan, pre-commit, gitleaks, rotate | Defense-in-depth: repo scanning, token lifecycle, and release safety |
|
|
81
81
|
|
|
82
82
|
### Product Swarm 🎨
|
|
83
83
|
|
|
@@ -86,7 +86,7 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
86
86
|
| `cm-brainstorm-idea` | analyze, enhance, improve, initiative, evaluate, review product | Strategic analysis gate: 9 Windows + Double Diamond → 2-3 qualified options |
|
|
87
87
|
| `cm-planning` | plan, design, brainstorm, feature | Brainstorm intent → write implementation plan → then code |
|
|
88
88
|
| `cm-ux-master` | UI, UX, design, interface, usability | 48 UX Laws + 37 Design Tests + Figma/Stitch integration |
|
|
89
|
-
| `cm-
|
|
89
|
+
| `cm-design-system` | preview, visual, mockup, render UI, wireframe | Live UI concept generation via design-token and Stitch/Open Design workflows |
|
|
90
90
|
| `cm-dockit` | docs, documentation, knowledge base, SOP | Generate complete knowledge base from codebase |
|
|
91
91
|
| `cm-project-bootstrap` | new project, init, bootstrap, setup | Full project setup: design system → staging → CI → deploy |
|
|
92
92
|
| `cm-jtbd` | customer discovery, JTBD, jobs to be done, product-market fit, why users churn | JTBD canvas: Switch Interview → Outcome Metrics → Opportunity Scoring |
|
|
@@ -105,11 +105,10 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
105
105
|
|-------|----------|---------|
|
|
106
106
|
| `cm-execution` | execute, implement, plan, RARV, batch | Execute plans: batch mode, subagent-driven, parallel, or RARV |
|
|
107
107
|
| `cm-continuity` | memory, context, CONTINUITY, learnings | Working memory protocol: read at start, update at end |
|
|
108
|
-
| `cm-skill-
|
|
108
|
+
| `cm-skill-index` | which skill, skill list, discover, help | Meta-skill: when to invoke skills and how to discover the right one |
|
|
109
109
|
| `cm-skill-health` | skill broken, skill drift, missing skill, stale skill, health | Audit a skill using docs drift, retro notes, validation, and gates |
|
|
110
110
|
| `cm-skill-evolution` | repair skill, evolve skill, fix skill, derive skill | Recover a degraded skill with FIX, DERIVED, or CAPTURED mode |
|
|
111
|
-
| `cm-skill-
|
|
112
|
-
| `cm-skill-share` | export skill, import skill, share skill, move skill | Package and transfer skill folders safely across repos and machines |
|
|
111
|
+
| `cm-skill-evolution` | repair skill, evolve skill, capture skill | Repair, derive, or capture skills from execution feedback |
|
|
113
112
|
| `cm-safe-i18n` | translate, i18n, language, localize | Safe translation with multi-pass batching and audit gates |
|
|
114
113
|
| `cm-skill-chain` | chain, pipeline, workflow, multi-step, full process | Compose skills into automated multi-step pipelines |
|
|
115
114
|
| `cm-deep-search` | semantic search, find docs, large codebase, qmd | Optional power-up for semantic search across large projects |
|
|
@@ -121,8 +120,9 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
121
120
|
| Skill | Triggers | Summary |
|
|
122
121
|
|-------|----------|---------|
|
|
123
122
|
| `cm-start` | /cm-start, start workflow, begin objective, new task | Orchestrate full cm-* workflow from objective to production code |
|
|
124
|
-
| `cm-dashboard` | /cm-dashboard, kanban, task board, show tasks, status board | Render Kanban board from OpenSpec `tasks.md` and `cm-tasks.json` — visual task overview |
|
|
125
123
|
| `cm-status` | /cm-status, quick status, progress, what's next, blocked | Ultra-concise progress summary: done / next / blocked |
|
|
124
|
+
| `cm-status` | /cm-status, quick status, progress, what's next, blocked | Ultra-concise progress summary: done / next / blocked |
|
|
125
|
+
|
|
126
126
|
|
|
127
127
|
### Planned (not yet implemented) 🧪
|
|
128
128
|
|
|
@@ -259,7 +259,7 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
259
259
|
|
|
260
260
|
**Discovery Protocol:**
|
|
261
261
|
```
|
|
262
|
-
1. Check THIS index first (
|
|
262
|
+
1. Check THIS index first (62 skills above)
|
|
263
263
|
→ Match found? → npx skills add {source} --skill {name} -a antigravity
|
|
264
264
|
2. No match? → npx skills find "{keyword}" on skills.sh
|
|
265
265
|
3. Still nothing? → Proceed without skill, note gap in .cm-skills-log.json
|
|
@@ -322,13 +322,13 @@ view_file /path/to/skills/cm-tdd/SKILL.md
|
|
|
322
322
|
For dynamic agent selection (Phase 3), skills map to domains:
|
|
323
323
|
|
|
324
324
|
```yaml
|
|
325
|
-
engineering: [cm-tdd, cm-debugging, cm-quality-gate, cm-
|
|
326
|
-
operations: [cm-safe-deploy, cm-identity-guard, cm-
|
|
327
|
-
security: [cm-
|
|
328
|
-
product: [cm-brainstorm-idea, cm-planning, cm-ux-master, cm-
|
|
325
|
+
engineering: [cm-tdd, cm-debugging, cm-quality-gate, cm-code-review, cm-codeintell, cm-reactor, cm-clean-code]
|
|
326
|
+
operations: [cm-safe-deploy, cm-identity-guard, cm-terminal, cm-safe-i18n]
|
|
327
|
+
security: [cm-safe-deploy]
|
|
328
|
+
product: [cm-brainstorm-idea, cm-planning, cm-ux-master, cm-design-system, cm-dockit, cm-project-bootstrap, cm-jtbd]
|
|
329
329
|
growth: [cm-content-factory, cm-ads-tracker, cm-cro-methodology]
|
|
330
|
-
orchestration: [cm-execution, cm-continuity, cm-skill-
|
|
331
|
-
commands: [cm-start, cm-
|
|
330
|
+
orchestration: [cm-execution, cm-continuity, cm-skill-index, cm-skill-health, cm-skill-evolution, cm-skill-chain, cm-deep-search, cm-readit, cm-how-it-work]
|
|
331
|
+
commands: [cm-start, cm-status]
|
|
332
332
|
# planned (no SKILL.md yet): mom-test, release-it, medical-research, tailwind-mastery, pandasai-analytics, cm-google-form
|
|
333
333
|
```
|
|
334
334
|
|
package/skills/cm-start/SKILL.md
CHANGED
|
@@ -30,7 +30,7 @@ When this workflow is called, the AI Assistant should execute the following acti
|
|
|
30
30
|
0.5. **Skill Coverage Check (Adaptive Discovery):**
|
|
31
31
|
- Scan the objective for technologies, frameworks, or patterns mentioned
|
|
32
32
|
- Cross-reference with `cm-skill-index` Layer 1 triggers
|
|
33
|
-
- If gap detected → trigger Discovery Loop from `cm-skill-
|
|
33
|
+
- If gap detected → trigger Discovery Loop from `cm-skill-index`:
|
|
34
34
|
`npx skills find "{keyword}"` → review → ask user → install if approved
|
|
35
35
|
- Log any discovered skills to `.cm-skills-log.json`
|
|
36
36
|
|