codymaster 5.2.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +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/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 +19 -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/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
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-security-gate
|
|
3
|
+
description: Pre-production security audit and vulnerability scanning. Run Snyk + Aikido dependency scans, OWASP analysis, and set up automated GitHub security checks with Jules. Use when asked to 'run security check', 'security audit', 'kiểm tra bảo mật', 'vulnerability scan', 'Snyk', 'OWASP', or before open-sourcing / commercializing a project.
|
|
4
|
+
---
|
|
5
|
+
# cm-security-gate — Mandatory Security Audit & Vulnerability Gate
|
|
6
|
+
|
|
7
|
+
> **No code goes public without a security pass.**
|
|
8
|
+
> **No CodyMaster release ships without Snyk + Aikido green.**
|
|
9
|
+
|
|
10
|
+
## Enforcement Policy
|
|
11
|
+
|
|
12
|
+
| Context | Level | What Happens |
|
|
13
|
+
|---------|-------|-------------|
|
|
14
|
+
| **CodyMaster internal** | 🔴 MANDATORY | Both Snyk + Aikido MUST pass. No deploy, no PR merge without green. |
|
|
15
|
+
| **User projects (normal)** | 🟡 SUGGESTED | Recommend scanning, provide easy commands. User may skip. |
|
|
16
|
+
| **User projects (risk detected)** | 🔴 ESCALATED MANDATORY | If CVEs found, errors hit, or risk flags raised → block until resolved. |
|
|
17
|
+
|
|
18
|
+
> [!CAUTION]
|
|
19
|
+
> **The Escalation Rule:** When a user encounters security errors, CVE warnings, or suspicious dependency behavior during development, the agent MUST escalate from "suggested" to "mandatory" — triggering the full Snyk + Aikido scan before any further deploy or push.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## When to Use
|
|
24
|
+
|
|
25
|
+
**ALWAYS when:**
|
|
26
|
+
- User asks to "run security check" or "kiểm thử bảo mật"
|
|
27
|
+
- Preparing to open-source a repository or launch a commercial product
|
|
28
|
+
- Adding major third-party dependencies
|
|
29
|
+
- The project is graduating from alpha/beta to a wider release
|
|
30
|
+
- A user encounters CVE warnings, npm audit alerts, or suspicious dependency behavior
|
|
31
|
+
- Before any CodyMaster release or PR merge
|
|
32
|
+
|
|
33
|
+
**Skip when:**
|
|
34
|
+
- Doing quick local prototyping with no real user data
|
|
35
|
+
- Exploring ideas without production intent
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Core Capabilities
|
|
40
|
+
|
|
41
|
+
1. **Aikido MCP Server:** Real-time scanning of AI-generated code inside the IDE (vulnerabilities + secrets)
|
|
42
|
+
2. **Snyk CLI:** Dependency vulnerability scanning (`npm`, `pip`, `yarn`, `cargo`)
|
|
43
|
+
3. **Aikido CLI:** SAST, IaC, Secrets, and Dependency scanning with release/PR gating
|
|
44
|
+
4. **Continuous Monitoring:** Snyk dashboard + Aikido dashboard for ongoing protection
|
|
45
|
+
5. **Jules CI/CD:** Automated security analysis via GitHub on every commit
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## The Process
|
|
50
|
+
|
|
51
|
+
### Phase 0: Aikido MCP Setup (IDE-Level Real-Time Scanning)
|
|
52
|
+
|
|
53
|
+
> [!IMPORTANT]
|
|
54
|
+
> **One-time setup.** Once configured, every AI coding session automatically scans generated code for vulnerabilities and hardcoded secrets — BEFORE the code is even committed.
|
|
55
|
+
|
|
56
|
+
**Step 1:** Create a Personal Access Token at [Aikido Settings → IDE → MCP](https://app.aikido.dev/settings/integrations/ide/mcp)
|
|
57
|
+
|
|
58
|
+
**Step 2:** Install Aikido MCP server:
|
|
59
|
+
```bash
|
|
60
|
+
# For Antigravity / Gemini CLI
|
|
61
|
+
gemini mcp add aikido \
|
|
62
|
+
--env AIKIDO_API_KEY=YOUR_TOKEN \
|
|
63
|
+
npx -y @aikidosec/mcp
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Step 3:** Download the Aikido agent rule:
|
|
67
|
+
```bash
|
|
68
|
+
mkdir -p ~/.gemini/skills/
|
|
69
|
+
curl -fsSL "https://gist.githubusercontent.com/kidk/aa48cad6db80ba4a38493016aae67712/raw/3644397b7df43423e3da06434491b40bbb79dd47/aikido-rule.txt" \
|
|
70
|
+
-o ~/.gemini/skills/aikido-rule.txt
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Step 4:** Restart Antigravity IDE. Aikido MCP is now active.
|
|
74
|
+
|
|
75
|
+
> **What this gives you:** Deterministic, independent security checks on EVERY AI-generated snippet. Not a replacement for CLI scanning — this is the first line of defense, catching issues at write-time.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### Phase 1: Preparation (CLI Tooling Check)
|
|
80
|
+
|
|
81
|
+
Verify if the Snyk CLI and Aikido CLI are available:
|
|
82
|
+
```bash
|
|
83
|
+
which snyk
|
|
84
|
+
which aikido-api-client
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**If Snyk is NOT installed:**
|
|
88
|
+
- **macOS (Homebrew):** `brew tap snyk/tap && brew install snyk`
|
|
89
|
+
- **npm:** `npm install -g snyk`
|
|
90
|
+
- Authenticate: `snyk auth`
|
|
91
|
+
|
|
92
|
+
**If Aikido CLI is NOT installed:**
|
|
93
|
+
- **npm:** `npm install -g @aikidosec/ci-api-client`
|
|
94
|
+
- Set API key: `aikido-api-client apikey <API-KEY>`
|
|
95
|
+
- *API keys: [Aikido CI Integration Settings](https://app.aikido.dev/settings/integrations/continuous-integration)*
|
|
96
|
+
|
|
97
|
+
> [!WARNING]
|
|
98
|
+
> **Two different API keys!** Aikido MCP (real-time IDE scanning) uses a *Personal Access Token*. Aikido CLI (release/PR gating) uses a *CI API key*. Don't mix them.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### Phase 2: Execution (Parallel Vulnerability Scan)
|
|
103
|
+
|
|
104
|
+
Execute both tools **in parallel** to save time:
|
|
105
|
+
|
|
106
|
+
**1. Snyk Dependency Scan:**
|
|
107
|
+
```bash
|
|
108
|
+
snyk test
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**2. Aikido Release Scan:**
|
|
112
|
+
```bash
|
|
113
|
+
aikido-api-client scan-release <repository_id_or_name> <commit_id> \
|
|
114
|
+
--minimum-severity-level="HIGH"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
#### Aikido Scan Flags Reference
|
|
118
|
+
|
|
119
|
+
| Flag | Purpose |
|
|
120
|
+
|------|---------|
|
|
121
|
+
| `--minimum-severity-level` | `LOW`, `MEDIUM`, `HIGH`, `CRITICAL` — set the minimum severity that triggers a failure |
|
|
122
|
+
| `--fail-on-sast-scan` | Fail if SAST (Static Analysis) issues are found |
|
|
123
|
+
| `--fail-on-iac-scan` | Fail if Infrastructure as Code misconfigurations are found |
|
|
124
|
+
| `--fail-on-secrets-scan` | Fail if hardcoded secrets are detected |
|
|
125
|
+
|
|
126
|
+
#### CodyMaster Internal (Maximum Strictness)
|
|
127
|
+
```bash
|
|
128
|
+
aikido-api-client scan-release <repo> <commit> \
|
|
129
|
+
--minimum-severity-level="HIGH" \
|
|
130
|
+
--fail-on-sast-scan \
|
|
131
|
+
--fail-on-secrets-scan
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
#### User Projects (Standard)
|
|
135
|
+
```bash
|
|
136
|
+
aikido-api-client scan-release <repo> <commit> \
|
|
137
|
+
--minimum-severity-level="HIGH"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### Analyzing Results
|
|
141
|
+
- **Critical/High:** Must be resolved before making the project public.
|
|
142
|
+
- **Medium/Low:** Document as technical debt or evaluate for false positives.
|
|
143
|
+
- Run `snyk monitor` if the user wants continuous monitoring on the Snyk dashboard.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### Phase 2.5: PR Gating (GitHub Integration)
|
|
148
|
+
|
|
149
|
+
For projects with CI/CD pipelines, add Aikido PR gating to block merging PRs with security issues:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# In GitHub Actions or CI script
|
|
153
|
+
aikido-api-client scan-pr <repository_id_or_name> <base_commit_id> <head_commit_id> \
|
|
154
|
+
--minimum-severity-level="HIGH"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**package.json integration:**
|
|
158
|
+
```json
|
|
159
|
+
{
|
|
160
|
+
"scripts": {
|
|
161
|
+
"test:security": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH",
|
|
162
|
+
"test:security:strict": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH --fail-on-dependency-scan --fail-on-sast-scan --fail-on-secrets-scan"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### Phase 3: Vulnerability Remediation (Skill Discovery)
|
|
170
|
+
|
|
171
|
+
If vulnerabilities are detected, **DO NOT just list errors**. CodyMaster must actively search for remediation skills:
|
|
172
|
+
|
|
173
|
+
> 🚨 **Vulnerabilities Detected: Initiating Remediation**
|
|
174
|
+
>
|
|
175
|
+
> Security issues were found. To systematically patch these risks, we need specialized weapons. I suggest finding and installing a dedicated remediation skill for your stack:
|
|
176
|
+
> ```bash
|
|
177
|
+
> npx skills add https://github.com/vercel-labs/skills --skill find-skills
|
|
178
|
+
> ```
|
|
179
|
+
> *(Once you discover and install the appropriate security patch skills, we will use them to eradicate the vulnerabilities and eliminate all security risks).*
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### Phase 4: Knowledge Retention (Memory Sync)
|
|
184
|
+
|
|
185
|
+
Once vulnerabilities are remediated, the root causes and fixes **MUST** be memorized:
|
|
186
|
+
|
|
187
|
+
**Action Required:**
|
|
188
|
+
- Trigger `cm-continuity` to log flaw + fix into `CONTINUITY.md` → "Security Lessons" section.
|
|
189
|
+
- If cloud memory is available, sync to `cm-notebooklm` for permanent retention.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
### Phase 5: Automation Handoff (Jules + Continuous Monitoring)
|
|
194
|
+
|
|
195
|
+
> 🛡️ **Next Step: Automated Security Checks**
|
|
196
|
+
>
|
|
197
|
+
> Manual checks aren't enough for production. Automate on every commit and PR:
|
|
198
|
+
>
|
|
199
|
+
> **Option A — Google Jules** (GitHub automated analysis):
|
|
200
|
+
> 👉 [http://jules.google.com/](http://jules.google.com/)
|
|
201
|
+
>
|
|
202
|
+
> **Option B — Snyk Continuous Monitoring:**
|
|
203
|
+
> ```bash
|
|
204
|
+
> snyk monitor
|
|
205
|
+
> ```
|
|
206
|
+
>
|
|
207
|
+
> **Option C — Aikido Dashboard** (full visibility):
|
|
208
|
+
> 👉 [https://app.aikido.dev/](https://app.aikido.dev/)
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Escalation Protocol
|
|
213
|
+
|
|
214
|
+
When the agent detects ANY of these signals, enforcement escalates from SUGGESTED → MANDATORY:
|
|
215
|
+
|
|
216
|
+
| Signal | Action |
|
|
217
|
+
|--------|--------|
|
|
218
|
+
| `npm audit` reports HIGH/CRITICAL | Trigger full Snyk + Aikido scan |
|
|
219
|
+
| User mentions "security error" or "hack" | Trigger full scan before proceeding |
|
|
220
|
+
| New major dependency added (e.g., new ORM, auth lib) | Suggest scan, escalate if dep has known CVEs |
|
|
221
|
+
| Pre-deploy / pre-PR-merge | Check if scan was run in this session, block if not (CodyMaster only) |
|
|
222
|
+
| `.snyk` policy file has expired ignores | Re-scan and update policy |
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Integration
|
|
227
|
+
|
|
228
|
+
| Skill | Relationship |
|
|
229
|
+
|-------|-------------|
|
|
230
|
+
| `cm-quality-gate` | PRE-REQUISITE: Code should pass functional tests before security audits. Security scan PASS is required evidence for production deploy. |
|
|
231
|
+
| `cm-secret-shield`| COMPLEMENTARY: Secret Shield catches hardcoded tokens at write/commit time; `cm-security-gate` catches vulnerable dependencies and SAST issues. Both are needed. |
|
|
232
|
+
| `cm-safe-deploy` | INTEGRATED: Security scan is Gate 0.5 in the deploy pipeline (between Secret Hygiene and Syntax). |
|
|
233
|
+
| `cm-test-gate` | INTEGRATED: `test:security` script pattern uses Snyk + Aikido CLI for automated scanning in the test suite. |
|
|
234
|
+
| `cm-continuity` | MEMORY: Records discovered vulnerabilities and fixes into working memory. |
|
|
235
|
+
| `cm-notebooklm` | LONG-TERM MEMORY: Syncs critical security lessons to the permanent cloud AI brain. |
|
|
236
|
+
|
|
237
|
+
## The Bottom Line
|
|
238
|
+
|
|
239
|
+
**Scan before deploy. Remediate before release. Memorize before repeating. Non-negotiable.**
|
|
@@ -1,239 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-security-gate
|
|
3
|
-
description:
|
|
3
|
+
description: "[Deprecated] deploy safety merged. Use `cm-safe-deploy` instead."
|
|
4
|
+
deprecated: true
|
|
5
|
+
merged_into: cm-safe-deploy
|
|
4
6
|
---
|
|
5
|
-
# cm-security-gate — Mandatory Security Audit & Vulnerability Gate
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
> **No CodyMaster release ships without Snyk + Aikido green.**
|
|
8
|
+
# cm-security-gate — Deprecated
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
| Context | Level | What Happens |
|
|
13
|
-
|---------|-------|-------------|
|
|
14
|
-
| **CodyMaster internal** | 🔴 MANDATORY | Both Snyk + Aikido MUST pass. No deploy, no PR merge without green. |
|
|
15
|
-
| **User projects (normal)** | 🟡 SUGGESTED | Recommend scanning, provide easy commands. User may skip. |
|
|
16
|
-
| **User projects (risk detected)** | 🔴 ESCALATED MANDATORY | If CVEs found, errors hit, or risk flags raised → block until resolved. |
|
|
17
|
-
|
|
18
|
-
> [!CAUTION]
|
|
19
|
-
> **The Escalation Rule:** When a user encounters security errors, CVE warnings, or suspicious dependency behavior during development, the agent MUST escalate from "suggested" to "mandatory" — triggering the full Snyk + Aikido scan before any further deploy or push.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## When to Use
|
|
24
|
-
|
|
25
|
-
**ALWAYS when:**
|
|
26
|
-
- User asks to "run security check" or "kiểm thử bảo mật"
|
|
27
|
-
- Preparing to open-source a repository or launch a commercial product
|
|
28
|
-
- Adding major third-party dependencies
|
|
29
|
-
- The project is graduating from alpha/beta to a wider release
|
|
30
|
-
- A user encounters CVE warnings, npm audit alerts, or suspicious dependency behavior
|
|
31
|
-
- Before any CodyMaster release or PR merge
|
|
32
|
-
|
|
33
|
-
**Skip when:**
|
|
34
|
-
- Doing quick local prototyping with no real user data
|
|
35
|
-
- Exploring ideas without production intent
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Core Capabilities
|
|
40
|
-
|
|
41
|
-
1. **Aikido MCP Server:** Real-time scanning of AI-generated code inside the IDE (vulnerabilities + secrets)
|
|
42
|
-
2. **Snyk CLI:** Dependency vulnerability scanning (`npm`, `pip`, `yarn`, `cargo`)
|
|
43
|
-
3. **Aikido CLI:** SAST, IaC, Secrets, and Dependency scanning with release/PR gating
|
|
44
|
-
4. **Continuous Monitoring:** Snyk dashboard + Aikido dashboard for ongoing protection
|
|
45
|
-
5. **Jules CI/CD:** Automated security analysis via GitHub on every commit
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## The Process
|
|
50
|
-
|
|
51
|
-
### Phase 0: Aikido MCP Setup (IDE-Level Real-Time Scanning)
|
|
52
|
-
|
|
53
|
-
> [!IMPORTANT]
|
|
54
|
-
> **One-time setup.** Once configured, every AI coding session automatically scans generated code for vulnerabilities and hardcoded secrets — BEFORE the code is even committed.
|
|
55
|
-
|
|
56
|
-
**Step 1:** Create a Personal Access Token at [Aikido Settings → IDE → MCP](https://app.aikido.dev/settings/integrations/ide/mcp)
|
|
57
|
-
|
|
58
|
-
**Step 2:** Install Aikido MCP server:
|
|
59
|
-
```bash
|
|
60
|
-
# For Antigravity / Gemini CLI
|
|
61
|
-
gemini mcp add aikido \
|
|
62
|
-
--env AIKIDO_API_KEY=YOUR_TOKEN \
|
|
63
|
-
npx -y @aikidosec/mcp
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**Step 3:** Download the Aikido agent rule:
|
|
67
|
-
```bash
|
|
68
|
-
mkdir -p ~/.gemini/skills/
|
|
69
|
-
curl -fsSL "https://gist.githubusercontent.com/kidk/aa48cad6db80ba4a38493016aae67712/raw/3644397b7df43423e3da06434491b40bbb79dd47/aikido-rule.txt" \
|
|
70
|
-
-o ~/.gemini/skills/aikido-rule.txt
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
**Step 4:** Restart Antigravity IDE. Aikido MCP is now active.
|
|
74
|
-
|
|
75
|
-
> **What this gives you:** Deterministic, independent security checks on EVERY AI-generated snippet. Not a replacement for CLI scanning — this is the first line of defense, catching issues at write-time.
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
### Phase 1: Preparation (CLI Tooling Check)
|
|
80
|
-
|
|
81
|
-
Verify if the Snyk CLI and Aikido CLI are available:
|
|
82
|
-
```bash
|
|
83
|
-
which snyk
|
|
84
|
-
which aikido-api-client
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**If Snyk is NOT installed:**
|
|
88
|
-
- **macOS (Homebrew):** `brew tap snyk/tap && brew install snyk`
|
|
89
|
-
- **npm:** `npm install -g snyk`
|
|
90
|
-
- Authenticate: `snyk auth`
|
|
91
|
-
|
|
92
|
-
**If Aikido CLI is NOT installed:**
|
|
93
|
-
- **npm:** `npm install -g @aikidosec/ci-api-client`
|
|
94
|
-
- Set API key: `aikido-api-client apikey <API-KEY>`
|
|
95
|
-
- *API keys: [Aikido CI Integration Settings](https://app.aikido.dev/settings/integrations/continuous-integration)*
|
|
96
|
-
|
|
97
|
-
> [!WARNING]
|
|
98
|
-
> **Two different API keys!** Aikido MCP (real-time IDE scanning) uses a *Personal Access Token*. Aikido CLI (release/PR gating) uses a *CI API key*. Don't mix them.
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
### Phase 2: Execution (Parallel Vulnerability Scan)
|
|
103
|
-
|
|
104
|
-
Execute both tools **in parallel** to save time:
|
|
105
|
-
|
|
106
|
-
**1. Snyk Dependency Scan:**
|
|
107
|
-
```bash
|
|
108
|
-
snyk test
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**2. Aikido Release Scan:**
|
|
112
|
-
```bash
|
|
113
|
-
aikido-api-client scan-release <repository_id_or_name> <commit_id> \
|
|
114
|
-
--minimum-severity-level="HIGH"
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
#### Aikido Scan Flags Reference
|
|
118
|
-
|
|
119
|
-
| Flag | Purpose |
|
|
120
|
-
|------|---------|
|
|
121
|
-
| `--minimum-severity-level` | `LOW`, `MEDIUM`, `HIGH`, `CRITICAL` — set the minimum severity that triggers a failure |
|
|
122
|
-
| `--fail-on-sast-scan` | Fail if SAST (Static Analysis) issues are found |
|
|
123
|
-
| `--fail-on-iac-scan` | Fail if Infrastructure as Code misconfigurations are found |
|
|
124
|
-
| `--fail-on-secrets-scan` | Fail if hardcoded secrets are detected |
|
|
125
|
-
|
|
126
|
-
#### CodyMaster Internal (Maximum Strictness)
|
|
127
|
-
```bash
|
|
128
|
-
aikido-api-client scan-release <repo> <commit> \
|
|
129
|
-
--minimum-severity-level="HIGH" \
|
|
130
|
-
--fail-on-sast-scan \
|
|
131
|
-
--fail-on-secrets-scan
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
#### User Projects (Standard)
|
|
135
|
-
```bash
|
|
136
|
-
aikido-api-client scan-release <repo> <commit> \
|
|
137
|
-
--minimum-severity-level="HIGH"
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
#### Analyzing Results
|
|
141
|
-
- **Critical/High:** Must be resolved before making the project public.
|
|
142
|
-
- **Medium/Low:** Document as technical debt or evaluate for false positives.
|
|
143
|
-
- Run `snyk monitor` if the user wants continuous monitoring on the Snyk dashboard.
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
### Phase 2.5: PR Gating (GitHub Integration)
|
|
148
|
-
|
|
149
|
-
For projects with CI/CD pipelines, add Aikido PR gating to block merging PRs with security issues:
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
# In GitHub Actions or CI script
|
|
153
|
-
aikido-api-client scan-pr <repository_id_or_name> <base_commit_id> <head_commit_id> \
|
|
154
|
-
--minimum-severity-level="HIGH"
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
**package.json integration:**
|
|
158
|
-
```json
|
|
159
|
-
{
|
|
160
|
-
"scripts": {
|
|
161
|
-
"test:security": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH",
|
|
162
|
-
"test:security:strict": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH --fail-on-dependency-scan --fail-on-sast-scan --fail-on-secrets-scan"
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
### Phase 3: Vulnerability Remediation (Skill Discovery)
|
|
170
|
-
|
|
171
|
-
If vulnerabilities are detected, **DO NOT just list errors**. CodyMaster must actively search for remediation skills:
|
|
172
|
-
|
|
173
|
-
> 🚨 **Vulnerabilities Detected: Initiating Remediation**
|
|
174
|
-
>
|
|
175
|
-
> Security issues were found. To systematically patch these risks, we need specialized weapons. I suggest finding and installing a dedicated remediation skill for your stack:
|
|
176
|
-
> ```bash
|
|
177
|
-
> npx skills add https://github.com/vercel-labs/skills --skill find-skills
|
|
178
|
-
> ```
|
|
179
|
-
> *(Once you discover and install the appropriate security patch skills, we will use them to eradicate the vulnerabilities and eliminate all security risks).*
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
### Phase 4: Knowledge Retention (Memory Sync)
|
|
184
|
-
|
|
185
|
-
Once vulnerabilities are remediated, the root causes and fixes **MUST** be memorized:
|
|
186
|
-
|
|
187
|
-
**Action Required:**
|
|
188
|
-
- Trigger `cm-continuity` to log flaw + fix into `CONTINUITY.md` → "Security Lessons" section.
|
|
189
|
-
- If cloud memory is available, sync to `cm-notebooklm` for permanent retention.
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
### Phase 5: Automation Handoff (Jules + Continuous Monitoring)
|
|
194
|
-
|
|
195
|
-
> 🛡️ **Next Step: Automated Security Checks**
|
|
196
|
-
>
|
|
197
|
-
> Manual checks aren't enough for production. Automate on every commit and PR:
|
|
10
|
+
> ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
|
|
198
11
|
>
|
|
199
|
-
> **
|
|
200
|
-
> 👉 [http://jules.google.com/](http://jules.google.com/)
|
|
12
|
+
> **Use `cm-safe-deploy` instead.** deploy safety merged.
|
|
201
13
|
>
|
|
202
|
-
>
|
|
203
|
-
> ```bash
|
|
204
|
-
> snyk monitor
|
|
205
|
-
> ```
|
|
206
|
-
>
|
|
207
|
-
> **Option C — Aikido Dashboard** (full visibility):
|
|
208
|
-
> 👉 [https://app.aikido.dev/](https://app.aikido.dev/)
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## Escalation Protocol
|
|
213
|
-
|
|
214
|
-
When the agent detects ANY of these signals, enforcement escalates from SUGGESTED → MANDATORY:
|
|
14
|
+
> See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
|
|
215
15
|
|
|
216
|
-
|
|
217
|
-
|--------|--------|
|
|
218
|
-
| `npm audit` reports HIGH/CRITICAL | Trigger full Snyk + Aikido scan |
|
|
219
|
-
| User mentions "security error" or "hack" | Trigger full scan before proceeding |
|
|
220
|
-
| New major dependency added (e.g., new ORM, auth lib) | Suggest scan, escalate if dep has known CVEs |
|
|
221
|
-
| Pre-deploy / pre-PR-merge | Check if scan was run in this session, block if not (CodyMaster only) |
|
|
222
|
-
| `.snyk` policy file has expired ignores | Re-scan and update policy |
|
|
16
|
+
The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
|
|
223
17
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
## Integration
|
|
227
|
-
|
|
228
|
-
| Skill | Relationship |
|
|
229
|
-
|-------|-------------|
|
|
230
|
-
| `cm-quality-gate` | PRE-REQUISITE: Code should pass functional tests before security audits. Security scan PASS is required evidence for production deploy. |
|
|
231
|
-
| `cm-secret-shield`| COMPLEMENTARY: Secret Shield catches hardcoded tokens at write/commit time; `cm-security-gate` catches vulnerable dependencies and SAST issues. Both are needed. |
|
|
232
|
-
| `cm-safe-deploy` | INTEGRATED: Security scan is Gate 0.5 in the deploy pipeline (between Secret Hygiene and Syntax). |
|
|
233
|
-
| `cm-test-gate` | INTEGRATED: `test:security` script pattern uses Snyk + Aikido CLI for automated scanning in the test suite. |
|
|
234
|
-
| `cm-continuity` | MEMORY: Records discovered vulnerabilities and fixes into working memory. |
|
|
235
|
-
| `cm-notebooklm` | LONG-TERM MEMORY: Syncs critical security lessons to the permanent cloud AI brain. |
|
|
18
|
+
## Migration
|
|
236
19
|
|
|
237
|
-
|
|
20
|
+
```bash
|
|
21
|
+
# Old: cm <use this skill>
|
|
22
|
+
# New (v6.0+): cm safe-deploy <equivalent action>
|
|
23
|
+
```
|
|
238
24
|
|
|
239
|
-
|
|
25
|
+
If you depend on a capability that didn't carry over, please file an issue:
|
|
26
|
+
https://github.com/tody-agent/codymaster/issues
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cm-skill-health
|
|
3
|
+
description: "Operational health review for CodyMaster skills using current repo signals: validate-skills, suggest, retro logs, memory, and test gates."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# cm-skill-health
|
|
7
|
+
|
|
8
|
+
Use this skill when a CodyMaster skill feels stale, misleading, unreliable, or under-documented.
|
|
9
|
+
|
|
10
|
+
## What it checks
|
|
11
|
+
|
|
12
|
+
1. Discovery drift
|
|
13
|
+
- Is the skill present in `skills/`, docs indexes, profiles, and README surfaces?
|
|
14
|
+
2. Invocation friction
|
|
15
|
+
- Does `cm suggest` point users to the skill when the task matches?
|
|
16
|
+
3. Operational evidence
|
|
17
|
+
- Are there recurring failures or learnings in `.cm/operational-learnings.jsonl`?
|
|
18
|
+
4. Contract health
|
|
19
|
+
- Does the skill reference commands, files, or paths that still exist?
|
|
20
|
+
5. Release safety
|
|
21
|
+
- Does the repo still pass `npm run validate:skills`, `npm run check:skills`, and the test gate?
|
|
22
|
+
|
|
23
|
+
## Workflow
|
|
24
|
+
|
|
25
|
+
1. Confirm the symptom.
|
|
26
|
+
- Missing from docs
|
|
27
|
+
- Missing from profiles
|
|
28
|
+
- Broken references inside `SKILL.md`
|
|
29
|
+
- Repeated runtime pain in retro notes
|
|
30
|
+
2. Compare the live skill against:
|
|
31
|
+
- `docs/skills/index.md`
|
|
32
|
+
- `skills/profiles/full.txt`
|
|
33
|
+
- `README.md`
|
|
34
|
+
- related changelog promises
|
|
35
|
+
3. Scan evidence sources.
|
|
36
|
+
- `cm advisory handoff --for cm-skill-health`
|
|
37
|
+
- `cm suggest --project .`
|
|
38
|
+
- `cm retro summary --project .`
|
|
39
|
+
- `.cm/CONTINUITY.md`
|
|
40
|
+
- `rg` over `skills/`, `docs/`, and `src/`
|
|
41
|
+
4. Score the issue.
|
|
42
|
+
- `healthy`: discoverable, accurate, references valid
|
|
43
|
+
- `degraded`: present but misleading or inconsistent
|
|
44
|
+
- `broken`: missing, invalid, or unusable
|
|
45
|
+
5. Hand off to:
|
|
46
|
+
- `cm-skill-evolution` to repair or derive the next version
|
|
47
|
+
|
|
48
|
+
## Output
|
|
49
|
+
|
|
50
|
+
Produce a short health note:
|
|
51
|
+
|
|
52
|
+
```md
|
|
53
|
+
## Skill Health
|
|
54
|
+
- Skill: cm-...
|
|
55
|
+
- Status: healthy | degraded | broken
|
|
56
|
+
- Symptoms: ...
|
|
57
|
+
- Evidence: ...
|
|
58
|
+
- Recovery path: FIX | DERIVED | CAPTURED
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Preferred input contract:
|
|
62
|
+
|
|
63
|
+
```md
|
|
64
|
+
## Advisory Handoff
|
|
65
|
+
- Consumer: cm-skill-health
|
|
66
|
+
- Skill: cm-...
|
|
67
|
+
- Recovery path: FIX | DERIVED | CAPTURED | NONE
|
|
68
|
+
- Confidence: 0.xx
|
|
69
|
+
- Source analysis: EA-...
|
|
70
|
+
- Task: ...
|
|
71
|
+
- Status: completed | partial | failed
|
|
72
|
+
- Evidence: ...
|
|
73
|
+
- Selected skills: ...
|
|
74
|
+
- Target skills: ...
|
|
75
|
+
- Quality weight: 0.xx
|
|
76
|
+
- Next step: ...
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Red flags
|
|
80
|
+
|
|
81
|
+
- Do not claim metric dashboards or automatic scoring unless the repo actually implements them.
|
|
82
|
+
- Do not treat README marketing copy as proof that a skill exists.
|
|
83
|
+
- Do not evolve the skill before identifying whether the problem is docs drift, packaging drift, or missing implementation.
|
|
@@ -1,83 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-skill-health
|
|
3
|
-
description: "
|
|
3
|
+
description: "[Deprecated] skill lifecycle merged. Use `cm-skill-evolution` instead."
|
|
4
|
+
deprecated: true
|
|
5
|
+
merged_into: cm-skill-evolution
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
# cm-skill-health
|
|
8
|
+
# cm-skill-health — 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-skill-evolution` instead.** skill lifecycle merged.
|
|
13
|
+
>
|
|
14
|
+
> See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
|
|
9
15
|
|
|
10
|
-
|
|
16
|
+
The original content is preserved at [SKILL.archive.md](SKILL.archive.md) for reference.
|
|
11
17
|
|
|
12
|
-
|
|
13
|
-
- Is the skill present in `skills/`, docs indexes, profiles, and README surfaces?
|
|
14
|
-
2. Invocation friction
|
|
15
|
-
- Does `cm suggest` point users to the skill when the task matches?
|
|
16
|
-
3. Operational evidence
|
|
17
|
-
- Are there recurring failures or learnings in `.cm/operational-learnings.jsonl`?
|
|
18
|
-
4. Contract health
|
|
19
|
-
- Does the skill reference commands, files, or paths that still exist?
|
|
20
|
-
5. Release safety
|
|
21
|
-
- Does the repo still pass `npm run validate:skills`, `npm run check:skills`, and the test gate?
|
|
18
|
+
## Migration
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
- Missing from docs
|
|
27
|
-
- Missing from profiles
|
|
28
|
-
- Broken references inside `SKILL.md`
|
|
29
|
-
- Repeated runtime pain in retro notes
|
|
30
|
-
2. Compare the live skill against:
|
|
31
|
-
- `docs/skills/index.md`
|
|
32
|
-
- `skills/profiles/full.txt`
|
|
33
|
-
- `README.md`
|
|
34
|
-
- related changelog promises
|
|
35
|
-
3. Scan evidence sources.
|
|
36
|
-
- `cm advisory handoff --for cm-skill-health`
|
|
37
|
-
- `cm suggest --project .`
|
|
38
|
-
- `cm retro summary --project .`
|
|
39
|
-
- `.cm/CONTINUITY.md`
|
|
40
|
-
- `rg` over `skills/`, `docs/`, and `src/`
|
|
41
|
-
4. Score the issue.
|
|
42
|
-
- `healthy`: discoverable, accurate, references valid
|
|
43
|
-
- `degraded`: present but misleading or inconsistent
|
|
44
|
-
- `broken`: missing, invalid, or unusable
|
|
45
|
-
5. Hand off to:
|
|
46
|
-
- `cm-skill-evolution` to repair or derive the next version
|
|
47
|
-
|
|
48
|
-
## Output
|
|
49
|
-
|
|
50
|
-
Produce a short health note:
|
|
51
|
-
|
|
52
|
-
```md
|
|
53
|
-
## Skill Health
|
|
54
|
-
- Skill: cm-...
|
|
55
|
-
- Status: healthy | degraded | broken
|
|
56
|
-
- Symptoms: ...
|
|
57
|
-
- Evidence: ...
|
|
58
|
-
- Recovery path: FIX | DERIVED | CAPTURED
|
|
20
|
+
```bash
|
|
21
|
+
# Old: cm <use this skill>
|
|
22
|
+
# New (v6.0+): cm skill-evolution <equivalent action>
|
|
59
23
|
```
|
|
60
24
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
```md
|
|
64
|
-
## Advisory Handoff
|
|
65
|
-
- Consumer: cm-skill-health
|
|
66
|
-
- Skill: cm-...
|
|
67
|
-
- Recovery path: FIX | DERIVED | CAPTURED | NONE
|
|
68
|
-
- Confidence: 0.xx
|
|
69
|
-
- Source analysis: EA-...
|
|
70
|
-
- Task: ...
|
|
71
|
-
- Status: completed | partial | failed
|
|
72
|
-
- Evidence: ...
|
|
73
|
-
- Selected skills: ...
|
|
74
|
-
- Target skills: ...
|
|
75
|
-
- Quality weight: 0.xx
|
|
76
|
-
- Next step: ...
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Red flags
|
|
80
|
-
|
|
81
|
-
- Do not claim metric dashboards or automatic scoring unless the repo actually implements them.
|
|
82
|
-
- Do not treat README marketing copy as proof that a skill exists.
|
|
83
|
-
- Do not evolve the skill before identifying whether the problem is docs drift, packaging drift, or missing implementation.
|
|
25
|
+
If you depend on a capability that didn't carry over, please file an issue:
|
|
26
|
+
https://github.com/tody-agent/codymaster/issues
|