codymaster 5.2.0 → 7.0.1
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 +276 -0
- package/README.md +216 -333
- package/dist/agent/antigravity.js +152 -0
- package/dist/agent/backend.js +2 -0
- package/dist/agent/claude.js +196 -0
- package/dist/agent/codex.js +204 -0
- package/dist/agent/copilot.js +284 -0
- package/dist/agent/cursor.js +211 -0
- package/dist/agent/factory.js +30 -0
- package/dist/agent/gemini.js +142 -0
- package/dist/agent/opencode.js +205 -0
- package/dist/agent/spawn-helper.js +237 -0
- package/dist/agent/version.js +25 -0
- package/dist/browse/adapter-factory.js +69 -0
- package/dist/browse/adapters/agent-browser-adapter.js +305 -0
- package/dist/browse/adapters/playwright-adapter.js +309 -0
- package/dist/browse/adapters/types.js +6 -0
- package/dist/browse/error-collector.js +132 -0
- package/dist/browse/event-log.js +109 -0
- package/dist/browse/index.js +17 -0
- package/dist/browse-server.js +204 -120
- package/dist/cli/command-registry.js +12 -0
- package/dist/cli/commands/dashboard.js +76 -2
- package/dist/cli/commands/engineering.js +218 -4
- package/dist/cli/commands/install.js +160 -0
- package/dist/cli/commands/learn.js +181 -0
- package/dist/cli/commands/parallel.js +138 -0
- package/dist/cli/commands/quality.js +105 -0
- package/dist/cli/commands/stack.js +49 -0
- package/dist/cli/commands/update.js +159 -0
- package/dist/cli/update-check.js +94 -10
- package/dist/continuity.js +3 -1
- package/dist/dashboard.js +47 -6
- package/dist/data.js +35 -0
- package/dist/execution/tdd-gate.js +113 -0
- package/dist/executor/cancel.js +34 -0
- package/dist/executor/gc.js +74 -0
- package/dist/executor/index.js +14 -0
- package/dist/executor/runner.js +70 -0
- package/dist/executor/workdir.js +31 -0
- package/dist/handoff/contracts.js +22 -0
- package/dist/handoff/index.js +18 -0
- package/dist/handoff/io.js +121 -0
- package/dist/index.js +7 -3
- package/dist/indexer/stack-detect.js +219 -0
- package/dist/install/copy.js +98 -0
- package/dist/install/engine.js +42 -0
- package/dist/install/paths.js +70 -0
- package/dist/install/platforms/_simple.js +85 -0
- package/dist/install/platforms/antigravity.js +91 -0
- package/dist/install/platforms/claude-code.js +107 -0
- package/dist/install/platforms/cursor.js +77 -0
- package/dist/install/platforms/index.js +27 -0
- package/dist/install/platforms/simple.js +163 -0
- package/dist/install/profiles.js +75 -0
- package/dist/install/types.js +2 -0
- package/dist/learnings.js +208 -0
- package/dist/mcp-context-server.js +1 -1
- package/dist/middleware/metrics.js +30 -0
- package/dist/middleware/security-headers.js +14 -0
- package/dist/realtime/event-bus.js +29 -0
- package/dist/realtime/ws-hub.js +91 -0
- package/dist/schemas/task-schema.js +48 -0
- package/dist/schemas/validate.js +18 -0
- package/dist/skills-lock.js +96 -0
- package/dist/sprint-pipeline.js +26 -0
- package/dist/storage/index.js +21 -0
- package/dist/storage/repos/activity-repo.js +46 -0
- package/dist/storage/repos/message-repo.js +39 -0
- package/dist/storage/repos/project-repo.js +56 -0
- package/dist/storage/repos/task-repo.js +142 -0
- package/dist/storage/services/project-service.js +49 -0
- package/dist/storage/services/task-service.js +97 -0
- package/dist/storage/sqlite.js +113 -0
- package/dist/tier-classify.js +131 -0
- package/dist/ui/onboarding.js +51 -15
- package/dist/utils/cli-utils.js +7 -2
- package/dist/utils/design-taste.js +108 -0
- package/dist/utils/output-compress.js +143 -0
- package/dist/vibecoding-index.js +126 -0
- package/package.json +27 -4
- package/public/dashboard/app.js +52 -1
- package/scripts/build-skills-lock.mjs +88 -0
- package/scripts/build-skills.mjs +187 -28
- package/scripts/compress-skill.mjs +73 -0
- package/scripts/deprecate-skill.mjs +72 -0
- package/scripts/install.sh +170 -0
- package/scripts/mcp-bridge.js +2 -2
- package/scripts/postinstall.js +54 -287
- package/scripts/release.sh +126 -0
- package/scripts/update-changelog.sh +88 -0
- package/scripts/validate-skills.mjs +101 -4
- package/skills/_shared/SKILL_TEMPLATE.md +62 -0
- package/skills/cm-autopilot/scripts/autopilot.py +19 -2
- package/skills/cm-brainstorm-idea/SKILL.md +9 -0
- package/skills/cm-clean-code/SKILL.md +20 -0
- package/skills/cm-code-review/SKILL.md +21 -0
- package/skills/cm-codeintell/SKILL.md +9 -0
- package/skills/cm-conductor-worktrees/SKILL.archive.md +28 -0
- package/skills/cm-conductor-worktrees/SKILL.md +17 -19
- package/skills/cm-continuity/SKILL.md +9 -0
- package/skills/cm-dashboard/SKILL.archive.md +15 -0
- package/skills/cm-dashboard/SKILL.md +20 -9
- package/skills/cm-dashboard/ui/app.js +9 -1
- package/skills/cm-debugging/SKILL.md +9 -0
- package/skills/cm-design-studio/SKILL.archive.md +34 -0
- package/skills/cm-design-studio/SKILL.md +17 -25
- package/skills/cm-design-system/SKILL.md +1 -0
- package/skills/cm-engineering-meta/SKILL.archive.md +73 -0
- package/skills/cm-engineering-meta/SKILL.md +16 -63
- package/skills/cm-execution/SKILL.md +98 -0
- package/skills/cm-git-worktrees/SKILL.archive.md +157 -0
- package/skills/cm-git-worktrees/SKILL.md +15 -146
- package/skills/cm-identity-guard/SKILL.md +8 -0
- package/skills/cm-planning/SKILL.md +63 -92
- package/skills/cm-post-deploy-canary/SKILL.archive.md +22 -0
- package/skills/cm-post-deploy-canary/SKILL.md +17 -13
- package/skills/cm-qa-visual-cli/SKILL.archive.md +22 -0
- package/skills/cm-qa-visual-cli/SKILL.md +16 -12
- package/skills/cm-quality-gate/SKILL.md +38 -0
- package/skills/cm-safe-deploy/SKILL.md +9 -0
- package/skills/cm-second-opinion-cli/SKILL.archive.md +23 -0
- package/skills/cm-second-opinion-cli/SKILL.md +17 -14
- package/skills/cm-secret-shield/SKILL.archive.md +580 -0
- package/skills/cm-secret-shield/SKILL.md +15 -569
- package/skills/cm-security-gate/SKILL.archive.md +239 -0
- package/skills/cm-security-gate/SKILL.md +15 -228
- package/skills/cm-skill-health/SKILL.archive.md +83 -0
- package/skills/cm-skill-health/SKILL.md +16 -73
- package/skills/cm-skill-index/SKILL.md +8 -0
- package/skills/cm-skill-mastery/SKILL.archive.md +156 -0
- package/skills/cm-skill-mastery/SKILL.md +16 -146
- package/skills/cm-skill-search/SKILL.archive.md +49 -0
- package/skills/cm-skill-search/SKILL.md +17 -40
- package/skills/cm-skill-share/SKILL.archive.md +58 -0
- package/skills/cm-skill-share/SKILL.md +17 -49
- package/skills/cm-sprint-bus/SKILL.md +9 -0
- package/skills/cm-start/SKILL.md +17 -0
- package/skills/cm-tdd/SKILL.md +19 -0
- package/skills/cm-terminal/SKILL.md +15 -0
- package/skills/cm-test-gate/SKILL.archive.md +245 -0
- package/skills/cm-test-gate/SKILL.md +15 -234
- package/skills/cm-ui-preview/SKILL.archive.md +153 -0
- package/skills/cm-ui-preview/SKILL.md +16 -143
- package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +1 -1
- package/skills/cm-ux-master/mcp/mcp-config.json +1 -1
- package/skills/cm-ux-master/mcp/server.py +2 -2
- package/skills/profiles/design.txt +1 -1
- package/skills/profiles/full.txt +0 -10
- package/skills/profiles/growth.txt +8 -8
- package/skills/profiles/knowledge.txt +1 -1
- package/skills/profiles/top35.json +41 -0
- package/adapters/antigravity.js +0 -15
- package/adapters/claude-code.js +0 -17
- package/adapters/cursor.js +0 -16
- package/skills/cm-ads-tracker/SKILL.md +0 -401
- package/skills/cm-ads-tracker/evals/evals.json +0 -55
- package/skills/cm-ads-tracker/references/gtm-architecture.md +0 -321
- package/skills/cm-ads-tracker/references/industry-events.md +0 -294
- package/skills/cm-ads-tracker/references/platforms-api.md +0 -238
- package/skills/cm-ads-tracker/templates/capi-payload.md +0 -79
- package/skills/cm-ads-tracker/templates/datalayer-push.js +0 -104
- package/skills/cm-ads-tracker/templates/gtm-variables.js +0 -56
- package/skills/cm-auto-publisher/SKILL.md +0 -81
- package/skills/cm-booking-calendar/SKILL.md +0 -521
- package/skills/cm-booking-calendar/references/industry-patterns.md +0 -527
- package/skills/cm-booking-calendar/templates/booking-form.css +0 -626
- package/skills/cm-booking-calendar/templates/booking-form.html +0 -477
- package/skills/cm-booking-calendar/templates/calendar-engine.js +0 -419
- package/skills/cm-booking-calendar/templates/calendar-export.js +0 -395
- package/skills/cm-booking-calendar/templates/reminder-config.js +0 -629
- package/skills/cm-content-factory/.content-factory-state.json +0 -132
- package/skills/cm-content-factory/.git 2/logs/refs/heads/main +0 -1
- package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +0 -1
- 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 +0 -5
- 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 +0 -1
- package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +0 -1
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +0 -76
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +0 -1
- package/skills/cm-content-factory/AGENTS.md +0 -61
- package/skills/cm-content-factory/CLAUDE.md +0 -63
- package/skills/cm-content-factory/CURSOR.md +0 -43
- package/skills/cm-content-factory/Content Factory.zip +0 -0
- package/skills/cm-content-factory/SKILL.md +0 -416
- package/skills/cm-content-factory/cf +0 -313
- package/skills/cm-content-factory/config.schema.json +0 -397
- package/skills/cm-content-factory/dashboard/app.js +0 -556
- package/skills/cm-content-factory/dashboard/index.html +0 -397
- package/skills/cm-content-factory/dashboard/style.css +0 -1211
- package/skills/cm-content-factory/examples/01-real-estate.config.json +0 -146
- package/skills/cm-content-factory/examples/02-personal-finance.config.json +0 -146
- package/skills/cm-content-factory/examples/03-health-wellness.config.json +0 -147
- package/skills/cm-content-factory/examples/04-saas-software.config.json +0 -147
- package/skills/cm-content-factory/examples/05-legal-services.config.json +0 -147
- package/skills/cm-content-factory/examples/06-insurance.config.json +0 -146
- package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +0 -146
- package/skills/cm-content-factory/examples/08-online-education.config.json +0 -147
- package/skills/cm-content-factory/examples/09-crypto-defi.config.json +0 -147
- package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +0 -147
- package/skills/cm-content-factory/examples/11-home-services.config.json +0 -146
- package/skills/cm-content-factory/examples/12-dental-clinic.config.json +0 -147
- package/skills/cm-content-factory/examples/13-pet-care.config.json +0 -147
- package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +0 -147
- package/skills/cm-content-factory/examples/15-ai-automation.config.json +0 -147
- package/skills/cm-content-factory/examples/16-wedding-events.config.json +0 -147
- package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +0 -148
- package/skills/cm-content-factory/examples/18-cybersecurity.config.json +0 -147
- package/skills/cm-content-factory/examples/19-food-restaurant.config.json +0 -148
- package/skills/cm-content-factory/examples/20-solar-energy.config.json +0 -147
- package/skills/cm-content-factory/examples/fitness-blog.config.json +0 -116
- package/skills/cm-content-factory/examples/tech-blog.config.json +0 -107
- package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +0 -72
- package/skills/cm-content-factory/extensions/hooks.py +0 -126
- package/skills/cm-content-factory/extensions/openclaw_adapter.py +0 -132
- package/skills/cm-content-factory/landing/docs/content/changelog.md +0 -36
- package/skills/cm-content-factory/landing/docs/content/deployment.md +0 -46
- package/skills/cm-content-factory/landing/docs/content/execution-flow.md +0 -67
- package/skills/cm-content-factory/landing/docs/content/memory-system.md +0 -38
- package/skills/cm-content-factory/landing/docs/content/openspace.md +0 -27
- package/skills/cm-content-factory/landing/docs/content/use-cases.md +0 -26
- package/skills/cm-content-factory/landing/docs/content/v5-intro.md +0 -28
- package/skills/cm-content-factory/landing/docs/index.html +0 -240
- package/skills/cm-content-factory/landing/index.html +0 -680
- package/skills/cm-content-factory/landing/script.js +0 -143
- package/skills/cm-content-factory/landing/style.css +0 -1216
- package/skills/cm-content-factory/landing/translations.js +0 -508
- package/skills/cm-content-factory/logs/events.jsonl +0 -11
- package/skills/cm-content-factory/profiles/_template.profile.json +0 -231
- package/skills/cm-content-factory/profiles/finance.profile.json +0 -278
- package/skills/cm-content-factory/profiles/legal.profile.json +0 -263
- package/skills/cm-content-factory/profiles/medical-research.profile.json +0 -321
- package/skills/cm-content-factory/profiles/technology.profile.json +0 -275
- package/skills/cm-content-factory/scripts/agent_dispatcher.py +0 -266
- package/skills/cm-content-factory/scripts/audit.py +0 -106
- package/skills/cm-content-factory/scripts/dashboard_server.py +0 -225
- package/skills/cm-content-factory/scripts/deploy.py +0 -146
- package/skills/cm-content-factory/scripts/extract.py +0 -132
- package/skills/cm-content-factory/scripts/landing_generator.py +0 -459
- package/skills/cm-content-factory/scripts/memory.py +0 -521
- package/skills/cm-content-factory/scripts/monetize.py +0 -239
- package/skills/cm-content-factory/scripts/pipeline.py +0 -357
- package/skills/cm-content-factory/scripts/plan.py +0 -163
- package/skills/cm-content-factory/scripts/publish.py +0 -145
- package/skills/cm-content-factory/scripts/research.py +0 -337
- package/skills/cm-content-factory/scripts/scaffold.py +0 -464
- package/skills/cm-content-factory/scripts/scoreboard.py +0 -336
- package/skills/cm-content-factory/scripts/seo.py +0 -90
- package/skills/cm-content-factory/scripts/state_manager.py +0 -320
- package/skills/cm-content-factory/scripts/token_manager.py +0 -268
- package/skills/cm-content-factory/scripts/validate.py +0 -221
- package/skills/cm-content-factory/scripts/wizard.py +0 -329
- package/skills/cm-content-factory/scripts/write.py +0 -93
- 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 +0 -90
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +0 -54
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +0 -38
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +0 -65
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +0 -48
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +0 -39
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +0 -42
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +0 -51
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +0 -52
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +0 -86
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +0 -80
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +0 -58
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +0 -102
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +0 -45
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +0 -29
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +0 -55
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +0 -29
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +0 -41
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +0 -40
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +0 -56
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +0 -46
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +0 -45
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +0 -45
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +0 -108
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +0 -22
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +0 -52
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +0 -58
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +0 -92
- package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +0 -575
- package/skills/cm-content-factory/tests/conftest.py +0 -66
- package/skills/cm-content-factory/tests/test_agent_dispatcher.py +0 -125
- package/skills/cm-content-factory/tests/test_memory.py +0 -128
- package/skills/cm-content-factory/tests/test_pipeline.py +0 -107
- package/skills/cm-content-factory/tests/test_research.py +0 -56
- package/skills/cm-content-factory/tests/test_state_manager.py +0 -131
- package/skills/cm-content-factory/tests/test_token_manager.py +0 -110
- package/skills/cm-content-factory/tests/test_wizard.py +0 -121
- package/skills/cm-cro-methodology/SKILL.md +0 -290
- package/skills/cm-cro-methodology/references/COPYWRITING.md +0 -178
- package/skills/cm-cro-methodology/references/OBJECTIONS.md +0 -135
- package/skills/cm-cro-methodology/references/PERSUASION.md +0 -158
- package/skills/cm-cro-methodology/references/RESEARCH.md +0 -220
- package/skills/cm-cro-methodology/references/funnel-analysis.md +0 -365
- package/skills/cm-cro-methodology/references/testing-methodology.md +0 -330
- package/skills/cm-google-form/SKILL.md +0 -266
- package/skills/cm-google-form/templates/apps-script.js +0 -55
- package/skills/cm-google-form/templates/form-markup.html +0 -110
- package/skills/cm-google-form/templates/form-submit.js +0 -201
- package/skills/cm-google-form/templates/toast.css +0 -152
- package/skills/cm-growth-hacking/SKILL.md +0 -282
- package/skills/cm-growth-hacking/bottom-sheet-engine.md +0 -261
- package/skills/cm-growth-hacking/calendar-integration.md +0 -264
- package/skills/cm-growth-hacking/references/engagement-patterns.md +0 -346
- package/skills/cm-growth-hacking/templates/bottom-sheet.css +0 -528
- package/skills/cm-growth-hacking/templates/bottom-sheet.js +0 -269
- package/skills/cm-growth-hacking/templates/calendar-cta.js +0 -213
- package/skills/cm-growth-hacking/templates/tracking-events.js +0 -211
- package/skills/cm-growth-hacking/templates/trigger-manager.js +0 -254
- package/skills/cm-growth-hacking/tracking-events.md +0 -246
- package/skills/cm-growth-hacking/trigger-system.md +0 -342
- package/skills/cm-jtbd/SKILL.md +0 -98
- package/skills/cm-notebooklm/SKILL.md +0 -156
- package/skills/cm-notebooklm/references/command_reference.md +0 -94
- package/skills/cm-notebooklm/references/workflows.md +0 -60
- package/skills/cm-notebooklm/resources/knowledge_sources.md +0 -106
- package/skills/cm-notebooklm/scripts/brain-sync.sh +0 -453
- package/skills/cm-notebooklm/scripts/graduate_wisdom.py +0 -101
- package/skills/cm-readit/SKILL.md +0 -289
- package/skills/cm-readit/audio-player.md +0 -206
- package/skills/cm-readit/examples/blog-reader.js +0 -352
- package/skills/cm-readit/examples/voice-cro.js +0 -390
- package/skills/cm-readit/tts-engine.md +0 -262
- package/skills/cm-readit/ui-patterns.md +0 -362
- package/skills/cm-readit/voice-cro.md +0 -223
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Validates skills under skills/.
|
|
4
|
+
*
|
|
5
|
+
* Always-required (errors, fail build):
|
|
6
|
+
* - SKILL.md exists with H1 title and YAML frontmatter (`name`, `description`)
|
|
7
|
+
*
|
|
8
|
+
* Opt-in v2 rules (errors only when frontmatter `compressed: true`):
|
|
9
|
+
* - `token_budget` integer in [100, 6000]
|
|
10
|
+
* - `## TL;DR` section present, ≤8 non-empty lines (≤5 recommended)
|
|
11
|
+
* - SKILL.md ≤200 lines (warning only)
|
|
12
|
+
*
|
|
13
|
+
* Skills with `deprecated: true` are exempt from v2 rules.
|
|
14
|
+
*
|
|
15
|
+
* Migration: as skills are refactored to the new template
|
|
16
|
+
* (skills/_shared/SKILL_TEMPLATE.md), set `compressed: true` to enforce
|
|
17
|
+
* v2 quality. Once all core skills are migrated, the opt-in becomes default.
|
|
4
18
|
*/
|
|
5
19
|
import fs from 'fs';
|
|
6
20
|
import path from 'path';
|
|
@@ -9,32 +23,115 @@ import { fileURLToPath } from 'url';
|
|
|
9
23
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
24
|
const root = path.join(__dirname, '..', 'skills');
|
|
11
25
|
|
|
12
|
-
/** Directories under skills/ that are not standalone skills (assets, packs). */
|
|
13
26
|
const SKIP_DIRS = new Set(['profiles', 'extensions', 'scripts']);
|
|
14
27
|
|
|
15
28
|
let errors = 0;
|
|
29
|
+
let warnings = 0;
|
|
30
|
+
|
|
31
|
+
function parseFrontmatter(text) {
|
|
32
|
+
const m = text.match(/^---\n([\s\S]*?)\n---\n/);
|
|
33
|
+
if (!m) return null;
|
|
34
|
+
const out = {};
|
|
35
|
+
for (const line of m[1].split('\n')) {
|
|
36
|
+
const mm = line.match(/^([A-Za-z_][A-Za-z0-9_-]*)\s*:\s*(.*)$/);
|
|
37
|
+
if (!mm) continue;
|
|
38
|
+
let v = mm[2].trim();
|
|
39
|
+
if (v.startsWith('"') && v.endsWith('"')) v = v.slice(1, -1);
|
|
40
|
+
if (v === 'true') v = true;
|
|
41
|
+
else if (v === 'false') v = false;
|
|
42
|
+
else if (/^-?\d+$/.test(v)) v = parseInt(v, 10);
|
|
43
|
+
out[mm[1]] = v;
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function extractTldr(text) {
|
|
49
|
+
const m = text.match(/^##\s+TL;DR\s*\n([\s\S]*?)(?=\n##\s|$)/m);
|
|
50
|
+
if (!m) return null;
|
|
51
|
+
return m[1].split('\n').filter((l) => l.trim().length > 0);
|
|
52
|
+
}
|
|
53
|
+
|
|
16
54
|
if (!fs.existsSync(root)) {
|
|
17
55
|
console.error('No skills/ directory');
|
|
18
56
|
process.exit(1);
|
|
19
57
|
}
|
|
20
58
|
|
|
59
|
+
let migratedCount = 0;
|
|
60
|
+
let totalCount = 0;
|
|
61
|
+
|
|
21
62
|
for (const name of fs.readdirSync(root, { withFileTypes: true })) {
|
|
22
63
|
if (!name.isDirectory()) continue;
|
|
23
64
|
if (name.name.startsWith('_') || name.name.startsWith('.')) continue;
|
|
24
65
|
if (SKIP_DIRS.has(name.name)) continue;
|
|
66
|
+
|
|
25
67
|
const md = path.join(root, name.name, 'SKILL.md');
|
|
26
68
|
if (!fs.existsSync(md)) {
|
|
27
|
-
console.error(
|
|
69
|
+
console.error(`✗ ${name.name}: missing SKILL.md`);
|
|
28
70
|
errors++;
|
|
29
71
|
continue;
|
|
30
72
|
}
|
|
73
|
+
totalCount++;
|
|
74
|
+
|
|
31
75
|
const text = fs.readFileSync(md, 'utf8');
|
|
76
|
+
const fm = parseFrontmatter(text);
|
|
77
|
+
|
|
32
78
|
if (!/^#\s+\S/m.test(text)) {
|
|
33
|
-
console.error(
|
|
79
|
+
console.error(`✗ ${name.name}: missing H1 title`);
|
|
80
|
+
errors++;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (!fm) {
|
|
84
|
+
console.error(`✗ ${name.name}: missing YAML frontmatter`);
|
|
85
|
+
errors++;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (!fm.name) {
|
|
89
|
+
console.error(`✗ ${name.name}: frontmatter missing 'name'`);
|
|
90
|
+
errors++;
|
|
91
|
+
}
|
|
92
|
+
if (!fm.description) {
|
|
93
|
+
console.error(`✗ ${name.name}: frontmatter missing 'description'`);
|
|
34
94
|
errors++;
|
|
35
95
|
}
|
|
96
|
+
|
|
97
|
+
const isDeprecated = fm.deprecated === true;
|
|
98
|
+
const isCompressed = fm.compressed === true;
|
|
99
|
+
|
|
100
|
+
if (isCompressed && !isDeprecated) {
|
|
101
|
+
migratedCount++;
|
|
102
|
+
|
|
103
|
+
if (typeof fm.token_budget !== 'number') {
|
|
104
|
+
console.error(`✗ ${name.name}: compressed skill missing 'token_budget' (number)`);
|
|
105
|
+
errors++;
|
|
106
|
+
} else if (fm.token_budget < 100 || fm.token_budget > 6000) {
|
|
107
|
+
console.error(`✗ ${name.name}: token_budget ${fm.token_budget} out of range [100, 6000]`);
|
|
108
|
+
errors++;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const tldr = extractTldr(text);
|
|
112
|
+
if (!tldr) {
|
|
113
|
+
console.error(`✗ ${name.name}: compressed skill missing '## TL;DR' section`);
|
|
114
|
+
errors++;
|
|
115
|
+
} else {
|
|
116
|
+
if (tldr.length > 8) {
|
|
117
|
+
console.error(`✗ ${name.name}: TL;DR has ${tldr.length} non-empty lines (max 8)`);
|
|
118
|
+
errors++;
|
|
119
|
+
} else if (tldr.length > 5) {
|
|
120
|
+
console.warn(`⚠ ${name.name}: TL;DR has ${tldr.length} non-empty lines (recommend ≤5)`);
|
|
121
|
+
warnings++;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const totalLines = text.split('\n').length;
|
|
126
|
+
if (totalLines > 200) {
|
|
127
|
+
console.warn(`⚠ ${name.name}: SKILL.md is ${totalLines} lines (recommend ≤200)`);
|
|
128
|
+
warnings++;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
36
131
|
}
|
|
37
132
|
|
|
133
|
+
console.log(`validate-skills: ${migratedCount}/${totalCount} skills migrated to v2 (compressed:true)`);
|
|
134
|
+
if (warnings) console.warn(`validate-skills: ${warnings} warning(s)`);
|
|
38
135
|
if (errors) {
|
|
39
136
|
console.error(`validate-skills: ${errors} error(s)`);
|
|
40
137
|
process.exit(1);
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-<name>
|
|
3
|
+
description: "<one-line trigger sentence: when to use this skill>"
|
|
4
|
+
token_budget: 1500
|
|
5
|
+
compressed: true
|
|
6
|
+
deprecated: false
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# cm-<name> — <short title>
|
|
10
|
+
|
|
11
|
+
## TL;DR
|
|
12
|
+
- **Use when**: <trigger condition, 1 line>
|
|
13
|
+
- **Output**: <what artifact/state changes>
|
|
14
|
+
- **Handoff**: reads `.cm/handoff/<prev>.json` (if any), writes `.cm/handoff/<this>.json` (if any)
|
|
15
|
+
- **Chain**: typically follows `cm-<prev>`, precedes `cm-<next>`
|
|
16
|
+
- **Budget**: 1500 tokens (loaded full only when needed)
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
<2-4 bullets describing concrete situations. Skip if TL;DR is sufficient.>
|
|
20
|
+
|
|
21
|
+
## Adaptive Depth
|
|
22
|
+
|
|
23
|
+
Read `.cm/project-tier.md` (written by `cm tier classify`) and pick a rendering depth:
|
|
24
|
+
|
|
25
|
+
- **LITE / STANDARD** → stop after TL;DR. Skip "Full Protocol" unless the task explicitly requires deep instructions.
|
|
26
|
+
- **PROFESSIONAL / ENTERPRISE** → load the full protocol below.
|
|
27
|
+
|
|
28
|
+
If the tier file is absent, default to STANDARD.
|
|
29
|
+
|
|
30
|
+
## Full Protocol
|
|
31
|
+
<Detailed instructions, examples, rules. Agent loads this only when TL;DR is insufficient or tier ≥ PROFESSIONAL.>
|
|
32
|
+
|
|
33
|
+
### Step 1: <name>
|
|
34
|
+
<...>
|
|
35
|
+
|
|
36
|
+
### Step 2: <name>
|
|
37
|
+
<...>
|
|
38
|
+
|
|
39
|
+
## Integration
|
|
40
|
+
|
|
41
|
+
| After this skill... | Use skill |
|
|
42
|
+
|---|---|
|
|
43
|
+
| <situation> | `cm-<next>` |
|
|
44
|
+
|
|
45
|
+
## Persona Dispatch (optional)
|
|
46
|
+
|
|
47
|
+
For complex tasks, dispatch via persona subagents in `agents/`:
|
|
48
|
+
|
|
49
|
+
| Need | Persona |
|
|
50
|
+
|------|---------|
|
|
51
|
+
| Clarify scope/intent | `pm` |
|
|
52
|
+
| Design / trade-offs | `architect` |
|
|
53
|
+
| Write code | `engineer` |
|
|
54
|
+
| Independent review | `reviewer` |
|
|
55
|
+
| Threat model / scan | `security` |
|
|
56
|
+
|
|
57
|
+
## Anti-Patterns
|
|
58
|
+
- ❌ <thing not to do>
|
|
59
|
+
- ❌ <thing not to do>
|
|
60
|
+
|
|
61
|
+
## The Bottom Line
|
|
62
|
+
**<one-sentence rule>**
|
|
@@ -15,9 +15,26 @@ import subprocess
|
|
|
15
15
|
import threading
|
|
16
16
|
from pathlib import Path
|
|
17
17
|
|
|
18
|
-
#
|
|
18
|
+
# Reuse dispatcher and state manager from the content-factory plugin.
|
|
19
|
+
# After the 2026-05-09 plugin split, content-factory lives in a separate plugin.
|
|
20
|
+
# Resolution order: env override → sibling extracted-plugins (dev) → installed plugin paths.
|
|
19
21
|
SKILLS_DIR = Path(__file__).resolve().parent.parent.parent
|
|
20
|
-
|
|
22
|
+
REPO_ROOT = SKILLS_DIR.parent
|
|
23
|
+
|
|
24
|
+
def _find_cf_scripts() -> Path:
|
|
25
|
+
env = os.environ.get("CONTENT_FACTORY_SCRIPTS")
|
|
26
|
+
if env and Path(env).exists():
|
|
27
|
+
return Path(env)
|
|
28
|
+
candidates = [
|
|
29
|
+
REPO_ROOT / "extracted-plugins" / "content-factory" / "skills" / "content-factory" / "scripts",
|
|
30
|
+
Path.home() / ".claude" / "plugins" / "cache" / "content-factory" / "skills" / "content-factory" / "scripts",
|
|
31
|
+
]
|
|
32
|
+
for c in candidates:
|
|
33
|
+
if c.exists():
|
|
34
|
+
return c
|
|
35
|
+
return SKILLS_DIR / "cm-content-factory" / "scripts" # legacy fallback
|
|
36
|
+
|
|
37
|
+
CF_SCRIPTS = _find_cf_scripts()
|
|
21
38
|
sys.path.append(str(CF_SCRIPTS))
|
|
22
39
|
|
|
23
40
|
try:
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-brainstorm-idea
|
|
3
3
|
description: "Strategic analysis gate for existing products — multi-dimensional evaluation (tech, product, design, business) using Design Thinking + 9 Windows (TRIZ) + Double Diamond. Outputs 2-3 qualified options with recommendations. Use BEFORE cm-planning for complex initiatives and enhancements on existing codebases."
|
|
4
|
+
token_budget: 1500
|
|
5
|
+
compressed: true
|
|
6
|
+
deprecated: false
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Brainstorm Idea — Strategic Analysis Gate
|
|
7
10
|
|
|
11
|
+
## TL;DR
|
|
12
|
+
- **Use before** cm-planning for complex/ambiguous initiatives
|
|
13
|
+
- **Frameworks**: Design Thinking + 9 Windows (TRIZ) + Double Diamond
|
|
14
|
+
- **Output**: 2-3 qualified options + recommendation
|
|
15
|
+
- **Writes**: handoff/intent.json
|
|
16
|
+
|
|
8
17
|
> **Understand deeply. Evaluate multi-dimensionally. Propose qualified options. Then — and only then — plan.**
|
|
9
18
|
> This skill is the BRIDGE between an existing product and its next evolution.
|
|
10
19
|
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-clean-code
|
|
3
3
|
description: "Code hygiene gate — detect and eliminate dead code, duplicates, naming mess, and code smells. TRIZ-powered. Run after features, before PRs, during debt sprints."
|
|
4
|
+
token_budget: 1200
|
|
5
|
+
compressed: true
|
|
6
|
+
deprecated: false
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Clean Code — Code Hygiene Gate
|
|
7
10
|
|
|
11
|
+
## TL;DR
|
|
12
|
+
- **Use after** a feature lands, before PR review
|
|
13
|
+
- **Detects**: dead code, duplicates, naming smells, dependency drift
|
|
14
|
+
- **Powered by** TRIZ contradictions and Boy Scout rule
|
|
15
|
+
- **Next**: cm-code-review
|
|
16
|
+
|
|
8
17
|
> **Code that works is not enough. Code must be CLEAN.**
|
|
9
18
|
> Inspired by Clean Code (Robert C. Martin) + Refactoring (Martin Fowler) + TRIZ.
|
|
10
19
|
|
|
@@ -295,6 +304,17 @@ cm-execution → cm-clean-code → cm-code-review → cm-quality-gate → cm-saf
|
|
|
295
304
|
(build) (hygiene) (review) (verify) (ship)
|
|
296
305
|
```
|
|
297
306
|
|
|
307
|
+
## Karpathy Discipline — Simplicity First
|
|
308
|
+
|
|
309
|
+
Combat over-engineering at the source, not after the fact:
|
|
310
|
+
- **No features beyond what was asked.** No "while I'm here" additions.
|
|
311
|
+
- **No abstractions for single-use code.** Three similar lines beats a premature interface.
|
|
312
|
+
- **No flexibility/configurability that wasn't requested.** YAGNI is the default.
|
|
313
|
+
- **No error handling for impossible scenarios.** Trust internal callers; validate at boundaries.
|
|
314
|
+
- **200 lines that should be 50 → rewrite, don't ship.**
|
|
315
|
+
|
|
316
|
+
**Senior-engineer test:** "Would a senior call this overcomplicated?" If yes, simplify before commit.
|
|
317
|
+
|
|
298
318
|
## The Bottom Line
|
|
299
319
|
|
|
300
320
|
**Clean code = investment. Dirty code = debt. Pay as you go, or pay with interest later.**
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-code-review
|
|
3
3
|
description: "Full review lifecycle — request reviews, handle feedback with technical rigor, and complete branch integration. Use when completing tasks, receiving feedback, or finishing feature branches."
|
|
4
|
+
token_budget: 1500
|
|
5
|
+
compressed: true
|
|
6
|
+
deprecated: false
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Code Review — Request + Receive + Complete
|
|
7
10
|
|
|
11
|
+
## TL;DR
|
|
12
|
+
- **Use when** task complete, before/during PR review
|
|
13
|
+
- **Pre-review**: lint, tests, diff scan, blast radius
|
|
14
|
+
- **Reads**: handoff/exec.json — **Writes**: handoff/review.json
|
|
15
|
+
- **Severity**: info | warn | error | critical
|
|
16
|
+
- **Next**: cm-quality-gate
|
|
17
|
+
|
|
8
18
|
> **Full review lifecycle in one skill:** Request → Receive → Integrate.
|
|
9
19
|
|
|
10
20
|
## Part A: Requesting Code Review
|
|
@@ -146,6 +156,17 @@ After processing review feedback, ALWAYS update `.cm/CONTINUITY.md`:
|
|
|
146
156
|
| `cm-identity-guard` | Before git push |
|
|
147
157
|
| `cm-git-worktrees` | Cleanup worktree after completion |
|
|
148
158
|
|
|
159
|
+
## Karpathy Discipline — Review Checklist
|
|
160
|
+
|
|
161
|
+
Block any PR/diff that violates these regardless of green tests:
|
|
162
|
+
- **Scope creep:** changed line that doesn't trace to the task → request removal.
|
|
163
|
+
- **Bloat:** new abstraction with one caller, premature config, error paths for impossible inputs → request simplification.
|
|
164
|
+
- **Side-effect edits:** unrelated formatting, renamed identifiers, "improved" comments not in scope → revert.
|
|
165
|
+
- **Hidden assumptions:** logic that depends on an unstated invariant → require it surfaced (test or doc) or rejected.
|
|
166
|
+
- **Weak goals:** PR description says "make it work" with no verifiable criterion → send back to planning.
|
|
167
|
+
|
|
168
|
+
**Review heuristic:** if you can't answer "what task forced this line?" for every changed line, the diff is too wide.
|
|
169
|
+
|
|
149
170
|
## The Bottom Line
|
|
150
171
|
|
|
151
172
|
**Review early. Verify feedback. Ship with evidence, not hope.**
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-codeintell
|
|
3
3
|
description: "Unified code intelligence — Skeleton Index (zero-dep, <4s) + AST knowledge graph (CodeGraph) + architecture diagrams (Mermaid) + smart context builder. Pre-indexes code structure so AI agents understand any codebase instantly. 95% token compression for onboarding. 30% fewer tokens for deep analysis."
|
|
4
|
+
token_budget: 1500
|
|
5
|
+
compressed: true
|
|
6
|
+
deprecated: false
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Code Intelligence — Structural Understanding for AI Agents
|
|
7
10
|
|
|
11
|
+
## TL;DR
|
|
12
|
+
- **Use to** index codebase for fast structural understanding
|
|
13
|
+
- **Outputs**: skeleton index, AST graph, Mermaid diagrams
|
|
14
|
+
- **Token saving**: ~95% for onboarding, ~30% for deep analysis
|
|
15
|
+
- **Next**: cm-planning or cm-debugging
|
|
16
|
+
|
|
8
17
|
> **Stop scanning. Start querying.** Skeleton Index (<4s, zero deps) + AST graph + architecture diagrams = instant code understanding.
|
|
9
18
|
> Inspired by [CodeGraph](https://github.com/colbymchenry/codegraph) + [GitDiagram](https://github.com/ahmedkhaleel2004/gitdiagram).
|
|
10
19
|
> TRIZ-optimized: 10 inventive principles applied.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-conductor-worktrees
|
|
3
|
+
description: "Use when you need to manage parallel git worktrees for isolated feature development."
|
|
4
|
+
---
|
|
5
|
+
# cm-conductor-worktrees — parallel worktrees
|
|
6
|
+
|
|
7
|
+
## CLI
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
cm conductor add --at ../my-feature-wt --branch feat/my-feature --base main
|
|
11
|
+
cm conductor list
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Practice
|
|
15
|
+
|
|
16
|
+
- One **branch + worktree** per parallel agent/session.
|
|
17
|
+
- Reconcile with `git merge` / PR; avoid two agents editing the same files without coordination.
|
|
18
|
+
|
|
19
|
+
## ELI16 (3+ sessions)
|
|
20
|
+
|
|
21
|
+
When running **three or more** parallel sessions, re-ground each session with:
|
|
22
|
+
|
|
23
|
+
- Current branch name + worktree path.
|
|
24
|
+
- Last artifact from `cm sprint status` or `.cm/context-bus.json`.
|
|
25
|
+
|
|
26
|
+
## Future
|
|
27
|
+
|
|
28
|
+
Dashboard UI for active sprints is **not** in CLI yet — use `cm dashboard` / Hamster UI where available.
|
|
@@ -1,28 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-conductor-worktrees
|
|
3
|
-
description: "
|
|
3
|
+
description: "[Deprecated] parallel execution mode. Use `cm-execution` instead."
|
|
4
|
+
deprecated: true
|
|
5
|
+
merged_into: cm-execution
|
|
4
6
|
---
|
|
5
|
-
# cm-conductor-worktrees — parallel worktrees
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
# cm-conductor-worktrees — Deprecated
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
cm
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
## Practice
|
|
15
|
-
|
|
16
|
-
- One **branch + worktree** per parallel agent/session.
|
|
17
|
-
- Reconcile with `git merge` / PR; avoid two agents editing the same files without coordination.
|
|
10
|
+
> ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
|
|
11
|
+
>
|
|
12
|
+
> **Use `cm-execution` instead.** parallel execution mode.
|
|
13
|
+
>
|
|
14
|
+
> See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
## Migration
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
```bash
|
|
21
|
+
# Old: cm <use this skill>
|
|
22
|
+
# New (v6.0+): cm execution <equivalent action>
|
|
23
|
+
```
|
|
27
24
|
|
|
28
|
-
|
|
25
|
+
If you depend on a capability that didn't carry over, please file an issue:
|
|
26
|
+
https://github.com/tody-agent/codymaster/issues
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-continuity
|
|
3
3
|
description: "Working memory protocol — maintains context across sessions via CONTINUITY.md. Inspired by Loki Mode. Read at turn start, update at turn end. Captures mistakes and learnings to prevent repeating errors."
|
|
4
|
+
token_budget: 1200
|
|
5
|
+
compressed: true
|
|
6
|
+
deprecated: false
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Continuity — Working Memory Protocol
|
|
7
10
|
|
|
11
|
+
## TL;DR
|
|
12
|
+
- **Use at** session start (read) and end (update)
|
|
13
|
+
- **File**: .cm/CONTINUITY.md (working memory)
|
|
14
|
+
- **Auto-loads**: recent learnings from .cm/learnings.jsonl
|
|
15
|
+
- **Loki Mode**: prevents repeating past mistakes
|
|
16
|
+
|
|
8
17
|
> **Context persistence across sessions. Mistakes captured. Learnings applied.**
|
|
9
18
|
> Inspired by Loki Mode's CONTINUITY.md protocol (Autonomi).
|
|
10
19
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-dashboard
|
|
3
|
+
description: Open visual Dashboard to track work status (Simulated Kanban board)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Command: `/cm-dashboard`
|
|
7
|
+
|
|
8
|
+
When this command is called, the AI Assistant should:
|
|
9
|
+
|
|
10
|
+
1. **Check status:** Find and read the OpenSpec `openspec/changes/[init]/tasks.md` (and synced `cm-tasks.json`) file in the current project directory (or artifacts directory).
|
|
11
|
+
2. **Visual display:** Aggregate tasks and render them as a Kanban board (Markdown table) with 3 columns:
|
|
12
|
+
- **🔴 TO DO** (Not started)
|
|
13
|
+
- **🟡 IN PROGRESS** (In progress)
|
|
14
|
+
- **🟢 DONE** (Completed)
|
|
15
|
+
3. **Flow report:** Briefly summarize which Mode the Agent is in (PLANNING, EXECUTION, or VERIFICATION) and what the Next Step is.
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-dashboard
|
|
3
|
-
description:
|
|
3
|
+
description: "[Deprecated] both visualize project state. Use `cm-status` instead."
|
|
4
|
+
deprecated: true
|
|
5
|
+
merged_into: cm-status
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# cm-dashboard — Deprecated
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
> ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
|
|
11
|
+
>
|
|
12
|
+
> **Use `cm-status` instead.** both visualize project state.
|
|
13
|
+
>
|
|
14
|
+
> See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
|
|
9
15
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
|
|
17
|
+
|
|
18
|
+
## Migration
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Old: cm <use this skill>
|
|
22
|
+
# New (v6.0+): cm status <equivalent action>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
If you depend on a capability that didn't carry over, please file an issue:
|
|
26
|
+
https://github.com/tody-agent/codymaster/issues
|
|
@@ -926,7 +926,15 @@
|
|
|
926
926
|
}
|
|
927
927
|
|
|
928
928
|
// ── Utilities ──────────────────────────────
|
|
929
|
-
function esc(str) {
|
|
929
|
+
function esc(str) {
|
|
930
|
+
if (str == null) return '';
|
|
931
|
+
return String(str)
|
|
932
|
+
.replace(/&/g, '&')
|
|
933
|
+
.replace(/</g, '<')
|
|
934
|
+
.replace(/>/g, '>')
|
|
935
|
+
.replace(/"/g, '"')
|
|
936
|
+
.replace(/'/g, ''');
|
|
937
|
+
}
|
|
930
938
|
function formatTimeAgo(dateStr) {
|
|
931
939
|
const ms = Date.now() - new Date(dateStr).getTime();
|
|
932
940
|
const m = Math.floor(ms / 60000), h = Math.floor(ms / 3600000), d = Math.floor(ms / 86400000);
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-debugging
|
|
3
3
|
description: Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
|
|
4
|
+
token_budget: 1500
|
|
5
|
+
compressed: true
|
|
6
|
+
deprecated: false
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Systematic Debugging
|
|
7
10
|
|
|
11
|
+
## TL;DR
|
|
12
|
+
- **Use when** any bug, test failure, or unexpected behavior surfaces
|
|
13
|
+
- **Process**: reproduce → isolate → diagnose root cause → fix
|
|
14
|
+
- **Defense in depth**: also add a test that locks the bug
|
|
15
|
+
- **Next**: cm-tdd → cm-quality-gate
|
|
16
|
+
|
|
8
17
|
## Overview
|
|
9
18
|
|
|
10
19
|
Random fixes waste time and create new bugs. Quick patches mask underlying issues.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-design-studio
|
|
3
|
+
description: "Use when you need to create 2-3 UI/UX design variants and document a repeatable handoff before coding."
|
|
4
|
+
---
|
|
5
|
+
# cm-design-studio
|
|
6
|
+
|
|
7
|
+
> Local design-variant workspace: checklist, named variants, and a handoff stub—no external MCP required.
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
- You want **2–3 UI/UX variants** documented before coding.
|
|
12
|
+
- You need a **repeatable handoff** from design choice to implementation agents.
|
|
13
|
+
- You prefer **files under `.cm/`** over ad-hoc chat-only decisions.
|
|
14
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
1. From the repo root: `cm design-studio init`
|
|
18
|
+
2. Edit `.cm/design-studio/CHECKLIST.md` and `VARIANTS.md` (name options A/B/C).
|
|
19
|
+
3. Pick a variant; complete `.cm/design-studio/HANDOFF.md` (screens, tokens, prompt stub).
|
|
20
|
+
4. Run implementation skills (e.g. `cm-execution`, `cm-tdd`) **using the HANDOFF prompt stub** as the single source of truth.
|
|
21
|
+
|
|
22
|
+
Optional: `cm design-studio status` — list artifact files.
|
|
23
|
+
|
|
24
|
+
## Output
|
|
25
|
+
|
|
26
|
+
- `.cm/design-studio/README.md` — happy path
|
|
27
|
+
- `.cm/design-studio/CHECKLIST.md`
|
|
28
|
+
- `.cm/design-studio/VARIANTS.md`
|
|
29
|
+
- `.cm/design-studio/HANDOFF.md`
|
|
30
|
+
|
|
31
|
+
## Related
|
|
32
|
+
|
|
33
|
+
- ADR 003 (`docs/adr/003-skill-distro-and-meta.md`) for pack layout when publishing skills.
|
|
34
|
+
- `cm suggest` may recommend other skills based on git + sprint state.
|
|
@@ -1,34 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-design-studio
|
|
3
|
-
description: "
|
|
3
|
+
description: "[Deprecated] design pipeline merged. Use `cm-design-system` instead."
|
|
4
|
+
deprecated: true
|
|
5
|
+
merged_into: cm-design-system
|
|
4
6
|
---
|
|
5
|
-
# cm-design-studio
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
# cm-design-studio — Deprecated
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
> ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
|
|
11
|
+
>
|
|
12
|
+
> **Use `cm-design-system` instead.** design pipeline merged.
|
|
13
|
+
>
|
|
14
|
+
> See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
|
|
10
15
|
|
|
11
|
-
|
|
12
|
-
- You need a **repeatable handoff** from design choice to implementation agents.
|
|
13
|
-
- You prefer **files under `.cm/`** over ad-hoc chat-only decisions.
|
|
16
|
+
The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
|
|
14
17
|
|
|
15
|
-
##
|
|
18
|
+
## Migration
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
```bash
|
|
21
|
+
# Old: cm <use this skill>
|
|
22
|
+
# New (v6.0+): cm design-system <equivalent action>
|
|
23
|
+
```
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## Output
|
|
25
|
-
|
|
26
|
-
- `.cm/design-studio/README.md` — happy path
|
|
27
|
-
- `.cm/design-studio/CHECKLIST.md`
|
|
28
|
-
- `.cm/design-studio/VARIANTS.md`
|
|
29
|
-
- `.cm/design-studio/HANDOFF.md`
|
|
30
|
-
|
|
31
|
-
## Related
|
|
32
|
-
|
|
33
|
-
- ADR 003 (`docs/adr/003-skill-distro-and-meta.md`) for pack layout when publishing skills.
|
|
34
|
-
- `cm suggest` may recommend other skills based on git + sprint state.
|
|
25
|
+
If you depend on a capability that didn't carry over, please file an issue:
|
|
26
|
+
https://github.com/tody-agent/codymaster/issues
|
|
@@ -10,6 +10,7 @@ description: |
|
|
|
10
10
|
Establish a robust, stable, and consistent UI Design System by either extracting tokens from an existing source (Harvester mode) or scaffolding a fresh system based on premium Kits (Shadcn, Halo, Lunaris, Nitro). Output a strictly formatted `DESIGN.md` artifact ready for UI generation.
|
|
11
11
|
|
|
12
12
|
# Instructions
|
|
13
|
+
0. **Load Design Taste** (if `.cm/design-taste.json` exists): Before proposing tokens, call `topTaste(cwd, 'color')`, `topTaste(cwd, 'font')`, `topTaste(cwd, 'layout')` from `src/utils/design-taste.ts`. Bias selections toward `approved` entries; avoid `rejected`. Decay is 5 %/week so stale taste fades — trust live weights. After the user accepts or rejects a palette, call `recordTaste(cwd, { dimension, value, verdict })` so future runs improve.
|
|
13
14
|
1. **Clarify Intent**: Determine if the user wants to *extract* an existing design from a URL/Image or *create* a new system from a specific UI Kit.
|
|
14
15
|
2. **Harvester Extraction (If applicable)**:
|
|
15
16
|
- Analyze the target visual source.
|