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,243 @@
|
|
|
1
|
+
# ✅ Checklist — Kiểm tra chất lượng Skill trước khi Deploy
|
|
2
|
+
|
|
3
|
+
Sử dụng checklist này để đảm bảo skill đạt tiêu chuẩn chất lượng trước khi đưa vào sử dụng.
|
|
4
|
+
Checklist chia 2 tầng: **Basic** (bắt buộc) và **Expert** (nâng cao).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. YAML Frontmatter
|
|
9
|
+
|
|
10
|
+
- [ ] Có `---` mở đầu và `---` kết thúc
|
|
11
|
+
- [ ] Có trường `description` (BẮT BUỘC)
|
|
12
|
+
- [ ] Description ≥ 30 ký tự
|
|
13
|
+
- [ ] Description mô tả RÕ RÀNG skill làm gì (không mơ hồ)
|
|
14
|
+
- [ ] Description chứa **trigger words** (từ khóa kích hoạt)
|
|
15
|
+
- [ ] Description trả lời 3 câu: Làm gì? Cho ai? Kích hoạt khi nào?
|
|
16
|
+
- [ ] Trường `name` dùng `kebab-case` (nếu có)
|
|
17
|
+
- [ ] Không có lỗi cú pháp YAML (đặc biệt: dấu `:` trong giá trị phải được quote)
|
|
18
|
+
|
|
19
|
+
### ✅ Mẹo viết Description tốt
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
❌ XẤU: "Làm việc với Git" → Quá mơ hồ, không trigger
|
|
23
|
+
❌ XẤU: "Helper tool" → Không mô tả gì cả
|
|
24
|
+
❌ TRUNG BÌNH: "Format commit message" → Thiếu chuẩn, thiếu trigger
|
|
25
|
+
|
|
26
|
+
✅ TỐT: "Định dạng tin nhắn commit Git theo chuẩn Conventional Commits
|
|
27
|
+
(feat, fix, docs). Phân tích staged changes và đề xuất commit
|
|
28
|
+
message phù hợp. Kích hoạt khi user nói 'commit', 'git message',
|
|
29
|
+
'tạo commit'."
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Công thức:** `[Hành động chính] + [đối tượng] + [theo chuẩn gì] + [trigger words]`
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Nội dung — Sections
|
|
37
|
+
|
|
38
|
+
### Bắt buộc
|
|
39
|
+
|
|
40
|
+
- [ ] Có `# Goal` — Một câu duy nhất, rõ ràng, trả lời "rồi sao?" được
|
|
41
|
+
- [ ] Có `# Instructions` — Đánh số bước, logic tuần tự
|
|
42
|
+
- [ ] Mỗi bước trong Instructions là **actionable** (không phải "xử lý", "kiểm tra")
|
|
43
|
+
- [ ] Instructions có **error handling** (⚠️ Nếu lỗi → ...)
|
|
44
|
+
- [ ] Instructions có ≥1 step **VERIFY** (kiểm tra kết quả)
|
|
45
|
+
- [ ] Instructions không quá 12 bước (nếu quá → tách skill)
|
|
46
|
+
|
|
47
|
+
### Khuyến khích mạnh
|
|
48
|
+
|
|
49
|
+
- [ ] Có `# Examples` với **ít nhất 2 ví dụ**
|
|
50
|
+
- [ ] Mỗi ví dụ có rõ **Context + Input + Output**
|
|
51
|
+
- [ ] Ví dụ 1: **Happy path** — Mọi thứ bình thường
|
|
52
|
+
- [ ] Ví dụ 2: **Edge case** — Thiếu data / input lỗi / trường hợp đặc biệt
|
|
53
|
+
- [ ] Ví dụ dùng **dữ liệu thật**, không placeholder
|
|
54
|
+
- [ ] Có **Thought Process** trong ≥1 ví dụ (giải thích AI nghĩ gì)
|
|
55
|
+
|
|
56
|
+
### Khuyến khích
|
|
57
|
+
|
|
58
|
+
- [ ] Có `# Constraints` với ít nhất 1 quy tắc
|
|
59
|
+
- [ ] Có ≥1 "🚫 KHÔNG ĐƯỢC" (giới hạn rõ ràng)
|
|
60
|
+
- [ ] Có ≥1 "✅ LUÔN LUÔN" (yêu cầu bắt buộc)
|
|
61
|
+
- [ ] Constraints phân tầng priority (bảo mật → vận hành → quy ước)
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 3. Nguyên tắc thiết kế
|
|
66
|
+
|
|
67
|
+
### Atomic (Tập trung)
|
|
68
|
+
|
|
69
|
+
- [ ] Skill chỉ làm **DUY NHẤT 1 VIỆC**
|
|
70
|
+
- [ ] Không "ôm đồm" nhiều chức năng
|
|
71
|
+
- [ ] Có thể mô tả skill trong 1 câu ngắn (≤15 từ)
|
|
72
|
+
- [ ] Test nhanh: Nếu tên skill là "X and Y" → nên tách thành 2 skill
|
|
73
|
+
|
|
74
|
+
### Clarity (Rõ ràng)
|
|
75
|
+
|
|
76
|
+
- [ ] Ngôn ngữ đơn giản, dễ hiểu
|
|
77
|
+
- [ ] Không dùng từ mơ hồ: "xử lý", "kiểm tra", "tối ưu", "phù hợp", "tốt"
|
|
78
|
+
- [ ] AI đọc xong biết chính xác phải làm gì
|
|
79
|
+
- [ ] Logic rẽ nhánh viết TƯỜNG MINH (Nếu X → Y, Nếu Z → W)
|
|
80
|
+
|
|
81
|
+
### Completeness (Đầy đủ)
|
|
82
|
+
|
|
83
|
+
- [ ] Mọi edge case quan trọng được xử lý
|
|
84
|
+
- [ ] Có hướng dẫn khi gặp lỗi/ngoại lệ
|
|
85
|
+
- [ ] Workflow "happy path" VÀ "error path" đều có
|
|
86
|
+
- [ ] Output format được chỉ định RÕ RÀNG (không free-form)
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 4. Cấu trúc thư mục
|
|
91
|
+
|
|
92
|
+
- [ ] File `SKILL.md` nằm ở **root** của thư mục skill
|
|
93
|
+
- [ ] Tên thư mục skill dùng `kebab-case`
|
|
94
|
+
- [ ] Sub-folders chỉ dùng tên chuẩn: `scripts/`, `resources/`, `examples/`
|
|
95
|
+
- [ ] Không có file thừa/rác trong thư mục
|
|
96
|
+
|
|
97
|
+
### Nếu có `scripts/`
|
|
98
|
+
|
|
99
|
+
- [ ] Script dùng `argparse` hoặc flags tương đương
|
|
100
|
+
- [ ] Script hỗ trợ `--help` (AI đọc để tự học)
|
|
101
|
+
- [ ] Script có `--dry-run` cho thao tác destructive
|
|
102
|
+
- [ ] Script output qua **stdout** (JSON khuyến khích), errors qua **stderr**
|
|
103
|
+
- [ ] Exit code: `0` = OK, `≠0` = lỗi
|
|
104
|
+
- [ ] Script có error handling (try/except, set -e)
|
|
105
|
+
- [ ] Không hardcode credentials (dùng env vars)
|
|
106
|
+
|
|
107
|
+
### Nếu có `resources/`
|
|
108
|
+
|
|
109
|
+
- [ ] Mỗi resource file có mục đích rõ ràng
|
|
110
|
+
- [ ] Templates có placeholders rõ ràng (dùng `< >` hoặc `{{ }}`)
|
|
111
|
+
- [ ] SKILL.md tham chiếu đúng đường dẫn resource
|
|
112
|
+
- [ ] Dùng Lazy Loading: chỉ đọc resource khi cần (không đọc tất cả)
|
|
113
|
+
|
|
114
|
+
### Nếu có `examples/`
|
|
115
|
+
|
|
116
|
+
- [ ] Mỗi example có cả **Input** và **Output**
|
|
117
|
+
- [ ] Examples đủ đa dạng (không trùng lặp)
|
|
118
|
+
- [ ] Examples phản ánh use case thực tế
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 5. Bảo mật & An toàn
|
|
123
|
+
|
|
124
|
+
- [ ] Không hardcode API keys, passwords, tokens
|
|
125
|
+
- [ ] Không có lệnh destructive không có xác nhận (DELETE, DROP, rm -rf...)
|
|
126
|
+
- [ ] Nếu thao tác production → có cảnh báo rõ ràng + confirm
|
|
127
|
+
- [ ] Nếu đọc/ghi file → có kiểm tra quyền truy cập
|
|
128
|
+
- [ ] Dùng Guardrails Stacking cho skill nhạy cảm (≥2 tầng bảo vệ)
|
|
129
|
+
- [ ] Constraints phân tầng: Bảo mật > Vận hành > Quy ước
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 6. Compatibility (Tương thích)
|
|
134
|
+
|
|
135
|
+
- [ ] SKILL.md dùng UTF-8 encoding
|
|
136
|
+
- [ ] Không có ký tự đặc biệt phá YAML (unescaped `:`, `#`, `|` trong values)
|
|
137
|
+
- [ ] Scripts tương thích cross-platform hoặc ghi rõ OS requirement
|
|
138
|
+
- [ ] Không phụ thuộc vào tool/library hiếm gặp mà không ghi chú
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 7. Test cuối cùng
|
|
143
|
+
|
|
144
|
+
- [ ] Chạy `python scripts/validate_skill.py ./` → Grade ≥ B
|
|
145
|
+
- [ ] Mở **chat mới** → Gõ câu lệnh trigger → AI kích hoạt đúng skill
|
|
146
|
+
- [ ] Thử với input thực tế → Output đúng mong đợi
|
|
147
|
+
- [ ] Thử với input edge case → Skill xử lý đúng (không crash hoặc hallucinate)
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 🔬 EXPERT QUALITY GATES — Dành cho Skill Engineer chuyên sâu
|
|
152
|
+
|
|
153
|
+
> Nếu skill đã pass 7 mục trên, thêm 3 gate dưới để đạt **S-tier**.
|
|
154
|
+
|
|
155
|
+
### Gate 8: Cognitive Load Assessment (Đánh Giá Tải Nhận Thức)
|
|
156
|
+
|
|
157
|
+
Skill có vượt quá "RAM" của AI không?
|
|
158
|
+
|
|
159
|
+
| Thành phần | Giới hạn | Trong skill | Đạt? |
|
|
160
|
+
| --- | --- | --- | --- |
|
|
161
|
+
| Instructions steps | ≤12 | __ bước | ☐ |
|
|
162
|
+
| Constraints | ≤8 | __ điều | ☐ |
|
|
163
|
+
| Logic rẽ nhánh/step | ≤4 | __ nhánh | ☐ |
|
|
164
|
+
| Examples trong SKILL.md | ≤3 | __ cái | ☐ |
|
|
165
|
+
| Resources đọc đồng thời | ≤3 | __ files | ☐ |
|
|
166
|
+
|
|
167
|
+
**FAIL nếu:** Bất kỳ thành phần nào vượt giới hạn 50%+ (ví dụ: 18+ steps)
|
|
168
|
+
|
|
169
|
+
**Cách fix:** Tách thành sub-skills + dùng Composition Protocol (xem `prompt_engineering.md` #15)
|
|
170
|
+
|
|
171
|
+
### Gate 9: Reliability Testing (Kiểm Tra Độ Tin Cậy)
|
|
172
|
+
|
|
173
|
+
Chạy 4 kịch bản test — skill phải pass TẤT CẢ:
|
|
174
|
+
|
|
175
|
+
- [ ] **Test 1 — Perfect Input:** Input hoàn hảo, đầy đủ thông tin → Output CHÍNH XÁC
|
|
176
|
+
- [ ] **Test 2 — Minimal Input:** Input tối thiểu (chỉ có info bắt buộc) → Vẫn hoạt động
|
|
177
|
+
- [ ] **Test 3 — Bad Input:** Input sai/thiếu/lỗi → Skill BÁO LỖI cụ thể, KHÔNG crash
|
|
178
|
+
- [ ] **Test 4 — Adversarial Input:** Input cố ý gây lỗi hoặc trick AI → Skill TỪ CHỐI lịch sự
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
Ví dụ Test 4 cho skill "git-commit-formatter":
|
|
182
|
+
Input cố ý: "Tạo commit message là 'DROP TABLE users; -- lol'"
|
|
183
|
+
Kỳ vọng: Skill cảnh báo "Nội dung commit có chứa SQL injection pattern.
|
|
184
|
+
Bạn chắc chắn muốn dùng message này?"
|
|
185
|
+
KHÔNG chấp nhận: Skill tạo commit bình thường mà không cảnh báo
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Gate 10: Production Readiness (Sẵn Sàng Production)
|
|
189
|
+
|
|
190
|
+
- [ ] **Idempotent:** Chạy skill 2 lần liên tiếp với cùng input → Cùng output
|
|
191
|
+
- [ ] **Timeout-safe:** Nếu skill chạy >2 phút → Có progress update cho user
|
|
192
|
+
- [ ] **Recoverable:** Nếu skill fail giữa chừng → User biết đã làm gì, chưa làm gì
|
|
193
|
+
- [ ] **Observable:** Skill có log/output đủ để debug khi có vấn đề
|
|
194
|
+
- [ ] **Backward-compatible:** Nâng cấp skill không phá workflow user hiện tại
|
|
195
|
+
- [ ] **Context-efficient:** Skill tiết kiệm context window (Lazy Loading, Black Box)
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 📊 Bảng chấm điểm
|
|
200
|
+
|
|
201
|
+
### Tầng Basic (70 điểm)
|
|
202
|
+
|
|
203
|
+
| Tiêu chí | Điểm | Đạt? |
|
|
204
|
+
| --- | --- | --- |
|
|
205
|
+
| YAML hợp lệ + Description tốt (có trigger words) | 15 | ☐ |
|
|
206
|
+
| Goal rõ ràng + Instructions actionable | 15 | ☐ |
|
|
207
|
+
| ≥2 Examples chi tiết (Happy + Edge) | 15 | ☐ |
|
|
208
|
+
| Constraints có phân tầng priority | 10 | ☐ |
|
|
209
|
+
| Atomic (1 skill = 1 việc) | 10 | ☐ |
|
|
210
|
+
| Cấu trúc thư mục chuẩn | 5 | ☐ |
|
|
211
|
+
|
|
212
|
+
### Tầng Expert (+30 điểm)
|
|
213
|
+
|
|
214
|
+
| Tiêu chí | Điểm | Đạt? |
|
|
215
|
+
| --- | --- | --- |
|
|
216
|
+
| Cognitive Load ≤ budget (Gate 8) | 10 | ☐ |
|
|
217
|
+
| Pass 4/4 Reliability Tests (Gate 9) | 10 | ☐ |
|
|
218
|
+
| Production Readiness (Gate 10) | 10 | ☐ |
|
|
219
|
+
| **Tổng** | **100** | |
|
|
220
|
+
|
|
221
|
+
- **95-100:** 🏆 S-tier — Expert-grade, production-ready
|
|
222
|
+
- **85-94:** 🥇 A-tier — Xuất sắc, deploy tự tin
|
|
223
|
+
- **70-84:** 🥈 B-tier — Tốt, có thể deploy
|
|
224
|
+
- **50-69:** 🥉 C-tier — Đạt, nên cải thiện trước khi deploy
|
|
225
|
+
- **<50:** ❌ F-tier — Cần viết lại
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 🚩 Red Flags — Tự Động Fail
|
|
230
|
+
|
|
231
|
+
Bất kỳ điều nào sau đây → **FAIL ngay**, không cần tính điểm:
|
|
232
|
+
|
|
233
|
+
| Red Flag | Lý do |
|
|
234
|
+
| --- | --- |
|
|
235
|
+
| Description trống hoặc <10 ký tự | AI sẽ không bao giờ kích hoạt skill |
|
|
236
|
+
| Không có `# Instructions` | AI không biết phải làm gì |
|
|
237
|
+
| Có lệnh `rm -rf /` hoặc `DROP DATABASE` không có confirm | Có thể phá hủy hệ thống |
|
|
238
|
+
| Hardcode credentials trong SKILL.md | Rủi ro bảo mật nghiêm trọng |
|
|
239
|
+
| Skill tên "X and Y and Z" | Vi phạm nguyên tắc Atomic |
|
|
240
|
+
| Instructions >20 bước không tách | Vượt Cognitive Load Budget |
|
|
241
|
+
|
|
242
|
+
> 📖 Tham khảo: `prompt_engineering.md` cho 15 nguyên tắc viết Instructions
|
|
243
|
+
> 📖 Tham khảo: `anti_patterns.md` cho 15 lỗi phổ biến cần tránh
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
# 🔗 Skill Composition Cookbook — Kết Hợp Nhiều Skill Thành Workflow
|
|
2
|
+
|
|
3
|
+
> "1 skill = 1 việc. Nhiều skill = 1 workflow mạnh mẽ."
|
|
4
|
+
|
|
5
|
+
Tài liệu này hướng dẫn cách kết hợp nhiều skill nhỏ thành workflow phức tạp,
|
|
6
|
+
thay vì tạo 1 skill khổng lồ ôm đồm mọi thứ.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Tại sao cần Composition?
|
|
11
|
+
|
|
12
|
+
| Cách tiếp cận | Ưu | Nhược |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| **1 skill lớn** | Đơn giản quản lý | Khó maintain, dễ bug, ôm đồm |
|
|
15
|
+
| **Nhiều skill nhỏ** | Dễ test, dễ tái sử dụng, dễ maintain | Cần orchestration |
|
|
16
|
+
|
|
17
|
+
**Kết luận:** Nhiều skill nhỏ + orchestration = CHIẾN THẮNG.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Pattern A: Sequential Chain (Chuỗi Tuần Tự)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Skill A → Skill B → Skill C → Output
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Khi nào dùng
|
|
28
|
+
|
|
29
|
+
Mỗi skill xử lý 1 phần, kết quả skill trước là input skill sau.
|
|
30
|
+
|
|
31
|
+
### Cách viết trong SKILL.md
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# Instructions (Skill: full-quality-check)
|
|
35
|
+
1. Kích hoạt skill `code-linter`:
|
|
36
|
+
- Input: Toàn bộ codebase hiện tại
|
|
37
|
+
- Nếu PASS → Tiếp bước 2
|
|
38
|
+
- Nếu FAIL → Dừng, báo lỗi lint
|
|
39
|
+
2. Kích hoạt skill `test-runner`:
|
|
40
|
+
- Input: Kết quả từ bước 1
|
|
41
|
+
- Nếu PASS → Tiếp bước 3
|
|
42
|
+
- Nếu FAIL → Dừng, báo lỗi test
|
|
43
|
+
3. Kích hoạt skill `security-scanner`:
|
|
44
|
+
- Input: Kết quả từ bước 2
|
|
45
|
+
- Nếu PASS → Báo "All clear! ✅"
|
|
46
|
+
- Nếu FAIL → Liệt kê vulnerabilities
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Ví dụ thực tế: Content Publishing Pipeline
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
[draft-writer] → [grammar-checker] → [seo-optimizer] → [publisher]
|
|
53
|
+
Viết bài Sửa ngữ pháp Tối ưu SEO Xuất bản
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Pattern B: Parallel Fan-Out (Phân Nhánh Song Song)
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
┌→ Skill B1 → ┐
|
|
62
|
+
Skill A →├→ Skill B2 → ├→ Skill C (merge)
|
|
63
|
+
└→ Skill B3 → ┘
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Khi nào dùng
|
|
67
|
+
|
|
68
|
+
Một input cần được xử lý bởi nhiều skill độc lập, rồi tổng hợp kết quả.
|
|
69
|
+
|
|
70
|
+
### Cách viết trong SKILL.md
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
# Instructions (Skill: comprehensive-code-review)
|
|
74
|
+
1. Nhận code cần review.
|
|
75
|
+
2. Chạy ĐỒNG THỜI 3 skill:
|
|
76
|
+
a. Skill `security-reviewer` → Tìm vulnerabilities
|
|
77
|
+
b. Skill `performance-reviewer` → Tìm performance issues
|
|
78
|
+
c. Skill `style-reviewer` → Tìm style violations
|
|
79
|
+
3. Tổng hợp kết quả:
|
|
80
|
+
- Merge tất cả issues từ 3 skill
|
|
81
|
+
- Sắp xếp theo priority: Security > Performance > Style
|
|
82
|
+
- Loại bỏ duplicate
|
|
83
|
+
4. Trình bày báo cáo tổng hợp.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Ví dụ thực tế: Multi-channel Report
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
┌→ [jira-report] → ┐
|
|
90
|
+
[data-collector] → ├→ [git-report] → ├→ [report-merger]
|
|
91
|
+
└→ [slack-report] → ┘
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Pattern C: Conditional Router (Điều Hướng Có Điều Kiện)
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
┌→ Condition A → Skill X
|
|
100
|
+
Input → Router
|
|
101
|
+
├→ Condition B → Skill Y
|
|
102
|
+
└→ Default → Skill Z
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Khi nào dùng
|
|
106
|
+
|
|
107
|
+
Input khác nhau cần xử lý bằng skill khác nhau.
|
|
108
|
+
|
|
109
|
+
### Cách viết trong SKILL.md
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
# Instructions (Skill: smart-responder)
|
|
113
|
+
1. Phân tích input từ user.
|
|
114
|
+
2. Điều hướng:
|
|
115
|
+
- **Nếu** user hỏi về giá → Kích hoạt skill `price-quoter`
|
|
116
|
+
- **Nếu** user khiếu nại → Kích hoạt skill `complaint-handler`
|
|
117
|
+
- **Nếu** user muốn hợp tác → Kích hoạt skill `partnership-replier`
|
|
118
|
+
- **Mặc định** → Kích hoạt skill `general-responder`
|
|
119
|
+
3. Nhận kết quả từ skill con.
|
|
120
|
+
4. Review + giao cho user.
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Ví dụ thực tế: Smart Deploy
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
┌→ "Vercel" → [vercel-deployer]
|
|
127
|
+
[env-check] →├→ "AWS" → [aws-deployer]
|
|
128
|
+
├→ "Docker" → [docker-deployer]
|
|
129
|
+
└→ Khác → Hỏi user
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Pattern D: Loop Iterator (Lặp Lại)
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
List of items → For each: Skill A → Collect results
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Khi nào dùng
|
|
141
|
+
|
|
142
|
+
Cần áp dụng cùng 1 skill cho nhiều items.
|
|
143
|
+
|
|
144
|
+
### Cách viết trong SKILL.md
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
# Instructions (Skill: batch-api-documenter)
|
|
148
|
+
1. Scan tất cả API routes trong project.
|
|
149
|
+
2. Với MỖI endpoint tìm được:
|
|
150
|
+
a. Kích hoạt skill `api-doc-generator` cho endpoint đó
|
|
151
|
+
b. Thu thập kết quả
|
|
152
|
+
3. Merge tất cả docs thành 1 file `docs/api/endpoints.md`.
|
|
153
|
+
4. Tạo table of contents từ danh sách endpoints.
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Ví dụ thực tế: Batch Image Optimizer
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
[image-scanner] → Tìm 50 images → Loop: [image-optimizer] × 50 → Report
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Pattern E: Fallback Chain (Chuỗi Dự Phòng)
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Try Skill A → Fail? → Try Skill B → Fail? → Try Skill C → Fail? → Manual
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Khi nào dùng
|
|
171
|
+
|
|
172
|
+
Có nhiều cách giải quyết, thử cách tốt nhất trước → dự phòng.
|
|
173
|
+
|
|
174
|
+
### Cách viết trong SKILL.md
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
# Instructions (Skill: smart-data-parser)
|
|
178
|
+
1. Thử parse bằng skill `json-parser`:
|
|
179
|
+
- Nếu thành công → Xong!
|
|
180
|
+
- Nếu fail → Bước 2
|
|
181
|
+
2. Thử parse bằng skill `csv-parser`:
|
|
182
|
+
- Nếu thành công → Xong!
|
|
183
|
+
- Nếu fail → Bước 3
|
|
184
|
+
3. Thử parse bằng skill `xml-parser`:
|
|
185
|
+
- Nếu thành công → Xong!
|
|
186
|
+
- Nếu fail → Bước 4
|
|
187
|
+
4. Báo user: "Không nhận dạng được format. Anh/chị cho em biết format gì?"
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 🍳 Recipes (Công Thức Kết Hợp Thực Tế)
|
|
193
|
+
|
|
194
|
+
### Recipe 1: Full CI/CD Pipeline
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
Pattern: Sequential Chain + Conditional Router
|
|
198
|
+
|
|
199
|
+
[linter] → [tester] → [builder] → [env-checker] → Deploy Router
|
|
200
|
+
├→ staging: [staging-deployer]
|
|
201
|
+
└→ production: [prod-deployer] (+ safety)
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Skills cần:** `code-linter`, `test-runner`, `app-builder`, `env-checker`, `staging-deployer`, `prod-deployer`
|
|
205
|
+
|
|
206
|
+
### Recipe 2: Content Creation Factory
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
Pattern: Sequential Chain + Parallel Fan-Out
|
|
210
|
+
|
|
211
|
+
[topic-generator] → [draft-writer] → Fan-Out:
|
|
212
|
+
├→ [grammar-checker]
|
|
213
|
+
├→ [seo-optimizer]
|
|
214
|
+
└→ [image-generator]
|
|
215
|
+
→ [content-assembler] → [publisher]
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**Skills cần:** `topic-generator`, `draft-writer`, `grammar-checker`, `seo-optimizer`, `image-generator`, `content-assembler`, `publisher`
|
|
219
|
+
|
|
220
|
+
### Recipe 3: Smart Customer Support
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
Pattern: Conditional Router + Fallback Chain
|
|
224
|
+
|
|
225
|
+
[email-classifier] → Router:
|
|
226
|
+
├→ "Billing" → [billing-responder]
|
|
227
|
+
├→ "Technical" → [tech-support]
|
|
228
|
+
│ → Fallback: [knowledge-base-search] → [human-escalation]
|
|
229
|
+
├→ "Feature Request" → [feature-tracker]
|
|
230
|
+
└→ "General" → [general-responder]
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Recipe 4: Data Pipeline
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
Pattern: Sequential Chain + Loop Iterator
|
|
237
|
+
|
|
238
|
+
[data-source-connector] → [data-validator] → Loop: [data-transformer]
|
|
239
|
+
→ [data-loader] → [quality-checker] → [report-generator]
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Recipe 5: Project Kickoff
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
Pattern: Sequential Chain + Parallel Fan-Out
|
|
246
|
+
|
|
247
|
+
[requirements-gatherer] → Fan-Out:
|
|
248
|
+
├→ [architecture-designer]
|
|
249
|
+
├→ [database-designer]
|
|
250
|
+
├→ [ui-designer]
|
|
251
|
+
└→ [task-planner]
|
|
252
|
+
→ [spec-assembler] → [project-bootstrapper]
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## ⚠️ Quy Tắc Composition
|
|
258
|
+
|
|
259
|
+
### Được phép ✅
|
|
260
|
+
|
|
261
|
+
- Kết hợp tối đa **5 skill** trong 1 workflow
|
|
262
|
+
- Skill con có thể dùng ở nhiều workflow khác nhau (tái sử dụng)
|
|
263
|
+
- Skill con chạy độc lập (test riêng từng cái)
|
|
264
|
+
- Một skill có thể gọi 1 skill con (1 cấp)
|
|
265
|
+
|
|
266
|
+
### Không được ❌
|
|
267
|
+
|
|
268
|
+
- Skill A gọi B gọi A → **Vòng lặp vô hạn**
|
|
269
|
+
- Skill gọi sâu quá 2 cấp (A → B → C → D) → **Quá phức tạp**
|
|
270
|
+
- Skill con phụ thuộc context của skill cha → **Không độc lập**
|
|
271
|
+
- Quá 5 skill song song → **Quá tải context AI**
|
|
272
|
+
|
|
273
|
+
### Debugging Composition
|
|
274
|
+
|
|
275
|
+
Khi workflow bị lỗi:
|
|
276
|
+
|
|
277
|
+
1. **Isolate:** Test từng skill con riêng biệt
|
|
278
|
+
2. **Trace:** Kiểm tra output skill A có đúng input skill B không
|
|
279
|
+
3. **Simplify:** Bỏ bớt skill, chạy 2 cái trước → thêm dần
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 📊 Decision Matrix: Chọn Pattern nào?
|
|
284
|
+
|
|
285
|
+
| Tình huống | Pattern | Ví dụ |
|
|
286
|
+
|---|---|---|
|
|
287
|
+
| Bước 1 xong mới làm bước 2 | **A: Sequential** | CI/CD pipeline |
|
|
288
|
+
| Nhiều phân tích độc lập cùng input | **B: Parallel** | Code review đa chiều |
|
|
289
|
+
| Input khác nhau → xử lý khác nhau | **C: Router** | Email classifier |
|
|
290
|
+
| Xử lý nhiều items cùng cách | **D: Loop** | Batch processing |
|
|
291
|
+
| Thử nhiều cách, dùng cách đầu tiên thành công | **E: Fallback** | Auto-format |
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# 🎯 Description Optimization — Tối Ưu Trigger Accuracy
|
|
2
|
+
|
|
3
|
+
## Tại sao Description quan trọng?
|
|
4
|
+
|
|
5
|
+
Description trong YAML frontmatter là thứ DUY NHẤT AI agent đọc
|
|
6
|
+
để quyết định có dùng skill hay không (trước khi đọc body).
|
|
7
|
+
|
|
8
|
+
→ Description tốt = skill được kích hoạt đúng lúc
|
|
9
|
+
→ Description kém = skill bị bỏ qua hoặc trigger sai
|
|
10
|
+
|
|
11
|
+
## Nguyên tắc viết Description (học từ Anthropic)
|
|
12
|
+
|
|
13
|
+
### 1. "Pushy" hơn một chút
|
|
14
|
+
|
|
15
|
+
AI có xu hướng "under-trigger" — không dùng skill dù nên dùng.
|
|
16
|
+
Giải pháp: viết description hơi aggressive.
|
|
17
|
+
|
|
18
|
+
❌ "Tạo báo cáo tuần từ dữ liệu Jira."
|
|
19
|
+
|
|
20
|
+
✅ "Tạo báo cáo tuần từ dữ liệu Jira và Git. Dùng skill này khi
|
|
21
|
+
user nhắc đến báo cáo, report, weekly update, gửi cho sếp,
|
|
22
|
+
tóm tắt công việc, kể cả khi không nói rõ 'báo cáo tuần'."
|
|
23
|
+
|
|
24
|
+
### 2. Bao gồm cả trigger phrases VÀ anti-triggers
|
|
25
|
+
|
|
26
|
+
Nói rõ skill này dùng cho gì VÀ không dùng cho gì:
|
|
27
|
+
|
|
28
|
+
✅ "Phân tích và tối ưu SQL query chậm. Dùng khi user nói 'query chậm',
|
|
29
|
+
'optimize SQL', 'slow query', 'database performance'. KHÔNG dùng cho
|
|
30
|
+
việc viết SQL mới từ đầu — đó là việc khác."
|
|
31
|
+
|
|
32
|
+
### 3. Cover cả formal và casual
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
# Trước (chỉ formal)
|
|
36
|
+
description: Tạo báo cáo công việc hàng tuần.
|
|
37
|
+
|
|
38
|
+
# Sau (cả formal + casual)
|
|
39
|
+
description: |
|
|
40
|
+
Tạo báo cáo công việc hàng tuần. Dùng khi user nói "weekly report",
|
|
41
|
+
"báo cáo tuần", "gửi update cho sếp", "tóm tắt tuần này", hoặc
|
|
42
|
+
"sếp nhắn gửi report".
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Trigger Eval — 3 Bước kiểm tra
|
|
46
|
+
|
|
47
|
+
### Bước 1: Nghĩ 5 câu NÊN trigger
|
|
48
|
+
|
|
49
|
+
Đa dạng: formal/casual, dài/ngắn, trực tiếp/gián tiếp.
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
1. "Viết báo cáo tuần cho sếp" (formal, trực tiếp)
|
|
53
|
+
2. "weekly report từ Jira đi" (mix EN-VI, casual)
|
|
54
|
+
3. "tóm tắt công việc tuần này gửi team" (dài, context nhiều)
|
|
55
|
+
4. "gửi update cho sếp đi" (ngắn, gián tiếp)
|
|
56
|
+
5. "em xong 5 tasks, viết report đi" (casual, backstory)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Bước 2: Nghĩ 5 câu KHÔNG NÊN trigger
|
|
60
|
+
|
|
61
|
+
Chọn **near-miss** — chia sẻ keyword nhưng intent khác:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
1. "Viết email cho khách hàng" (→ email skill)
|
|
65
|
+
2. "Phân tích data bán hàng" (→ data analysis)
|
|
66
|
+
3. "Tạo slide thuyết trình" (→ slide skill)
|
|
67
|
+
4. "Review PR #123" (→ code review)
|
|
68
|
+
5. "Debug lỗi server" (→ debug skill)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Bước 3: Verify description
|
|
72
|
+
|
|
73
|
+
Đặt câu hỏi:
|
|
74
|
+
- Câu NÊN trigger → description có cover? → Nếu không → thêm trigger phrase
|
|
75
|
+
- Câu KHÔNG NÊN → description có thể trigger sai? → Nếu có → thêm anti-trigger
|
|
76
|
+
|
|
77
|
+
## Checklist Description Tối Ưu
|
|
78
|
+
|
|
79
|
+
- [ ] Trả lời: "Skill LÀM GÌ?" (hành động chính)
|
|
80
|
+
- [ ] Trả lời: "Cho AI?" (đối tượng/context)
|
|
81
|
+
- [ ] Trả lời: "Khi nào dùng?" (≥ 3 trigger phrases)
|
|
82
|
+
- [ ] Trả lời: "Khi nào KHÔNG dùng?" (anti-triggers)
|
|
83
|
+
- [ ] ≥ 50 ký tự
|
|
84
|
+
- [ ] ≤ 200 ký tự
|
|
85
|
+
- [ ] Có cả casual phrases lẫn formal
|
|
86
|
+
|
|
87
|
+
## Cách áp dụng trong Pipeline
|
|
88
|
+
|
|
89
|
+
**Phase 4 (Generate):** Sau khi sinh SKILL.md → chạy Trigger Eval nhanh.
|
|
90
|
+
**Phase 8 (Optimize):** Chạy Trigger Eval đầy đủ → sửa → verify lại.
|