codymaster 4.1.3 → 4.3.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 +22 -2
- package/README.md +54 -84
- package/dist/index.js +589 -510
- package/dist/ui/box.js +49 -0
- package/install.sh +2 -2
- package/package.json +3 -9
- package/skills/AGENTS.md +61 -0
- package/skills/CLAUDE.md +158 -0
- package/skills/boxme-git-config/SKILL.md +56 -0
- package/skills/boxme-local-dev/SKILL.md +66 -0
- package/skills/build.sh +30 -0
- package/skills/cf +314 -0
- package/skills/cf 2 +313 -0
- package/skills/cm-ads-tracker/SKILL.md +364 -69
- 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 +15 -24
- package/skills/cm-clean-code/SKILL.md +300 -0
- package/skills/cm-code-review/SKILL.md +0 -27
- package/skills/cm-codeintell/SKILL.md +598 -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/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/index.html +680 -0
- package/skills/cm-content-factory/landing/script.js +101 -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 +7 -0
- package/skills/cm-cro-methodology/SKILL.md +290 -0
- package/skills/cm-dashboard/SKILL.md +7 -525
- package/skills/cm-debugging/SKILL.md +7 -116
- package/skills/cm-deep-search/SKILL.md +5 -1
- package/skills/cm-dockit/README.md +6 -15
- package/skills/cm-dockit/SKILL.md +20 -37
- package/skills/cm-execution/SKILL.md +6 -1
- package/skills/cm-frappe-agent/SKILL.md +134 -0
- package/skills/cm-frappe-agent/agents/doctype-architect.md +596 -0
- package/skills/cm-frappe-agent/agents/erpnext-customizer.md +643 -0
- package/skills/cm-frappe-agent/agents/frappe-backend.md +814 -0
- package/skills/cm-frappe-agent/agents/frappe-custom-frontend.md +557 -0
- package/skills/cm-frappe-agent/agents/frappe-debugger.md +625 -0
- package/skills/cm-frappe-agent/agents/frappe-fixer.md +275 -0
- package/skills/cm-frappe-agent/agents/frappe-frontend.md +660 -0
- package/skills/cm-frappe-agent/agents/frappe-installer.md +158 -0
- package/skills/cm-frappe-agent/agents/frappe-performance.md +307 -0
- package/skills/cm-frappe-agent/agents/frappe-planner.md +419 -0
- package/skills/cm-frappe-agent/agents/frappe-remote-ops.md +153 -0
- package/skills/cm-frappe-agent/agents/github-workflow.md +286 -0
- package/skills/cm-frappe-agent/commands/frappe-app.md +351 -0
- package/skills/cm-frappe-agent/commands/frappe-backend.md +162 -0
- package/skills/cm-frappe-agent/commands/frappe-bench.md +254 -0
- package/skills/cm-frappe-agent/commands/frappe-debug.md +263 -0
- package/skills/cm-frappe-agent/commands/frappe-doctype-create.md +272 -0
- package/skills/cm-frappe-agent/commands/frappe-doctype-field.md +310 -0
- package/skills/cm-frappe-agent/commands/frappe-erpnext.md +210 -0
- package/skills/cm-frappe-agent/commands/frappe-fix.md +59 -0
- package/skills/cm-frappe-agent/commands/frappe-frontend.md +210 -0
- package/skills/cm-frappe-agent/commands/frappe-fullstack.md +243 -0
- package/skills/cm-frappe-agent/commands/frappe-github.md +57 -0
- package/skills/cm-frappe-agent/commands/frappe-install.md +52 -0
- package/skills/cm-frappe-agent/commands/frappe-plan.md +442 -0
- package/skills/cm-frappe-agent/commands/frappe-remote.md +58 -0
- package/skills/cm-frappe-agent/commands/frappe-test.md +356 -0
- package/skills/cm-frappe-agent/docs/README.md +51 -0
- package/skills/cm-frappe-agent/docs/agents-catalog.md +113 -0
- package/skills/cm-frappe-agent/docs/architecture.md +149 -0
- package/skills/cm-frappe-agent/docs/commands-catalog.md +82 -0
- package/skills/cm-frappe-agent/docs/resources-catalog.md +66 -0
- package/skills/cm-frappe-agent/docs/sitemap-urls.txt +52 -0
- package/skills/cm-frappe-agent/docs/sitemap.md +81 -0
- package/skills/cm-frappe-agent/docs/sop/user-guide.md +178 -0
- package/skills/cm-frappe-agent/docs/sop/vibe-coding-guide.md +122 -0
- package/skills/cm-frappe-agent/resources/7-layer-architecture.md +985 -0
- package/skills/cm-frappe-agent/resources/bench_commands.md +73 -0
- package/skills/cm-frappe-agent/resources/code-patterns-guide.md +948 -0
- package/skills/cm-frappe-agent/resources/common_pitfalls.md +266 -0
- package/skills/cm-frappe-agent/resources/doctype-registry.md +158 -0
- package/skills/cm-frappe-agent/resources/installation-guide.md +289 -0
- package/skills/cm-frappe-agent/resources/rest-api-patterns.md +182 -0
- package/skills/cm-frappe-agent/resources/scaffold_checklist.md +82 -0
- package/skills/cm-frappe-agent/resources/upgrade_patterns.md +113 -0
- package/skills/cm-frappe-agent/resources/web-form-patterns.md +252 -0
- package/skills/cm-frappe-agent/skills/bench-commands/SKILL.md +621 -0
- package/skills/cm-frappe-agent/skills/client-scripts/SKILL.md +642 -0
- package/skills/cm-frappe-agent/skills/doctype-patterns/SKILL.md +576 -0
- package/skills/cm-frappe-agent/skills/frappe-api/SKILL.md +740 -0
- package/skills/cm-frappe-agent/skills/remote-operations/SKILL.md +47 -0
- package/skills/cm-frappe-agent/skills/server-scripts/SKILL.md +608 -0
- package/skills/cm-frappe-agent/skills/web-forms/SKILL.md +46 -0
- package/skills/cm-git-worktrees/SKILL.md +0 -7
- 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 +293 -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 +20 -4
- package/skills/cm-identity-guard/SKILL.md +0 -11
- package/skills/cm-jtbd/SKILL.md +1 -1
- package/skills/cm-notebooklm/SKILL.md +172 -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 +39 -52
- package/skills/cm-project-bootstrap/SKILL.md +1307 -99
- package/skills/cm-quality-gate/SKILL.md +13 -106
- package/skills/cm-reactor/SKILL.md +274 -0
- package/skills/cm-safe-deploy/SKILL.md +415 -52
- package/skills/cm-safe-i18n/SKILL.md +1 -22
- package/skills/cm-secret-shield/SKILL.md +2 -2
- package/skills/cm-security-gate/SKILL.md +114 -0
- package/skills/cm-skill-chain/SKILL.md +2 -2
- package/skills/cm-skill-index/SKILL.md +9 -6
- package/skills/cm-skill-mastery/SKILL.md +2 -15
- package/skills/cm-start/SKILL.md +9 -0
- package/skills/cm-tdd/SKILL.md +8 -41
- package/skills/cm-ui-preview/SKILL.md +35 -173
- package/skills/cm-ux-master/FEATURES-v4.md +305 -0
- package/skills/cm-ux-master/README-ru.md +135 -0
- package/skills/cm-ux-master/README-vi.md +135 -0
- package/skills/cm-ux-master/README-zh.md +135 -0
- package/skills/cm-ux-master/README.md +489 -0
- package/skills/cm-ux-master/SKILL.md +773 -62
- package/skills/cm-ux-master/cli/README.md +180 -0
- package/skills/cm-ux-master/cli/pyproject.toml +106 -0
- package/skills/cm-ux-master/cli/requirements.txt +21 -0
- package/skills/cm-ux-master/cli/templates/base/skill-core.md +262 -0
- package/skills/cm-ux-master/cli/templates/platforms/claude.yaml +21 -0
- package/skills/cm-ux-master/cli/templates/platforms/cursor.yaml +21 -0
- package/skills/cm-ux-master/cli/templates/platforms/figma.yaml +24 -0
- package/skills/cm-ux-master/cli/templates/platforms/vscode-mcp.yaml +28 -0
- package/skills/cm-ux-master/cli/templates/platforms/windsurf.yaml +21 -0
- package/skills/cm-ux-master/cli/uxmaster/__init__.py +10 -0
- package/skills/cm-ux-master/cli/uxmaster/__main__.py +19 -0
- package/skills/cm-ux-master/cli/uxmaster/cli.py +349 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/__init__.py +8 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/extract.py +18 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/init.py +58 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +194 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/search.py +23 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/validate.py +270 -0
- package/skills/cm-ux-master/cli/uxmaster/search_engine.py +532 -0
- package/skills/cm-ux-master/cli/uxmaster/template_engine.py +458 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/__init__.py +9 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/console.py +42 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/detect.py +83 -0
- package/skills/cm-ux-master/data/accessibility-advanced.csv +26 -0
- package/skills/cm-ux-master/data/animation.csv +31 -0
- package/skills/cm-ux-master/data/charts.csv +26 -0
- package/skills/cm-ux-master/data/colors.csv +97 -0
- package/skills/cm-ux-master/data/design-tests.csv +37 -0
- package/skills/cm-ux-master/data/devices.csv +21 -0
- package/skills/cm-ux-master/data/icons.csv +101 -0
- package/skills/cm-ux-master/data/landing.csv +31 -0
- package/skills/cm-ux-master/data/products.csv +97 -0
- package/skills/cm-ux-master/data/react-performance.csv +45 -0
- package/skills/cm-ux-master/data/responsive.csv +26 -0
- package/skills/cm-ux-master/data/semi-tokens.csv +52 -0
- package/skills/cm-ux-master/data/stacks/angular.csv +34 -0
- package/skills/cm-ux-master/data/stacks/astro.csv +54 -0
- package/skills/cm-ux-master/data/stacks/electron.csv +32 -0
- package/skills/cm-ux-master/data/stacks/flutter.csv +53 -0
- package/skills/cm-ux-master/data/stacks/html-tailwind.csv +56 -0
- package/skills/cm-ux-master/data/stacks/htmx.csv +28 -0
- package/skills/cm-ux-master/data/stacks/jetpack-compose.csv +53 -0
- package/skills/cm-ux-master/data/stacks/nextjs.csv +53 -0
- package/skills/cm-ux-master/data/stacks/nuxt-ui.csv +51 -0
- package/skills/cm-ux-master/data/stacks/nuxtjs.csv +59 -0
- package/skills/cm-ux-master/data/stacks/react-native.csv +52 -0
- package/skills/cm-ux-master/data/stacks/react.csv +54 -0
- package/skills/cm-ux-master/data/stacks/shadcn.csv +61 -0
- package/skills/cm-ux-master/data/stacks/svelte.csv +54 -0
- package/skills/cm-ux-master/data/stacks/swiftui.csv +51 -0
- package/skills/cm-ux-master/data/stacks/tauri.csv +29 -0
- package/skills/cm-ux-master/data/stacks/vue.csv +50 -0
- package/skills/cm-ux-master/data/styles.csv +68 -0
- package/skills/cm-ux-master/data/typography.csv +58 -0
- package/skills/cm-ux-master/data/ui-reasoning.csv +101 -0
- package/skills/cm-ux-master/data/ux-guidelines.csv +100 -0
- package/skills/cm-ux-master/data/ux-laws.csv +49 -0
- package/skills/cm-ux-master/data/web-interface.csv +31 -0
- package/skills/cm-ux-master/docs/LANDING-PAGE.html +377 -0
- package/skills/cm-ux-master/docs/README.md +108 -0
- package/skills/cm-ux-master/docs/css/styles.css +573 -0
- package/skills/cm-ux-master/docs/examples/demo-script.md +319 -0
- package/skills/cm-ux-master/docs/guides/for-designers.md +692 -0
- package/skills/cm-ux-master/docs/guides/for-developers.md +778 -0
- package/skills/cm-ux-master/docs/guides/for-product-managers.md +693 -0
- package/skills/cm-ux-master/docs/guides/react-guide-vi.md +50 -0
- package/skills/cm-ux-master/docs/index.html +1062 -0
- package/skills/cm-ux-master/docs/js/i18n.js +84 -0
- package/skills/cm-ux-master/docs/js/lang/de.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/en.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/fr.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/hi.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/id.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ja.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ko.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ru.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/vi.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/zh.js +145 -0
- package/skills/cm-ux-master/docs/js/main.js +117 -0
- package/skills/cm-ux-master/docs/plan/PHASE1-COMPLETION.md +217 -0
- package/skills/cm-ux-master/docs/plan/PHASE2-COMPLETION.md +199 -0
- package/skills/cm-ux-master/docs/plan/PHASE2-ENHANCED-COMPLETION.md +352 -0
- package/skills/cm-ux-master/docs/plan/PHASE3-VALIDATION-COMPLETION.md +499 -0
- package/skills/cm-ux-master/docs/plan/PHASE4-TESTING-POLISH-COMPLETION.md +483 -0
- package/skills/cm-ux-master/docs/plan/UXM-2.0-ROADMAP.md +681 -0
- package/skills/cm-ux-master/docs/plan/WOW-PITCH.md +410 -0
- package/skills/cm-ux-master/docs/technical/api-reference.md +824 -0
- package/skills/cm-ux-master/docs/technical/harvester-v4.md +328 -0
- package/skills/cm-ux-master/docs/technical/how-it-works.md +1128 -0
- package/skills/cm-ux-master/docs/tutorials/quickstart.md +339 -0
- package/skills/cm-ux-master/docs/tutorials/tutorials.md +939 -0
- package/skills/cm-ux-master/docs/tutorials/user-guide.md +716 -0
- package/skills/cm-ux-master/examples/README.md +63 -0
- package/skills/cm-ux-master/mcp/__init__.py +3 -0
- package/skills/cm-ux-master/mcp/integrations/__init__.py +11 -0
- package/skills/cm-ux-master/mcp/integrations/figma/__init__.py +6 -0
- package/skills/cm-ux-master/mcp/integrations/figma/client.py +293 -0
- package/skills/cm-ux-master/mcp/integrations/figma/plugin/code.js +561 -0
- package/skills/cm-ux-master/mcp/integrations/figma/plugin/ui.html +334 -0
- package/skills/cm-ux-master/mcp/integrations/stitch/__init__.py +5 -0
- package/skills/cm-ux-master/mcp/integrations/stitch/client.py +410 -0
- package/skills/cm-ux-master/mcp/integrations/vscode/package.json +167 -0
- package/skills/cm-ux-master/mcp/integrations/vscode/src/extension.ts +81 -0
- package/skills/cm-ux-master/mcp/mcp-config.json +274 -0
- package/skills/cm-ux-master/mcp/server.py +771 -0
- package/skills/cm-ux-master/mcp/tools/__init__.py +13 -0
- package/skills/cm-ux-master/mcp-server/server.py +595 -0
- package/skills/cm-ux-master/output/fila/FilaDashboard.tsx +47 -0
- package/skills/cm-ux-master/output/fila/components/badge/component.tsx +35 -0
- package/skills/cm-ux-master/output/fila/components/badge/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/button/component.tsx +53 -0
- package/skills/cm-ux-master/output/fila/components/button/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/card/component.tsx +35 -0
- package/skills/cm-ux-master/output/fila/components/card/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/input/component.tsx +41 -0
- package/skills/cm-ux-master/output/fila/components/input/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/design-system.css +151 -0
- package/skills/cm-ux-master/output/fila/design-system.html +1596 -0
- package/skills/cm-ux-master/output/fila/design-system.json +168 -0
- package/skills/cm-ux-master/output/fila/figma-tokens.json +523 -0
- package/skills/cm-ux-master/output/fila/harvest-v4-raw.json +406 -0
- package/skills/cm-ux-master/output/fila/semi-theme-override.css +95 -0
- package/skills/cm-ux-master/output/haravan/HaravanDashboard.tsx +103 -0
- package/skills/cm-ux-master/output/haravan/design-system-v3-live.html +2716 -0
- package/skills/cm-ux-master/output/haravan/design-system-v3.html +1770 -0
- package/skills/cm-ux-master/output/haravan/design-system.html +914 -0
- package/skills/cm-ux-master/output/haravan/figma-tokens.json +84 -0
- package/skills/cm-ux-master/output/haravan/haravan-harvest.json +33 -0
- package/skills/cm-ux-master/output/haravan/harvest-v3-raw.json +167 -0
- package/skills/cm-ux-master/output/haravan/semi-theme-override.css +39 -0
- package/skills/cm-ux-master/references/audit-template.md +257 -0
- package/skills/cm-ux-master/references/cultural-ux.md +346 -0
- package/skills/cm-ux-master/references/dark-patterns.md +362 -0
- package/skills/cm-ux-master/references/heuristic-conflicts.md +296 -0
- package/skills/cm-ux-master/references/krug-principles.md +289 -0
- package/skills/cm-ux-master/references/nielsen-heuristics.md +360 -0
- package/skills/cm-ux-master/references/wcag-checklist.md +306 -0
- package/skills/cm-ux-master/scripts/component_generator.py +631 -0
- package/skills/cm-ux-master/scripts/core.py +305 -0
- package/skills/cm-ux-master/scripts/demo_validation.py +452 -0
- package/skills/cm-ux-master/scripts/design_doc_generator.py +1325 -0
- package/skills/cm-ux-master/scripts/design_system.py +1141 -0
- package/skills/cm-ux-master/scripts/design_system_indexer.py +889 -0
- package/skills/cm-ux-master/scripts/extract_i18n.py +251 -0
- package/skills/cm-ux-master/scripts/extractor.py +1437 -0
- package/skills/cm-ux-master/scripts/figma_bridge.py +406 -0
- package/skills/cm-ux-master/scripts/generate.py +147 -0
- package/skills/cm-ux-master/scripts/harvest_session.py +207 -0
- package/skills/cm-ux-master/scripts/harvester.js +240 -0
- package/skills/cm-ux-master/scripts/harvester_browser.py +717 -0
- package/skills/cm-ux-master/scripts/harvester_cli.py +431 -0
- package/skills/cm-ux-master/scripts/harvester_v1.js +275 -0
- package/skills/cm-ux-master/scripts/harvester_v3.js +620 -0
- package/skills/cm-ux-master/scripts/harvester_v4.js +1003 -0
- package/skills/cm-ux-master/scripts/install.py +528 -0
- package/skills/cm-ux-master/scripts/license.py +81 -0
- package/skills/cm-ux-master/scripts/media/qrpayment.png +0 -0
- package/skills/cm-ux-master/scripts/pro_stubs.py +120 -0
- package/skills/cm-ux-master/scripts/project_registry.py +217 -0
- package/skills/cm-ux-master/scripts/search.py +114 -0
- package/skills/cm-ux-master/scripts/semi_mcp_bridge.py +425 -0
- package/skills/cm-ux-master/scripts/stitch_integration.py +583 -0
- package/skills/cm-ux-master/scripts/test_harvester_v4.py +335 -0
- package/skills/cm-ux-master/scripts/token_mapper.py +626 -0
- package/skills/cm-ux-master/scripts/validation_engine.py +1571 -0
- package/skills/cm-ux-master/scripts/wizard.py +653 -0
- package/skills/cm-ux-master/setup.py +93 -0
- package/skills/cm-ux-master/templates/base/flutter-widget.dart +69 -0
- package/skills/cm-ux-master/templates/base/html-page.html +152 -0
- package/skills/cm-ux-master/templates/base/react-component.tsx +47 -0
- package/skills/cm-ux-master/templates/base/swiftui-view.swift +62 -0
- package/skills/cm-ux-master/templates/quick-start.sh +176 -0
- package/skills/cm-ux-master/tests/automation/batch-validate.sh +250 -0
- package/skills/cm-ux-master/tests/automation/generate-test-projects.sh +561 -0
- package/skills/cm-ux-master/tests/automation/run-all-tests.sh +315 -0
- package/skills/cm-ux-master/tests/test_design_doc.py +145 -0
- package/skills/cm-ux-master/tests/test_devices.py +74 -0
- package/skills/cm-ux-master/tests/test_generator.py +116 -0
- package/skills/cm-ux-master/tests/test_harvest_session.py +131 -0
- package/skills/cm-ux-master/tests/test_harvester.py +127 -0
- package/skills/cm-ux-master/tests/test_harvester_v3.py +324 -0
- package/skills/cm-ux-master/tests/test_mcp_server.py +496 -0
- package/skills/cm-ux-master/tests/test_new_domains.py +108 -0
- package/skills/cm-ux-master/tests/test_new_stacks.py +103 -0
- package/skills/cm-ux-master/tests/test_project_registry.py +146 -0
- package/skills/cm-ux-master/tests/test_semi_mcp_bridge.py +207 -0
- package/skills/cm-ux-master/tests/test_token_mapper.py +247 -0
- package/skills/cm-ux-master/tests/test_validation_engine.py +617 -0
- package/skills/config.schema.json +397 -0
- package/skills/frappe-app-builder.zip +0 -0
- package/skills/jobs-to-be-done/SKILL.md +266 -0
- package/skills/jobs-to-be-done/references/case-studies.md +154 -0
- package/skills/jobs-to-be-done/references/competitive-strategy.md +280 -0
- package/skills/jobs-to-be-done/references/diagnostics.md +158 -0
- package/skills/jobs-to-be-done/references/innovation-process.md +392 -0
- package/skills/jobs-to-be-done/references/organizational-change.md +328 -0
- package/skills/marketplace-report-crawler/SKILL.md +176 -0
- package/skills/marketplace-report-crawler/config/accounts.json +41 -0
- package/skills/marketplace-report-crawler/config/report-types.json +422 -0
- package/skills/marketplace-report-crawler/config/sessions.json +3 -0
- package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +102 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +114 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +94 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +272 -0
- package/skills/marketplace-report-crawler/scripts/crawl-runner.js +281 -0
- package/skills/marketplace-report-crawler/scripts/session-check.sh +72 -0
- package/skills/marketplace-report-crawler/scripts/session-manager.sh +349 -0
- package/skills/marketplace-report-crawler/scripts/setup-folders.sh +83 -0
- package/skills/medical-research/SKILL.md +194 -0
- package/skills/medical-research/scripts/evidence_checker.py +288 -0
- package/skills/mom-test/SKILL.md +267 -0
- package/skills/mom-test/references/avoiding-bad-data.md +221 -0
- package/skills/mom-test/references/case-studies.md +306 -0
- package/skills/mom-test/references/commitment-advancement.md +219 -0
- package/skills/mom-test/references/finding-conversations.md +251 -0
- package/skills/mom-test/references/processing-learning.md +256 -0
- package/skills/mom-test/references/question-patterns.md +198 -0
- package/skills/pandasai-analytics/SKILL.md +251 -0
- package/skills/release-it/SKILL.md +235 -0
- package/skills/release-it/references/anti-patterns.md +279 -0
- package/skills/release-it/references/capacity-planning.md +285 -0
- package/skills/release-it/references/chaos-engineering.md +325 -0
- package/skills/release-it/references/deployment-strategies.md +331 -0
- package/skills/release-it/references/observability.md +301 -0
- package/skills/release-it/references/stability-patterns.md +355 -0
- package/skills/scripts/sync-ide-skills.sh +61 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +37 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +34 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +51 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +39 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +52 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +25 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +31 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +25 -0
- package/skills/skill-creator-ultra/README.md +1242 -0
- package/skills/skill-creator-ultra/SKILL.md +388 -0
- package/skills/skill-creator-ultra/agents/analyzer.md +274 -0
- package/skills/skill-creator-ultra/agents/comparator.md +202 -0
- package/skills/skill-creator-ultra/agents/grader.md +223 -0
- package/skills/skill-creator-ultra/assets/eval_review.html +146 -0
- package/skills/skill-creator-ultra/eval-viewer/generate_review.py +471 -0
- package/skills/skill-creator-ultra/eval-viewer/viewer.html +1325 -0
- package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +109 -0
- package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +116 -0
- package/skills/skill-creator-ultra/examples/example_api_docs.md +189 -0
- package/skills/skill-creator-ultra/examples/example_db_migration.md +253 -0
- package/skills/skill-creator-ultra/examples/example_git_commit.md +111 -0
- package/skills/skill-creator-ultra/install.ps1 +289 -0
- package/skills/skill-creator-ultra/install.sh +313 -0
- package/skills/skill-creator-ultra/phases/phase1_interview.md +202 -0
- package/skills/skill-creator-ultra/phases/phase2_extract.md +55 -0
- package/skills/skill-creator-ultra/phases/phase3_detect.md +57 -0
- package/skills/skill-creator-ultra/phases/phase4_generate.md +543 -0
- package/skills/skill-creator-ultra/phases/phase5_test.md +319 -0
- package/skills/skill-creator-ultra/phases/phase6_eval.md +301 -0
- package/skills/skill-creator-ultra/phases/phase7_iterate.md +103 -0
- package/skills/skill-creator-ultra/phases/phase8_optimize.md +113 -0
- package/skills/skill-creator-ultra/resources/advanced_patterns.md +499 -0
- package/skills/skill-creator-ultra/resources/anti_patterns.md +376 -0
- package/skills/skill-creator-ultra/resources/blueprints.md +498 -0
- package/skills/skill-creator-ultra/resources/checklist.md +243 -0
- package/skills/skill-creator-ultra/resources/composition_cookbook.md +291 -0
- package/skills/skill-creator-ultra/resources/description_optimization.md +90 -0
- package/skills/skill-creator-ultra/resources/eval_guide.md +133 -0
- package/skills/skill-creator-ultra/resources/industry_questions.md +189 -0
- package/skills/skill-creator-ultra/resources/interview_questions.md +200 -0
- package/skills/skill-creator-ultra/resources/pattern_detection.md +200 -0
- package/skills/skill-creator-ultra/resources/prompt_engineering.md +531 -0
- package/skills/skill-creator-ultra/resources/schemas.md +430 -0
- package/skills/skill-creator-ultra/resources/script_integration.md +593 -0
- package/skills/skill-creator-ultra/resources/scripts_guide.md +339 -0
- package/skills/skill-creator-ultra/resources/skill_template.md +124 -0
- package/skills/skill-creator-ultra/resources/skill_writing_guide.md +634 -0
- package/skills/skill-creator-ultra/resources/versioning_guide.md +193 -0
- package/skills/skill-creator-ultra/scripts/ci_eval.py +200 -0
- package/skills/skill-creator-ultra/scripts/package_skill.py +165 -0
- package/skills/skill-creator-ultra/scripts/simulate_skill.py +398 -0
- package/skills/skill-creator-ultra/scripts/skill_audit.py +611 -0
- package/skills/skill-creator-ultra/scripts/skill_compare.py +265 -0
- package/skills/skill-creator-ultra/scripts/skill_export.py +334 -0
- package/skills/skill-creator-ultra/scripts/skill_scaffold.py +403 -0
- package/skills/skill-creator-ultra/scripts/skill_stats.py +339 -0
- package/skills/skill-creator-ultra/scripts/validate_skill.py +411 -0
- package/skills/tailwind-mastery/SKILL.md +229 -0
- package/skills/vercel-react-best-practices/AGENTS.md +3373 -0
- package/skills/vercel-react-best-practices/README.md +123 -0
- package/skills/vercel-react-best-practices/SKILL.md +143 -0
- package/skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +142 -0
- package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/skills/cro-methodology/SKILL.md +0 -98
- /package/skills/{cro-methodology → cm-cro-methodology}/references/COPYWRITING.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/OBJECTIONS.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/PERSUASION.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/RESEARCH.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/funnel-analysis.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/testing-methodology.md +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Pre-production security audit. Run vulnerability scans using Snyk and set up automated GitHub security checks with Jules.
|
|
3
|
+
---
|
|
4
|
+
# cm-security-gate — Pre-production Vulnerability Audit
|
|
5
|
+
|
|
6
|
+
> **No code goes public without a security pass.**
|
|
7
|
+
> This skill is the **SUPPLEMENTARY FINAL GATE** before making a project public, commercializing, or open-sourcing.
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
**ALWAYS when:**
|
|
12
|
+
- User asks to "run security check" or "kiểm thử bảo mật"
|
|
13
|
+
- Preparing to open-source a repository or launch a commercial product
|
|
14
|
+
- Adding major third-party dependencies
|
|
15
|
+
- The project is graduating from alpha/beta to a wider release
|
|
16
|
+
|
|
17
|
+
**Skip when:**
|
|
18
|
+
- Doing quick local prototyping
|
|
19
|
+
- Exploring ideas without real user data or production intent
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Core Capabilities
|
|
24
|
+
|
|
25
|
+
1. **Snyk CLI & Aikido CLI Integration:** Scans for known vulnerabilities in open-source dependencies (e.g., `npm`, `pip`, `yarn`, `cargo`) and performs parallel release/PR scanning (SAST, IaC, Secrets).
|
|
26
|
+
2. **Jules CI/CD Recommendation:** Recommends integrating continuous automated security analysis via GitHub.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## The Process
|
|
31
|
+
|
|
32
|
+
### Phase 1: Preparation (Tooling Check)
|
|
33
|
+
|
|
34
|
+
Verify if the Snyk CLI and Aikido CLI are available:
|
|
35
|
+
```bash
|
|
36
|
+
which snyk
|
|
37
|
+
which aikido-api-client
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**If Snyk is NOT installed**, provide installation instructions before proceeding:
|
|
41
|
+
- **macOS (Homebrew):** `brew tap snyk/tap && brew install snyk`
|
|
42
|
+
- **npm:** `npm install -g snyk`
|
|
43
|
+
- Ensure the user authenticates via `snyk auth` after installation.
|
|
44
|
+
|
|
45
|
+
**If Aikido CLI is NOT installed**, provide installation instructions:
|
|
46
|
+
- **npm:** `npm install -g @aikidosec/ci-api-client`
|
|
47
|
+
- Tell the user to authenticate globally: `aikido-api-client apikey <API-KEY>`
|
|
48
|
+
- *Note: API keys are found at [Aikido Integration Settings](https://app.aikido.dev/settings/integrations/continuous-integration).*
|
|
49
|
+
|
|
50
|
+
### Phase 2: Execution (Parallel Vulnerability Scan)
|
|
51
|
+
|
|
52
|
+
Execute security scanning using both tools. They should be run in parallel to save time.
|
|
53
|
+
|
|
54
|
+
**1. Snyk Dependency Scan:**
|
|
55
|
+
```bash
|
|
56
|
+
snyk test
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**2. Aikido Release Scan:**
|
|
60
|
+
```bash
|
|
61
|
+
aikido-api-client scan-release <repository_id or repository_name> <commit_id> --minimum-severity-level="HIGH"
|
|
62
|
+
```
|
|
63
|
+
*(Tip: You can add `--fail-on-secrets-scan` or `--fail-on-sast-scan` depending on the project type).*
|
|
64
|
+
|
|
65
|
+
Analyze the output from both tools:
|
|
66
|
+
- **Critical/High:** Must be resolved before making the project public.
|
|
67
|
+
- **Medium/Low:** Document as technical debt or evaluate for false positives.
|
|
68
|
+
- Run `snyk monitor` if the user wants continuous monitoring on the Snyk dashboard.
|
|
69
|
+
|
|
70
|
+
### Phase 2.5: Vulnerability Remediation (Skill Discovery)
|
|
71
|
+
|
|
72
|
+
If vulnerabilities are detected (e.g., CSRF, XSS, prototype pollution, outdated dependencies), **DO NOT just list the errors**. CodyMaster must actively search for and suggest specialized remediation skills to the user to fix the vulnerabilities.
|
|
73
|
+
|
|
74
|
+
**Message to user:**
|
|
75
|
+
> 🚨 **Vulnerabilities Detected: Initiating Remediation**
|
|
76
|
+
>
|
|
77
|
+
> 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:
|
|
78
|
+
> ```bash
|
|
79
|
+
> npx skills add https://github.com/vercel-labs/skills --skill find-skills
|
|
80
|
+
> ```
|
|
81
|
+
> *(Once you discover and install the appropriate security patch skills, we will use them to eradicate the vulnerabilities and eliminate all security risks).*
|
|
82
|
+
|
|
83
|
+
### Phase 2.6: Knowledge Retention (Memory Sync)
|
|
84
|
+
|
|
85
|
+
Once the vulnerabilities have been successfully remediated, the exact root causes and their corresponding fixes **MUST** be memorized so that CodyMaster does not repeat the same mistakes in the future.
|
|
86
|
+
|
|
87
|
+
**Action Required:**
|
|
88
|
+
- Trigger the `cm-continuity` skill to log the security flaw and the applied fix into `CONTINUITY.md` under a "Security Lessons" or "Hard Lessons" section.
|
|
89
|
+
- If the project uses cloud memory, suggest tracking this in `cm-notebooklm` to sync this critical security knowledge to the permanent AI brain.
|
|
90
|
+
|
|
91
|
+
### Phase 3: Automation Handoff (Jules Integration)
|
|
92
|
+
|
|
93
|
+
After the manual Snyk scan is complete and the results are presented to the user, **ALWAYS** provide the following suggestion to automate future security checks:
|
|
94
|
+
|
|
95
|
+
> 🛡️ **Next Step: Automated Security Checks via Jules**
|
|
96
|
+
>
|
|
97
|
+
> Once your project is ready for commercial or public release, manual checks aren't enough. It's highly recommended to automate security scanning on every commit and Pull Request.
|
|
98
|
+
>
|
|
99
|
+
> Please use **Google Jules** for automated GitHub security analysis:
|
|
100
|
+
> 👉 [http://jules.google.com/](http://jules.google.com/)
|
|
101
|
+
>
|
|
102
|
+
> Integrating Jules will automatically catch vulnerabilities in your codebase, ensuring your commercial product remains secure as it scales.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Integration
|
|
107
|
+
|
|
108
|
+
| Skill | Relationship |
|
|
109
|
+
|-------|-------------|
|
|
110
|
+
| `cm-quality-gate` | PRE-REQUISITE: Code should pass functional tests before security audits. |
|
|
111
|
+
| `cm-secret-shield`| COMPLEMENTARY: Secret Shield catches hardcoded tokens; `cm-security-gate` catches vulnerable dependencies. Both are needed for public releases. |
|
|
112
|
+
| `cm-safe-deploy` | POST-REQUISITE: Security gates should ideally be part of the automated deployment pipeline. |
|
|
113
|
+
| `cm-continuity` | MEMORY LOGGING: Records discovered vulnerabilities and their fixes into the local working memory to prevent future recurrences. |
|
|
114
|
+
| `cm-notebooklm` | LONG-TERM MEMORY: Syncs critical security lessons to the permanent cloud AI brain. |
|
|
@@ -33,7 +33,7 @@ ALWAYS trigger for: chain, pipeline, workflow, multi-step, end-to-end,
|
|
|
33
33
|
Step names use short-form identifiers — the `cm-` prefix is stripped by convention.
|
|
34
34
|
Full skill names: `cm-brainstorm-idea`, `cm-planning`, `cm-tdd`, `cm-execution`, `cm-quality-gate`,
|
|
35
35
|
`cm-safe-deploy`, `cm-debugging`, `cm-content-factory`, `cm-ads-tracker`, `cm-project-bootstrap`,
|
|
36
|
-
`cm-code-review`.
|
|
36
|
+
`cm-code-review`. All skills now use the `cm-` prefix convention.
|
|
37
37
|
|
|
38
38
|
## Built-in Chains
|
|
39
39
|
|
|
@@ -44,7 +44,7 @@ Full skill names: `cm-brainstorm-idea`, `cm-planning`, `cm-tdd`, `cm-execution`,
|
|
|
44
44
|
`debugging → tdd → quality-gate`
|
|
45
45
|
|
|
46
46
|
### 📝 content-launch (3 steps)
|
|
47
|
-
`content-factory → ads-tracker → cro-methodology`
|
|
47
|
+
`content-factory → ads-tracker → cm-cro-methodology`
|
|
48
48
|
|
|
49
49
|
### 🏗️ new-project (6 steps)
|
|
50
50
|
`project-bootstrap → planning → tdd → execution → quality-gate → safe-deploy`
|
|
@@ -52,6 +52,9 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
52
52
|
| `cm-quality-gate` | deploy, ship, verify, quality, gate | 6-gate verification: static analysis → blind review → ship |
|
|
53
53
|
| `cm-test-gate` | test setup, CI, test infrastructure | Setup 4-layer test gate for any project type |
|
|
54
54
|
| `cm-code-review` | review, PR, feedback, branch | Request reviews, handle feedback, complete branches |
|
|
55
|
+
| `cm-codeintell` | understand codebase, call graph, impact, architecture, what calls X, what breaks | AST knowledge graph + architecture diagrams + smart context (30% fewer tokens) |
|
|
56
|
+
| `cm-reactor` | rewrite, pivot, migrate, direction change, architecture wrong, restructure | TRIZ-powered strategic codebase re-direction — 5-phase incremental migration |
|
|
57
|
+
| `cm-clean-code` | clean, dead code, refactor, code smell, DRY, SOLID, naming, messy | 7-point hygiene gate: dead code, imports, naming, SRP, DRY, nesting |
|
|
55
58
|
|
|
56
59
|
### Operations Swarm ⚙️
|
|
57
60
|
|
|
@@ -86,7 +89,7 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
86
89
|
|-------|----------|---------|
|
|
87
90
|
| `cm-content-factory` | content, blog, article, marketing | AI content engine: research → generate → audit → deploy |
|
|
88
91
|
| `cm-ads-tracker` | pixel, tracking, GTM, Meta, TikTok, Google Ads | Complete conversion tracking setup across platforms |
|
|
89
|
-
| `cro-methodology` | conversion, A/B test, landing page, funnel | CRO audit: funnel mapping → persuasion → objection handling |
|
|
92
|
+
| `cm-cro-methodology` | conversion, A/B test, landing page, funnel | CRO audit: funnel mapping → persuasion → objection handling |
|
|
90
93
|
|
|
91
94
|
### Orchestration Swarm 🎯
|
|
92
95
|
|
|
@@ -120,7 +123,7 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
120
123
|
| `medical-research` *(planned)* | medical, OB/GYN, clinical, evidence-based | Evidence-based medical writing with citation standards |
|
|
121
124
|
| `tailwind-mastery` *(planned)* | Tailwind, utility-first, responsive, v4 | Tailwind CSS utilities, responsive, accessibility |
|
|
122
125
|
| `pandasai-analytics` *(planned)* | DataFrame, analytics, forecast, time-series | Natural language DataFrame analysis and visual reports |
|
|
123
|
-
| `google-
|
|
126
|
+
| `cm-google-form` *(planned)* | Google Form, sheet, App Script | Form-to-sheet integration with auto-retry |
|
|
124
127
|
|
|
125
128
|
### Community Skills Registry 🌐
|
|
126
129
|
|
|
@@ -137,7 +140,7 @@ Traditional approach: Load every SKILL.md to decide which skill to use.
|
|
|
137
140
|
| `react-native-best-practices` | callstackincubator/agent-skills | react native, expo, mobile |
|
|
138
141
|
| `nextjs-app-router-patterns` | wshobson/agents | next.js, app router, RSC |
|
|
139
142
|
| `react:components` | google-labs-code/stitch-skills | react components, stitch |
|
|
140
|
-
| `
|
|
143
|
+
| `cm-ux-master` | UI/UX, design system, frontend | UI/UX design intelligence + Harvester v4 |
|
|
141
144
|
| `angular-directives` | analogjs/angular-skills | angular, directives, components |
|
|
142
145
|
| `svelte-best-practices` | community | svelte, sveltekit |
|
|
143
146
|
| `astro-best-practices` | community | astro, static site, islands |
|
|
@@ -303,14 +306,14 @@ view_file /path/to/skills/cm-tdd/SKILL.md
|
|
|
303
306
|
For dynamic agent selection (Phase 3), skills map to domains:
|
|
304
307
|
|
|
305
308
|
```yaml
|
|
306
|
-
engineering: [cm-tdd, cm-debugging, cm-quality-gate, cm-test-gate, cm-code-review]
|
|
309
|
+
engineering: [cm-tdd, cm-debugging, cm-quality-gate, cm-test-gate, cm-code-review, cm-codeintell, cm-reactor, cm-clean-code]
|
|
307
310
|
operations: [cm-safe-deploy, cm-identity-guard, cm-git-worktrees, cm-terminal, cm-safe-i18n]
|
|
308
311
|
security: [cm-secret-shield]
|
|
309
312
|
product: [cm-brainstorm-idea, cm-planning, cm-ux-master, cm-ui-preview, cm-dockit, cm-project-bootstrap, cm-jtbd]
|
|
310
|
-
growth: [cm-content-factory, cm-ads-tracker, cro-methodology]
|
|
313
|
+
growth: [cm-content-factory, cm-ads-tracker, cm-cro-methodology]
|
|
311
314
|
orchestration: [cm-execution, cm-continuity, cm-skill-mastery, cm-skill-chain, cm-deep-search, cm-readit, cm-how-it-work]
|
|
312
315
|
commands: [cm-start, cm-dashboard, cm-status]
|
|
313
|
-
# planned (no SKILL.md yet): mom-test, release-it, medical-research, tailwind-mastery, pandasai-analytics, google-
|
|
316
|
+
# planned (no SKILL.md yet): mom-test, release-it, medical-research, tailwind-mastery, pandasai-analytics, cm-google-form
|
|
314
317
|
```
|
|
315
318
|
|
|
316
319
|
## The Bottom Line
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-skill-mastery
|
|
3
|
-
description: "Meta-skill for the
|
|
3
|
+
description: "Meta-skill for the Cody Master kit — when to invoke skills, how to create new skills, and skill discovery. Use at conversation start to establish skill discipline."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Skill Mastery — Use + Create + Discover
|
|
@@ -9,16 +9,6 @@ description: "Meta-skill for the CodyMaster kit — when to invoke skills, how t
|
|
|
9
9
|
|
|
10
10
|
## Part A: Using Skills
|
|
11
11
|
|
|
12
|
-
### Rule #0: Memory First (cm-continuity)
|
|
13
|
-
|
|
14
|
-
Before invoking ANY skill, ensure `cm-continuity` is active:
|
|
15
|
-
|
|
16
|
-
1. Has `.cm/CONTINUITY.md` been read this session? If not → **read it first**
|
|
17
|
-
2. Are there relevant learnings for the module you're about to work on? → **Load them**
|
|
18
|
-
3. After skill completes → **update CONTINUITY.md**
|
|
19
|
-
|
|
20
|
-
> Memory is the foundation that makes all other skills smarter. Without it, you repeat every mistake.
|
|
21
|
-
|
|
22
12
|
### The Rule
|
|
23
13
|
|
|
24
14
|
**Invoke relevant skills BEFORE any response or action.** Even 1% chance = check the skill.
|
|
@@ -27,9 +17,6 @@ Before invoking ANY skill, ensure `cm-continuity` is active:
|
|
|
27
17
|
|
|
28
18
|
```
|
|
29
19
|
User message received
|
|
30
|
-
→ CONTINUITY.md loaded? (Rule #0)
|
|
31
|
-
→ NO: Read .cm/CONTINUITY.md first
|
|
32
|
-
→ YES: Continue
|
|
33
20
|
→ Might any skill apply? (even 1%)
|
|
34
21
|
→ YES: Read the skill → Follow it
|
|
35
22
|
→ NO: Respond directly
|
|
@@ -145,7 +132,7 @@ When you encounter something you don't have a skill for:
|
|
|
145
132
|
|
|
146
133
|
---
|
|
147
134
|
|
|
148
|
-
## The
|
|
135
|
+
## The Cody Master Kit (14 skills)
|
|
149
136
|
|
|
150
137
|
| # | Skill | Purpose |
|
|
151
138
|
|---|-------|---------|
|
package/skills/cm-start/SKILL.md
CHANGED
|
@@ -20,6 +20,15 @@ When this workflow is called, the AI Assistant should execute the following acti
|
|
|
20
20
|
`npx skills find "{keyword}"` → review → ask user → install if approved
|
|
21
21
|
- Log any discovered skills to `.cm-skills-log.json`
|
|
22
22
|
|
|
23
|
+
0.7. **Code Intelligence Setup (cm-codeintell):**
|
|
24
|
+
- **ALWAYS:** Run skeleton indexer → `bash scripts/index-codebase.sh` → `.cm/skeleton.md`
|
|
25
|
+
- Read `.cm/skeleton.md` (~5K tokens) → instant codebase understanding
|
|
26
|
+
- Count source files → determine intelligence level (MINIMAL/LITE/STANDARD/FULL)
|
|
27
|
+
- IF level >= LITE: generate architecture diagram → `.cm/architecture.mmd`
|
|
28
|
+
- IF level >= STANDARD: check CodeGraph → `codegraph status` → index if needed
|
|
29
|
+
- IF level >= FULL: also check qmd (cm-deep-search)
|
|
30
|
+
- Log intelligence level to `CONTINUITY.md`
|
|
31
|
+
|
|
23
32
|
1. **Understand Requirements (Planning & JTBD):**
|
|
24
33
|
- Read the objective provided in the `/cm-start` command.
|
|
25
34
|
- Analyze requirements, ask clarifying questions if needed (apply `cm-planning`).
|
package/skills/cm-tdd/SKILL.md
CHANGED
|
@@ -5,8 +5,6 @@ description: Use when implementing any feature or bugfix, before writing impleme
|
|
|
5
5
|
|
|
6
6
|
# Test-Driven Development (TDD)
|
|
7
7
|
|
|
8
|
-
> **Role: Test Engineer** — You write failing tests first, then minimal code to pass, then refactor. No exceptions.
|
|
9
|
-
|
|
10
8
|
## Overview
|
|
11
9
|
|
|
12
10
|
Write the test first. Watch it fail. Write minimal code to pass.
|
|
@@ -72,7 +70,14 @@ digraph tdd_cycle {
|
|
|
72
70
|
|
|
73
71
|
### Step 0: Check Working Memory
|
|
74
72
|
|
|
75
|
-
|
|
73
|
+
Before writing ANY test, check `.cm/CONTINUITY.md`:
|
|
74
|
+
|
|
75
|
+
- **"Mistakes & Learnings"** → Are there known edge cases for this area?
|
|
76
|
+
- **"Working Context"** → What patterns/conventions are being followed?
|
|
77
|
+
- **"Key Decisions"** → Any architecture choices that affect test design?
|
|
78
|
+
|
|
79
|
+
> **Token savings:** Writes better tests on first try by knowing past failures.
|
|
80
|
+
> **Quality boost:** Tests cover edge cases that caused bugs before.
|
|
76
81
|
|
|
77
82
|
### RED - Write Failing Test
|
|
78
83
|
|
|
@@ -360,44 +365,6 @@ Bug found? Write failing test reproducing it. Follow TDD cycle. Test proves fix
|
|
|
360
365
|
|
|
361
366
|
Never fix bugs without a test.
|
|
362
367
|
|
|
363
|
-
## Security TDD (Learned: March 2026)
|
|
364
|
-
|
|
365
|
-
> **Security bugs get tests too.** Every XSS, path traversal, or injection fix starts with a failing test.
|
|
366
|
-
|
|
367
|
-
### Example: XSS Prevention
|
|
368
|
-
|
|
369
|
-
**RED**
|
|
370
|
-
```javascript
|
|
371
|
-
test('escapeHtml prevents script injection', () => {
|
|
372
|
-
const malicious = '<script>alert("xss")</script>';
|
|
373
|
-
const result = escapeHtml(malicious);
|
|
374
|
-
expect(result).not.toContain('<script>');
|
|
375
|
-
expect(result).toContain('<script>');
|
|
376
|
-
});
|
|
377
|
-
|
|
378
|
-
test('no unescaped innerHTML with dynamic data in JS files', () => {
|
|
379
|
-
const result = execSync(
|
|
380
|
-
`grep -rn 'innerHTML.*\\\${' public/js/*.js | grep -v 'esc\\|SecurityUtils' || true`,
|
|
381
|
-
{ encoding: 'utf-8' }
|
|
382
|
-
);
|
|
383
|
-
expect(result.trim()).toBe('');
|
|
384
|
-
});
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
### Example: Path Traversal Prevention
|
|
388
|
-
|
|
389
|
-
**RED**
|
|
390
|
-
```python
|
|
391
|
-
def test_safe_resolve_blocks_traversal():
|
|
392
|
-
with pytest.raises(ValueError, match="Path traversal detected"):
|
|
393
|
-
safe_resolve("/app/data", "../../etc/passwd")
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
### Rule
|
|
397
|
-
- **Every security fix = failing test first**
|
|
398
|
-
- Test the ATTACK, not just the happy path
|
|
399
|
-
- Security regression tests are permanent — never delete
|
|
400
|
-
|
|
401
368
|
## Final Rule
|
|
402
369
|
|
|
403
370
|
```
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-ui-preview
|
|
3
|
-
description: "Master Design Skill. Orchestrates AI-powered UI generation using Google Stitch MCP
|
|
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
4
|
---
|
|
5
5
|
|
|
6
6
|
# UI Preview — The Master Design Orchestrator
|
|
7
7
|
|
|
8
8
|
> **See it before you build it.**
|
|
9
|
-
> This skill transforms vague user requests into precise, structured 'Construction Blueprints' for
|
|
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
10
|
|
|
11
11
|
## When to Use
|
|
12
12
|
|
|
@@ -15,9 +15,8 @@ description: "Master Design Skill. Orchestrates AI-powered UI generation using G
|
|
|
15
15
|
- Building components (forms, cards, dashboards)
|
|
16
16
|
- Restyling or beautifying existing UIs
|
|
17
17
|
- Translating a wireframe or concept into high-fidelity UI
|
|
18
|
-
- Working with `.pen` design files (Pencil.dev)
|
|
19
18
|
|
|
20
|
-
**Trigger keywords:** build UI, design page, create screen, landing page, dashboard layout, UI designer, use stitch, stitch me a ui,
|
|
19
|
+
**Trigger keywords:** build UI, design page, create screen, landing page, dashboard layout, UI designer, use stitch, stitch me a ui, redesign, restyle
|
|
21
20
|
|
|
22
21
|
## Architecture & Workflow (End-to-End)
|
|
23
22
|
|
|
@@ -30,32 +29,25 @@ This skill operates as a pipeline. **Do not skip steps.**
|
|
|
30
29
|
│ │
|
|
31
30
|
│ Step 1: PREFLIGHT & INTENT │
|
|
32
31
|
│ ├── Detect task: New UI vs. Refine/Beautify │
|
|
33
|
-
│ └──
|
|
32
|
+
│ └── Verify Stitch MCP tools availability │
|
|
34
33
|
│ │
|
|
35
34
|
│ Step 2: DESIGN SYSTEM EXTRACTION (The Source of Truth) │
|
|
36
|
-
│ ├── Check: .stitch/DESIGN.md,
|
|
37
|
-
│ └── Fallback: Trigger `cm-
|
|
35
|
+
│ ├── Check: .stitch/DESIGN.md, css tokens, etc. │
|
|
36
|
+
│ └── Fallback: Trigger `cm-ux-master` to generate one │
|
|
38
37
|
│ │
|
|
39
38
|
│ Step 3: PROMPT ENHANCEMENT (The Build Blueprint) │
|
|
40
39
|
│ ├── Project Overview (What, who, style vibe) │
|
|
41
40
|
│ ├── Design System Specs (Colors, Typography, Layout) │
|
|
42
41
|
│ └── Page Structure (Core function + Specific areas) │
|
|
43
42
|
│ │
|
|
44
|
-
│ Step
|
|
43
|
+
│ Step 4: STITCH EXECUTION (The Build Loop) │
|
|
45
44
|
│ ├── create_project() │
|
|
46
45
|
│ ├── generate_screen_from_text() │
|
|
47
46
|
│ ├── Present link + AI insights to user │
|
|
48
47
|
│ └── User Decision: Confirm / Edit / Skip │
|
|
49
48
|
│ │
|
|
50
|
-
│ Step 4b: PENCIL EXECUTION (Precise Control) │
|
|
51
|
-
│ ├── get_editor_state() / open_document() │
|
|
52
|
-
│ ├── get_guidelines() + get_style_guide() │
|
|
53
|
-
│ ├── batch_design() — Insert components & layout │
|
|
54
|
-
│ ├── get_screenshot() — Visual verification │
|
|
55
|
-
│ └── User Decision: Confirm / Edit / Skip │
|
|
56
|
-
│ │
|
|
57
49
|
│ Step 5: FINALIZATION & BATON PASS │
|
|
58
|
-
│ ├── Save state
|
|
50
|
+
│ ├── Save state to .stitch/next-prompt.md │
|
|
59
51
|
│ └── Hand off to cm-execution for actual coding │
|
|
60
52
|
│ │
|
|
61
53
|
└─────────────────────────────────────────────────────────┘
|
|
@@ -63,52 +55,27 @@ This skill operates as a pipeline. **Do not skip steps.**
|
|
|
63
55
|
|
|
64
56
|
## Step 1: Preflight & Intent Classification
|
|
65
57
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
┌──────────────┬──────────────┬───────────────────────────────┐
|
|
72
|
-
│ Stitch only │ Pencil only │ Both available │
|
|
73
|
-
├──────────────┼──────────────┼───────────────────────────────┤
|
|
74
|
-
│ Use Stitch │ Use Pencil │ Ask user preference: │
|
|
75
|
-
│ (quick │ (detailed │ - "Quick concept" → Stitch │
|
|
76
|
-
│ concept) │ control) │ - "Precise control" → Pencil │
|
|
77
|
-
│ │ │ - Default: Stitch (faster) │
|
|
78
|
-
└──────────────┴──────────────┴───────────────────────────────┘
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
- **Stitch MCP:** Check if `create_project` and `generate_screen_from_text` are available.
|
|
82
|
-
- **Pencil MCP:** Check if `get_editor_state` and `batch_design` are available.
|
|
83
|
-
- **Neither:** Proceed with Prompt-Only generation (output the blueprint for manual use).
|
|
84
|
-
|
|
85
|
-
### 1b. Intent Classification
|
|
86
|
-
|
|
87
|
-
- **New Screen:** Proceed with full generation (Step 4a or 4b).
|
|
88
|
-
- **Refine/Beautify (edit):**
|
|
89
|
-
- Stitch: Use `edit_screens()` on existing screen IDs.
|
|
90
|
-
- Pencil: Use `batch_design()` with Update (U) operations on existing nodes.
|
|
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()`.
|
|
91
62
|
|
|
92
63
|
## Step 2: Design System Extraction (Source of Truth)
|
|
93
64
|
|
|
94
65
|
Before assembly, you MUST establish the design constraints.
|
|
95
66
|
|
|
96
67
|
**Look for:**
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
- `design-system/MASTER.md` (Legacy format from `cm-ux-master`)
|
|
68
|
+
- `.stitch/DESIGN.md` (Primary source for Stitch)
|
|
69
|
+
- `design-system/MASTER.md` (From `cm-ux-master`)
|
|
100
70
|
- `.cm/design-tokens.css` or Tailwind configs
|
|
101
71
|
|
|
102
|
-
**
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
**If no design system exists or it's in a legacy format:**
|
|
110
|
-
You MUST fallback to the pre-built default design system: `skills/cm-design-system/resources/shadcn-default.md`. Read this file and inject its contents (including the `<!-- STITCH_TOKENS_START -->` block) into your prompt.
|
|
111
|
-
*Suggest running `cm-design-system` if the user wants to extract a custom design instead of using the default Shadcn minimalist style.*
|
|
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)
|
|
112
79
|
|
|
113
80
|
## Step 3: Prompt Enhancement Pipeline (CRITICAL)
|
|
114
81
|
|
|
@@ -121,7 +88,10 @@ Structure your prompt exactly like this:
|
|
|
121
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."]
|
|
122
89
|
|
|
123
90
|
**DESIGN SYSTEM (REQUIRED):**
|
|
124
|
-
|
|
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
|
|
125
95
|
|
|
126
96
|
**PAGE STRUCTURE & FUNCTION:**
|
|
127
97
|
### 1. Dashboard Home
|
|
@@ -136,11 +106,7 @@ Structure your prompt exactly like this:
|
|
|
136
106
|
|
|
137
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).
|
|
138
108
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
## Step 4a: Stitch Execution (Quick Concept)
|
|
142
|
-
|
|
143
|
-
> Use this path when Stitch MCP is available and user wants fast concept generation.
|
|
109
|
+
## Step 4: Stitch Execution (The Build Loop)
|
|
144
110
|
|
|
145
111
|
1. **Project Creation:**
|
|
146
112
|
```javascript
|
|
@@ -158,9 +124,10 @@ Structure your prompt exactly like this:
|
|
|
158
124
|
Show the output, provide the URL, and present the **AI Insights** (from the tool's `outputComponents` response).
|
|
159
125
|
|
|
160
126
|
```markdown
|
|
161
|
-
🎨 **UI Preview Generated
|
|
127
|
+
🎨 **UI Preview Generated!**
|
|
162
128
|
|
|
163
|
-
- **
|
|
129
|
+
- **Stitch Project ID:** `<id>`
|
|
130
|
+
- **View & Edit:** [Open in Google Stitch](https://stitch.withgoogle.com/projects/<id>)
|
|
164
131
|
- **AI Insights:** [Any suggestions or notes returned by Stitch]
|
|
165
132
|
|
|
166
133
|
What's next?
|
|
@@ -169,118 +136,11 @@ Structure your prompt exactly like this:
|
|
|
169
136
|
3. ⏭️ **Skip** — Proceed straight to coding.
|
|
170
137
|
```
|
|
171
138
|
|
|
172
|
-
## Step 4b: Pencil Execution (Precise Control)
|
|
173
|
-
|
|
174
|
-
> Use this path when Pencil MCP is available and user wants pixel-level design control, or when working with existing `.pen` files.
|
|
175
|
-
|
|
176
|
-
### 4b.1: Initialize
|
|
177
|
-
|
|
178
|
-
```javascript
|
|
179
|
-
// Check current editor state (or open existing .pen file)
|
|
180
|
-
mcp_pencil_get_editor_state({ include_schema: true })
|
|
181
|
-
|
|
182
|
-
// If no document is open, create a new one or open an existing .pen file
|
|
183
|
-
mcp_pencil_open_document({ filePathOrTemplate: "new" })
|
|
184
|
-
// OR
|
|
185
|
-
mcp_pencil_open_document({ filePathOrTemplate: "/path/to/project/design.pen" })
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
### 4b.2: Load Design Guidelines & Style
|
|
189
|
-
|
|
190
|
-
```javascript
|
|
191
|
-
// Get design rules for the target platform
|
|
192
|
-
mcp_pencil_get_guidelines({ topic: "web-app" }) // or "mobile-app", "landing-page"
|
|
193
|
-
|
|
194
|
-
// Get style inspiration
|
|
195
|
-
mcp_pencil_get_style_guide_tags() // Returns available tags
|
|
196
|
-
mcp_pencil_get_style_guide({ tags: ["modern", "dashboard", "dark", "website", "minimal"] })
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### 4b.3: Apply Design Tokens (from DESIGN.md)
|
|
200
|
-
|
|
201
|
-
If a `DESIGN.md` exists with tokens, map them to `.pen` variables:
|
|
202
|
-
|
|
203
|
-
```javascript
|
|
204
|
-
mcp_pencil_set_variables({
|
|
205
|
-
filePath: "design.pen",
|
|
206
|
-
variables: {
|
|
207
|
-
"primary": { "type": "color", "value": "#3B82F6" },
|
|
208
|
-
"secondary": { "type": "color", "value": "#10B981" },
|
|
209
|
-
"surface": { "type": "color", "value": "#FFFFFF" },
|
|
210
|
-
"text-primary": { "type": "color", "value": "#0F172A" },
|
|
211
|
-
"border-radius": { "type": "number", "value": 8 }
|
|
212
|
-
}
|
|
213
|
-
})
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### 4b.4: Build Layout with batch_design
|
|
217
|
-
|
|
218
|
-
Use the prompt blueprint from Step 3 to construct the UI:
|
|
219
|
-
|
|
220
|
-
```javascript
|
|
221
|
-
// Read available design system components first
|
|
222
|
-
mcp_pencil_batch_get({
|
|
223
|
-
filePath: "design.pen",
|
|
224
|
-
patterns: [{ reusable: true }],
|
|
225
|
-
readDepth: 2,
|
|
226
|
-
searchDepth: 3
|
|
227
|
-
})
|
|
228
|
-
|
|
229
|
-
// Then build the layout using Insert (I), Update (U), etc.
|
|
230
|
-
mcp_pencil_batch_design({
|
|
231
|
-
filePath: "design.pen",
|
|
232
|
-
operations: `
|
|
233
|
-
screen=I(document,{type:"frame",name:"Dashboard",width:1440,height:900,fill:"#FFFFFF",layout:"horizontal"})
|
|
234
|
-
sidebar=I(screen,{type:"frame",name:"Sidebar",width:240,height:"fill_container",fill:"#0F172A",layout:"vertical",padding:16,gap:8})
|
|
235
|
-
main=I(screen,{type:"frame",name:"Main Content",width:"fill_container",height:"fill_container",layout:"vertical",padding:32,gap:24})
|
|
236
|
-
header=I(main,{type:"frame",name:"Header",width:"fill_container",height:64,layout:"horizontal"})
|
|
237
|
-
title=I(header,{type:"text",content:"Dashboard",fontSize:24,fontWeight:"bold"})
|
|
238
|
-
`
|
|
239
|
-
})
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### 4b.5: Verify with Screenshot
|
|
243
|
-
|
|
244
|
-
```javascript
|
|
245
|
-
mcp_pencil_get_screenshot({ filePath: "design.pen", nodeId: "<screen-id>" })
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
Analyze the screenshot for visual issues, then present to user:
|
|
249
|
-
|
|
250
|
-
```markdown
|
|
251
|
-
🎨 **UI Preview Generated (Pencil.dev)!**
|
|
252
|
-
|
|
253
|
-
- **File:** `design.pen` (editable locally)
|
|
254
|
-
- **Screenshot:** [embedded image]
|
|
255
|
-
|
|
256
|
-
What's next?
|
|
257
|
-
1. ✅ **Confirm** — I will write the code matching this design exactly.
|
|
258
|
-
2. ✏️ **Edit** — Tell me what to change, I'll update the `.pen` file.
|
|
259
|
-
3. 🔄 **Export** — Export to PNG/PDF for stakeholder review.
|
|
260
|
-
4. ⏭️ **Skip** — Proceed straight to coding.
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### Pencil Quick Reference
|
|
264
|
-
|
|
265
|
-
| Operation | Use For | Example |
|
|
266
|
-
|-----------|---------|---------|
|
|
267
|
-
| `I(parent, data)` | Insert new node | `I(screen, {type:"frame", ...})` |
|
|
268
|
-
| `U(path, data)` | Update existing node | `U("nodeId", {fill:"#FFF"})` |
|
|
269
|
-
| `C(path, parent, data)` | Copy/duplicate | `C("screenId", document, {name:"V2"})` |
|
|
270
|
-
| `R(path, data)` | Replace child in instance | `R("inst/slot", {type:"text",...})` |
|
|
271
|
-
| `D(nodeId)` | Delete node | `D("oldNodeId")` |
|
|
272
|
-
| `G(nodeId, type, prompt)` | Generate/stock image | `G(heroImg, "stock", "office")` |
|
|
273
|
-
|
|
274
139
|
## Step 5: Finalization & Baton Pass
|
|
275
140
|
|
|
276
|
-
- **If Confirm:** Proceed to code implementation. You MUST follow the visual layout, spacing, and colors shown in the
|
|
277
|
-
- **If Edit:**
|
|
278
|
-
|
|
279
|
-
- Pencil: Call `mcp_pencil_batch_design()` with Update/Replace operations.
|
|
280
|
-
- **Baton Update (Optional but Recommended):**
|
|
281
|
-
- Stitch: Maintain a `.stitch/next-prompt.md` for session continuity.
|
|
282
|
-
- Pencil: The `.pen` file itself serves as the persistent design artifact.
|
|
283
|
-
- **Export (Pencil only):** Use `mcp_pencil_export_nodes()` to produce PNG/PDF assets for stakeholder review.
|
|
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.
|
|
284
144
|
|
|
285
145
|
## Anti-Patterns (Strict Prohibitions)
|
|
286
146
|
|
|
@@ -288,4 +148,6 @@ What's next?
|
|
|
288
148
|
- ⛔ **NO FAKE SUCCESS:** If the MCP tool fails or isn't connected, do not hallucinate a success message or URL.
|
|
289
149
|
- ⛔ **NO CODING (Yet):** This phase is purely for DESIGN PREVIEW. Do not write React/Vue code until the user clicks "Confirm" or "Skip".
|
|
290
150
|
- ⛔ **NO APP SCAFFOLDING:** Do not initialize project codebases in this workflow.
|
|
291
|
-
|
|
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`).*
|