codymaster 4.1.4 → 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 +118 -4
- package/install.sh +2 -2
- package/package.json +3 -8
- 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 +16 -49
- 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,543 @@
|
|
|
1
|
+
## Phase 4: 🏗️ Skill Scaffolding — Sinh toàn bộ Skill
|
|
2
|
+
|
|
3
|
+
Mục tiêu: Tạo ra tất cả file cần thiết, sẵn sàng deploy.
|
|
4
|
+
|
|
5
|
+
### 4.0. Hỏi Nền tảng — QUAN TRỌNG (ảnh hưởng format output)
|
|
6
|
+
|
|
7
|
+
> "Anh/chị đang dùng AI trên **nền tảng nào**?"
|
|
8
|
+
>
|
|
9
|
+
> - A) **Antigravity** (Google Gemini) — ⭐ Recommended
|
|
10
|
+
> - B) **OpenClaw / ClawBot** (Telegram Bot)
|
|
11
|
+
> - C) **Cursor** (VS Code)
|
|
12
|
+
> - D) **Claude Code** (Anthropic)
|
|
13
|
+
> - E) **Windsurf / Cline / Copilot**
|
|
14
|
+
> - F) Không biết / Muốn dùng đa nền tảng
|
|
15
|
+
|
|
16
|
+
**Bảng format output theo nền tảng:**
|
|
17
|
+
|
|
18
|
+
| Nền tảng | Đọc multi-file? | Format output | Ghi chú |
|
|
19
|
+
| --- | --- | --- | --- |
|
|
20
|
+
| **Antigravity** | ✅ Đọc thoải mái | Multi-file package (SKILL.md + resources/ + examples/) | Tạo full structure |
|
|
21
|
+
| **OpenClaw** | ❌ Chỉ System Prompt | **Single-file** — ALL-IN-ONE SKILL.md (~tất cả inline) | Không tách resources/ |
|
|
22
|
+
| **Cursor** | ⚠️ Hạn chế | Single rule file `.cursor/rules/<name>.mdc` + SKILL.md nhúng | Cần bridge file |
|
|
23
|
+
| **Claude Code** | ✅ Đọc được | Multi-file qua `.claude/commands/` | Đổi tên → CLAUDE.md |
|
|
24
|
+
| **Windsurf** | ⚠️ Hạn chế | Single rule file `.windsurf/rules/<name>.md` | Giống Cursor |
|
|
25
|
+
| **Cline** | ❌ System Prompt | Single-file paste vào Custom Instructions | Giống OpenClaw |
|
|
26
|
+
| **Copilot** | ⚠️ Hạn chế | `.github/<name>.md` | Instructions only |
|
|
27
|
+
| **Đa nền tảng** | — | Tạo multi-file (Antigravity) + export single-file | Dùng `skill_export.py` |
|
|
28
|
+
|
|
29
|
+
**Quy tắc xử lý theo nền tảng:**
|
|
30
|
+
|
|
31
|
+
**Nếu Antigravity / Claude Code:**
|
|
32
|
+
|
|
33
|
+
1. Tạo full multi-file package (SKILL.md + resources/ + examples/ + scripts/ + workflows/)
|
|
34
|
+
2. Resources được tách file riêng, SKILL.md chỉ reference: `📚 Tham khảo resources/<file>.md`
|
|
35
|
+
|
|
36
|
+
**Nếu OpenClaw / Cline (single-file):**
|
|
37
|
+
|
|
38
|
+
1. Tạo 1 file SKILL.md duy nhất chứa TẤT CẢ:
|
|
39
|
+
- Goal + Instructions + Examples + Constraints → inline
|
|
40
|
+
- Resources → nhúng trực tiếp vào cuối SKILL.md (dưới section `# Reference Data`)
|
|
41
|
+
- Examples → inline, KHÔNG tách file
|
|
42
|
+
2. KHÔNG tạo thư mục resources/, examples/
|
|
43
|
+
3. KHÔNG reference file bên ngoài (vì nền tảng không đọc được)
|
|
44
|
+
4. Giữ < 4000 tokens nếu có thể (OpenClaw có giới hạn)
|
|
45
|
+
|
|
46
|
+
**Nếu Cursor / Windsurf:**
|
|
47
|
+
|
|
48
|
+
1. Tạo multi-file package NHƯNG thêm bridge file:
|
|
49
|
+
- Cursor: `.cursor/rules/<name>.mdc`
|
|
50
|
+
- Windsurf: `.windsurf/rules/<name>.md`
|
|
51
|
+
2. Bridge file chỉ cần: description + reference tới SKILL.md
|
|
52
|
+
|
|
53
|
+
**Nếu "đa nền tảng":**
|
|
54
|
+
|
|
55
|
+
1. Tạo full multi-file (cho Antigravity)
|
|
56
|
+
2. Sau khi xong, tự động chạy: `python scripts/skill_export.py <path> --platform all`
|
|
57
|
+
3. Hoặc hỏi user muốn export nền tảng nào cụ thể
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### 4.1. Hỏi Scope trước khi tạo file
|
|
62
|
+
|
|
63
|
+
> "Skill này anh/chị muốn dùng cho **tất cả dự án** hay chỉ **dự án hiện tại**?"
|
|
64
|
+
>
|
|
65
|
+
> - A) Tất cả dự án → Global: `~/.gemini/antigravity/skills/`
|
|
66
|
+
> - B) Chỉ dự án này → Workspace: `.agent/skills/`
|
|
67
|
+
|
|
68
|
+
⚠️ **Lưu ý:** Câu hỏi scope chỉ áp dụng cho Antigravity/Claude Code. Với OpenClaw/Cline → skip (vì paste vào System Prompt, không có khái niệm scope).
|
|
69
|
+
|
|
70
|
+
### 4.2. Tạo cấu trúc thư mục
|
|
71
|
+
|
|
72
|
+
Dựa vào Complexity Score ở Phase 3, tạo cấu trúc phù hợp:
|
|
73
|
+
|
|
74
|
+
**🟢 Đơn giản (1-5 điểm):**
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
skills/<tên-skill>/
|
|
78
|
+
└── SKILL.md
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**🟡 Trung bình (6-12 điểm):**
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
skills/<tên-skill>/
|
|
85
|
+
├── SKILL.md
|
|
86
|
+
└── examples/
|
|
87
|
+
├── example_1.md
|
|
88
|
+
└── example_2.md
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**🟠 Phức tạp (13-20 điểm):**
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
skills/<tên-skill>/
|
|
95
|
+
├── SKILL.md
|
|
96
|
+
├── resources/
|
|
97
|
+
│ ├── template.md
|
|
98
|
+
│ └── reference.md
|
|
99
|
+
└── examples/
|
|
100
|
+
├── example_1.md
|
|
101
|
+
└── example_2.md
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**🔴 Rất phức tạp (21+ điểm):**
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
skills/<tên-skill>/
|
|
108
|
+
├── SKILL.md
|
|
109
|
+
├── scripts/
|
|
110
|
+
│ └── main.py
|
|
111
|
+
├── resources/
|
|
112
|
+
│ ├── templates/
|
|
113
|
+
│ ├── strategies/
|
|
114
|
+
│ └── dangerous_patterns.md
|
|
115
|
+
└── examples/
|
|
116
|
+
├── example_1.md
|
|
117
|
+
├── example_2.md
|
|
118
|
+
└── example_3.md
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 4.3. Sinh nội dung SKILL.md — Hướng dẫn chi tiết từng section
|
|
122
|
+
|
|
123
|
+
Sử dụng template từ `resources/skill_template.md`. Tham khảo `resources/prompt_engineering.md`
|
|
124
|
+
để viết Instructions chất lượng cao.
|
|
125
|
+
|
|
126
|
+
📚 **Best Practices viết skill:** Đọc `resources/skill_writing_guide.md` trước khi bắt đầu.
|
|
127
|
+
Key points: Progressive Disclosure (giữ SKILL.md < 500 dòng), 10 Writing Patterns,
|
|
128
|
+
Master Checklist 20+ items, và Versioning Guide.
|
|
129
|
+
|
|
130
|
+
**📸 Ví dụ kết quả Phase 4 thực tế:**
|
|
131
|
+
|
|
132
|
+
Sau khi chạy Phase 1-3 cho yêu cầu "tạo skill format commit message", Phase 4 sinh ra:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
skills/commit-formatter/ ← 🟢 Đơn giản (Score: 4)
|
|
136
|
+
└── SKILL.md ← 85 dòng
|
|
137
|
+
|
|
138
|
+
Nội dung SKILL.md:
|
|
139
|
+
┌─────────────────────────────────────────────────────────┐
|
|
140
|
+
│ name: commit-formatter │
|
|
141
|
+
│ description: Format commit message theo Conventional │
|
|
142
|
+
│ Commits. Dùng khi user nói "format commit", │
|
|
143
|
+
│ "viết commit message", "conventional commit". │
|
|
144
|
+
│─────────────────────────────────────────────────────────│
|
|
145
|
+
│ # Goal │
|
|
146
|
+
│ Sinh commit message chuẩn Conventional Commits trong │
|
|
147
|
+
│ 5 giây, consistent 100% across team. │
|
|
148
|
+
│─────────────────────────────────────────────────────────│
|
|
149
|
+
│ # Instructions │
|
|
150
|
+
│ 1. Đọc git diff hoặc mô tả user │
|
|
151
|
+
│ 2. Xác định type: feat|fix|docs|style|refactor|test │
|
|
152
|
+
│ 3. Xác định scope từ files changed │
|
|
153
|
+
│ 4. Viết subject ≤50 chars, body nếu cần │
|
|
154
|
+
│─────────────────────────────────────────────────────────│
|
|
155
|
+
│ # Examples (2 ví dụ: happy + edge case) │
|
|
156
|
+
│─────────────────────────────────────────────────────────│
|
|
157
|
+
│ # Constraints │
|
|
158
|
+
│ - 🚫 Subject > 50 chars │
|
|
159
|
+
│ - 🚫 Type không thuộc danh sách chuẩn │
|
|
160
|
+
│ - ✅ Luôn lowercase │
|
|
161
|
+
└─────────────────────────────────────────────────────────┘
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
📚 **Xem thêm ví dụ đầy đủ:** `examples/example_git_commit.md` (simple),
|
|
165
|
+
`examples/example_api_docs.md` (medium), `examples/example_db_migration.md` (complex)
|
|
166
|
+
|
|
167
|
+
#### 4.3.1. YAML Frontmatter — Phần QUAN TRỌNG NHẤT
|
|
168
|
+
|
|
169
|
+
Đây là phần AI đọc ĐẦU TIÊN để quyết định có dùng skill hay không.
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
---
|
|
173
|
+
name: <tên-skill> # kebab-case, ≤30 ký tự, chỉ a-z và dấu gạch ngang
|
|
174
|
+
description: | # DẤU | cho phép viết nhiều dòng
|
|
175
|
+
<Dòng 1: Hành động chính + đối tượng + phương pháp>
|
|
176
|
+
<Dòng 2: Chi tiết bổ sung hoặc phạm vi áp dụng>
|
|
177
|
+
<Dòng 3: Kích hoạt khi user nói "...", "...", "...">
|
|
178
|
+
---
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Checklist description tốt:**
|
|
182
|
+
|
|
183
|
+
- [ ] Trả lời: "Skill này LÀM GÌ?" (hành động chính)
|
|
184
|
+
- [ ] Trả lời: "Cho AI?" (đối tượng/context)
|
|
185
|
+
- [ ] Trả lời: "Khi nào dùng?" (trigger phrases — ít nhất 3 câu)
|
|
186
|
+
- [ ] ≥30 ký tự, nên 50-150 ký tự
|
|
187
|
+
- [ ] Không dùng thuật ngữ mà chỉ dev hiểu
|
|
188
|
+
|
|
189
|
+
#### 4.3.2. # Goal — Đúng 1 câu duy nhất
|
|
190
|
+
|
|
191
|
+
**Công thức:** `[Động từ] + [kết quả cụ thể] + [để đạt được lợi ích gì]`
|
|
192
|
+
|
|
193
|
+
| ❌ Goal xấu | ✅ Goal tốt |
|
|
194
|
+
|---|---|
|
|
195
|
+
| "Giúp viết báo cáo" | "Sinh báo cáo tuần chuyên nghiệp trong 2 phút thay vì 30 phút" |
|
|
196
|
+
| "Xử lý dữ liệu" | "Chuyển đổi file CSV thành JSON/SQL không mất dòng nào" |
|
|
197
|
+
| "Review code" | "Phát hiện bugs, security holes, và code smells trước khi merge" |
|
|
198
|
+
|
|
199
|
+
**Test:** Nếu đọc Goal mà vẫn hỏi "rồi sao?", "cụ thể hơn?" → chưa đủ tốt.
|
|
200
|
+
|
|
201
|
+
#### 4.3.3. # Instructions — Chuỗi bước actionable
|
|
202
|
+
|
|
203
|
+
**Quy tắc viết Instructions chất lượng cao:**
|
|
204
|
+
|
|
205
|
+
1. **Mỗi bước = 1 hành động CỤ THỂ** (tham khảo Nguyên tắc #1 trong `prompt_engineering.md`)
|
|
206
|
+
|
|
207
|
+
```markdown
|
|
208
|
+
❌ "Phân tích yêu cầu"
|
|
209
|
+
❌ "Xử lý dữ liệu"
|
|
210
|
+
❌ "Kiểm tra kết quả"
|
|
211
|
+
✅ "Đọc nội dung user cung cấp → Xác định: loại file, encoding, số dòng"
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
2. **Semantic Precision — Dùng động từ CHÍNH XÁC:**
|
|
215
|
+
|
|
216
|
+
| ❌ Mơ hồ (AI hiểu sai) | ✅ Chính xác (AI hiểu đúng) |
|
|
217
|
+
| --- | --- |
|
|
218
|
+
| "Xử lý" | **Phân tích** (Analyze) / **Chuyển đổi** (Transform) / **Lọc** (Filter) |
|
|
219
|
+
| "Kiểm tra" | **Xác thực** (Validate) / **So sánh** (Compare) / **Đếm** (Count) |
|
|
220
|
+
| "Tối ưu" | **Giảm kích thước xuống <500KB** / **Tăng tốc load <2s** |
|
|
221
|
+
| "Làm" | **Tạo** (Generate) / **Thực thi** (Execute) / **Triển khai** (Deploy) |
|
|
222
|
+
|
|
223
|
+
3. **Đánh số tuần tự** — AI sẽ đi theo thứ tự
|
|
224
|
+
|
|
225
|
+
```markdown
|
|
226
|
+
1. Bước đầu tiên
|
|
227
|
+
2. Bước tiếp theo
|
|
228
|
+
- Chi tiết con a
|
|
229
|
+
- Chi tiết con b
|
|
230
|
+
3. Bước cuối
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
4. **Logic rẽ nhánh viết TƯỜNG MINH** (tham khảo Nguyên tắc #7)
|
|
234
|
+
|
|
235
|
+
```markdown
|
|
236
|
+
3. Kiểm tra format:
|
|
237
|
+
- **Nếu** CSV → Parse bằng comma
|
|
238
|
+
- **Nếu** JSON → Parse trực tiếp
|
|
239
|
+
- **Nếu** không rõ → Hỏi user
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
5. **Thêm Verification Steps** (tham khảo Nguyên tắc #8)
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
5. ✅ VERIFY: Đếm records output = input? Nếu khác → có dòng bị mất.
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
6. **Thêm Error Recovery + Decision Tree** cho skill phức tạp:
|
|
249
|
+
|
|
250
|
+
```markdown
|
|
251
|
+
2. Đọc file:
|
|
252
|
+
- ⚠️ Nếu file không tồn tại → Báo user, hỏi lại đường dẫn
|
|
253
|
+
- ⚠️ Nếu sai encoding → Thử UTF-8 → CP1258 → Báo lỗi
|
|
254
|
+
|
|
255
|
+
## 🌳 Decision Tree (cho bước xử lý kết quả):
|
|
256
|
+
|
|
257
|
+
7. Đọc exit code / status:
|
|
258
|
+
- IF `exit code = 0` + output có data:
|
|
259
|
+
→ Parse kết quả → Hiển thị cho user
|
|
260
|
+
- IF `exit code = 0` + output trống:
|
|
261
|
+
→ Cảnh báo: "Script chạy thành công nhưng không có kết quả"
|
|
262
|
+
→ Hỏi user: "Input có chính xác không?"
|
|
263
|
+
- IF `exit code ≠ 0`:
|
|
264
|
+
→ Đọc stderr → Phân loại lỗi
|
|
265
|
+
→ IF lỗi input → Gợi ý sửa + hỏi chạy lại
|
|
266
|
+
→ IF lỗi hệ thống → Báo user liên hệ admin
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
7. **Tự đánh giá Confidence** (cho skill review/phân tích):
|
|
270
|
+
|
|
271
|
+
```markdown
|
|
272
|
+
8. Đánh giá Confidence Score:
|
|
273
|
+
- 🟢 Cao (≥80%): Output đầy đủ, có dẫn chứng → Giao kết quả
|
|
274
|
+
- 🟡 Trung bình (50-79%): Có phần không chắc → Đánh dấu ⚠️ + giao
|
|
275
|
+
- 🔴 Thấp (<50%): Thiếu quá nhiều thông tin → HỎI LẠI user
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
8. **Tối đa 12 bước** — Nếu >12 → chia nhỏ thành sub-steps hoặc tách skill
|
|
279
|
+
|
|
280
|
+
#### 4.3.4. # Examples — "Show, Don't Tell" (2-3 ví dụ > 50 dòng quy tắc)
|
|
281
|
+
|
|
282
|
+
> **Nguyên tắc tối thượng:** AI là cỗ máy nhận diện mẫu (pattern-matching engine).
|
|
283
|
+
> 2-3 ví dụ hoàn hảo (Input → Output) mang lại hiệu quả cao HƠN NHIỀU so với
|
|
284
|
+
> 50 dòng quy tắc bằng text. Ví dụ = "DNA" của skill.
|
|
285
|
+
|
|
286
|
+
Lấy TRỰC TIẾP từ câu trả lời phỏng vấn (Phase 1). KHÔNG BỊA dữ liệu.
|
|
287
|
+
|
|
288
|
+
**Format ví dụ power (tham khảo `prompt_engineering.md` Nguyên tắc #3):**
|
|
289
|
+
|
|
290
|
+
```markdown
|
|
291
|
+
## Ví dụ 1: [Tên tình huống — Happy path]
|
|
292
|
+
|
|
293
|
+
**Context:** [Tại sao user cần làm việc này — 1 câu]
|
|
294
|
+
|
|
295
|
+
**Input:**
|
|
296
|
+
[Dữ liệu THẬT, CHÍNH XÁC, không placeholder. Copy từ câu trả lời user]
|
|
297
|
+
|
|
298
|
+
**Thought Process:** [OPTIONAL — giải thích AI nên nghĩ gì]
|
|
299
|
+
- Nhận thấy X → Áp dụng quy tắc Y
|
|
300
|
+
- Kiểm tra Z → Kết quả W
|
|
301
|
+
|
|
302
|
+
**Output:**
|
|
303
|
+
[Kết quả CHÍNH XÁC — đây là cái user sẽ thấy]
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
## Ví dụ 2: [Tên tình huống — Edge case / có vấn đề]
|
|
307
|
+
[Tương tự nhưng cho trường hợp bất thường — thiếu data, input lỗi, etc.]
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Chọn ví dụ đúng cách (3 góc độ):**
|
|
311
|
+
|
|
312
|
+
| Ví dụ | Vai trò | AI học được gì |
|
|
313
|
+
| --- | --- | --- |
|
|
314
|
+
| **Ví dụ 1: Happy Path** | Input đầy đủ, mọi thứ bình thường | Output format chuẩn, flow chính |
|
|
315
|
+
| **Ví dụ 2: Edge Case** | Thiếu thông tin, input lỗi, bất thường | Error handling, graceful degradation |
|
|
316
|
+
| **Ví dụ 3: Error Case** (nếu phức tạp) | Lỗi xảy ra, cần recovery | Cách phản ứng khi thất bại |
|
|
317
|
+
|
|
318
|
+
**Hiệu quả theo số lượng ví dụ:**
|
|
319
|
+
|
|
320
|
+
| Số ví dụ | Độ chính xác AI | Ghi chú |
|
|
321
|
+
| --- | --- | --- |
|
|
322
|
+
| 0 | 🔴 ~40% | AI đoán format, thường sai |
|
|
323
|
+
| 1 | 🟡 ~65% | Khá hơn nhưng dễ overfit |
|
|
324
|
+
| 2 | 🟢 ~85% | Đủ để hiểu pattern — KHUYẾN KHÍCH |
|
|
325
|
+
| 3 | 🟢 ~92% | Tối ưu cho hầu hết trường hợp |
|
|
326
|
+
| 5+ | 🟢 ~95% | Diminishing returns, tốn context |
|
|
327
|
+
|
|
328
|
+
#### 4.3.5. # Constraints — Rào chắn an toàn
|
|
329
|
+
|
|
330
|
+
Chuyển đổi từ quy tắc user nói → format skill:
|
|
331
|
+
|
|
332
|
+
| User nói | Constraint viết |
|
|
333
|
+
|---|---|
|
|
334
|
+
| "Không được xóa file gốc" | `🚫 KHÔNG ĐƯỢC xóa file input gốc dưới bất kỳ hình thức nào` |
|
|
335
|
+
| "Phải luôn backup" | `✅ LUÔN LUÔN tạo backup trước khi thao tác destructive` |
|
|
336
|
+
| "Chỉ gửi cho sếp" | `⚠️ Output CHỈ gửi qua kênh [X], KHÔNG chia sẻ nơi khác` |
|
|
337
|
+
| "Không quá 1 trang" | `🚫 KHÔNG ĐƯỢC viết quá [N] từ / [M] dòng` |
|
|
338
|
+
|
|
339
|
+
**Thêm constraints bảo mật tự động nếu skills xử lý:**
|
|
340
|
+
|
|
341
|
+
- Dữ liệu cá nhân → `KHÔNG ĐƯỢC log/print thông tin nhạy cảm`
|
|
342
|
+
- Production → `LUÔN LUÔN yêu cầu xác nhận trước thao tác`
|
|
343
|
+
- API keys → `KHÔNG ĐƯỢC hardcode secrets, dùng environment variables`
|
|
344
|
+
|
|
345
|
+
### 4.4. Sinh Skill Package Hoàn Chỉnh (QUAN TRỌNG)
|
|
346
|
+
|
|
347
|
+
⚠️ **TUYỆT ĐỐI KHÔNG chỉ tạo 1 file SKILL.md đơn lẻ!**
|
|
348
|
+
Mỗi skill phải là 1 **package độc lập**, có cấu trúc thư mục chuẩn:
|
|
349
|
+
|
|
350
|
+
```
|
|
351
|
+
<tên-skill>/
|
|
352
|
+
├── SKILL.md ← 🧠 Bộ não chính (đã tạo ở Phase 4.3)
|
|
353
|
+
├── README.md ← 📖 Hướng dẫn cài đặt + sử dụng
|
|
354
|
+
├── .gitignore ← 🔒 Loại bỏ files không cần thiết
|
|
355
|
+
│
|
|
356
|
+
├── resources/ ← 📚 Tài liệu tham khảo
|
|
357
|
+
│ ├── reference.md ← Kiến thức chuyên ngành
|
|
358
|
+
│ └── templates.md ← Templates cho output (nếu cần)
|
|
359
|
+
│
|
|
360
|
+
├── examples/ ← 🎯 Ví dụ chi tiết
|
|
361
|
+
│ ├── example_happy_path.md ← Ví dụ luồng chính
|
|
362
|
+
│ └── example_edge_case.md ← Ví dụ trường hợp đặc biệt
|
|
363
|
+
│
|
|
364
|
+
├── scripts/ ← 🔧 Scripts hỗ trợ (nếu cần)
|
|
365
|
+
│ └── <tên>_helper.py ← Script Python chuẩn
|
|
366
|
+
│
|
|
367
|
+
└── .agents/workflows/ ← ⚡ Slash commands
|
|
368
|
+
└── run.md ← Workflow chạy skill
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
#### 4.4.1. Tạo README.md cho skill con
|
|
372
|
+
|
|
373
|
+
Mỗi skill PHẢI có README.md riêng:
|
|
374
|
+
|
|
375
|
+
```markdown
|
|
376
|
+
# <icon> <Tên Skill>
|
|
377
|
+
|
|
378
|
+
> <Mô tả 1 câu>
|
|
379
|
+
|
|
380
|
+
## 📋 Skill này làm gì?
|
|
381
|
+
|
|
382
|
+
<Mô tả chi tiết 2-3 câu>
|
|
383
|
+
|
|
384
|
+
## ⚙️ Cài đặt
|
|
385
|
+
|
|
386
|
+
### Antigravity (Global)
|
|
387
|
+
\```bash
|
|
388
|
+
git clone <repo-url> ~/.gemini/antigravity/skills/<tên-skill>
|
|
389
|
+
\```
|
|
390
|
+
|
|
391
|
+
### Antigravity (Workspace)
|
|
392
|
+
\```bash
|
|
393
|
+
git clone <repo-url> .agent/skills/<tên-skill>
|
|
394
|
+
\```
|
|
395
|
+
|
|
396
|
+
## 🚀 Cách sử dụng
|
|
397
|
+
|
|
398
|
+
\```
|
|
399
|
+
Bạn: <câu trigger mẫu>
|
|
400
|
+
AI: <phản hồi mẫu ngắn>
|
|
401
|
+
\```
|
|
402
|
+
|
|
403
|
+
## 📁 Cấu trúc
|
|
404
|
+
|
|
405
|
+
\```text
|
|
406
|
+
<tên-skill>/
|
|
407
|
+
├── SKILL.md ← Bộ não chính
|
|
408
|
+
├── README.md ← File này
|
|
409
|
+
├── resources/ ← Tài liệu tham khảo
|
|
410
|
+
├── examples/ ← Ví dụ chi tiết
|
|
411
|
+
└── scripts/ ← Scripts hỗ trợ (nếu có)
|
|
412
|
+
\```
|
|
413
|
+
|
|
414
|
+
## 📦 Nguồn gốc
|
|
415
|
+
|
|
416
|
+
> Generated by [Skill Creator Ultra v1.0](https://github.com/marketingjuliancongdanh79-pixel/skill-generator)
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
#### 4.4.2. Tạo resources/ — Tài liệu tham khảo
|
|
420
|
+
|
|
421
|
+
Tạo ÍT NHẤT 1 file trong `resources/`:
|
|
422
|
+
|
|
423
|
+
| Trường hợp | File tạo | Nội dung |
|
|
424
|
+
|---|---|---|
|
|
425
|
+
| Skill có domain knowledge | `reference.md` | Kiến thức chuyên ngành cần thiết |
|
|
426
|
+
| Skill cần output format | `templates.md` | Templates cho output (email, báo cáo...) |
|
|
427
|
+
| Skill có bảng giá/dữ liệu | `data.md` | Bảng dữ liệu tham khảo |
|
|
428
|
+
| Skill có quy tắc phức tạp | `rules.md` | Quy tắc chi tiết mà SKILL.md quá dài |
|
|
429
|
+
|
|
430
|
+
**Quy tắc viết resources:**
|
|
431
|
+
|
|
432
|
+
- Đủ chi tiết để AI hiểu KHÔNG cần hỏi user
|
|
433
|
+
- Có structure rõ ràng (headings, tables, bullet points)
|
|
434
|
+
- Reference trong SKILL.md: `📚 Tham khảo resources/<filename>.md`
|
|
435
|
+
|
|
436
|
+
#### 4.4.3. Tạo examples/ — Ví dụ chi tiết tách riêng
|
|
437
|
+
|
|
438
|
+
Tạo ÍT NHẤT 2 files:
|
|
439
|
+
|
|
440
|
+
**File 1: `example_happy_path.md`**
|
|
441
|
+
|
|
442
|
+
```markdown
|
|
443
|
+
# Ví dụ: <Tên tình huống chính>
|
|
444
|
+
|
|
445
|
+
## Tình huống
|
|
446
|
+
<Mô tả ngữ cảnh>
|
|
447
|
+
|
|
448
|
+
## Input
|
|
449
|
+
\```
|
|
450
|
+
<Dữ liệu input mẫu thực tế>
|
|
451
|
+
\```
|
|
452
|
+
|
|
453
|
+
## Thought Process
|
|
454
|
+
- Bước 1: Phân tích → nhận thấy [X]
|
|
455
|
+
- Bước 2: Quyết định → chọn [Y] vì [Z]
|
|
456
|
+
- Bước 3: Thực thi → tạo output theo format
|
|
457
|
+
|
|
458
|
+
## Output
|
|
459
|
+
\```
|
|
460
|
+
<Kết quả output mẫu thực tế>
|
|
461
|
+
\```
|
|
462
|
+
|
|
463
|
+
## Tại sao output như vậy?
|
|
464
|
+
<Giải thích logic cho AI hiểu>
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
**File 2: `example_edge_case.md`** — Tương tự nhưng với trường hợp đặc biệt.
|
|
468
|
+
|
|
469
|
+
#### 4.4.4. Tạo scripts/ (nếu skill cần thao tác hệ thống)
|
|
470
|
+
|
|
471
|
+
📚 Tham khảo `resources/script_integration.md` cho hướng dẫn chi tiết.
|
|
472
|
+
|
|
473
|
+
**Template script chuẩn:**
|
|
474
|
+
|
|
475
|
+
```python
|
|
476
|
+
#!/usr/bin/env python3
|
|
477
|
+
"""
|
|
478
|
+
<tên>_helper.py — <Mô tả ngắn>
|
|
479
|
+
|
|
480
|
+
Sử dụng:
|
|
481
|
+
python <tên>_helper.py <input> [options]
|
|
482
|
+
python <tên>_helper.py --help
|
|
483
|
+
python <tên>_helper.py --dry-run <input>
|
|
484
|
+
"""
|
|
485
|
+
|
|
486
|
+
import sys
|
|
487
|
+
import argparse
|
|
488
|
+
|
|
489
|
+
def main():
|
|
490
|
+
parser = argparse.ArgumentParser(description="<Mô tả>")
|
|
491
|
+
parser.add_argument('input', help='Input file hoặc data')
|
|
492
|
+
parser.add_argument('--dry-run', action='store_true', help='Chạy thử')
|
|
493
|
+
parser.add_argument('--verbose', '-v', action='store_true', help='Chi tiết')
|
|
494
|
+
args = parser.parse_args()
|
|
495
|
+
|
|
496
|
+
if args.dry_run:
|
|
497
|
+
print(f"[DRY RUN] Sẽ xử lý: {args.input}")
|
|
498
|
+
return
|
|
499
|
+
|
|
500
|
+
# TODO: Logic chính
|
|
501
|
+
print(f"Đang xử lý: {args.input}")
|
|
502
|
+
|
|
503
|
+
if __name__ == '__main__':
|
|
504
|
+
main()
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
**Bắt buộc:** Mọi script PHẢI có `--help` và `--dry-run`.
|
|
508
|
+
|
|
509
|
+
#### 4.4.5. Tạo .agents/workflows/ — Slash commands
|
|
510
|
+
|
|
511
|
+
Tạo 1 file `run.md` để user dùng `/run` kích hoạt skill:
|
|
512
|
+
|
|
513
|
+
```markdown
|
|
514
|
+
---
|
|
515
|
+
description: <icon> <Mô tả skill 1 câu>
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
# <Tên Skill>
|
|
519
|
+
|
|
520
|
+
// turbo
|
|
521
|
+
1. Chạy skill theo hướng dẫn trong SKILL.md
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
#### 4.4.6. Tạo .gitignore
|
|
525
|
+
|
|
526
|
+
```
|
|
527
|
+
# OS files
|
|
528
|
+
.DS_Store
|
|
529
|
+
Thumbs.db
|
|
530
|
+
|
|
531
|
+
# Editor files
|
|
532
|
+
*.swp
|
|
533
|
+
*.swo
|
|
534
|
+
*~
|
|
535
|
+
|
|
536
|
+
# Python
|
|
537
|
+
__pycache__/
|
|
538
|
+
*.pyc
|
|
539
|
+
|
|
540
|
+
# Temp
|
|
541
|
+
*.tmp
|
|
542
|
+
*.bak
|
|
543
|
+
```
|