codymaster 7.0.1 → 7.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +64 -0
- package/README.md +117 -2
- package/dist/agent/codex.js +73 -21
- package/dist/agent-dispatch.js +63 -48
- package/dist/cli/commands/brain.js +18 -0
- package/dist/cli/commands/design-studio.js +1 -1
- package/dist/cm-suggest.js +3 -3
- package/dist/dashboard-project-summary.js +9 -0
- package/dist/dashboard.js +11 -5
- package/dist/execution-analyzer.js +9 -1
- package/dist/judge.js +16 -15
- package/dist/mcp-context-server.js +45 -23
- package/dist/mcp-skills-tools.js +2 -2
- package/dist/skill-chain.js +26 -3
- package/dist/skill-token-report.js +105 -0
- package/dist/sprint-pipeline.js +3 -3
- package/dist/ui/onboarding.js +3 -4
- package/dist/utils/design-taste.js +1 -1
- package/dist/utils/output-compress.js +8 -0
- package/package.json +3 -2
- package/public/dashboard/app.js +40 -13
- package/public/dashboard/index.html +190 -5
- package/public/dashboard/style.css +1 -1
- package/scripts/build-skills.mjs +36 -2
- package/scripts/mcp-bridge.js +41 -24
- package/scripts/pack-plugin.mjs +206 -0
- package/skills/cm-ads-tracker/SKILL.md +401 -0
- package/skills/cm-ads-tracker/evals/evals.json +55 -0
- package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
- package/skills/cm-ads-tracker/references/industry-events.md +294 -0
- package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
- package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
- package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
- package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
- package/skills/cm-auto-publisher/SKILL.md +81 -0
- package/skills/cm-booking-calendar/SKILL.md +521 -0
- package/skills/cm-booking-calendar/references/industry-patterns.md +527 -0
- package/skills/cm-booking-calendar/templates/booking-form.css +626 -0
- package/skills/cm-booking-calendar/templates/booking-form.html +477 -0
- package/skills/cm-booking-calendar/templates/calendar-engine.js +419 -0
- package/skills/cm-booking-calendar/templates/calendar-export.js +395 -0
- package/skills/cm-booking-calendar/templates/reminder-config.js +629 -0
- package/skills/cm-brainstorm-idea/SKILL.md +5 -5
- package/skills/cm-code-review/SKILL.md +2 -2
- package/skills/cm-codeintell/SKILL.md +47 -580
- package/skills/cm-codeintell/references/integration-workflows.md +23 -0
- package/skills/cm-codeintell/references/layer-0-skeleton.md +54 -0
- package/skills/cm-codeintell/references/layer-1-codegraph.md +58 -0
- package/skills/cm-codeintell/references/layer-2-architecture.md +31 -0
- package/skills/cm-codeintell/references/layer-3-context-builder.md +32 -0
- package/skills/cm-content-factory/.content-factory-state.json +132 -0
- package/skills/cm-content-factory/.git 2/logs/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
- package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
- package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
- package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
- package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
- package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
- package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
- package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
- package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
- package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
- package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
- package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
- package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
- package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
- package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
- package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
- package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
- package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
- package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
- package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
- package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
- package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
- package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
- package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
- package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
- package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
- package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
- package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
- package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
- package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
- package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
- package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
- package/skills/cm-content-factory/.git 2/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +76 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +1 -0
- package/skills/cm-content-factory/AGENTS.md +61 -0
- package/skills/cm-content-factory/CLAUDE.md +63 -0
- package/skills/cm-content-factory/CURSOR.md +43 -0
- package/skills/cm-content-factory/Content Factory.zip +0 -0
- package/skills/cm-content-factory/SKILL.md +416 -0
- package/skills/cm-content-factory/cf +313 -0
- package/skills/cm-content-factory/config.schema.json +397 -0
- package/skills/cm-content-factory/dashboard/app.js +556 -0
- package/skills/cm-content-factory/dashboard/index.html +397 -0
- package/skills/cm-content-factory/dashboard/style.css +1211 -0
- package/skills/cm-content-factory/examples/01-real-estate.config.json +146 -0
- package/skills/cm-content-factory/examples/02-personal-finance.config.json +146 -0
- package/skills/cm-content-factory/examples/03-health-wellness.config.json +147 -0
- package/skills/cm-content-factory/examples/04-saas-software.config.json +147 -0
- package/skills/cm-content-factory/examples/05-legal-services.config.json +147 -0
- package/skills/cm-content-factory/examples/06-insurance.config.json +146 -0
- package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +146 -0
- package/skills/cm-content-factory/examples/08-online-education.config.json +147 -0
- package/skills/cm-content-factory/examples/09-crypto-defi.config.json +147 -0
- package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +147 -0
- package/skills/cm-content-factory/examples/11-home-services.config.json +146 -0
- package/skills/cm-content-factory/examples/12-dental-clinic.config.json +147 -0
- package/skills/cm-content-factory/examples/13-pet-care.config.json +147 -0
- package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +147 -0
- package/skills/cm-content-factory/examples/15-ai-automation.config.json +147 -0
- package/skills/cm-content-factory/examples/16-wedding-events.config.json +147 -0
- package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +148 -0
- package/skills/cm-content-factory/examples/18-cybersecurity.config.json +147 -0
- package/skills/cm-content-factory/examples/19-food-restaurant.config.json +148 -0
- package/skills/cm-content-factory/examples/20-solar-energy.config.json +147 -0
- package/skills/cm-content-factory/examples/fitness-blog.config.json +116 -0
- package/skills/cm-content-factory/examples/tech-blog.config.json +107 -0
- package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +72 -0
- package/skills/cm-content-factory/extensions/hooks.py +126 -0
- package/skills/cm-content-factory/extensions/openclaw_adapter.py +132 -0
- package/skills/cm-content-factory/landing/docs/content/changelog.md +36 -0
- package/skills/cm-content-factory/landing/docs/content/deployment.md +46 -0
- package/skills/cm-content-factory/landing/docs/content/execution-flow.md +67 -0
- package/skills/cm-content-factory/landing/docs/content/openspace.md +27 -0
- package/skills/cm-content-factory/landing/docs/content/openviking.md +33 -0
- package/skills/cm-content-factory/landing/docs/content/use-cases.md +26 -0
- package/skills/cm-content-factory/landing/docs/content/v5-intro.md +28 -0
- package/skills/cm-content-factory/landing/docs/index.html +240 -0
- package/skills/cm-content-factory/landing/index.html +680 -0
- package/skills/cm-content-factory/landing/script.js +143 -0
- package/skills/cm-content-factory/landing/style.css +1216 -0
- package/skills/cm-content-factory/landing/translations.js +508 -0
- package/skills/cm-content-factory/logs/events.jsonl +11 -0
- package/skills/cm-content-factory/profiles/_template.profile.json +231 -0
- package/skills/cm-content-factory/profiles/finance.profile.json +278 -0
- package/skills/cm-content-factory/profiles/legal.profile.json +263 -0
- package/skills/cm-content-factory/profiles/medical-research.profile.json +321 -0
- package/skills/cm-content-factory/profiles/technology.profile.json +275 -0
- package/skills/cm-content-factory/scripts/agent_dispatcher.py +266 -0
- package/skills/cm-content-factory/scripts/audit.py +106 -0
- package/skills/cm-content-factory/scripts/dashboard_server.py +225 -0
- package/skills/cm-content-factory/scripts/deploy.py +146 -0
- package/skills/cm-content-factory/scripts/extract.py +132 -0
- package/skills/cm-content-factory/scripts/landing_generator.py +459 -0
- package/skills/cm-content-factory/scripts/memory.py +521 -0
- package/skills/cm-content-factory/scripts/monetize.py +239 -0
- package/skills/cm-content-factory/scripts/pipeline.py +357 -0
- package/skills/cm-content-factory/scripts/plan.py +163 -0
- package/skills/cm-content-factory/scripts/publish.py +145 -0
- package/skills/cm-content-factory/scripts/research.py +337 -0
- package/skills/cm-content-factory/scripts/scaffold.py +464 -0
- package/skills/cm-content-factory/scripts/scoreboard.py +336 -0
- package/skills/cm-content-factory/scripts/seo.py +90 -0
- package/skills/cm-content-factory/scripts/state_manager.py +320 -0
- package/skills/cm-content-factory/scripts/token_manager.py +268 -0
- package/skills/cm-content-factory/scripts/validate.py +221 -0
- package/skills/cm-content-factory/scripts/wizard.py +329 -0
- package/skills/cm-content-factory/scripts/write.py +93 -0
- package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +90 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +54 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +38 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +65 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +48 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +39 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +42 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +51 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +86 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +80 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +102 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +55 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +41 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +40 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +56 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +46 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +108 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +22 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +92 -0
- package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +575 -0
- package/skills/cm-content-factory/tests/conftest.py +66 -0
- package/skills/cm-content-factory/tests/test_agent_dispatcher.py +125 -0
- package/skills/cm-content-factory/tests/test_memory.py +128 -0
- package/skills/cm-content-factory/tests/test_pipeline.py +107 -0
- package/skills/cm-content-factory/tests/test_research.py +56 -0
- package/skills/cm-content-factory/tests/test_state_manager.py +131 -0
- package/skills/cm-content-factory/tests/test_token_manager.py +110 -0
- package/skills/cm-content-factory/tests/test_wizard.py +121 -0
- package/skills/cm-continuity/SKILL.md +49 -480
- package/skills/cm-continuity/references/cm-uri-scheme.md +23 -0
- package/skills/cm-continuity/references/continuity-template.md +48 -0
- package/skills/cm-continuity/references/mcp-context-server.md +27 -0
- package/skills/cm-continuity/references/memory-architecture.md +26 -0
- package/skills/cm-continuity/references/memory-audit.md +18 -0
- package/skills/cm-continuity/references/session-protocol.md +31 -0
- package/skills/cm-continuity/references/storage-formats.md +20 -0
- package/skills/cm-cro-methodology/SKILL.md +290 -0
- package/skills/cm-cro-methodology/references/COPYWRITING.md +178 -0
- package/skills/cm-cro-methodology/references/OBJECTIONS.md +135 -0
- package/skills/cm-cro-methodology/references/PERSUASION.md +158 -0
- package/skills/cm-cro-methodology/references/RESEARCH.md +220 -0
- package/skills/cm-cro-methodology/references/funnel-analysis.md +365 -0
- package/skills/cm-cro-methodology/references/testing-methodology.md +330 -0
- package/skills/cm-design-system/SKILL.md +5 -6
- package/skills/cm-execution/SKILL.md +61 -379
- package/skills/cm-execution/references/mode-a-batch.md +28 -0
- package/skills/cm-execution/references/mode-b-subagent.md +46 -0
- package/skills/cm-execution/references/mode-c-parallel.md +39 -0
- package/skills/cm-execution/references/mode-d-rarv.md +62 -0
- package/skills/cm-execution/references/mode-e-triz-parallel.md +53 -0
- package/skills/cm-execution/references/mode-f-party.md +61 -0
- package/skills/cm-execution/references/persona-dispatch.md +22 -0
- package/skills/cm-execution/references/security-rules.md +47 -0
- package/skills/cm-google-form/SKILL.md +266 -0
- package/skills/cm-google-form/templates/apps-script.js +55 -0
- package/skills/cm-google-form/templates/form-markup.html +110 -0
- package/skills/cm-google-form/templates/form-submit.js +201 -0
- package/skills/cm-google-form/templates/toast.css +152 -0
- package/skills/cm-growth-hacking/SKILL.md +282 -0
- package/skills/cm-growth-hacking/bottom-sheet-engine.md +261 -0
- package/skills/cm-growth-hacking/calendar-integration.md +264 -0
- package/skills/cm-growth-hacking/references/engagement-patterns.md +346 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.css +528 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.js +269 -0
- package/skills/cm-growth-hacking/templates/calendar-cta.js +213 -0
- package/skills/cm-growth-hacking/templates/tracking-events.js +211 -0
- package/skills/cm-growth-hacking/templates/trigger-manager.js +254 -0
- package/skills/cm-growth-hacking/tracking-events.md +246 -0
- package/skills/cm-growth-hacking/trigger-system.md +342 -0
- package/skills/cm-how-it-work/SKILL.md +8 -9
- package/skills/cm-identity-guard/SKILL.md +4 -4
- package/skills/cm-jtbd/SKILL.md +98 -0
- package/skills/cm-notebooklm/SKILL.md +156 -0
- package/skills/cm-notebooklm/references/command_reference.md +94 -0
- package/skills/cm-notebooklm/references/workflows.md +60 -0
- package/skills/cm-notebooklm/resources/knowledge_sources.md +106 -0
- package/skills/cm-notebooklm/scripts/brain-sync.sh +453 -0
- package/skills/cm-notebooklm/scripts/graduate_wisdom.py +101 -0
- package/skills/cm-planning/SKILL.md +3 -3
- package/skills/cm-project-bootstrap/SKILL.md +2 -2
- package/skills/cm-quality-gate/SKILL.md +1 -1
- package/skills/cm-readit/SKILL.md +289 -0
- package/skills/cm-readit/audio-player.md +206 -0
- package/skills/cm-readit/examples/blog-reader.js +352 -0
- package/skills/cm-readit/examples/voice-cro.js +390 -0
- package/skills/cm-readit/tts-engine.md +262 -0
- package/skills/cm-readit/ui-patterns.md +362 -0
- package/skills/cm-readit/voice-cro.md +223 -0
- package/skills/cm-safe-deploy/SKILL.md +80 -510
- package/skills/cm-safe-deploy/references/gate-0-5-security-scan.md +31 -0
- package/skills/cm-safe-deploy/references/gate-0-secret-hygiene.md +68 -0
- package/skills/cm-safe-deploy/references/gate-1-syntax.md +23 -0
- package/skills/cm-safe-deploy/references/gate-2-test-suite.md +28 -0
- package/skills/cm-safe-deploy/references/gate-3-i18n.md +19 -0
- package/skills/cm-safe-deploy/references/gate-4-5-build-dist.md +16 -0
- package/skills/cm-safe-deploy/references/gate-6-deploy-smoke.md +18 -0
- package/skills/cm-safe-deploy/references/rollback.md +17 -0
- package/skills/cm-safe-deploy/references/setup-new-project.md +20 -0
- package/skills/cm-skill-index/SKILL.md +15 -15
- package/skills/cm-start/SKILL.md +1 -1
- package/skills/cm-tdd/SKILL.md +51 -356
- package/skills/cm-tdd/references/bugfix-example.md +15 -0
- package/skills/cm-tdd/references/rationalizations.md +20 -0
- package/skills/cm-tdd/references/red-green-refactor.md +33 -0
- package/skills/cm-tdd/references/stuck-debugging.md +18 -0
- package/skills/cm-tdd/references/test-quality.md +19 -0
- package/skills/cm-ux-master/SKILL.md +368 -115
- package/skills/profiles/core.txt +1 -4
- package/skills/profiles/design.txt +1 -2
- package/skills/profiles/full.txt +10 -16
- package/skills/profiles/growth.txt +9 -9
- package/skills/profiles/top35.json +13 -13
- package/skills/cm-conductor-worktrees/SKILL.archive.md +0 -28
- package/skills/cm-conductor-worktrees/SKILL.md +0 -26
- package/skills/cm-dashboard/SKILL.archive.md +0 -15
- package/skills/cm-dashboard/SKILL.md +0 -26
- package/skills/cm-dashboard/ui/app.js +0 -1278
- package/skills/cm-dashboard/ui/index.html +0 -206
- package/skills/cm-dashboard/ui/style.css +0 -440
- package/skills/cm-design-studio/SKILL.archive.md +0 -34
- package/skills/cm-design-studio/SKILL.md +0 -26
- package/skills/cm-engineering-meta/SKILL.archive.md +0 -73
- package/skills/cm-engineering-meta/SKILL.md +0 -26
- package/skills/cm-git-worktrees/SKILL.archive.md +0 -157
- package/skills/cm-git-worktrees/SKILL.md +0 -26
- package/skills/cm-post-deploy-canary/SKILL.archive.md +0 -22
- package/skills/cm-post-deploy-canary/SKILL.md +0 -26
- package/skills/cm-qa-visual-cli/SKILL.archive.md +0 -22
- package/skills/cm-qa-visual-cli/SKILL.md +0 -26
- package/skills/cm-second-opinion-cli/SKILL.archive.md +0 -23
- package/skills/cm-second-opinion-cli/SKILL.md +0 -26
- package/skills/cm-secret-shield/SKILL.archive.md +0 -580
- package/skills/cm-secret-shield/SKILL.md +0 -26
- package/skills/cm-security-gate/SKILL.archive.md +0 -239
- package/skills/cm-security-gate/SKILL.md +0 -26
- package/skills/cm-skill-health/SKILL.archive.md +0 -83
- package/skills/cm-skill-health/SKILL.md +0 -26
- package/skills/cm-skill-mastery/SKILL.archive.md +0 -156
- package/skills/cm-skill-mastery/SKILL.md +0 -26
- package/skills/cm-skill-search/SKILL.archive.md +0 -49
- package/skills/cm-skill-search/SKILL.md +0 -26
- package/skills/cm-skill-share/SKILL.archive.md +0 -58
- package/skills/cm-skill-share/SKILL.md +0 -26
- package/skills/cm-test-gate/SKILL.archive.md +0 -245
- package/skills/cm-test-gate/SKILL.md +0 -26
- package/skills/cm-ui-preview/SKILL.archive.md +0 -153
- package/skills/cm-ui-preview/SKILL.md +0 -26
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cm-skill-share
|
|
3
|
-
description: "[Deprecated] skill lifecycle merged. Use `cm-skill-evolution` instead."
|
|
4
|
-
deprecated: true
|
|
5
|
-
merged_into: cm-skill-evolution
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# cm-skill-share — Deprecated
|
|
9
|
-
|
|
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.
|
|
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 skill-evolution <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
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cm-test-gate
|
|
3
|
-
description: Complete guide to setting up a reliable test gate for any project — covers stack detection, 4 core test files, script wiring, secret hygiene, and Cloudflare Workers/Pages patterns. Use when starting a new project, adding CI to an existing one, or when "tests pass but production breaks." Companion to cm-safe-deploy and cm-project-bootstrap.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# cm-test-gate: Multi-Layer Test Gate Setup
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
A deployment process without a test gate is just shipping code and praying. The `test:gate` script is your first line of defense before deployment. A test gate MUST verify four things: frontend component safety, backend API behavior, core business logic, and i18n synchronization.
|
|
11
|
-
|
|
12
|
-
**Core assumption:** The most dangerous errors are syntax flaws, variable shadowing, or import failures that tests often skip if they only check logic.
|
|
13
|
-
|
|
14
|
-
**Violating the letter of this process is violating the spirit of quality engineering.**
|
|
15
|
-
|
|
16
|
-
## The Protocol
|
|
17
|
-
|
|
18
|
-
When setting up a test gate for a project, follow these 5 phases in order.
|
|
19
|
-
|
|
20
|
-
### Phase 1: Stack Detection and Environment Setup
|
|
21
|
-
|
|
22
|
-
**Goal:** Identify the framework and install the correct testing dependencies.
|
|
23
|
-
|
|
24
|
-
1. **Detect Stack:**
|
|
25
|
-
- Check `package.json` for framework (React, Vue, Svelte, static HTML) and build tool (Vite, Next.js).
|
|
26
|
-
- Check for `wrangler.json(c)` (Cloudflare Workers/Pages).
|
|
27
|
-
- Check for Tailwind, PostCSS, or specific UI libraries.
|
|
28
|
-
|
|
29
|
-
2. **Install Dependencies (Example: Vite/Vitest):**
|
|
30
|
-
```bash
|
|
31
|
-
# Install vitest and related tools
|
|
32
|
-
npm install -D vitest jsdom @testing-library/react @testing-library/jest-dom
|
|
33
|
-
# (Adjust based on framework: e.g., @testing-library/svelte)
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
3. **Configure File:**
|
|
37
|
-
- Create `vitest.config.ts` (or `.js`):
|
|
38
|
-
```typescript
|
|
39
|
-
import { defineConfig } from 'vitest/config'
|
|
40
|
-
// Import framework plugin (e.g., react(), svelte())
|
|
41
|
-
|
|
42
|
-
export default defineConfig({
|
|
43
|
-
test: {
|
|
44
|
-
environment: 'jsdom',
|
|
45
|
-
globals: true,
|
|
46
|
-
setupFiles: ['./test/setup.ts'], // Optional
|
|
47
|
-
},
|
|
48
|
-
})
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Phase 2: The 4 Core Test Files
|
|
52
|
-
|
|
53
|
-
A complete `test:gate` must cover four distinct layers. Do not combine these files.
|
|
54
|
-
|
|
55
|
-
#### Layer 1: Frontend Safety (`frontend-safety.test.ts`)
|
|
56
|
-
This layer prevents white screens and catastrophic syntax errors in the browser. Emphasize parsing and template rendering over logical assertions.
|
|
57
|
-
|
|
58
|
-
*Use the exact implementation from `cm-quality-gate` regarding the 4 corruption checks.*
|
|
59
|
-
|
|
60
|
-
```typescript
|
|
61
|
-
import { test, expect } from 'vitest';
|
|
62
|
-
import fs from 'fs';
|
|
63
|
-
import path from 'path';
|
|
64
|
-
|
|
65
|
-
test('app.js does not contain catastrophic syntax corruption', () => {
|
|
66
|
-
// 1. Read the raw file
|
|
67
|
-
const content = fs.readFileSync(path.resolve(__dirname, '../public/static/app.js'), 'utf-8');
|
|
68
|
-
|
|
69
|
-
// 2. Syntax Validation (Check for broken template literals)
|
|
70
|
-
// ❌ Bug #1: Single-quote wrapping template string
|
|
71
|
-
expect(content).not.toMatch(/=\s*'[^']*\$\{t\(/);
|
|
72
|
-
|
|
73
|
-
// 3. Delimiter consistency
|
|
74
|
-
// ❌ Bug #4: Mismatched delimiters
|
|
75
|
-
expect(content).not.toMatch(/t\('[^']*\`/);
|
|
76
|
-
expect(content).not.toMatch(/t\(\`[^']*'\)/);
|
|
77
|
-
|
|
78
|
-
// 4. HTML structure integrity
|
|
79
|
-
// ❌ Bug #2: Spaces inside tags or broken closers
|
|
80
|
-
expect(content).not.toMatch(/<\s+[a-zA-Z]/); // e.g., "< div"
|
|
81
|
-
expect(content).not.toMatch(/<\/\s+[a-zA-Z]/); // e.g., "</ div"
|
|
82
|
-
expect(content).not.toMatch(/--\s+>/); // e.g., "text-- >"
|
|
83
|
-
});
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
#### Layer 2: API Routes (`api-routes.test.ts`)
|
|
87
|
-
This layer ensures backend endpoints respond correctly and handle JSON properly.
|
|
88
|
-
|
|
89
|
-
*Example for a generic fetch wrapper or specific Next.js/Worker handler:*
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
import { test, expect } from 'vitest';
|
|
93
|
-
|
|
94
|
-
test('API mock test', async () => {
|
|
95
|
-
// Test your server handlers directly
|
|
96
|
-
// Ensure 200 OK for valid inputs and 400 for errors
|
|
97
|
-
expect(true).toBe(true);
|
|
98
|
-
});
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
#### Layer 3: Business Logic (`business-logic.test.ts`)
|
|
102
|
-
This layer tests pure functions: calculations, validations, and data transformations.
|
|
103
|
-
|
|
104
|
-
```typescript
|
|
105
|
-
import { test, expect } from 'vitest';
|
|
106
|
-
|
|
107
|
-
test('Calculates score correctly', () => {
|
|
108
|
-
// const result = calculateScore(input);
|
|
109
|
-
// expect(result).toBe(expected);
|
|
110
|
-
expect(true).toBe(true);
|
|
111
|
-
});
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
#### Layer 4: i18n Synchronization (`i18n-sync.test.ts`)
|
|
115
|
-
This layer guarantees that language files are complete and identical in structure.
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
import { test, expect } from 'vitest';
|
|
119
|
-
import fs from 'fs';
|
|
120
|
-
import path from 'path';
|
|
121
|
-
|
|
122
|
-
test('i18n files have identical key counts', () => {
|
|
123
|
-
const langDir = path.resolve(__dirname, '../public/static/i18n');
|
|
124
|
-
const langs = ['vi.json', 'en.json', 'th.json', 'ph.json'];
|
|
125
|
-
|
|
126
|
-
const countKeys = (obj: any): number => {
|
|
127
|
-
let count = 0;
|
|
128
|
-
for (const k in obj) {
|
|
129
|
-
if (typeof obj[k] === 'object' && obj[k] !== null) {
|
|
130
|
-
count += countKeys(obj[k]);
|
|
131
|
-
} else {
|
|
132
|
-
count++;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return count;
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
let baseCount = -1;
|
|
139
|
-
for (const file of langs) {
|
|
140
|
-
if (!fs.existsSync(path.join(langDir, file))) continue;
|
|
141
|
-
|
|
142
|
-
const data = JSON.parse(fs.readFileSync(path.join(langDir, file), 'utf-8'));
|
|
143
|
-
const count = countKeys(data);
|
|
144
|
-
|
|
145
|
-
if (baseCount === -1) {
|
|
146
|
-
baseCount = count;
|
|
147
|
-
} else {
|
|
148
|
-
expect(count, `File ${file} has a different key count`).toBe(baseCount);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
#### Layer 5: Security Scan (`security-scan.test.ts`)
|
|
155
|
-
This layer prevents secrets from being committed to the repository. Powered by `cm-secret-shield` patterns.
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
import { test, expect } from 'vitest';
|
|
159
|
-
import fs from 'fs';
|
|
160
|
-
import { execSync } from 'child_process';
|
|
161
|
-
|
|
162
|
-
test('no secret files tracked by git', () => {
|
|
163
|
-
const tracked = execSync('git ls-files', { encoding: 'utf-8' });
|
|
164
|
-
const badFiles = ['.env', '.dev.vars', '.env.local', '.env.production'];
|
|
165
|
-
const found = badFiles.filter(f => tracked.split('\n').includes(f));
|
|
166
|
-
expect(found, `Secret files tracked: ${found.join(', ')}`).toEqual([]);
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
test('.gitignore contains required security patterns', () => {
|
|
170
|
-
const gitignore = fs.readFileSync('.gitignore', 'utf-8');
|
|
171
|
-
expect(gitignore).toContain('.env');
|
|
172
|
-
expect(gitignore).toContain('.dev.vars');
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
test('no hardcoded secrets in source files', () => {
|
|
176
|
-
const dangerousPatterns = [
|
|
177
|
-
/SERVICE_KEY\s*[=:]\s*['"][a-zA-Z0-9/+=]{20,}/g,
|
|
178
|
-
/PRIVATE_KEY\s*[=:]\s*['"][a-zA-Z0-9/+=]{20,}/g,
|
|
179
|
-
/-----BEGIN.*PRIVATE KEY-----/g,
|
|
180
|
-
];
|
|
181
|
-
const srcDir = 'src';
|
|
182
|
-
if (!fs.existsSync(srcDir)) return;
|
|
183
|
-
const files = fs.readdirSync(srcDir).filter(f => f.endsWith('.ts') || f.endsWith('.js'));
|
|
184
|
-
for (const file of files) {
|
|
185
|
-
const content = fs.readFileSync(`${srcDir}/${file}`, 'utf-8');
|
|
186
|
-
for (const pattern of dangerousPatterns) {
|
|
187
|
-
expect(content, `${file} contains potential secret`).not.toMatch(pattern);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Phase 3: Script Wiring
|
|
194
|
-
|
|
195
|
-
Wire these tests into `package.json` to make them easily executable by CI or other skills.
|
|
196
|
-
|
|
197
|
-
```json
|
|
198
|
-
{
|
|
199
|
-
"scripts": {
|
|
200
|
-
"test": "vitest",
|
|
201
|
-
"test:gate": "vitest run --reporter=verbose",
|
|
202
|
-
"test:security": "snyk test && aikido-api-client scan-release $npm_package_name $(git rev-parse HEAD) --minimum-severity-level=HIGH",
|
|
203
|
-
"test:watch": "vitest watch"
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
> **Security Gate Check:** The `test:security` script runs the Snyk dependency check and the Aikido release scan in parallel. See `cm-security-gate` for advanced SAST/IaC flags.
|
|
209
|
-
|
|
210
|
-
### Phase 4: Secret Hygiene and Ignore Configuration
|
|
211
|
-
|
|
212
|
-
**NEVER commit `.env` or `.dev.vars`.** Ensure tests do not expose actual production secrets.
|
|
213
|
-
|
|
214
|
-
1. **Check `.gitignore`:**
|
|
215
|
-
```bash
|
|
216
|
-
grep -E "node_modules|\.env|\.dev\.vars" .gitignore
|
|
217
|
-
# Must exist, if not, add them.
|
|
218
|
-
```
|
|
219
|
-
2. **Define Mock Env:**
|
|
220
|
-
Create a `.env.test` file (this CAN be committed) with safe, mock values if needed by the test environment.
|
|
221
|
-
|
|
222
|
-
### Phase 5: Verification
|
|
223
|
-
|
|
224
|
-
Run the test gate to prove it works before declaring the task complete.
|
|
225
|
-
|
|
226
|
-
```bash
|
|
227
|
-
npm run test:gate
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
## Integration with Other Skills
|
|
231
|
-
|
|
232
|
-
| Skill | Relationship |
|
|
233
|
-
|---|---|
|
|
234
|
-
| `cm-safe-deploy` | `test:gate` is Gate 2 in the safe deploy pipeline. |
|
|
235
|
-
| `cm-project-bootstrap` | Should invoke `cm-test-gate` during Phase 7 (Infrastructure Setup). |
|
|
236
|
-
| `cm-safe-i18n` | Relies on the i18n tests set up in Phase 2, Layer 4. |
|
|
237
|
-
| `cm-secret-shield` | Layer 5 security scan uses Secret Shield patterns. |
|
|
238
|
-
|
|
239
|
-
## Red Flags - STOP and Fix
|
|
240
|
-
|
|
241
|
-
- Setting up tests but not creating the `test:gate` run script.
|
|
242
|
-
- Combining all tests into one massive `app.test.js` file.
|
|
243
|
-
- Skipping the `frontend-safety.test.ts` layer for SPA/monolith projects.
|
|
244
|
-
- Using real production database credentials in the test setup.
|
|
245
|
-
- Ignoring test failures and proceeding anyway.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cm-test-gate
|
|
3
|
-
description: "[Deprecated] quality gate now covers tests + canary. Use `cm-quality-gate` instead."
|
|
4
|
-
deprecated: true
|
|
5
|
-
merged_into: cm-quality-gate
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# cm-test-gate — Deprecated
|
|
9
|
-
|
|
10
|
-
> ⚠️ This skill is deprecated as of CodyMaster v6.0.0 and will be removed in v6.1.0.
|
|
11
|
-
>
|
|
12
|
-
> **Use `cm-quality-gate` instead.** quality gate now covers tests + canary.
|
|
13
|
-
>
|
|
14
|
-
> See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
|
|
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 quality-gate <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
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cm-ui-preview
|
|
3
|
-
description: "Master Design Skill. Orchestrates AI-powered UI generation using Google Stitch MCP, guided by cm-ux-master intelligence and professional prompt enhancement pipelines. Implements the 'Stitch Build Loop', 'Prompt Optimization Structure', and strict design system adherence to generate production-ready UI previews before coding."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# UI Preview — The Master Design Orchestrator
|
|
7
|
-
|
|
8
|
-
> **See it before you build it.**
|
|
9
|
-
> This skill transforms vague user requests into precise, structured 'Construction Blueprints' for the Google Stitch AI generator, ensuring UI outputs are professional, consistent with project branding, and ergonomically sound.
|
|
10
|
-
|
|
11
|
-
## When to Use
|
|
12
|
-
|
|
13
|
-
**ALWAYS trigger when the task involves building, redesigning, or modifying UI:**
|
|
14
|
-
- Creating new pages, screens, or layouts
|
|
15
|
-
- Building components (forms, cards, dashboards)
|
|
16
|
-
- Restyling or beautifying existing UIs
|
|
17
|
-
- Translating a wireframe or concept into high-fidelity UI
|
|
18
|
-
|
|
19
|
-
**Trigger keywords:** build UI, design page, create screen, landing page, dashboard layout, UI designer, use stitch, stitch me a ui, redesign, restyle
|
|
20
|
-
|
|
21
|
-
## Architecture & Workflow (End-to-End)
|
|
22
|
-
|
|
23
|
-
This skill operates as a pipeline. **Do not skip steps.**
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
┌─────────────────────────────────────────────────────────┐
|
|
27
|
-
│ cm-ui-preview Master Workflow │
|
|
28
|
-
├─────────────────────────────────────────────────────────┤
|
|
29
|
-
│ │
|
|
30
|
-
│ Step 1: PREFLIGHT & INTENT │
|
|
31
|
-
│ ├── Detect task: New UI vs. Refine/Beautify │
|
|
32
|
-
│ └── Verify Stitch MCP tools availability │
|
|
33
|
-
│ │
|
|
34
|
-
│ Step 2: DESIGN SYSTEM EXTRACTION (The Source of Truth) │
|
|
35
|
-
│ ├── Check: .stitch/DESIGN.md, css tokens, etc. │
|
|
36
|
-
│ └── Fallback: Trigger `cm-ux-master` to generate one │
|
|
37
|
-
│ │
|
|
38
|
-
│ Step 3: PROMPT ENHANCEMENT (The Build Blueprint) │
|
|
39
|
-
│ ├── Project Overview (What, who, style vibe) │
|
|
40
|
-
│ ├── Design System Specs (Colors, Typography, Layout) │
|
|
41
|
-
│ └── Page Structure (Core function + Specific areas) │
|
|
42
|
-
│ │
|
|
43
|
-
│ Step 4: STITCH EXECUTION (The Build Loop) │
|
|
44
|
-
│ ├── create_project() │
|
|
45
|
-
│ ├── generate_screen_from_text() │
|
|
46
|
-
│ ├── Present link + AI insights to user │
|
|
47
|
-
│ └── User Decision: Confirm / Edit / Skip │
|
|
48
|
-
│ │
|
|
49
|
-
│ Step 5: FINALIZATION & BATON PASS │
|
|
50
|
-
│ ├── Save state to .stitch/next-prompt.md │
|
|
51
|
-
│ └── Hand off to cm-execution for actual coding │
|
|
52
|
-
│ │
|
|
53
|
-
└─────────────────────────────────────────────────────────┘
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Step 1: Preflight & Intent Classification
|
|
57
|
-
|
|
58
|
-
1. **Verify Stitch MCP:** Check if `create_project` and `generate_screen_from_text` are available. If not, inform the user they are missing the Stitch tools but proceed with Prompt-Only generation (output the blueprint for them to use manually).
|
|
59
|
-
2. **Classify Intent:**
|
|
60
|
-
- **New Screen:** Proceed with full generation.
|
|
61
|
-
- **Refine/Beautify (edit):** Use `edit_screens()` on existing IDs instead of `generate_screen_from_text()`.
|
|
62
|
-
|
|
63
|
-
## Step 2: Design System Extraction (Source of Truth)
|
|
64
|
-
|
|
65
|
-
Before assembly, you MUST establish the design constraints.
|
|
66
|
-
|
|
67
|
-
**Look for:**
|
|
68
|
-
- `.stitch/DESIGN.md` (Primary source for Stitch)
|
|
69
|
-
- `design-system/MASTER.md` (From `cm-ux-master`)
|
|
70
|
-
- `.cm/design-tokens.css` or Tailwind configs
|
|
71
|
-
|
|
72
|
-
**If no design system exists:**
|
|
73
|
-
*Suggest running `cm-ux-master` or create a `.stitch/DESIGN.md` baseline.*
|
|
74
|
-
A baseline MUST contain:
|
|
75
|
-
- Platform (Web/Mobile)
|
|
76
|
-
- Primary/Secondary Colors (with hex codes)
|
|
77
|
-
- Typography (Font families)
|
|
78
|
-
- Component constraints (Rounded vs Sharp, Shadow levels)
|
|
79
|
-
|
|
80
|
-
## Step 3: Prompt Enhancement Pipeline (CRITICAL)
|
|
81
|
-
|
|
82
|
-
**DO NOT send vague prompts to Stitch (e.g., "Make a login page").**
|
|
83
|
-
You must assemble an "Optimized Prompt Structure" — a detailed construction blueprint.
|
|
84
|
-
|
|
85
|
-
Structure your prompt exactly like this:
|
|
86
|
-
|
|
87
|
-
```markdown
|
|
88
|
-
[Overall vibe, mood, and purpose of the page: e.g., "A modern fintech dashboard for B2B users. Professional, trustworthy, high data density, light mode."]
|
|
89
|
-
|
|
90
|
-
**DESIGN SYSTEM (REQUIRED):**
|
|
91
|
-
- Platform: Web Desktop-first
|
|
92
|
-
- Palette: Primary Blue (#0F62FE), Secondary Gray (#F4F4F4), Danger Red (#DA1E28)
|
|
93
|
-
- Typography: Inter for UI, Roboto Mono for numbers
|
|
94
|
-
- Styles: 4px border radius, subtle drop shadows on cards
|
|
95
|
-
|
|
96
|
-
**PAGE STRUCTURE & FUNCTION:**
|
|
97
|
-
### 1. Dashboard Home
|
|
98
|
-
**Core function**: Overview of recent transactions and account health.
|
|
99
|
-
- **Top Nav**: Brand logo, Global Search input, User Avatar dropdown.
|
|
100
|
-
- **Hero/Header**: Greeting "Welcome back, {User}", Total Balance callout (Large bold text).
|
|
101
|
-
- **Main Function Area**:
|
|
102
|
-
- Left col: Line chart showing 30-day revenue.
|
|
103
|
-
- Right col: Vertical list of "Recent Transactions" (Icon, Title, Date, Amount (Green/Red)).
|
|
104
|
-
- **Action Area**: Primary CTA "Send Money" (Blue fill, large), Secondary "Download Statement" (Outline).
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
*Refine UI terminology:* Replace "nice buttons" with "Primary CTA", replace "boxes" with "Cards". Apply relevant constraints from `cm-ux-master` (e.g., Miller's Law for chunking lists).
|
|
108
|
-
|
|
109
|
-
## Step 4: Stitch Execution (The Build Loop)
|
|
110
|
-
|
|
111
|
-
1. **Project Creation:**
|
|
112
|
-
```javascript
|
|
113
|
-
mcp_StitchMCP_create_project({ title: "UI Preview — {Feature}" })
|
|
114
|
-
```
|
|
115
|
-
2. **Screen Generation:**
|
|
116
|
-
```javascript
|
|
117
|
-
mcp_StitchMCP_generate_screen_from_text({
|
|
118
|
-
projectId: "<id>",
|
|
119
|
-
prompt: "<Your Optimized Prompt Blueprint>",
|
|
120
|
-
deviceType: "DESKTOP" // or MOBILE
|
|
121
|
-
})
|
|
122
|
-
```
|
|
123
|
-
3. **User Presentation:**
|
|
124
|
-
Show the output, provide the URL, and present the **AI Insights** (from the tool's `outputComponents` response).
|
|
125
|
-
|
|
126
|
-
```markdown
|
|
127
|
-
🎨 **UI Preview Generated!**
|
|
128
|
-
|
|
129
|
-
- **Stitch Project ID:** `<id>`
|
|
130
|
-
- **View & Edit:** [Open in Google Stitch](https://stitch.withgoogle.com/projects/<id>)
|
|
131
|
-
- **AI Insights:** [Any suggestions or notes returned by Stitch]
|
|
132
|
-
|
|
133
|
-
What's next?
|
|
134
|
-
1. ✅ **Confirm** — I will write the code matching this design exactly.
|
|
135
|
-
2. ✏️ **Edit** — Tell me what to change, I'll update the preview.
|
|
136
|
-
3. ⏭️ **Skip** — Proceed straight to coding.
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## Step 5: Finalization & Baton Pass
|
|
140
|
-
|
|
141
|
-
- **If Confirm:** Proceed to code implementation. You MUST follow the visual layout, spacing, and colors shown in the Stitch preview.
|
|
142
|
-
- **If Edit:** Call `mcp_StitchMCP_edit_screens()` with the specific element changes.
|
|
143
|
-
- **Baton Update (Optional but Recommended):** Maintain a `.stitch/next-prompt.md` to feed into the next agent task or session for continuity.
|
|
144
|
-
|
|
145
|
-
## Anti-Patterns (Strict Prohibitions)
|
|
146
|
-
|
|
147
|
-
- ⛔ **NO VAGUE PROMPTS:** Never pass user input straight to Stitch without the Step 3 Enhancement Pipeline.
|
|
148
|
-
- ⛔ **NO FAKE SUCCESS:** If the MCP tool fails or isn't connected, do not hallucinate a success message or URL.
|
|
149
|
-
- ⛔ **NO CODING (Yet):** This phase is purely for DESIGN PREVIEW. Do not write React/Vue code until the user clicks "Confirm" or "Skip".
|
|
150
|
-
- ⛔ **NO APP SCAFFOLDING:** Do not initialize project codebases in this workflow.
|
|
151
|
-
|
|
152
|
-
## Future: Pencil.dev Support
|
|
153
|
-
*Pencil MCP tools are available and will be integrated as an alternative execution engine in future updates (`batch_design`, `get_editor_state`).*
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cm-ui-preview
|
|
3
|
-
description: "[Deprecated] UI preview is part of design system. Use `cm-design-system` instead."
|
|
4
|
-
deprecated: true
|
|
5
|
-
merged_into: cm-design-system
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# cm-ui-preview — Deprecated
|
|
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.** UI preview is part of design system.
|
|
13
|
-
>
|
|
14
|
-
> See [docs/migration-v2.md](../../docs/migration-v2.md) for the full mapping.
|
|
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 design-system <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
|