apero-kit-cli 1.0.0 → 1.2.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/package.json +2 -1
- package/src/commands/init.js +6 -3
- package/src/utils/paths.js +36 -7
- package/templates/AGENTS.md +104 -0
- package/templates/README.md +241 -0
- package/templates/agents/README.md +172 -0
- package/templates/agents/brainstormer.md +108 -0
- package/templates/agents/code-reviewer.md +172 -0
- package/templates/agents/code-simplifier.md +96 -0
- package/templates/agents/copywriter.md +113 -0
- package/templates/agents/database-admin.md +97 -0
- package/templates/agents/debugger.md +142 -0
- package/templates/agents/docs-manager.md +158 -0
- package/templates/agents/fullstack-developer.md +95 -0
- package/templates/agents/git-manager.md +394 -0
- package/templates/agents/journal-writer.md +119 -0
- package/templates/agents/mcp-manager.md +93 -0
- package/templates/agents/planner.md +113 -0
- package/templates/agents/project-manager.md +129 -0
- package/templates/agents/researcher.md +43 -0
- package/templates/agents/scout-external.md +146 -0
- package/templates/agents/scout.md +260 -0
- package/templates/agents/tester.md +110 -0
- package/templates/agents/ui-ux-designer.md +238 -0
- package/templates/commands/README.md +251 -0
- package/templates/commands/ask.md +56 -0
- package/templates/commands/bootstrap/auto/fast.md +111 -0
- package/templates/commands/bootstrap/auto/parallel.md +66 -0
- package/templates/commands/bootstrap/auto.md +115 -0
- package/templates/commands/bootstrap.md +137 -0
- package/templates/commands/brainstorm.md +74 -0
- package/templates/commands/build.md +39 -0
- package/templates/commands/checkpoint.md +156 -0
- package/templates/commands/ck-help.md +113 -0
- package/templates/commands/code/auto.md +170 -0
- package/templates/commands/code/no-test.md +158 -0
- package/templates/commands/code/parallel.md +55 -0
- package/templates/commands/code-simplifier.md +71 -0
- package/templates/commands/code.md +176 -0
- package/templates/commands/coding-level.md +48 -0
- package/templates/commands/compact.md +57 -0
- package/templates/commands/content/cro.md +43 -0
- package/templates/commands/content/enhance.md +14 -0
- package/templates/commands/content/fast.md +13 -0
- package/templates/commands/content/good.md +16 -0
- package/templates/commands/context.md +48 -0
- package/templates/commands/cook/auto/fast.md +26 -0
- package/templates/commands/cook/auto/parallel.md +49 -0
- package/templates/commands/cook/auto.md +15 -0
- package/templates/commands/cook/fast.md +47 -0
- package/templates/commands/cook/hard.md +80 -0
- package/templates/commands/cook/parallel.md +90 -0
- package/templates/commands/cook.md +105 -0
- package/templates/commands/create-feature.md +48 -0
- package/templates/commands/db-migrate.md +52 -0
- package/templates/commands/debug.md +13 -0
- package/templates/commands/design/3d.md +83 -0
- package/templates/commands/design/describe.md +23 -0
- package/templates/commands/design/fast.md +31 -0
- package/templates/commands/design/good.md +35 -0
- package/templates/commands/design/screenshot.md +34 -0
- package/templates/commands/design/video.md +34 -0
- package/templates/commands/docs/init.md +39 -0
- package/templates/commands/docs/summarize.md +31 -0
- package/templates/commands/docs/update.md +57 -0
- package/templates/commands/feature.md +62 -0
- package/templates/commands/fix/ci.md +17 -0
- package/templates/commands/fix/fast.md +19 -0
- package/templates/commands/fix/hard.md +39 -0
- package/templates/commands/fix/logs.md +26 -0
- package/templates/commands/fix/parallel.md +54 -0
- package/templates/commands/fix/test.md +20 -0
- package/templates/commands/fix/types.md +9 -0
- package/templates/commands/fix/ui.md +48 -0
- package/templates/commands/fix-issue.md +177 -0
- package/templates/commands/fix.md +43 -0
- package/templates/commands/generate-dto.md +67 -0
- package/templates/commands/git/cm.md +5 -0
- package/templates/commands/git/cp.md +4 -0
- package/templates/commands/git/merge.md +40 -0
- package/templates/commands/git/pr.md +48 -0
- package/templates/commands/integrate/polar.md +28 -0
- package/templates/commands/integrate/sepay.md +28 -0
- package/templates/commands/investigate.md +324 -0
- package/templates/commands/journal.md +7 -0
- package/templates/commands/kanban.md +101 -0
- package/templates/commands/lint.md +47 -0
- package/templates/commands/migration.md +111 -0
- package/templates/commands/performance.md +110 -0
- package/templates/commands/plan/archive.md +57 -0
- package/templates/commands/plan/ci.md +33 -0
- package/templates/commands/plan/cro.md +69 -0
- package/templates/commands/plan/fast.md +86 -0
- package/templates/commands/plan/hard.md +103 -0
- package/templates/commands/plan/parallel.md +152 -0
- package/templates/commands/plan/preview.md +40 -0
- package/templates/commands/plan/two.md +52 -0
- package/templates/commands/plan/validate.md +132 -0
- package/templates/commands/plan.md +36 -0
- package/templates/commands/pr.md +49 -0
- package/templates/commands/preview.md +87 -0
- package/templates/commands/release-notes.md +144 -0
- package/templates/commands/review/codebase.md +49 -0
- package/templates/commands/review/post-task.md +157 -0
- package/templates/commands/review-changes.md +46 -0
- package/templates/commands/review.md +56 -0
- package/templates/commands/scout/ext.md +35 -0
- package/templates/commands/scout.md +283 -0
- package/templates/commands/security.md +119 -0
- package/templates/commands/skill/add.md +36 -0
- package/templates/commands/skill/create.md +29 -0
- package/templates/commands/skill/fix-logs.md +22 -0
- package/templates/commands/skill/optimize/auto.md +25 -0
- package/templates/commands/skill/optimize.md +34 -0
- package/templates/commands/skill/plan.md +45 -0
- package/templates/commands/test/ui.md +92 -0
- package/templates/commands/test.md +8 -0
- package/templates/commands/use-mcp.md +34 -0
- package/templates/commands/watzup.md +8 -0
- package/templates/commands/worktree.md +126 -0
- package/templates/hooks/.python-cache.json +1 -0
- package/templates/hooks/README.md +246 -0
- package/templates/hooks/backend-csharp-context.cjs +223 -0
- package/templates/hooks/design-system-context.cjs +185 -0
- package/templates/hooks/dev-rules-reminder.cjs +249 -0
- package/templates/hooks/docs/README.md +179 -0
- package/templates/hooks/frontend-typescript-context.cjs +233 -0
- package/templates/hooks/lib/__tests__/ck-config-utils.test.cjs +169 -0
- package/templates/hooks/lib/ck-config-utils.cjs +706 -0
- package/templates/hooks/lib/ck-paths.cjs +110 -0
- package/templates/hooks/lib/context-tracker.cjs +335 -0
- package/templates/hooks/notifications/.env.example +21 -0
- package/templates/hooks/notifications/discord_notify.sh +221 -0
- package/templates/hooks/notifications/docs/discord-hook-setup.md +445 -0
- package/templates/hooks/notifications/docs/slack-hook-setup.md +118 -0
- package/templates/hooks/notifications/docs/telegram-hook-setup.md +795 -0
- package/templates/hooks/notifications/lib/env-loader.cjs +105 -0
- package/templates/hooks/notifications/lib/sender.cjs +128 -0
- package/templates/hooks/notifications/notify.cjs +156 -0
- package/templates/hooks/notifications/providers/discord.cjs +197 -0
- package/templates/hooks/notifications/providers/slack.cjs +111 -0
- package/templates/hooks/notifications/providers/telegram.cjs +109 -0
- package/templates/hooks/notifications/send-discord.sh +75 -0
- package/templates/hooks/notifications/telegram_notify.sh +124 -0
- package/templates/hooks/notify-waiting.js +117 -0
- package/templates/hooks/post-edit-prettier.cjs +189 -0
- package/templates/hooks/post-task-review.cjs +142 -0
- package/templates/hooks/privacy-block.cjs +257 -0
- package/templates/hooks/scout-block/broad-pattern-detector.cjs +266 -0
- package/templates/hooks/scout-block/error-formatter.cjs +156 -0
- package/templates/hooks/scout-block/path-extractor.cjs +238 -0
- package/templates/hooks/scout-block/pattern-matcher.cjs +184 -0
- package/templates/hooks/scout-block/tests/test-broad-pattern-detector.js +225 -0
- package/templates/hooks/scout-block/tests/test-build-command-allowlist.js +137 -0
- package/templates/hooks/scout-block/tests/test-error-formatter.js +109 -0
- package/templates/hooks/scout-block/tests/test-full-flow-edge-cases.js +75 -0
- package/templates/hooks/scout-block/tests/test-monorepo-scenarios.js +225 -0
- package/templates/hooks/scout-block/tests/test-path-extractor.js +138 -0
- package/templates/hooks/scout-block/tests/test-pattern-matcher.js +64 -0
- package/templates/hooks/scout-block/vendor/ignore.js +627 -0
- package/templates/hooks/scout-block.cjs +134 -0
- package/templates/hooks/scss-styling-context.cjs +213 -0
- package/templates/hooks/session-end.cjs +35 -0
- package/templates/hooks/session-init.cjs +493 -0
- package/templates/hooks/subagent-init.cjs +150 -0
- package/templates/hooks/tests/test-ckignore.js +194 -0
- package/templates/hooks/tests/test-context-tracker.cjs +454 -0
- package/templates/hooks/tests/test-modularization-hook.js +126 -0
- package/templates/hooks/tests/test-privacy-block.js +298 -0
- package/templates/hooks/tests/test-scout-block.js +163 -0
- package/templates/hooks/workflow-router.cjs +326 -0
- package/templates/hooks/write-compact-marker.cjs +159 -0
- package/templates/memory/session-log.md +186 -0
- package/templates/output-styles/coding-level-0-eli5.md +103 -0
- package/templates/output-styles/coding-level-1-junior.md +124 -0
- package/templates/output-styles/coding-level-2-mid.md +146 -0
- package/templates/output-styles/coding-level-3-senior.md +148 -0
- package/templates/output-styles/coding-level-4-lead.md +159 -0
- package/templates/output-styles/coding-level-5-god.md +91 -0
- package/templates/router/README.md +294 -0
- package/templates/router/agents-guide.md +38 -0
- package/templates/router/commands-guide.md +122 -0
- package/templates/router/decision-flow.md +92 -0
- package/templates/router/skills-guide.md +127 -0
- package/templates/router/workflows-guide.md +68 -0
- package/templates/scripts/README.md +254 -0
- package/templates/scripts/__pycache__/win_compat.cpython-312.pyc +0 -0
- package/templates/scripts/ck-help.py +869 -0
- package/templates/scripts/commands_data.yaml +621 -0
- package/templates/scripts/generate_catalogs.py +168 -0
- package/templates/scripts/plan-preview.cjs +367 -0
- package/templates/scripts/requirements.txt +1 -0
- package/templates/scripts/resolve_env.py +329 -0
- package/templates/scripts/scan_commands.py +107 -0
- package/templates/scripts/scan_skills.py +197 -0
- package/templates/scripts/set-active-plan.cjs +45 -0
- package/templates/scripts/skills_data.yaml +596 -0
- package/templates/scripts/win_compat.py +57 -0
- package/templates/scripts/worktree.cjs +657 -0
- package/templates/scripts/worktree.test.cjs +334 -0
- package/templates/settings.json +242 -0
- package/templates/skills/.env.example +100 -0
- package/templates/skills/INSTALLATION.md +360 -0
- package/templates/skills/README.md +309 -0
- package/templates/skills/agent_skills_spec.md +55 -0
- package/templates/skills/ai-artist/SKILL.md +75 -0
- package/templates/skills/ai-artist/references/advanced-techniques.md +184 -0
- package/templates/skills/ai-artist/references/domain-code.md +66 -0
- package/templates/skills/ai-artist/references/domain-data.md +72 -0
- package/templates/skills/ai-artist/references/domain-marketing.md +66 -0
- package/templates/skills/ai-artist/references/domain-patterns.md +33 -0
- package/templates/skills/ai-artist/references/domain-writing.md +68 -0
- package/templates/skills/ai-artist/references/image-prompting.md +141 -0
- package/templates/skills/ai-artist/references/llm-prompting.md +165 -0
- package/templates/skills/ai-artist/references/nano-banana.md +59 -0
- package/templates/skills/ai-artist/references/reasoning-techniques.md +201 -0
- package/templates/skills/ai-multimodal/.env.example +204 -0
- package/templates/skills/ai-multimodal/SKILL.md +109 -0
- package/templates/skills/ai-multimodal/references/audio-processing.md +387 -0
- package/templates/skills/ai-multimodal/references/image-generation.md +939 -0
- package/templates/skills/ai-multimodal/references/music-generation.md +311 -0
- package/templates/skills/ai-multimodal/references/video-analysis.md +515 -0
- package/templates/skills/ai-multimodal/references/video-generation.md +457 -0
- package/templates/skills/ai-multimodal/references/vision-understanding.md +492 -0
- package/templates/skills/ai-multimodal/scripts/.coverage +0 -0
- package/templates/skills/ai-multimodal/scripts/check_setup.py +305 -0
- package/templates/skills/ai-multimodal/scripts/document_converter.py +395 -0
- package/templates/skills/ai-multimodal/scripts/gemini_batch_process.py +1184 -0
- package/templates/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/templates/skills/ai-multimodal/scripts/requirements.txt +26 -0
- package/templates/skills/ai-multimodal/scripts/tests/.coverage +0 -0
- package/templates/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/templates/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/templates/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/templates/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/templates/skills/arch-cross-service-integration/SKILL.md +48 -0
- package/templates/skills/arch-performance-optimization/SKILL.md +306 -0
- package/templates/skills/arch-security-review/SKILL.md +344 -0
- package/templates/skills/backend-development/SKILL.md +95 -0
- package/templates/skills/backend-development/references/backend-api-design.md +495 -0
- package/templates/skills/backend-development/references/backend-architecture.md +454 -0
- package/templates/skills/backend-development/references/backend-authentication.md +338 -0
- package/templates/skills/backend-development/references/backend-code-quality.md +659 -0
- package/templates/skills/backend-development/references/backend-debugging.md +904 -0
- package/templates/skills/backend-development/references/backend-devops.md +494 -0
- package/templates/skills/backend-development/references/backend-mindset.md +387 -0
- package/templates/skills/backend-development/references/backend-performance.md +397 -0
- package/templates/skills/backend-development/references/backend-security.md +290 -0
- package/templates/skills/backend-development/references/backend-technologies.md +256 -0
- package/templates/skills/backend-development/references/backend-testing.md +429 -0
- package/templates/skills/better-auth/SKILL.md +204 -0
- package/templates/skills/better-auth/references/advanced-features.md +553 -0
- package/templates/skills/better-auth/references/database-integration.md +577 -0
- package/templates/skills/better-auth/references/email-password-auth.md +416 -0
- package/templates/skills/better-auth/references/oauth-providers.md +430 -0
- package/templates/skills/better-auth/scripts/.coverage +0 -0
- package/templates/skills/better-auth/scripts/better_auth_init.py +521 -0
- package/templates/skills/better-auth/scripts/requirements.txt +15 -0
- package/templates/skills/better-auth/scripts/tests/.coverage +0 -0
- package/templates/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/templates/skills/branch-comparison/SKILL.md +150 -0
- package/templates/skills/bug-diagnosis/SKILL.md +309 -0
- package/templates/skills/chrome-devtools/SKILL.md +472 -0
- package/templates/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/templates/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/templates/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/templates/skills/chrome-devtools/scripts/README.md +272 -0
- package/templates/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/templates/skills/chrome-devtools/scripts/aria-snapshot.js +362 -0
- package/templates/skills/chrome-devtools/scripts/click.js +83 -0
- package/templates/skills/chrome-devtools/scripts/console.js +79 -0
- package/templates/skills/chrome-devtools/scripts/evaluate.js +53 -0
- package/templates/skills/chrome-devtools/scripts/fill.js +76 -0
- package/templates/skills/chrome-devtools/scripts/inject-auth.js +229 -0
- package/templates/skills/chrome-devtools/scripts/install-deps.sh +181 -0
- package/templates/skills/chrome-devtools/scripts/install.sh +83 -0
- package/templates/skills/chrome-devtools/scripts/lib/browser.js +318 -0
- package/templates/skills/chrome-devtools/scripts/lib/selector.js +178 -0
- package/templates/skills/chrome-devtools/scripts/navigate.js +54 -0
- package/templates/skills/chrome-devtools/scripts/network.js +106 -0
- package/templates/skills/chrome-devtools/scripts/package.json +16 -0
- package/templates/skills/chrome-devtools/scripts/performance.js +149 -0
- package/templates/skills/chrome-devtools/scripts/screenshot.js +198 -0
- package/templates/skills/chrome-devtools/scripts/select-ref.js +131 -0
- package/templates/skills/chrome-devtools/scripts/snapshot.js +135 -0
- package/templates/skills/claude-code/references/advanced-features.md +399 -0
- package/templates/skills/claude-code/references/agent-skills.md +399 -0
- package/templates/skills/claude-code/references/api-reference.md +498 -0
- package/templates/skills/claude-code/references/best-practices.md +447 -0
- package/templates/skills/claude-code/references/cicd-integration.md +428 -0
- package/templates/skills/claude-code/references/common-workflows.md +119 -0
- package/templates/skills/claude-code/references/configuration.md +480 -0
- package/templates/skills/claude-code/references/enterprise-features.md +472 -0
- package/templates/skills/claude-code/references/getting-started.md +252 -0
- package/templates/skills/claude-code/references/hooks-and-plugins.md +444 -0
- package/templates/skills/claude-code/references/hooks-comprehensive.md +622 -0
- package/templates/skills/claude-code/references/ide-integration.md +316 -0
- package/templates/skills/claude-code/references/mcp-integration.md +386 -0
- package/templates/skills/claude-code/references/slash-commands.md +489 -0
- package/templates/skills/claude-code/references/troubleshooting.md +456 -0
- package/templates/skills/claude-code/skill.md +60 -0
- package/templates/skills/code-review/SKILL.md +143 -0
- package/templates/skills/code-review/references/code-review-reception.md +209 -0
- package/templates/skills/code-review/references/requesting-code-review.md +105 -0
- package/templates/skills/code-review/references/verification-before-completion.md +139 -0
- package/templates/skills/databases/SKILL.md +232 -0
- package/templates/skills/databases/references/mongodb-aggregation.md +447 -0
- package/templates/skills/databases/references/mongodb-atlas.md +465 -0
- package/templates/skills/databases/references/mongodb-crud.md +408 -0
- package/templates/skills/databases/references/mongodb-indexing.md +442 -0
- package/templates/skills/databases/references/postgresql-administration.md +594 -0
- package/templates/skills/databases/references/postgresql-performance.md +527 -0
- package/templates/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/templates/skills/databases/references/postgresql-queries.md +475 -0
- package/templates/skills/databases/scripts/.coverage +0 -0
- package/templates/skills/databases/scripts/db_backup.py +502 -0
- package/templates/skills/databases/scripts/db_migrate.py +425 -0
- package/templates/skills/databases/scripts/db_performance_check.py +456 -0
- package/templates/skills/databases/scripts/requirements.txt +20 -0
- package/templates/skills/databases/scripts/tests/coverage-db.json +1 -0
- package/templates/skills/databases/scripts/tests/requirements.txt +4 -0
- package/templates/skills/databases/scripts/tests/test_db_backup.py +340 -0
- package/templates/skills/databases/scripts/tests/test_db_migrate.py +277 -0
- package/templates/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/templates/skills/debugging/SKILL.md +84 -0
- package/templates/skills/debugging/references/defense-in-depth.md +124 -0
- package/templates/skills/debugging/references/root-cause-tracing.md +122 -0
- package/templates/skills/debugging/references/systematic-debugging.md +102 -0
- package/templates/skills/debugging/references/verification.md +123 -0
- package/templates/skills/debugging/scripts/find-polluter.sh +63 -0
- package/templates/skills/debugging/scripts/find-polluter.test.md +102 -0
- package/templates/skills/developer-growth-analysis/SKILL.md +322 -0
- package/templates/skills/devops/.env.example +76 -0
- package/templates/skills/devops/SKILL.md +285 -0
- package/templates/skills/devops/references/browser-rendering.md +305 -0
- package/templates/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/templates/skills/devops/references/cloudflare-platform.md +271 -0
- package/templates/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/templates/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/templates/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/templates/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/templates/skills/devops/references/docker-basics.md +297 -0
- package/templates/skills/devops/references/docker-compose.md +292 -0
- package/templates/skills/devops/references/gcloud-platform.md +297 -0
- package/templates/skills/devops/references/gcloud-services.md +304 -0
- package/templates/skills/devops/scripts/cloudflare_deploy.py +269 -0
- package/templates/skills/devops/scripts/docker_optimize.py +331 -0
- package/templates/skills/devops/scripts/requirements.txt +20 -0
- package/templates/skills/devops/scripts/tests/requirements.txt +3 -0
- package/templates/skills/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/templates/skills/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/templates/skills/docs-seeker/.env.example +15 -0
- package/templates/skills/docs-seeker/SKILL.md +97 -0
- package/templates/skills/docs-seeker/package.json +25 -0
- package/templates/skills/docs-seeker/references/advanced.md +79 -0
- package/templates/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/templates/skills/docs-seeker/references/errors.md +68 -0
- package/templates/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/templates/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/templates/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/templates/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
- package/templates/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/templates/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/templates/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/templates/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/templates/skills/docs-seeker/workflows/library-search.md +87 -0
- package/templates/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/templates/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/templates/skills/document-skills/docx/LICENSE.txt +30 -0
- package/templates/skills/document-skills/docx/SKILL.md +197 -0
- package/templates/skills/document-skills/docx/docx-js.md +350 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/templates/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/templates/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/templates/skills/document-skills/docx/ooxml.md +610 -0
- package/templates/skills/document-skills/docx/scripts/__init__.py +1 -0
- package/templates/skills/document-skills/docx/scripts/document.py +1276 -0
- package/templates/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/templates/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/templates/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/templates/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/templates/skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/templates/skills/document-skills/docx/scripts/utilities.py +374 -0
- package/templates/skills/document-skills/pdf/LICENSE.txt +30 -0
- package/templates/skills/document-skills/pdf/SKILL.md +294 -0
- package/templates/skills/document-skills/pdf/forms.md +205 -0
- package/templates/skills/document-skills/pdf/reference.md +612 -0
- package/templates/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/templates/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/templates/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/templates/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/templates/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/templates/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/templates/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/templates/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/templates/skills/document-skills/pptx/LICENSE.txt +30 -0
- package/templates/skills/document-skills/pptx/SKILL.md +484 -0
- package/templates/skills/document-skills/pptx/html2pptx.md +625 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/templates/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/templates/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/templates/skills/document-skills/pptx/ooxml.md +427 -0
- package/templates/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/templates/skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/templates/skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/templates/skills/document-skills/pptx/scripts/replace.py +385 -0
- package/templates/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/templates/skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/templates/skills/document-skills/xlsx/SKILL.md +289 -0
- package/templates/skills/document-skills/xlsx/recalc.py +190 -0
- package/templates/skills/documentation/SKILL.md +134 -0
- package/templates/skills/domain-name-brainstormer/SKILL.md +212 -0
- package/templates/skills/dual-pass-review/SKILL.md +249 -0
- package/templates/skills/feature-docs/SKILL.md +294 -0
- package/templates/skills/feature-implementation/SKILL.md +262 -0
- package/templates/skills/feature-investigation/SKILL.md +346 -0
- package/templates/skills/frontend-design/SKILL.md +91 -0
- package/templates/skills/frontend-design/references/ai-multimodal-overview.md +165 -0
- package/templates/skills/frontend-design/references/analysis-best-practices.md +80 -0
- package/templates/skills/frontend-design/references/analysis-prompts.md +141 -0
- package/templates/skills/frontend-design/references/analysis-techniques.md +118 -0
- package/templates/skills/frontend-design/references/animejs.md +396 -0
- package/templates/skills/frontend-design/references/asset-generation.md +337 -0
- package/templates/skills/frontend-design/references/design-extraction-overview.md +71 -0
- package/templates/skills/frontend-design/references/extraction-best-practices.md +141 -0
- package/templates/skills/frontend-design/references/extraction-output-templates.md +162 -0
- package/templates/skills/frontend-design/references/extraction-prompts.md +127 -0
- package/templates/skills/frontend-design/references/technical-accessibility.md +119 -0
- package/templates/skills/frontend-design/references/technical-best-practices.md +97 -0
- package/templates/skills/frontend-design/references/technical-optimization.md +44 -0
- package/templates/skills/frontend-design/references/technical-overview.md +90 -0
- package/templates/skills/frontend-design/references/technical-workflows.md +150 -0
- package/templates/skills/frontend-design/references/visual-analysis-overview.md +95 -0
- package/templates/skills/frontend-design-pro/SKILL.md +58 -0
- package/templates/skills/frontend-development/SKILL.md +399 -0
- package/templates/skills/frontend-development/resources/common-patterns.md +331 -0
- package/templates/skills/frontend-development/resources/complete-examples.md +872 -0
- package/templates/skills/frontend-development/resources/component-patterns.md +502 -0
- package/templates/skills/frontend-development/resources/data-fetching.md +767 -0
- package/templates/skills/frontend-development/resources/file-organization.md +502 -0
- package/templates/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/templates/skills/frontend-development/resources/performance.md +406 -0
- package/templates/skills/frontend-development/resources/routing-guide.md +364 -0
- package/templates/skills/frontend-development/resources/styling-guide.md +428 -0
- package/templates/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/templates/skills/google-adk-python/SKILL.md +237 -0
- package/templates/skills/install.ps1 +1220 -0
- package/templates/skills/install.sh +1032 -0
- package/templates/skills/mcp-builder/LICENSE.txt +202 -0
- package/templates/skills/mcp-builder/SKILL.md +328 -0
- package/templates/skills/mcp-builder/reference/evaluation.md +602 -0
- package/templates/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/templates/skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/templates/skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/templates/skills/mcp-builder/scripts/connections.py +151 -0
- package/templates/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/templates/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/templates/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/templates/skills/mcp-management/README.md +219 -0
- package/templates/skills/mcp-management/SKILL.md +209 -0
- package/templates/skills/mcp-management/assets/tools.json +3146 -0
- package/templates/skills/mcp-management/references/configuration.md +114 -0
- package/templates/skills/mcp-management/references/gemini-cli-integration.md +215 -0
- package/templates/skills/mcp-management/references/mcp-protocol.md +116 -0
- package/templates/skills/mcp-management/scripts/.env.example +10 -0
- package/templates/skills/mcp-management/scripts/cli.ts +195 -0
- package/templates/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/templates/skills/mcp-management/scripts/dist/cli.js +160 -0
- package/templates/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/templates/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/templates/skills/mcp-management/scripts/package.json +20 -0
- package/templates/skills/mcp-management/scripts/tsconfig.json +15 -0
- package/templates/skills/media-processing/SKILL.md +91 -0
- package/templates/skills/media-processing/references/common-workflows.md +132 -0
- package/templates/skills/media-processing/references/ffmpeg-encoding.md +358 -0
- package/templates/skills/media-processing/references/ffmpeg-filters.md +503 -0
- package/templates/skills/media-processing/references/ffmpeg-streaming.md +403 -0
- package/templates/skills/media-processing/references/format-compatibility.md +375 -0
- package/templates/skills/media-processing/references/imagemagick-batch.md +612 -0
- package/templates/skills/media-processing/references/imagemagick-editing.md +623 -0
- package/templates/skills/media-processing/references/rmbg-background-removal.md +66 -0
- package/templates/skills/media-processing/references/troubleshooting.md +109 -0
- package/templates/skills/media-processing/scripts/README.md +111 -0
- package/templates/skills/media-processing/scripts/batch-remove-background.sh +124 -0
- package/templates/skills/media-processing/scripts/batch_resize.py +342 -0
- package/templates/skills/media-processing/scripts/media_convert.py +311 -0
- package/templates/skills/media-processing/scripts/remove-background.sh +96 -0
- package/templates/skills/media-processing/scripts/remove-bg-node.js +158 -0
- package/templates/skills/media-processing/scripts/requirements.txt +24 -0
- package/templates/skills/media-processing/scripts/tests/.coverage +0 -0
- package/templates/skills/media-processing/scripts/tests/requirements.txt +2 -0
- package/templates/skills/media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/templates/skills/media-processing/scripts/tests/test_media_convert.py +259 -0
- package/templates/skills/media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/templates/skills/media-processing/scripts/video_optimize.py +414 -0
- package/templates/skills/mobile-development/SKILL.md +212 -0
- package/templates/skills/mobile-development/references/mobile-android.md +604 -0
- package/templates/skills/mobile-development/references/mobile-best-practices.md +545 -0
- package/templates/skills/mobile-development/references/mobile-debugging.md +1089 -0
- package/templates/skills/mobile-development/references/mobile-frameworks.md +465 -0
- package/templates/skills/mobile-development/references/mobile-ios.md +496 -0
- package/templates/skills/mobile-development/references/mobile-mindset.md +544 -0
- package/templates/skills/package-upgrade/SKILL.md +189 -0
- package/templates/skills/payment-integration/README.md +185 -0
- package/templates/skills/payment-integration/SKILL.md +118 -0
- package/templates/skills/payment-integration/references/polar/benefits.md +396 -0
- package/templates/skills/payment-integration/references/polar/best-practices.md +482 -0
- package/templates/skills/payment-integration/references/polar/checkouts.md +266 -0
- package/templates/skills/payment-integration/references/polar/overview.md +184 -0
- package/templates/skills/payment-integration/references/polar/products.md +244 -0
- package/templates/skills/payment-integration/references/polar/sdk.md +436 -0
- package/templates/skills/payment-integration/references/polar/subscriptions.md +340 -0
- package/templates/skills/payment-integration/references/polar/webhooks.md +405 -0
- package/templates/skills/payment-integration/references/sepay/api.md +140 -0
- package/templates/skills/payment-integration/references/sepay/best-practices.md +337 -0
- package/templates/skills/payment-integration/references/sepay/overview.md +138 -0
- package/templates/skills/payment-integration/references/sepay/qr-codes.md +228 -0
- package/templates/skills/payment-integration/references/sepay/sdk.md +213 -0
- package/templates/skills/payment-integration/references/sepay/webhooks.md +208 -0
- package/templates/skills/payment-integration/scripts/.env.example +20 -0
- package/templates/skills/payment-integration/scripts/checkout-helper.js +244 -0
- package/templates/skills/payment-integration/scripts/package.json +17 -0
- package/templates/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/templates/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/templates/skills/payment-integration/scripts/test-scripts.js +237 -0
- package/templates/skills/plan-analysis/SKILL.md +191 -0
- package/templates/skills/planning/SKILL.md +115 -0
- package/templates/skills/planning/references/codebase-understanding.md +62 -0
- package/templates/skills/planning/references/output-standards.md +127 -0
- package/templates/skills/planning/references/plan-organization.md +150 -0
- package/templates/skills/planning/references/research-phase.md +49 -0
- package/templates/skills/planning/references/solution-design.md +63 -0
- package/templates/skills/planning-with-files/SKILL.md +160 -0
- package/templates/skills/planning-with-files/examples.md +202 -0
- package/templates/skills/planning-with-files/reference.md +110 -0
- package/templates/skills/problem-solving/SKILL.md +96 -0
- package/templates/skills/problem-solving/references/attribution.md +69 -0
- package/templates/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/templates/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/templates/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/templates/skills/problem-solving/references/scale-game.md +95 -0
- package/templates/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/templates/skills/problem-solving/references/when-stuck.md +72 -0
- package/templates/skills/project-index/SKILL.md +97 -0
- package/templates/skills/project-index/scripts/scan-structure.js +417 -0
- package/templates/skills/project-index/scripts/scan_structure.py +450 -0
- package/templates/skills/readme-improvement/SKILL.md +177 -0
- package/templates/skills/repomix/SKILL.md +247 -0
- package/templates/skills/repomix/references/configuration.md +211 -0
- package/templates/skills/repomix/references/usage-patterns.md +232 -0
- package/templates/skills/repomix/scripts/.coverage +0 -0
- package/templates/skills/repomix/scripts/README.md +179 -0
- package/templates/skills/repomix/scripts/repomix_batch.py +455 -0
- package/templates/skills/repomix/scripts/repos.example.json +15 -0
- package/templates/skills/repomix/scripts/requirements.txt +15 -0
- package/templates/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/templates/skills/research/SKILL.md +168 -0
- package/templates/skills/sequential-thinking/.env.example +8 -0
- package/templates/skills/sequential-thinking/README.md +183 -0
- package/templates/skills/sequential-thinking/SKILL.md +94 -0
- package/templates/skills/sequential-thinking/package.json +31 -0
- package/templates/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/templates/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/templates/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/templates/skills/sequential-thinking/references/examples-api.md +88 -0
- package/templates/skills/sequential-thinking/references/examples-architecture.md +94 -0
- package/templates/skills/sequential-thinking/references/examples-debug.md +90 -0
- package/templates/skills/sequential-thinking/scripts/format-thought.js +159 -0
- package/templates/skills/sequential-thinking/scripts/process-thought.js +236 -0
- package/templates/skills/sequential-thinking/tests/format-thought.test.js +133 -0
- package/templates/skills/sequential-thinking/tests/process-thought.test.js +215 -0
- package/templates/skills/shopify/README.md +66 -0
- package/templates/skills/shopify/SKILL.md +319 -0
- package/templates/skills/shopify/references/app-development.md +470 -0
- package/templates/skills/shopify/references/extensions.md +493 -0
- package/templates/skills/shopify/references/themes.md +498 -0
- package/templates/skills/shopify/scripts/.coverage +0 -0
- package/templates/skills/shopify/scripts/requirements.txt +19 -0
- package/templates/skills/shopify/scripts/shopify_init.py +423 -0
- package/templates/skills/shopify/scripts/tests/.coverage +0 -0
- package/templates/skills/shopify/scripts/tests/test_shopify_init.py +385 -0
- package/templates/skills/skill-creator/LICENSE.txt +202 -0
- package/templates/skills/skill-creator/SKILL.md +266 -0
- package/templates/skills/skill-creator/scripts/init_skill.py +303 -0
- package/templates/skills/skill-creator/scripts/package_skill.py +110 -0
- package/templates/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/templates/skills/skill-share/SKILL.md +80 -0
- package/templates/skills/tasks-code-review/SKILL.md +298 -0
- package/templates/skills/tasks-documentation/SKILL.md +328 -0
- package/templates/skills/tasks-spec-update/SKILL.md +318 -0
- package/templates/skills/tasks-test-generation/SKILL.md +433 -0
- package/templates/skills/template-skill/SKILL.md +6 -0
- package/templates/skills/test-generation/SKILL.md +203 -0
- package/templates/skills/threejs/SKILL.md +89 -0
- package/templates/skills/threejs/references/01-getting-started.md +177 -0
- package/templates/skills/threejs/references/02-loaders.md +169 -0
- package/templates/skills/threejs/references/03-textures.md +170 -0
- package/templates/skills/threejs/references/04-cameras.md +195 -0
- package/templates/skills/threejs/references/05-lights.md +183 -0
- package/templates/skills/threejs/references/06-animations.md +214 -0
- package/templates/skills/threejs/references/07-math.md +260 -0
- package/templates/skills/threejs/references/08-interaction.md +267 -0
- package/templates/skills/threejs/references/09-postprocessing.md +240 -0
- package/templates/skills/threejs/references/10-controls.md +259 -0
- package/templates/skills/threejs/references/11-materials-advanced.md +270 -0
- package/templates/skills/threejs/references/12-performance.md +269 -0
- package/templates/skills/threejs/references/13-node-materials.md +298 -0
- package/templates/skills/threejs/references/14-physics-vr.md +304 -0
- package/templates/skills/threejs/references/15-specialized-loaders.md +333 -0
- package/templates/skills/threejs/references/16-webgpu.md +302 -0
- package/templates/skills/ui-styling/LICENSE.txt +202 -0
- package/templates/skills/ui-styling/SKILL.md +321 -0
- package/templates/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/templates/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/templates/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/templates/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/templates/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/templates/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/templates/skills/ui-styling/references/shadcn-components.md +424 -0
- package/templates/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/templates/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/templates/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/templates/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/templates/skills/ui-styling/scripts/.coverage +0 -0
- package/templates/skills/ui-styling/scripts/requirements.txt +17 -0
- package/templates/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/templates/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/templates/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/templates/skills/ui-styling/scripts/tests/requirements.txt +3 -0
- package/templates/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/templates/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/templates/skills/ui-ux-pro-max/SKILL.md +315 -0
- package/templates/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/templates/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/templates/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/templates/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/templates/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/templates/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/templates/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/templates/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/templates/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/templates/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/templates/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/templates/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/templates/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/templates/skills/ui-ux-pro-max/scripts/search.py +61 -0
- package/templates/skills/web-frameworks/SKILL.md +324 -0
- package/templates/skills/web-frameworks/references/nextjs-app-router.md +465 -0
- package/templates/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/templates/skills/web-frameworks/references/nextjs-optimization.md +511 -0
- package/templates/skills/web-frameworks/references/nextjs-server-components.md +495 -0
- package/templates/skills/web-frameworks/references/remix-icon-integration.md +603 -0
- package/templates/skills/web-frameworks/references/turborepo-caching.md +551 -0
- package/templates/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
- package/templates/skills/web-frameworks/references/turborepo-setup.md +542 -0
- package/templates/skills/web-frameworks/scripts/.coverage +0 -0
- package/templates/skills/web-frameworks/scripts/__init__.py +0 -0
- package/templates/skills/web-frameworks/scripts/nextjs_init.py +547 -0
- package/templates/skills/web-frameworks/scripts/requirements.txt +16 -0
- package/templates/skills/web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/templates/skills/web-frameworks/scripts/tests/requirements.txt +3 -0
- package/templates/skills/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/templates/skills/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/templates/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/templates/skills/webapp-testing/LICENSE.txt +202 -0
- package/templates/skills/webapp-testing/SKILL.md +96 -0
- package/templates/skills/webapp-testing/examples/console_logging.py +35 -0
- package/templates/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/templates/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/templates/skills/webapp-testing/scripts/with_server.py +106 -0
- package/templates/statusline.cjs +306 -0
- package/templates/statusline.ps1 +308 -0
- package/templates/statusline.sh +238 -0
- package/templates/workflows/README.md +241 -0
- package/templates/workflows/development-rules.md +93 -0
- package/templates/workflows/documentation-management.md +121 -0
- package/templates/workflows/orchestration-protocol.md +16 -0
- package/templates/workflows/primary-workflow.md +45 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plan to create a new agent skill
|
|
3
|
+
argument-hint: [skill-name] [prompt]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Think harder.
|
|
7
|
+
First: Activate `skill-creator` and `claude-code` skills.
|
|
8
|
+
Use `docs-seeker` skills to search for documentation if needed.
|
|
9
|
+
Employ `sequential-thinking` or `problem-solving` skills for complex problem-solving that requires structured analysis
|
|
10
|
+
Finally, when creating a plan, activate `planning` skill.
|
|
11
|
+
|
|
12
|
+
## Arguments
|
|
13
|
+
SKILL: $1 (default: `*`)
|
|
14
|
+
PROMPT: $2 (default: empty)
|
|
15
|
+
|
|
16
|
+
## Your mission
|
|
17
|
+
Propose a plan to create a new skill in `.claude/skills/${SKILL}` directory.
|
|
18
|
+
When you finish, ask user to review your plan:
|
|
19
|
+
- If the user approve: Write down a plan follow "Output Requirements", then ask user if they want to start implementing.
|
|
20
|
+
- If the user reject: Revise the plan or ask more questions to clarify more about the user's request (ask one question at the time), then repeat the review process.
|
|
21
|
+
|
|
22
|
+
## Additional instructions
|
|
23
|
+
<additional-instructions>$PROMPT</additional-instructions>
|
|
24
|
+
|
|
25
|
+
## Your Approach
|
|
26
|
+
1. **Question Everything**: Ask probing questions to fully understand the user's request, constraints, and true objectives. Don't assume - clarify until you're 100% certain.
|
|
27
|
+
2. **Brutal Honesty**: Provide frank, unfiltered feedback about ideas. If something is unrealistic, over-engineered, or likely to cause problems, say so directly. Your job is to prevent costly mistakes.
|
|
28
|
+
3. **Explore Alternatives**: Always consider multiple approaches. Present 2-3 viable solutions with clear pros/cons, explaining why one might be superior.
|
|
29
|
+
4. **Challenge Assumptions**: Question the user's initial approach. Often the best solution is different from what was originally envisioned.
|
|
30
|
+
5. **Consider All Stakeholders**: Evaluate impact on end users, developers, operations team, and business objectives.
|
|
31
|
+
|
|
32
|
+
## Output Requirements
|
|
33
|
+
An output implementation plan must also follow the progressive disclosure structure:
|
|
34
|
+
- Always keep in mind that `SKILL.md` and reference files should be token consumption efficient, so that **progressive disclosure** can be leveraged at best.
|
|
35
|
+
- `SKILL.md` is always short and concise, straight to the point, treat it as a quick reference guide.
|
|
36
|
+
- Create a directory using naming pattern from `## Naming` section.
|
|
37
|
+
- Save the overview access point at `plan.md`, keep it generic, under 80 lines, and list each phase with status/progress and links.
|
|
38
|
+
- For each phase, add `phase-XX-phase-name.md` files containing sections (Context links, Overview with date/priority/statuses, Key Insights, Requirements, Architecture, Related code files, Implementation Steps, Todo list, Success Criteria, Risk Assessment, Security Considerations, Next steps).
|
|
39
|
+
|
|
40
|
+
**IMPORTANT:**
|
|
41
|
+
- Analyze the given task and use `AskUserQuestion` tool to ask for more details if needed.
|
|
42
|
+
- Ensure token consumption efficiency while maintaining high quality.
|
|
43
|
+
- Skills are not documentation, they are practical instructions for Claude Code to use the tools, packages, plugins or APIs to achieve the tasks.
|
|
44
|
+
- Each skill teaches Claude how to perform a specific development task, not what a tool does.
|
|
45
|
+
- Claude Code can activate multiple skills automatically to achieve the user's request.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ⚡⚡ Run UI tests on a website & generate a detailed report.
|
|
3
|
+
argument-hint: [url] [options]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Activate the chrome-devtools skill.
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
Run comprehensive UI tests on a website and generate a detailed report.
|
|
10
|
+
|
|
11
|
+
## Arguments
|
|
12
|
+
- $1: URL - The URL of the website to test
|
|
13
|
+
- $2: OPTIONS - Optional test configuration (e.g., --headless, --mobile, --auth)
|
|
14
|
+
|
|
15
|
+
## Testing Protected Routes (Authentication)
|
|
16
|
+
|
|
17
|
+
For testing protected routes that require authentication, follow this workflow:
|
|
18
|
+
|
|
19
|
+
### Step 1: User Manual Login
|
|
20
|
+
Instruct the user to:
|
|
21
|
+
1. Open the target site in their browser
|
|
22
|
+
2. Log in manually with their credentials
|
|
23
|
+
3. Open browser DevTools (F12) → Application tab → Cookies/Storage
|
|
24
|
+
|
|
25
|
+
### Step 2: Extract Auth Credentials
|
|
26
|
+
Ask the user to provide one of:
|
|
27
|
+
- **Cookies**: Copy cookie values (name, value, domain)
|
|
28
|
+
- **Access Token**: Copy JWT/Bearer token from localStorage or cookies
|
|
29
|
+
- **Session Storage**: Copy relevant session keys
|
|
30
|
+
|
|
31
|
+
### Step 3: Inject Authentication
|
|
32
|
+
Use the `inject-auth.js` script to inject credentials before testing:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
cd $SKILL_DIR # .claude/skills/chrome-devtools/scripts
|
|
36
|
+
|
|
37
|
+
# Option A: Inject cookies
|
|
38
|
+
node inject-auth.js --url https://example.com --cookies '[{"name":"session","value":"abc123","domain":".example.com"}]'
|
|
39
|
+
|
|
40
|
+
# Option B: Inject Bearer token
|
|
41
|
+
node inject-auth.js --url https://example.com --token "Bearer eyJhbGciOi..." --header Authorization --token-key access_token
|
|
42
|
+
|
|
43
|
+
# Option C: Inject localStorage
|
|
44
|
+
node inject-auth.js --url https://example.com --local-storage '{"auth_token":"xyz","user_id":"123"}'
|
|
45
|
+
|
|
46
|
+
# Combined (cookies + localStorage)
|
|
47
|
+
node inject-auth.js --url https://example.com --cookies '[{"name":"session","value":"abc"}]' --local-storage '{"user":"data"}'
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Step 4: Run Tests
|
|
51
|
+
After auth injection, the browser session persists. Run tests normally:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Navigate and screenshot protected pages
|
|
55
|
+
node navigate.js --url https://example.com/dashboard
|
|
56
|
+
node screenshot.js --url https://example.com/profile --output profile.png
|
|
57
|
+
|
|
58
|
+
# The auth session persists until --close true is used
|
|
59
|
+
node screenshot.js --url https://example.com/settings --output settings.png --close true
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Auth Script Options
|
|
63
|
+
- `--cookies '<json>'` - Inject cookies (JSON array)
|
|
64
|
+
- `--token '<token>'` - Inject Bearer token
|
|
65
|
+
- `--token-key '<key>'` - localStorage key for token (default: access_token)
|
|
66
|
+
- `--header '<name>'` - Set HTTP header with token (e.g., Authorization)
|
|
67
|
+
- `--local-storage '<json>'` - Inject localStorage items
|
|
68
|
+
- `--session-storage '<json>'` - Inject sessionStorage items
|
|
69
|
+
- `--reload true` - Reload page after injection
|
|
70
|
+
- `--clear true` - Clear saved auth session
|
|
71
|
+
|
|
72
|
+
## Workflow
|
|
73
|
+
- Use `planning` skill to organize the test plan & report in the current project directory.
|
|
74
|
+
- All the screenshots should be saved in the same report directory.
|
|
75
|
+
- Browse $URL with the specified $OPTIONS, discover all pages, components, and endpoints.
|
|
76
|
+
- Create a test plan based on the discovered structure
|
|
77
|
+
- Use multiple `tester` subagents or tool calls in parallel to test all pages, forms, navigation, user flows, accessibility, functionalities, usability, responsive layouts, cross-browser compatibility, performance, security, seo, etc.
|
|
78
|
+
- Use `ai-multimodal` to analyze all screenshots and visual elements.
|
|
79
|
+
- Generate a comprehensive report in Markdown format, embedding all screenshots directly in the report.
|
|
80
|
+
- Finally respond to the user with a concise summary of findings and recommendations.
|
|
81
|
+
- Use `AskUserQuestion` tool to ask if user wants to preview the report with `/preview` slash command.
|
|
82
|
+
|
|
83
|
+
## Output Requirements
|
|
84
|
+
How to write reports:
|
|
85
|
+
- Format: Use clear, structured Markdown with headers, lists, and code blocks where appropriate
|
|
86
|
+
- Include the test results summary, key findings, and screenshot references
|
|
87
|
+
- **IMPORTANT:** Ensure token efficiency while maintaining high quality.
|
|
88
|
+
- **IMPORTANT:** Sacrifice grammar for the sake of concision when writing reports.
|
|
89
|
+
- **IMPORTANT:** In reports, list any unresolved questions at the end, if any.
|
|
90
|
+
|
|
91
|
+
**IMPORTANT**: **Do not** start implementing the fixes.
|
|
92
|
+
**IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ⚡ Run tests locally and analyze the summary report.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Use the `tester` subagent to run tests locally and analyze the summary report.
|
|
6
|
+
|
|
7
|
+
**IMPORTANT**: **Do not** start implementing.
|
|
8
|
+
**IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Utilize tools of Model Context Protocol (MCP) servers
|
|
3
|
+
argument-hint: [task]
|
|
4
|
+
---
|
|
5
|
+
Execute MCP operations via **Gemini CLI** to preserve context budget.
|
|
6
|
+
|
|
7
|
+
## Execution Steps
|
|
8
|
+
|
|
9
|
+
1. **Execute task via Gemini CLI** (using stdin pipe for MCP support):
|
|
10
|
+
```bash
|
|
11
|
+
# IMPORTANT: Use stdin piping, NOT -p flag (deprecated, skips MCP init)
|
|
12
|
+
echo "$ARGUMENTS. Return JSON only per GEMINI.md instructions." | gemini -y -m gemini-2.5-flash
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
2. **Fallback to mcp-manager subagent** (if Gemini CLI unavailable):
|
|
16
|
+
- Use `mcp-manager` subagent to discover and execute tools
|
|
17
|
+
- If the subagent got issues with the scripts of `mcp-management` skill, use `mcp-builder` skill to fix them
|
|
18
|
+
- **DO NOT** create ANY new scripts
|
|
19
|
+
- The subagent can only use MCP tools if any to achieve this task
|
|
20
|
+
- If the subagent can't find any suitable tools, just report it back to the main agent to move on to the next step
|
|
21
|
+
|
|
22
|
+
## Important Notes
|
|
23
|
+
|
|
24
|
+
- **MUST use stdin piping** - the deprecated `-p` flag skips MCP initialization
|
|
25
|
+
- Use `-y` flag to auto-approve tool execution
|
|
26
|
+
- **GEMINI.md auto-loaded**: Gemini CLI automatically loads `GEMINI.md` from project root, enforcing JSON-only response format
|
|
27
|
+
- **Parseable output**: Responses are structured JSON: `{"server":"name","tool":"name","success":true,"result":<data>,"error":null}`
|
|
28
|
+
|
|
29
|
+
## Anti-Pattern (DO NOT USE)
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# BROKEN - deprecated -p flag skips MCP server connections!
|
|
33
|
+
gemini -y -m gemini-2.5-flash -p "..."
|
|
34
|
+
```
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ⚡ Review recent changes and wrap up the work
|
|
3
|
+
---
|
|
4
|
+
Review my current branch and the most recent commits.
|
|
5
|
+
Provide a detailed summary of all changes, including what was modified, added, or removed.
|
|
6
|
+
Analyze the overall impact and quality of the changes.
|
|
7
|
+
|
|
8
|
+
**IMPORTANT**: **Do not** start implementing.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create isolated git worktree for parallel development
|
|
3
|
+
argument-hint: [feature-description] OR [project] [feature] (monorepo)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Create an isolated git worktree for parallel feature development.
|
|
7
|
+
|
|
8
|
+
## Workflow
|
|
9
|
+
|
|
10
|
+
### Step 1: Get Repository Info
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
node .claude/scripts/worktree.cjs info --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Response fields:**
|
|
17
|
+
- `repoType`: "monorepo" or "standalone"
|
|
18
|
+
- `baseBranch`: detected base branch
|
|
19
|
+
- `projects`: array of {name, path} for monorepo
|
|
20
|
+
- `envFiles`: array of .env* files found
|
|
21
|
+
- `dirtyState`: boolean
|
|
22
|
+
|
|
23
|
+
### Step 2: Gather Info via AskUserQuestion
|
|
24
|
+
|
|
25
|
+
**Detect branch prefix from user's description:**
|
|
26
|
+
- Keywords "fix", "bug", "error", "issue" → prefix = `fix`
|
|
27
|
+
- Keywords "refactor", "restructure", "rewrite" → prefix = `refactor`
|
|
28
|
+
- Keywords "docs", "documentation", "readme" → prefix = `docs`
|
|
29
|
+
- Keywords "test", "spec", "coverage" → prefix = `test`
|
|
30
|
+
- Keywords "chore", "cleanup", "deps" → prefix = `chore`
|
|
31
|
+
- Keywords "perf", "performance", "optimize" → prefix = `perf`
|
|
32
|
+
- Everything else → prefix = `feat`
|
|
33
|
+
|
|
34
|
+
**For MONOREPO:** Use AskUserQuestion if project not specified:
|
|
35
|
+
```javascript
|
|
36
|
+
// If user said "/worktree add auth" but multiple projects exist
|
|
37
|
+
AskUserQuestion({
|
|
38
|
+
questions: [{
|
|
39
|
+
header: "Project",
|
|
40
|
+
question: "Which project should the worktree be created for?",
|
|
41
|
+
options: projects.map(p => ({ label: p.name, description: p.path })),
|
|
42
|
+
multiSelect: false
|
|
43
|
+
}]
|
|
44
|
+
})
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**For env files:** Always ask which to copy:
|
|
48
|
+
```javascript
|
|
49
|
+
AskUserQuestion({
|
|
50
|
+
questions: [{
|
|
51
|
+
header: "Env files",
|
|
52
|
+
question: "Which environment files should be copied to the worktree?",
|
|
53
|
+
options: envFiles.map(f => ({ label: f, description: "Copy to worktree" })),
|
|
54
|
+
multiSelect: true
|
|
55
|
+
}]
|
|
56
|
+
})
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 3: Convert Description to Slug
|
|
60
|
+
|
|
61
|
+
- "add authentication system" → `add-auth`
|
|
62
|
+
- "fix login bug" → `login-bug`
|
|
63
|
+
- Remove filler words, kebab-case, max 50 chars
|
|
64
|
+
|
|
65
|
+
### Step 4: Execute Command
|
|
66
|
+
|
|
67
|
+
**Monorepo:**
|
|
68
|
+
```bash
|
|
69
|
+
node .claude/scripts/worktree.cjs create "<PROJECT>" "<SLUG>" --prefix <TYPE> --env "<FILES>"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Standalone:**
|
|
73
|
+
```bash
|
|
74
|
+
node .claude/scripts/worktree.cjs create "<SLUG>" --prefix <TYPE> --env "<FILES>"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Options:**
|
|
78
|
+
- `--prefix` - Branch type: feat|fix|refactor|docs|test|chore|perf
|
|
79
|
+
- `--env` - Comma-separated .env files to copy
|
|
80
|
+
- `--json` - Output JSON for parsing
|
|
81
|
+
- `--dry-run` - Preview without executing
|
|
82
|
+
|
|
83
|
+
## Commands
|
|
84
|
+
|
|
85
|
+
| Command | Usage | Description |
|
|
86
|
+
|---------|-------|-------------|
|
|
87
|
+
| `create` | `create [project] <feature>` | Create new worktree |
|
|
88
|
+
| `remove` | `remove <name-or-path>` | Remove worktree and branch |
|
|
89
|
+
| `info` | `info` | Get repo info |
|
|
90
|
+
| `list` | `list` | List existing worktrees |
|
|
91
|
+
|
|
92
|
+
## Error Codes
|
|
93
|
+
|
|
94
|
+
| Code | Meaning | Action |
|
|
95
|
+
|------|---------|--------|
|
|
96
|
+
| `MISSING_ARGS` | Missing project/feature for monorepo | Ask for both |
|
|
97
|
+
| `MISSING_FEATURE` | No feature name (standalone) | Ask for feature |
|
|
98
|
+
| `PROJECT_NOT_FOUND` | Project not in .gitmodules | Show available projects |
|
|
99
|
+
| `MULTIPLE_PROJECTS_MATCH` | Ambiguous project name | Use AskUserQuestion |
|
|
100
|
+
| `MULTIPLE_WORKTREES_MATCH` | Ambiguous worktree for remove | Use AskUserQuestion |
|
|
101
|
+
| `BRANCH_CHECKED_OUT` | Branch in use elsewhere | Suggest different name |
|
|
102
|
+
| `WORKTREE_EXISTS` | Path already exists | Suggest use or remove |
|
|
103
|
+
| `WORKTREE_CREATE_FAILED` | Git command failed | Show git error |
|
|
104
|
+
| `WORKTREE_REMOVE_FAILED` | Cannot remove worktree | Check uncommitted changes |
|
|
105
|
+
|
|
106
|
+
## Example Session
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
User: /worktree fix the login validation bug
|
|
110
|
+
|
|
111
|
+
Claude: [Runs: node .claude/scripts/worktree.cjs info --json]
|
|
112
|
+
[Detects: standalone repo, envFiles: [".env.example"]]
|
|
113
|
+
[Detects prefix from "fix" keyword: fix]
|
|
114
|
+
[Converts slug: "login-validation-bug"]
|
|
115
|
+
|
|
116
|
+
Claude: [Uses AskUserQuestion for env files]
|
|
117
|
+
"Which environment files should be copied?"
|
|
118
|
+
Options: .env.example
|
|
119
|
+
|
|
120
|
+
User: .env.example
|
|
121
|
+
|
|
122
|
+
Claude: [Runs: node .claude/scripts/worktree.cjs create "login-validation-bug" --prefix fix --env ".env.example"]
|
|
123
|
+
|
|
124
|
+
Output: Worktree created at ../worktrees/myrepo-login-validation-bug
|
|
125
|
+
Branch: fix/login-validation-bug
|
|
126
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"Python 3.12.10","timestamp":1767230959174}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# ⚡ Hooks - Tự Động Hóa Theo Sự Kiện
|
|
2
|
+
|
|
3
|
+
## Hooks là gì?
|
|
4
|
+
|
|
5
|
+
**Hooks** là các "trigger tự động" - code sẽ tự chạy khi có sự kiện nhất định xảy ra. Giống như cài báo thức vậy - đến giờ thì tự động reo, không cần bạn bấm gì.
|
|
6
|
+
|
|
7
|
+
**Ví dụ đơn giản:**
|
|
8
|
+
- Khi **bắt đầu session** → Tự động chào và kiểm tra trạng thái dự án
|
|
9
|
+
- Khi **sửa file** → Tự động format code (Prettier)
|
|
10
|
+
- Khi **hoàn thành task** → Tự động review lại code
|
|
11
|
+
- Khi **kết thúc session** → Tự động ghi log công việc
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Danh Sách Hooks
|
|
16
|
+
|
|
17
|
+
### 🟢 Hooks Khởi Động
|
|
18
|
+
|
|
19
|
+
| Hook | Chạy Khi Nào | Làm Gì |
|
|
20
|
+
|------|--------------|--------|
|
|
21
|
+
| **session-init.cjs** | Bắt đầu session mới | Load context, kiểm tra dự án |
|
|
22
|
+
| **subagent-init.cjs** | Khởi tạo subagent | Chuẩn bị context cho subagent |
|
|
23
|
+
|
|
24
|
+
### 📝 Hooks Khi Sửa File
|
|
25
|
+
|
|
26
|
+
| Hook | Chạy Khi Nào | Làm Gì |
|
|
27
|
+
|------|--------------|--------|
|
|
28
|
+
| **post-edit-prettier.cjs** | Sau khi sửa file | Format code bằng Prettier |
|
|
29
|
+
| **write-compact-marker.cjs** | Khi ghi file | Đánh dấu compact writes |
|
|
30
|
+
|
|
31
|
+
### 🔍 Hooks Review & Kiểm Tra
|
|
32
|
+
|
|
33
|
+
| Hook | Chạy Khi Nào | Làm Gì |
|
|
34
|
+
|------|--------------|--------|
|
|
35
|
+
| **post-task-review.cjs** | Sau khi hoàn thành task | Tự động review code |
|
|
36
|
+
| **workflow-router.cjs** | Khi cần chọn workflow | Định tuyến đến workflow phù hợp |
|
|
37
|
+
| **dev-rules-reminder.cjs** | Khi code | Nhắc nhở quy tắc phát triển |
|
|
38
|
+
|
|
39
|
+
### 🔒 Hooks Bảo Mật
|
|
40
|
+
|
|
41
|
+
| Hook | Chạy Khi Nào | Làm Gì |
|
|
42
|
+
|------|--------------|--------|
|
|
43
|
+
| **privacy-block.cjs** | Khi truy cập dữ liệu | Chặn truy cập dữ liệu nhạy cảm |
|
|
44
|
+
| **scout-block.cjs** | Khi tìm kiếm | Chặn tìm kiếm vào vùng cấm |
|
|
45
|
+
|
|
46
|
+
### 📚 Hooks Context
|
|
47
|
+
|
|
48
|
+
| Hook | Chạy Khi Nào | Làm Gì |
|
|
49
|
+
|------|--------------|--------|
|
|
50
|
+
| **backend-csharp-context.cjs** | Làm việc với C# | Load context cho C# |
|
|
51
|
+
| **frontend-typescript-context.cjs** | Làm việc với TypeScript | Load context cho TS |
|
|
52
|
+
| **design-system-context.cjs** | Thiết kế UI | Load design system |
|
|
53
|
+
| **scss-styling-context.cjs** | Làm với SCSS | Load SCSS context |
|
|
54
|
+
|
|
55
|
+
### 📢 Hooks Thông Báo
|
|
56
|
+
|
|
57
|
+
| Hook | Chạy Khi Nào | Làm Gì |
|
|
58
|
+
|------|--------------|--------|
|
|
59
|
+
| **notify-waiting.js** | AI đang chờ input | Gửi thông báo cho user |
|
|
60
|
+
| **session-end.cjs** | Kết thúc session | Ghi log, dọn dẹp |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Cách Hooks Hoạt Động
|
|
65
|
+
|
|
66
|
+
### Luồng hoạt động
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Sự kiện xảy ra (ví dụ: sửa file)
|
|
70
|
+
↓
|
|
71
|
+
Hệ thống kiểm tra có hook nào cần chạy
|
|
72
|
+
↓
|
|
73
|
+
┌─────────────────────────────────┐
|
|
74
|
+
│ Hook được kích hoạt │
|
|
75
|
+
│ (post-edit-prettier.cjs) │
|
|
76
|
+
│ │
|
|
77
|
+
│ 1. Nhận thông tin file │
|
|
78
|
+
│ 2. Chạy Prettier format │
|
|
79
|
+
│ 3. Lưu file đã format │
|
|
80
|
+
└─────────────────────────────────┘
|
|
81
|
+
↓
|
|
82
|
+
Tiếp tục công việc bình thường
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Ví dụ cụ thể
|
|
86
|
+
|
|
87
|
+
**Bạn sửa file `App.tsx`:**
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
1. Bạn lưu file
|
|
91
|
+
2. Hook post-edit-prettier.cjs tự động chạy
|
|
92
|
+
3. Prettier format lại code
|
|
93
|
+
4. File được cập nhật với format chuẩn
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Bạn không cần làm gì - tất cả tự động!
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Cấu Trúc Thư Mục Hooks
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
hooks/
|
|
104
|
+
├── session-init.cjs ← Khởi động session
|
|
105
|
+
├── session-end.cjs ← Kết thúc session
|
|
106
|
+
├── post-edit-prettier.cjs ← Format sau khi edit
|
|
107
|
+
├── post-task-review.cjs ← Review sau task
|
|
108
|
+
├── workflow-router.cjs ← Định tuyến workflow
|
|
109
|
+
├── privacy-block.cjs ← Bảo vệ privacy
|
|
110
|
+
├── scout-block.cjs ← Chặn tìm kiếm cấm
|
|
111
|
+
├── dev-rules-reminder.cjs ← Nhắc quy tắc
|
|
112
|
+
├── notify-waiting.js ← Thông báo chờ
|
|
113
|
+
│
|
|
114
|
+
├── lib/ ← Thư viện dùng chung
|
|
115
|
+
│ └── helpers.js
|
|
116
|
+
│
|
|
117
|
+
├── notifications/ ← Cấu hình thông báo
|
|
118
|
+
│ └── config.json
|
|
119
|
+
│
|
|
120
|
+
├── docs/ ← Tài liệu hooks
|
|
121
|
+
│ └── how-to-create.md
|
|
122
|
+
│
|
|
123
|
+
└── tests/ ← Tests cho hooks
|
|
124
|
+
└── *.test.js
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Hooks Quan Trọng Nhất
|
|
130
|
+
|
|
131
|
+
### 1. session-init.cjs - Khởi Động Session
|
|
132
|
+
|
|
133
|
+
**Chạy khi:** Bạn bắt đầu làm việc với Claude
|
|
134
|
+
|
|
135
|
+
**Làm gì:**
|
|
136
|
+
- Đọc context dự án
|
|
137
|
+
- Load settings
|
|
138
|
+
- Kiểm tra có task dang dở không
|
|
139
|
+
- Chào bạn và tóm tắt trạng thái
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### 2. post-edit-prettier.cjs - Auto Format
|
|
144
|
+
|
|
145
|
+
**Chạy khi:** Bạn sửa file code
|
|
146
|
+
|
|
147
|
+
**Làm gì:**
|
|
148
|
+
- Phát hiện loại file (JS, TS, CSS...)
|
|
149
|
+
- Chạy Prettier với config phù hợp
|
|
150
|
+
- Lưu file đã format
|
|
151
|
+
|
|
152
|
+
**Lợi ích:** Code luôn format chuẩn, không cần manual format
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
### 3. post-task-review.cjs - Auto Review
|
|
157
|
+
|
|
158
|
+
**Chạy khi:** Hoàn thành một task
|
|
159
|
+
|
|
160
|
+
**Làm gì:**
|
|
161
|
+
- Review code vừa viết
|
|
162
|
+
- Check conventions
|
|
163
|
+
- Báo cáo nếu có vấn đề
|
|
164
|
+
|
|
165
|
+
**Lợi ích:** Phát hiện lỗi sớm, trước khi commit
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### 4. privacy-block.cjs - Bảo Vệ Dữ Liệu
|
|
170
|
+
|
|
171
|
+
**Chạy khi:** AI truy cập files
|
|
172
|
+
|
|
173
|
+
**Làm gì:**
|
|
174
|
+
- Kiểm tra file có nhạy cảm không (.env, secrets...)
|
|
175
|
+
- Chặn truy cập nếu cấm
|
|
176
|
+
- Log các truy cập
|
|
177
|
+
|
|
178
|
+
**Lợi ích:** Bảo vệ dữ liệu nhạy cảm
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Tạo Hook Mới
|
|
183
|
+
|
|
184
|
+
Nếu muốn tạo hook riêng:
|
|
185
|
+
|
|
186
|
+
**1. Tạo file trong thư mục hooks:**
|
|
187
|
+
```
|
|
188
|
+
hooks/my-custom-hook.cjs
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**2. Viết code hook:**
|
|
192
|
+
```javascript
|
|
193
|
+
// hooks/my-custom-hook.cjs
|
|
194
|
+
|
|
195
|
+
module.exports = {
|
|
196
|
+
// Tên hook
|
|
197
|
+
name: 'my-custom-hook',
|
|
198
|
+
|
|
199
|
+
// Chạy khi nào
|
|
200
|
+
trigger: 'post-edit', // hoặc 'pre-edit', 'session-start'...
|
|
201
|
+
|
|
202
|
+
// Logic xử lý
|
|
203
|
+
async run(context) {
|
|
204
|
+
// Lấy thông tin file vừa sửa
|
|
205
|
+
const { filePath, content } = context;
|
|
206
|
+
|
|
207
|
+
// Làm gì đó
|
|
208
|
+
console.log(`File ${filePath} đã được sửa`);
|
|
209
|
+
|
|
210
|
+
// Trả về kết quả (nếu cần)
|
|
211
|
+
return { success: true };
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**3. Đăng ký hook** (trong settings.json)
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Tóm Tắt
|
|
221
|
+
|
|
222
|
+
| Khái niệm | Giải thích |
|
|
223
|
+
|-----------|------------|
|
|
224
|
+
| **Hook là gì** | Code tự động chạy khi có sự kiện |
|
|
225
|
+
| **Có bao nhiêu** | ~15 hooks có sẵn |
|
|
226
|
+
| **Khi nào chạy** | Tự động theo trigger (edit, save, session start...) |
|
|
227
|
+
| **Có thể tạo thêm** | Có, theo template trên |
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Lợi Ích Của Hooks
|
|
232
|
+
|
|
233
|
+
| Không có Hooks | Có Hooks |
|
|
234
|
+
|----------------|----------|
|
|
235
|
+
| Phải manual format code | ✅ Tự động format |
|
|
236
|
+
| Quên review trước commit | ✅ Tự động review |
|
|
237
|
+
| Context bị mất giữa sessions | ✅ Tự động load context |
|
|
238
|
+
| Có thể truy cập file nhạy cảm | ✅ Tự động chặn |
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Xem Thêm
|
|
243
|
+
|
|
244
|
+
- [Scripts (Công cụ)](../scripts/README.md)
|
|
245
|
+
- [Workflows (Quy trình)](../workflows/README.md)
|
|
246
|
+
- [Settings (Cấu hình)](../settings.json)
|