@jakkrichm/create-nexus-devflow 2.0.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/LICENSE +21 -0
- package/README.md +82 -0
- package/bin/create-nexus-devflow.js +275 -0
- package/lib/update.js +379 -0
- package/package.json +53 -0
- package/template/.agents/skills/00-discover/SKILL.md +170 -0
- package/template/.agents/skills/10-define/SKILL.md +170 -0
- package/template/.agents/skills/20-spec/SKILL.md +156 -0
- package/template/.agents/skills/30-plan/SKILL.md +221 -0
- package/template/.agents/skills/40-implement/SKILL.md +166 -0
- package/template/.agents/skills/50-verify/SKILL.md +188 -0
- package/template/.agents/skills/60-report/SKILL.md +183 -0
- package/template/.agents/skills/70-release/SKILL.md +155 -0
- package/template/.agents/skills/9arm-skills/README.md +51 -0
- package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +86 -0
- package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +79 -0
- package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +71 -0
- package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +72 -0
- package/template/.agents/skills/agent/SKILL.md +165 -0
- package/template/.agents/skills/api-and-interface-design/SKILL.md +294 -0
- package/template/.agents/skills/app-builder/SKILL.md +75 -0
- package/template/.agents/skills/app-builder/agent-coordination.md +71 -0
- package/template/.agents/skills/app-builder/feature-building.md +53 -0
- package/template/.agents/skills/app-builder/project-detection.md +34 -0
- package/template/.agents/skills/app-builder/scaffolding.md +118 -0
- package/template/.agents/skills/app-builder/tech-stack.md +40 -0
- package/template/.agents/skills/app-builder/templates/SKILL.md +39 -0
- package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/template/.agents/skills/architecture/SKILL.md +55 -0
- package/template/.agents/skills/architecture/context-discovery.md +43 -0
- package/template/.agents/skills/architecture/examples.md +94 -0
- package/template/.agents/skills/architecture/pattern-selection.md +68 -0
- package/template/.agents/skills/architecture/patterns-reference.md +50 -0
- package/template/.agents/skills/architecture/trade-off-analysis.md +77 -0
- package/template/.agents/skills/bash-linux/SKILL.md +199 -0
- package/template/.agents/skills/behavioral-modes/SKILL.md +242 -0
- package/template/.agents/skills/brainstorm/SKILL.md +168 -0
- package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +302 -0
- package/template/.agents/skills/changelog/SKILL.md +109 -0
- package/template/.agents/skills/check-for-updates/SKILL.md +117 -0
- package/template/.agents/skills/ci-cd-and-automation/SKILL.md +390 -0
- package/template/.agents/skills/code-review-and-quality/SKILL.md +392 -0
- package/template/.agents/skills/code-simplification/SKILL.md +331 -0
- package/template/.agents/skills/codebase-design/DEEPENING.md +24 -0
- package/template/.agents/skills/codebase-design/DESIGN-IT-TWICE.md +28 -0
- package/template/.agents/skills/codebase-design/SKILL.md +58 -0
- package/template/.agents/skills/commit/SKILL.md +63 -0
- package/template/.agents/skills/competitor-analysis/SKILL.md +66 -0
- package/template/.agents/skills/context-engineering/SKILL.md +290 -0
- package/template/.agents/skills/database-design/SKILL.md +52 -0
- package/template/.agents/skills/database-design/database-selection.md +43 -0
- package/template/.agents/skills/database-design/indexing.md +39 -0
- package/template/.agents/skills/database-design/migrations.md +48 -0
- package/template/.agents/skills/database-design/optimization.md +36 -0
- package/template/.agents/skills/database-design/orm-selection.md +30 -0
- package/template/.agents/skills/database-design/schema-design.md +56 -0
- package/template/.agents/skills/database-design/scripts/schema_validator.py +172 -0
- package/template/.agents/skills/debug/SKILL.md +131 -0
- package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +298 -0
- package/template/.agents/skills/deploy/SKILL.md +91 -0
- package/template/.agents/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.agents/skills/deprecation-and-migration/SKILL.md +206 -0
- package/template/.agents/skills/devflow/SKILL.md +89 -0
- package/template/.agents/skills/devflow-concept-intake/SKILL.md +150 -0
- package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +4 -0
- package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -0
- package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +47 -0
- package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -0
- package/template/.agents/skills/devflow-wiki/SKILL.md +75 -0
- package/template/.agents/skills/diagnosing-bugs/SKILL.md +93 -0
- package/template/.agents/skills/documentation-and-adrs/SKILL.md +278 -0
- package/template/.agents/skills/domain-modeling/ADR-FORMAT.md +47 -0
- package/template/.agents/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
- package/template/.agents/skills/domain-modeling/SKILL.md +74 -0
- package/template/.agents/skills/english-to-thai-translator/SKILL.md +125 -0
- package/template/.agents/skills/followup/SKILL.md +83 -0
- package/template/.agents/skills/frontend-ui-engineering/SKILL.md +326 -0
- package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +159 -0
- package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +300 -0
- package/template/.agents/skills/goal/SKILL.md +148 -0
- package/template/.agents/skills/handoff/SKILL.md +46 -0
- package/template/.agents/skills/help/SKILL.md +253 -0
- package/template/.agents/skills/human-review-decisions/SKILL.md +74 -0
- package/template/.agents/skills/i18n-localization/SKILL.md +154 -0
- package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/template/.agents/skills/idea-refine/SKILL.md +178 -0
- package/template/.agents/skills/idea-refine/examples.md +238 -0
- package/template/.agents/skills/idea-refine/frameworks.md +99 -0
- package/template/.agents/skills/idea-refine/refinement-criteria.md +113 -0
- package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +15 -0
- package/template/.agents/skills/incremental-implementation/SKILL.md +248 -0
- package/template/.agents/skills/insight/SKILL.md +131 -0
- package/template/.agents/skills/insight-capture/SKILL.md +84 -0
- package/template/.agents/skills/intelligent-routing/SKILL.md +176 -0
- package/template/.agents/skills/issue-triage/SKILL.md +115 -0
- package/template/.agents/skills/lint-and-validate/SKILL.md +45 -0
- package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/template/.agents/skills/mcp-builder/SKILL.md +176 -0
- package/template/.agents/skills/md2html/SKILL.md +154 -0
- package/template/.agents/skills/md2html/components.md +505 -0
- package/template/.agents/skills/md2html/template.html +1152 -0
- package/template/.agents/skills/merge/SKILL.md +76 -0
- package/template/.agents/skills/mobile-design/SKILL.md +394 -0
- package/template/.agents/skills/mobile-design/decision-trees.md +516 -0
- package/template/.agents/skills/mobile-design/mobile-backend.md +491 -0
- package/template/.agents/skills/mobile-design/mobile-color-system.md +420 -0
- package/template/.agents/skills/mobile-design/mobile-debugging.md +122 -0
- package/template/.agents/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/template/.agents/skills/mobile-design/mobile-navigation.md +458 -0
- package/template/.agents/skills/mobile-design/mobile-performance.md +767 -0
- package/template/.agents/skills/mobile-design/mobile-testing.md +356 -0
- package/template/.agents/skills/mobile-design/mobile-typography.md +433 -0
- package/template/.agents/skills/mobile-design/platform-android.md +666 -0
- package/template/.agents/skills/mobile-design/platform-ios.md +561 -0
- package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/template/.agents/skills/mobile-design/touch-psychology.md +537 -0
- package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
- package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/template/.agents/skills/nextjs-react-expert/SKILL.md +286 -0
- package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/template/.agents/skills/nodejs-best-practices/SKILL.md +333 -0
- package/template/.agents/skills/obsidian-bases/SKILL.md +506 -0
- package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -0
- package/template/.agents/skills/obsidian-cli/SKILL.md +115 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +73 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +51 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +67 -0
- package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +64 -0
- package/template/.agents/skills/obsidian-markdown/SKILL.md +205 -0
- package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
- package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +63 -0
- package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
- package/template/.agents/skills/package-json-generator/SKILL.md +60 -0
- package/template/.agents/skills/package-json-generator/scripts/generate.js +120 -0
- package/template/.agents/skills/package-json-generator/scripts/run.sh +19 -0
- package/template/.agents/skills/parallel-agents/SKILL.md +144 -0
- package/template/.agents/skills/performance-optimization/SKILL.md +299 -0
- package/template/.agents/skills/performance-optimization/performance-checklist.md +113 -0
- package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +239 -0
- package/template/.agents/skills/powershell-windows/SKILL.md +167 -0
- package/template/.agents/skills/pr/SKILL.md +93 -0
- package/template/.agents/skills/pr-review/SKILL.md +143 -0
- package/template/.agents/skills/pr-review-analysis/SKILL.md +89 -0
- package/template/.agents/skills/prd/SKILL.md +127 -0
- package/template/.agents/skills/preview/SKILL.md +121 -0
- package/template/.agents/skills/preview-local-check/SKILL.md +59 -0
- package/template/.agents/skills/prompt-addons/SKILL.md +99 -0
- package/template/.agents/skills/prototype/SKILL.md +44 -0
- package/template/.agents/skills/prp-dev-fastapi/SKILL.md +114 -0
- package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +36 -0
- package/template/.agents/skills/prp-dev-odoo/SKILL.md +71 -0
- package/template/.agents/skills/prp-dev-php/SKILL.md +63 -0
- package/template/.agents/skills/prp-sa-ba/SKILL.md +52 -0
- package/template/.agents/skills/python-patterns/SKILL.md +441 -0
- package/template/.agents/skills/red-team-tactics/SKILL.md +199 -0
- package/template/.agents/skills/release-git-operations/SKILL.md +97 -0
- package/template/.agents/skills/research/SKILL.md +143 -0
- package/template/.agents/skills/review/SKILL.md +55 -0
- package/template/.agents/skills/review-followup-routing/SKILL.md +98 -0
- package/template/.agents/skills/roadmap-strategy/SKILL.md +97 -0
- package/template/.agents/skills/security-and-hardening/SKILL.md +349 -0
- package/template/.agents/skills/security-and-hardening/security-checklist.md +134 -0
- package/template/.agents/skills/security-review/SKILL.md +166 -0
- package/template/.agents/skills/seo-fundamentals/SKILL.md +129 -0
- package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/template/.agents/skills/server-management/SKILL.md +161 -0
- package/template/.agents/skills/shipping-and-launch/SKILL.md +311 -0
- package/template/.agents/skills/silent-failure-audit/SKILL.md +73 -0
- package/template/.agents/skills/simplify/SKILL.md +79 -0
- package/template/.agents/skills/skill-development/SKILL.md +86 -0
- package/template/.agents/skills/spec-driven-development/SKILL.md +207 -0
- package/template/.agents/skills/spec-orchestration/SKILL.md +91 -0
- package/template/.agents/skills/specialist-agent-routing/SKILL.md +107 -0
- package/template/.agents/skills/tailwind-patterns/SKILL.md +269 -0
- package/template/.agents/skills/test/SKILL.md +82 -0
- package/template/.agents/skills/test-driven-development/SKILL.md +422 -0
- package/template/.agents/skills/test-driven-development/testing-patterns.md +236 -0
- package/template/.agents/skills/test-execution-and-coverage/SKILL.md +56 -0
- package/template/.agents/skills/type-design/SKILL.md +84 -0
- package/template/.agents/skills/ui-ux-pro-max/SKILL.md +75 -0
- package/template/.agents/skills/using-agent-skills/SKILL.md +171 -0
- package/template/.agents/skills/verification-orchestration/SKILL.md +68 -0
- package/template/.agents/skills/vulnerability-scanner/SKILL.md +276 -0
- package/template/.agents/skills/vulnerability-scanner/checklists.md +121 -0
- package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/template/.agents/skills/wiki/SKILL.md +149 -0
- package/template/.agents/skills/workflow-documentation-sync/SKILL.md +87 -0
- package/template/.agents/skills/writing-great-skills/SKILL.md +65 -0
- package/template/.claude/skills/00-discover/SKILL.md +170 -0
- package/template/.claude/skills/10-define/SKILL.md +170 -0
- package/template/.claude/skills/20-spec/SKILL.md +156 -0
- package/template/.claude/skills/30-plan/SKILL.md +221 -0
- package/template/.claude/skills/40-implement/SKILL.md +166 -0
- package/template/.claude/skills/50-verify/SKILL.md +188 -0
- package/template/.claude/skills/60-report/SKILL.md +183 -0
- package/template/.claude/skills/70-release/SKILL.md +155 -0
- package/template/.claude/skills/9arm-skills/README.md +51 -0
- package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +86 -0
- package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +79 -0
- package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +71 -0
- package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +72 -0
- package/template/.claude/skills/agent/SKILL.md +165 -0
- package/template/.claude/skills/api-and-interface-design/SKILL.md +294 -0
- package/template/.claude/skills/app-builder/SKILL.md +75 -0
- package/template/.claude/skills/app-builder/agent-coordination.md +71 -0
- package/template/.claude/skills/app-builder/feature-building.md +53 -0
- package/template/.claude/skills/app-builder/project-detection.md +34 -0
- package/template/.claude/skills/app-builder/scaffolding.md +118 -0
- package/template/.claude/skills/app-builder/tech-stack.md +40 -0
- package/template/.claude/skills/app-builder/templates/SKILL.md +39 -0
- package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/template/.claude/skills/architecture/SKILL.md +55 -0
- package/template/.claude/skills/architecture/context-discovery.md +43 -0
- package/template/.claude/skills/architecture/examples.md +94 -0
- package/template/.claude/skills/architecture/pattern-selection.md +68 -0
- package/template/.claude/skills/architecture/patterns-reference.md +50 -0
- package/template/.claude/skills/architecture/trade-off-analysis.md +77 -0
- package/template/.claude/skills/bash-linux/SKILL.md +199 -0
- package/template/.claude/skills/behavioral-modes/SKILL.md +242 -0
- package/template/.claude/skills/brainstorm/SKILL.md +168 -0
- package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +302 -0
- package/template/.claude/skills/changelog/SKILL.md +109 -0
- package/template/.claude/skills/check-for-updates/SKILL.md +117 -0
- package/template/.claude/skills/ci-cd-and-automation/SKILL.md +390 -0
- package/template/.claude/skills/code-review-and-quality/SKILL.md +392 -0
- package/template/.claude/skills/code-simplification/SKILL.md +331 -0
- package/template/.claude/skills/codebase-design/DEEPENING.md +24 -0
- package/template/.claude/skills/codebase-design/DESIGN-IT-TWICE.md +28 -0
- package/template/.claude/skills/codebase-design/SKILL.md +58 -0
- package/template/.claude/skills/commit/SKILL.md +63 -0
- package/template/.claude/skills/competitor-analysis/SKILL.md +66 -0
- package/template/.claude/skills/context-engineering/SKILL.md +290 -0
- package/template/.claude/skills/database-design/SKILL.md +52 -0
- package/template/.claude/skills/database-design/database-selection.md +43 -0
- package/template/.claude/skills/database-design/indexing.md +39 -0
- package/template/.claude/skills/database-design/migrations.md +48 -0
- package/template/.claude/skills/database-design/optimization.md +36 -0
- package/template/.claude/skills/database-design/orm-selection.md +30 -0
- package/template/.claude/skills/database-design/schema-design.md +56 -0
- package/template/.claude/skills/database-design/scripts/schema_validator.py +172 -0
- package/template/.claude/skills/debug/SKILL.md +131 -0
- package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +298 -0
- package/template/.claude/skills/deploy/SKILL.md +91 -0
- package/template/.claude/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.claude/skills/deprecation-and-migration/SKILL.md +206 -0
- package/template/.claude/skills/devflow/SKILL.md +89 -0
- package/template/.claude/skills/devflow-concept-intake/SKILL.md +150 -0
- package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +4 -0
- package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -0
- package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +47 -0
- package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -0
- package/template/.claude/skills/devflow-wiki/SKILL.md +75 -0
- package/template/.claude/skills/diagnosing-bugs/SKILL.md +93 -0
- package/template/.claude/skills/documentation-and-adrs/SKILL.md +278 -0
- package/template/.claude/skills/domain-modeling/ADR-FORMAT.md +47 -0
- package/template/.claude/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
- package/template/.claude/skills/domain-modeling/SKILL.md +74 -0
- package/template/.claude/skills/english-to-thai-translator/SKILL.md +125 -0
- package/template/.claude/skills/followup/SKILL.md +83 -0
- package/template/.claude/skills/frontend-ui-engineering/SKILL.md +326 -0
- package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +159 -0
- package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +300 -0
- package/template/.claude/skills/goal/SKILL.md +148 -0
- package/template/.claude/skills/handoff/SKILL.md +46 -0
- package/template/.claude/skills/help/SKILL.md +253 -0
- package/template/.claude/skills/human-review-decisions/SKILL.md +74 -0
- package/template/.claude/skills/i18n-localization/SKILL.md +154 -0
- package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/template/.claude/skills/idea-refine/SKILL.md +178 -0
- package/template/.claude/skills/idea-refine/examples.md +238 -0
- package/template/.claude/skills/idea-refine/frameworks.md +99 -0
- package/template/.claude/skills/idea-refine/refinement-criteria.md +113 -0
- package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +15 -0
- package/template/.claude/skills/incremental-implementation/SKILL.md +248 -0
- package/template/.claude/skills/insight/SKILL.md +131 -0
- package/template/.claude/skills/insight-capture/SKILL.md +84 -0
- package/template/.claude/skills/intelligent-routing/SKILL.md +176 -0
- package/template/.claude/skills/issue-triage/SKILL.md +115 -0
- package/template/.claude/skills/lint-and-validate/SKILL.md +45 -0
- package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/template/.claude/skills/mcp-builder/SKILL.md +176 -0
- package/template/.claude/skills/md2html/SKILL.md +154 -0
- package/template/.claude/skills/md2html/components.md +505 -0
- package/template/.claude/skills/md2html/template.html +1152 -0
- package/template/.claude/skills/merge/SKILL.md +76 -0
- package/template/.claude/skills/mobile-design/SKILL.md +394 -0
- package/template/.claude/skills/mobile-design/decision-trees.md +516 -0
- package/template/.claude/skills/mobile-design/mobile-backend.md +491 -0
- package/template/.claude/skills/mobile-design/mobile-color-system.md +420 -0
- package/template/.claude/skills/mobile-design/mobile-debugging.md +122 -0
- package/template/.claude/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/template/.claude/skills/mobile-design/mobile-navigation.md +458 -0
- package/template/.claude/skills/mobile-design/mobile-performance.md +767 -0
- package/template/.claude/skills/mobile-design/mobile-testing.md +356 -0
- package/template/.claude/skills/mobile-design/mobile-typography.md +433 -0
- package/template/.claude/skills/mobile-design/platform-android.md +666 -0
- package/template/.claude/skills/mobile-design/platform-ios.md +561 -0
- package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/template/.claude/skills/mobile-design/touch-psychology.md +537 -0
- package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
- package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/template/.claude/skills/nextjs-react-expert/SKILL.md +286 -0
- package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/template/.claude/skills/nodejs-best-practices/SKILL.md +333 -0
- package/template/.claude/skills/obsidian-bases/SKILL.md +506 -0
- package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -0
- package/template/.claude/skills/obsidian-cli/SKILL.md +115 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +73 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +51 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +67 -0
- package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +64 -0
- package/template/.claude/skills/obsidian-markdown/SKILL.md +205 -0
- package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
- package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +63 -0
- package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
- package/template/.claude/skills/package-json-generator/SKILL.md +60 -0
- package/template/.claude/skills/package-json-generator/scripts/generate.js +120 -0
- package/template/.claude/skills/package-json-generator/scripts/run.sh +19 -0
- package/template/.claude/skills/parallel-agents/SKILL.md +144 -0
- package/template/.claude/skills/performance-optimization/SKILL.md +299 -0
- package/template/.claude/skills/performance-optimization/performance-checklist.md +113 -0
- package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +239 -0
- package/template/.claude/skills/powershell-windows/SKILL.md +167 -0
- package/template/.claude/skills/pr/SKILL.md +93 -0
- package/template/.claude/skills/pr-review/SKILL.md +143 -0
- package/template/.claude/skills/pr-review-analysis/SKILL.md +89 -0
- package/template/.claude/skills/prd/SKILL.md +127 -0
- package/template/.claude/skills/preview/SKILL.md +121 -0
- package/template/.claude/skills/preview-local-check/SKILL.md +59 -0
- package/template/.claude/skills/prompt-addons/SKILL.md +99 -0
- package/template/.claude/skills/prototype/SKILL.md +44 -0
- package/template/.claude/skills/prp-dev-fastapi/SKILL.md +114 -0
- package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +36 -0
- package/template/.claude/skills/prp-dev-odoo/SKILL.md +71 -0
- package/template/.claude/skills/prp-dev-php/SKILL.md +63 -0
- package/template/.claude/skills/prp-sa-ba/SKILL.md +52 -0
- package/template/.claude/skills/python-patterns/SKILL.md +441 -0
- package/template/.claude/skills/red-team-tactics/SKILL.md +199 -0
- package/template/.claude/skills/release-git-operations/SKILL.md +97 -0
- package/template/.claude/skills/research/SKILL.md +143 -0
- package/template/.claude/skills/review/SKILL.md +55 -0
- package/template/.claude/skills/review-followup-routing/SKILL.md +98 -0
- package/template/.claude/skills/roadmap-strategy/SKILL.md +97 -0
- package/template/.claude/skills/security-and-hardening/SKILL.md +349 -0
- package/template/.claude/skills/security-and-hardening/security-checklist.md +134 -0
- package/template/.claude/skills/security-review/SKILL.md +166 -0
- package/template/.claude/skills/seo-fundamentals/SKILL.md +129 -0
- package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/template/.claude/skills/server-management/SKILL.md +161 -0
- package/template/.claude/skills/shipping-and-launch/SKILL.md +311 -0
- package/template/.claude/skills/silent-failure-audit/SKILL.md +73 -0
- package/template/.claude/skills/simplify/SKILL.md +79 -0
- package/template/.claude/skills/skill-development/SKILL.md +86 -0
- package/template/.claude/skills/spec-driven-development/SKILL.md +207 -0
- package/template/.claude/skills/spec-orchestration/SKILL.md +91 -0
- package/template/.claude/skills/specialist-agent-routing/SKILL.md +107 -0
- package/template/.claude/skills/tailwind-patterns/SKILL.md +269 -0
- package/template/.claude/skills/test/SKILL.md +82 -0
- package/template/.claude/skills/test-driven-development/SKILL.md +422 -0
- package/template/.claude/skills/test-driven-development/testing-patterns.md +236 -0
- package/template/.claude/skills/test-execution-and-coverage/SKILL.md +56 -0
- package/template/.claude/skills/type-design/SKILL.md +84 -0
- package/template/.claude/skills/ui-ux-pro-max/SKILL.md +75 -0
- package/template/.claude/skills/using-agent-skills/SKILL.md +171 -0
- package/template/.claude/skills/verification-orchestration/SKILL.md +68 -0
- package/template/.claude/skills/vulnerability-scanner/SKILL.md +276 -0
- package/template/.claude/skills/vulnerability-scanner/checklists.md +121 -0
- package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/template/.claude/skills/wiki/SKILL.md +149 -0
- package/template/.claude/skills/workflow-documentation-sync/SKILL.md +87 -0
- package/template/.claude/skills/writing-great-skills/SKILL.md +65 -0
- package/template/.nexus/nexus-devflow.json +44 -0
- package/template/AGENTS.md +58 -0
- package/template/CLAUDE.md +5 -0
- package/template/LICENSE +21 -0
- package/template/devflow/context/ai-interaction.md +34 -0
- package/template/devflow/context/coding-standards.md +19 -0
- package/template/devflow/context/current-stage.md +6 -0
- package/template/devflow/context/findings.md +13 -0
- package/template/devflow/context/project-overview.md +20 -0
- package/template/devflow/reference/running-id-contract.md +39 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# Testing Patterns Reference
|
|
2
|
+
|
|
3
|
+
Quick reference for common testing patterns across the stack. Use alongside the `test-driven-development` skill.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Test Structure (Arrange-Act-Assert)](#test-structure-arrange-act-assert)
|
|
8
|
+
- [Test Naming Conventions](#test-naming-conventions)
|
|
9
|
+
- [Common Assertions](#common-assertions)
|
|
10
|
+
- [Mocking Patterns](#mocking-patterns)
|
|
11
|
+
- [React/Component Testing](#reactcomponent-testing)
|
|
12
|
+
- [API / Integration Testing](#api--integration-testing)
|
|
13
|
+
- [E2E Testing (Playwright)](#e2e-testing-playwright)
|
|
14
|
+
- [Test Anti-Patterns](#test-anti-patterns)
|
|
15
|
+
|
|
16
|
+
## Test Structure (Arrange-Act-Assert)
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
it('describes expected behavior', () => {
|
|
20
|
+
// Arrange: Set up test data and preconditions
|
|
21
|
+
const input = { title: 'Test Task', priority: 'high' };
|
|
22
|
+
|
|
23
|
+
// Act: Perform the action being tested
|
|
24
|
+
const result = createTask(input);
|
|
25
|
+
|
|
26
|
+
// Assert: Verify the outcome
|
|
27
|
+
expect(result.title).toBe('Test Task');
|
|
28
|
+
expect(result.priority).toBe('high');
|
|
29
|
+
expect(result.status).toBe('pending');
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Test Naming Conventions
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
// Pattern: [unit] [expected behavior] [condition]
|
|
37
|
+
describe('TaskService.createTask', () => {
|
|
38
|
+
it('creates a task with default pending status', () => {});
|
|
39
|
+
it('throws ValidationError when title is empty', () => {});
|
|
40
|
+
it('trims whitespace from title', () => {});
|
|
41
|
+
it('generates a unique ID for each task', () => {});
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Common Assertions
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
// Equality
|
|
49
|
+
expect(result).toBe(expected); // Strict equality (===)
|
|
50
|
+
expect(result).toEqual(expected); // Deep equality (objects/arrays)
|
|
51
|
+
expect(result).toStrictEqual(expected); // Deep equality + type matching
|
|
52
|
+
|
|
53
|
+
// Truthiness
|
|
54
|
+
expect(result).toBeTruthy();
|
|
55
|
+
expect(result).toBeFalsy();
|
|
56
|
+
expect(result).toBeNull();
|
|
57
|
+
expect(result).toBeDefined();
|
|
58
|
+
expect(result).toBeUndefined();
|
|
59
|
+
|
|
60
|
+
// Numbers
|
|
61
|
+
expect(result).toBeGreaterThan(5);
|
|
62
|
+
expect(result).toBeLessThanOrEqual(10);
|
|
63
|
+
expect(result).toBeCloseTo(0.3, 5); // Floating point
|
|
64
|
+
|
|
65
|
+
// Strings
|
|
66
|
+
expect(result).toMatch(/pattern/);
|
|
67
|
+
expect(result).toContain('substring');
|
|
68
|
+
|
|
69
|
+
// Arrays / Objects
|
|
70
|
+
expect(array).toContain(item);
|
|
71
|
+
expect(array).toHaveLength(3);
|
|
72
|
+
expect(object).toHaveProperty('key', 'value');
|
|
73
|
+
|
|
74
|
+
// Errors
|
|
75
|
+
expect(() => fn()).toThrow();
|
|
76
|
+
expect(() => fn()).toThrow(ValidationError);
|
|
77
|
+
expect(() => fn()).toThrow('specific message');
|
|
78
|
+
|
|
79
|
+
// Async
|
|
80
|
+
await expect(asyncFn()).resolves.toBe(value);
|
|
81
|
+
await expect(asyncFn()).rejects.toThrow(Error);
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Mocking Patterns
|
|
85
|
+
|
|
86
|
+
### Mock Functions
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
const mockFn = jest.fn();
|
|
90
|
+
mockFn.mockReturnValue(42);
|
|
91
|
+
mockFn.mockResolvedValue({ data: 'test' });
|
|
92
|
+
mockFn.mockImplementation((x) => x * 2);
|
|
93
|
+
|
|
94
|
+
expect(mockFn).toHaveBeenCalled();
|
|
95
|
+
expect(mockFn).toHaveBeenCalledWith('arg1', 'arg2');
|
|
96
|
+
expect(mockFn).toHaveBeenCalledTimes(3);
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Mock Modules
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
// Mock an entire module
|
|
103
|
+
jest.mock('./database', () => ({
|
|
104
|
+
query: jest.fn().mockResolvedValue([{ id: 1, title: 'Test' }]),
|
|
105
|
+
}));
|
|
106
|
+
|
|
107
|
+
// Mock specific exports
|
|
108
|
+
jest.mock('./utils', () => ({
|
|
109
|
+
...jest.requireActual('./utils'),
|
|
110
|
+
generateId: jest.fn().mockReturnValue('test-id'),
|
|
111
|
+
}));
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Mock at Boundaries Only
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
Mock these: Don't mock these:
|
|
118
|
+
├── Database calls ├── Internal utility functions
|
|
119
|
+
├── HTTP requests ├── Business logic
|
|
120
|
+
├── File system operations ├── Data transformations
|
|
121
|
+
├── External API calls ├── Validation functions
|
|
122
|
+
└── Time/Date (when needed) └── Pure functions
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## React/Component Testing
|
|
126
|
+
|
|
127
|
+
```tsx
|
|
128
|
+
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
|
|
129
|
+
|
|
130
|
+
describe('TaskForm', () => {
|
|
131
|
+
it('submits the form with entered data', async () => {
|
|
132
|
+
const onSubmit = jest.fn();
|
|
133
|
+
render(<TaskForm onSubmit={onSubmit} />);
|
|
134
|
+
|
|
135
|
+
// Find elements by accessible role/label (not test IDs)
|
|
136
|
+
await screen.findByRole('textbox', { name: /title/i });
|
|
137
|
+
fireEvent.change(screen.getByRole('textbox', { name: /title/i }), {
|
|
138
|
+
target: { value: 'New Task' },
|
|
139
|
+
});
|
|
140
|
+
fireEvent.click(screen.getByRole('button', { name: /create/i }));
|
|
141
|
+
|
|
142
|
+
await waitFor(() => {
|
|
143
|
+
expect(onSubmit).toHaveBeenCalledWith({ title: 'New Task' });
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
it('shows validation error for empty title', async () => {
|
|
148
|
+
render(<TaskForm onSubmit={jest.fn()} />);
|
|
149
|
+
|
|
150
|
+
fireEvent.click(screen.getByRole('button', { name: /create/i }));
|
|
151
|
+
|
|
152
|
+
expect(await screen.findByText(/title is required/i)).toBeInTheDocument();
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## API / Integration Testing
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
import request from 'supertest';
|
|
161
|
+
import { app } from '../src/app';
|
|
162
|
+
|
|
163
|
+
describe('POST /api/tasks', () => {
|
|
164
|
+
it('creates a task and returns 201', async () => {
|
|
165
|
+
const response = await request(app)
|
|
166
|
+
.post('/api/tasks')
|
|
167
|
+
.send({ title: 'Test Task' })
|
|
168
|
+
.set('Authorization', `Bearer ${testToken}`)
|
|
169
|
+
.expect(201);
|
|
170
|
+
|
|
171
|
+
expect(response.body).toMatchObject({
|
|
172
|
+
id: expect.any(String),
|
|
173
|
+
title: 'Test Task',
|
|
174
|
+
status: 'pending',
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
it('returns 422 for invalid input', async () => {
|
|
179
|
+
const response = await request(app)
|
|
180
|
+
.post('/api/tasks')
|
|
181
|
+
.send({ title: '' })
|
|
182
|
+
.set('Authorization', `Bearer ${testToken}`)
|
|
183
|
+
.expect(422);
|
|
184
|
+
|
|
185
|
+
expect(response.body.error.code).toBe('VALIDATION_ERROR');
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
it('returns 401 without authentication', async () => {
|
|
189
|
+
await request(app)
|
|
190
|
+
.post('/api/tasks')
|
|
191
|
+
.send({ title: 'Test' })
|
|
192
|
+
.expect(401);
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## E2E Testing (Playwright)
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
import { test, expect } from '@playwright/test';
|
|
201
|
+
|
|
202
|
+
test('user can create and complete a task', async ({ page }) => {
|
|
203
|
+
// Navigate and authenticate
|
|
204
|
+
await page.goto('/');
|
|
205
|
+
await page.fill('[name="email"]', 'test@example.com');
|
|
206
|
+
await page.fill('[name="password"]', 'testpass123');
|
|
207
|
+
await page.click('button:has-text("Log in")');
|
|
208
|
+
|
|
209
|
+
// Create a task
|
|
210
|
+
await page.click('button:has-text("New Task")');
|
|
211
|
+
await page.fill('[name="title"]', 'Buy groceries');
|
|
212
|
+
await page.click('button:has-text("Create")');
|
|
213
|
+
|
|
214
|
+
// Verify task appears
|
|
215
|
+
await expect(page.locator('text=Buy groceries')).toBeVisible();
|
|
216
|
+
|
|
217
|
+
// Complete the task
|
|
218
|
+
await page.click('[aria-label="Complete Buy groceries"]');
|
|
219
|
+
await expect(page.locator('text=Buy groceries')).toHaveCSS(
|
|
220
|
+
'text-decoration-line', 'line-through'
|
|
221
|
+
);
|
|
222
|
+
});
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Test Anti-Patterns
|
|
226
|
+
|
|
227
|
+
| Anti-Pattern | Problem | Better Approach |
|
|
228
|
+
|---|---|---|
|
|
229
|
+
| Testing implementation details | Breaks on refactor | Test inputs/outputs |
|
|
230
|
+
| Snapshot everything | No one reviews snapshot diffs | Assert specific values |
|
|
231
|
+
| Shared mutable state | Tests pollute each other | Setup/teardown per test |
|
|
232
|
+
| Testing third-party code | Wastes time, not your bug | Mock the boundary |
|
|
233
|
+
| Skipping tests to pass CI | Hides real bugs | Fix or delete the test |
|
|
234
|
+
| Using `test.skip` permanently | Dead code | Remove or fix it |
|
|
235
|
+
| Overly broad assertions | Doesn't catch regressions | Be specific |
|
|
236
|
+
| No async error handling | Swallowed errors, false passes | Always `await` async tests |
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-execution-and-coverage
|
|
3
|
+
description: Generate missing tests, run existing tests, and summarize coverage and failures. Use when implementation or verification needs explicit testing evidence beyond a general TDD reminder.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test Execution And Coverage
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill complements TDD by handling test generation, execution, and persistent reporting.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- During `/40-Implement` when tests need to be added
|
|
15
|
+
- During `/50-Verify` when the test suite must be run and summarized
|
|
16
|
+
- During `Debug` when a bug needs a reproduction test
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### 1. Decide Test Mode
|
|
21
|
+
|
|
22
|
+
- generate tests for a target
|
|
23
|
+
- run the existing test suite
|
|
24
|
+
- inspect coverage when the project supports it
|
|
25
|
+
|
|
26
|
+
### 2. Use Project-Native Test Commands
|
|
27
|
+
|
|
28
|
+
- prefer the project's real framework and real commands
|
|
29
|
+
- highlight failed assertions clearly
|
|
30
|
+
- distinguish test generation from test execution
|
|
31
|
+
|
|
32
|
+
### 3. Save Reusable Report
|
|
33
|
+
|
|
34
|
+
Write reusable output under:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
devflow/reports/{date}-test-report-{slug}.md
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Use `.agent/resources/schemas/test_report.template.md` when saving a reusable report.
|
|
41
|
+
|
|
42
|
+
### 4. Route Back
|
|
43
|
+
|
|
44
|
+
- `/50-Verify` when tests support formal verification
|
|
45
|
+
- `/40-Implement` when missing or failing tests require code changes
|
|
46
|
+
- `Debug` when failures need RCA
|
|
47
|
+
|
|
48
|
+
## Output
|
|
49
|
+
|
|
50
|
+
Return:
|
|
51
|
+
|
|
52
|
+
- what tests were generated or run
|
|
53
|
+
- command output summary
|
|
54
|
+
- pass/fail state
|
|
55
|
+
- gaps and risks
|
|
56
|
+
- recommended return stage
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: type-design
|
|
3
|
+
description: Analyzes type and interface design for encapsulation, invariant expression, usefulness, and enforcement. Use when introducing new types, reviewing PRs with type changes, or refactoring domain models.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Type Design
|
|
7
|
+
|
|
8
|
+
Use this skill to evaluate whether types make invalid states hard or impossible to represent without over-engineering the codebase.
|
|
9
|
+
|
|
10
|
+
## Core Rule
|
|
11
|
+
|
|
12
|
+
Make illegal states unrepresentable when it prevents real bugs, but do not make simple things complex.
|
|
13
|
+
|
|
14
|
+
## When To Use
|
|
15
|
+
|
|
16
|
+
- New type, interface, schema, model, DTO, or value object is introduced.
|
|
17
|
+
- A PR changes type relationships, constructors, factories, or public API contracts.
|
|
18
|
+
- A refactor moves validation, mutation, or domain rules across module boundaries.
|
|
19
|
+
- A reviewer needs a pragmatic quality rating for type design.
|
|
20
|
+
|
|
21
|
+
## Analysis Scope
|
|
22
|
+
|
|
23
|
+
Review:
|
|
24
|
+
|
|
25
|
+
- Type/interface definitions.
|
|
26
|
+
- Constructors, factories, parsers, and validators.
|
|
27
|
+
- Setter methods and mutation points.
|
|
28
|
+
- Public API surface and exported types.
|
|
29
|
+
- Relationships between fields that must remain consistent.
|
|
30
|
+
|
|
31
|
+
## Evaluation Dimensions
|
|
32
|
+
|
|
33
|
+
| Dimension | Ask |
|
|
34
|
+
|---|---|
|
|
35
|
+
| Encapsulation | Can callers violate invariants from outside the type boundary? |
|
|
36
|
+
| Invariant Expression | Are the important constraints obvious from the type shape? |
|
|
37
|
+
| Invariant Usefulness | Do the constraints prevent real bugs or only add ceremony? |
|
|
38
|
+
| Invariant Enforcement | Are invalid instances impossible or at least rejected at boundaries? |
|
|
39
|
+
|
|
40
|
+
Rate each dimension from 1 to 10. Scores below 5 require concrete findings.
|
|
41
|
+
|
|
42
|
+
## Anti-Patterns
|
|
43
|
+
|
|
44
|
+
| Anti-pattern | Risk |
|
|
45
|
+
|---|---|
|
|
46
|
+
| Exposed mutable internals | Callers can break invariants after construction. |
|
|
47
|
+
| Doc-only invariants | The rule exists only in comments and is easy to bypass. |
|
|
48
|
+
| No constructor or parser validation | Invalid instances can enter the system. |
|
|
49
|
+
| Anemic domain model | Rules are scattered across callers. |
|
|
50
|
+
| God type | Too many responsibilities make the type hard to use correctly. |
|
|
51
|
+
| Over-modeled simple data | Complexity exceeds the bug-prevention value. |
|
|
52
|
+
|
|
53
|
+
## Output Format
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
## Type Design Review: [Scope]
|
|
57
|
+
|
|
58
|
+
### Types Reviewed
|
|
59
|
+
| Type | File | Purpose |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| `TypeName` | `path/file.ts:10` | Represents ... |
|
|
62
|
+
|
|
63
|
+
### Ratings
|
|
64
|
+
| Type | Encapsulation | Expression | Usefulness | Enforcement | Overall |
|
|
65
|
+
|---|---:|---:|---:|---:|---:|
|
|
66
|
+
| `TypeName` | 8 | 7 | 8 | 6 | 7.25 |
|
|
67
|
+
|
|
68
|
+
### Findings
|
|
69
|
+
#### [Severity] [Title]
|
|
70
|
+
**Location**: `path/file.ts:23`
|
|
71
|
+
**Problem**: [What invariant can fail]
|
|
72
|
+
**Impact**: [Concrete bug or maintenance risk]
|
|
73
|
+
**Recommendation**: [Smallest useful improvement]
|
|
74
|
+
|
|
75
|
+
### Verdict
|
|
76
|
+
[Well-designed / Adequate / Needs improvement / Significant issues]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Verification
|
|
80
|
+
|
|
81
|
+
- Findings cite concrete files and lines.
|
|
82
|
+
- Recommendations fit the project's existing type style.
|
|
83
|
+
- Suggestions include trade-offs when they add ceremony.
|
|
84
|
+
- No recommendation depends on speculative future requirements.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ui-ux-pro-max
|
|
3
|
+
description: AI-powered design intelligence with 50+ styles, 95+ color palettes, and automated design system generation. Use when designing, building, or reviewing UI/UX.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UI/UX Pro Max (Design Intelligence)
|
|
7
|
+
|
|
8
|
+
Comprehensive design guide for web and mobile applications. Contains 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 9 technology stacks. Searchable database with priority-based recommendations.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
Python is required for the design system search tool.
|
|
13
|
+
|
|
14
|
+
## How to Use This Skill
|
|
15
|
+
|
|
16
|
+
When you need to perform UI/UX work (design, build, create, implement, review, fix, improve), follow this process:
|
|
17
|
+
|
|
18
|
+
### 1. Analyze User Requirements
|
|
19
|
+
Extract key information:
|
|
20
|
+
- **Product type**: SaaS, e-commerce, dashboard, etc.
|
|
21
|
+
- **Style keywords**: minimal, playful, professional, dark mode, etc.
|
|
22
|
+
- **Industry**: healthcare, fintech, gaming, etc.
|
|
23
|
+
- **Stack**: React, Vue, Next.js, or default to `html-tailwind`.
|
|
24
|
+
|
|
25
|
+
### 2. Generate Design System (REQUIRED)
|
|
26
|
+
**Always start by generating a design system** to get comprehensive recommendations:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
python3 .claude/.shared/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 3. Persist Design System
|
|
33
|
+
To save the design system for hierarchical retrieval:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
python3 .claude/.shared/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" [--page "name"]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 4. Detailed Domain Searches
|
|
40
|
+
Supplement with specific details as needed:
|
|
41
|
+
- `style`: `--domain style "keywords"`
|
|
42
|
+
- `chart`: `--domain chart "keywords"`
|
|
43
|
+
- `ux`: `--domain ux "keywords"`
|
|
44
|
+
- `typography`: `--domain typography "keywords"`
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Design Guidelines & Standards
|
|
49
|
+
|
|
50
|
+
### Professional UI Rules
|
|
51
|
+
- **No emoji icons**: Use SVG icons (Heroicons, Lucide).
|
|
52
|
+
- **Stable hover states**: Use color/opacity transitions, avoid layout shifts.
|
|
53
|
+
- **Consistent icon sizing**: Use fixed viewBox (24x24) with w-6 h-6.
|
|
54
|
+
- **Cursor pointer**: Add `cursor-pointer` to all interactive elements.
|
|
55
|
+
|
|
56
|
+
### Contrast & Visibility
|
|
57
|
+
- **Light Mode Glass**: Use `bg-white/80` or higher.
|
|
58
|
+
- **Text Contrast**: Use high-contrast slates (e.g., slate-900 for body).
|
|
59
|
+
- **Border visibility**: Ensure borders are visible in both light/dark modes.
|
|
60
|
+
|
|
61
|
+
### Layout
|
|
62
|
+
- **Floating navbar**: Add `top-4 left-4 right-4` spacing.
|
|
63
|
+
- **Responsive**: Test at 375px, 768px, 1024px, 1440px.
|
|
64
|
+
|
|
65
|
+
## Pre-Delivery Checklist
|
|
66
|
+
|
|
67
|
+
- [ ] No emojis used as icons (use SVG instead).
|
|
68
|
+
- [ ] Hover states don't cause layout shift.
|
|
69
|
+
- [ ] All clickable elements have `cursor-pointer`.
|
|
70
|
+
- [ ] Transitions are smooth (150-300ms).
|
|
71
|
+
- [ ] Responsive at all major breakpoints.
|
|
72
|
+
- [ ] No horizontal scroll on mobile.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
*Powered by UI-UX Pro Max Engine*
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-agent-skills
|
|
3
|
+
description: Discovers and invokes agent skills. Use when starting a session or when you need to discover which skill applies to the current task. This is the meta-skill that governs how all other skills are discovered and invoked.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using Agent Skills
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Agent Skills is a collection of engineering workflow skills organized by development phase. Each skill encodes a specific process that senior engineers follow. This meta-skill helps you discover and apply the right skill for your current task.
|
|
11
|
+
|
|
12
|
+
## Skill Discovery
|
|
13
|
+
|
|
14
|
+
When a task arrives, identify the development phase and apply the corresponding skill:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Task arrives
|
|
18
|
+
│
|
|
19
|
+
├── Vague idea/need refinement? ──→ idea-refine
|
|
20
|
+
├── New project/feature/change? ──→ spec-driven-development
|
|
21
|
+
├── Have a spec, need tasks? ──────→ planning-and-task-breakdown
|
|
22
|
+
├── Implementing code? ────────────→ incremental-implementation
|
|
23
|
+
│ ├── UI work? ─────────────────→ frontend-ui-engineering
|
|
24
|
+
│ ├── API work? ────────────────→ api-and-interface-design
|
|
25
|
+
│ └── Need better context? ─────→ context-engineering
|
|
26
|
+
├── Writing/running tests? ────────→ test-driven-development
|
|
27
|
+
│ └── Browser-based? ───────────→ browser-testing-with-devtools
|
|
28
|
+
├── Something broke? ──────────────→ debugging-and-error-recovery
|
|
29
|
+
├── Reviewing code? ───────────────→ code-review-and-quality
|
|
30
|
+
│ ├── Security concerns? ───────→ security-and-hardening
|
|
31
|
+
│ └── Performance concerns? ────→ performance-optimization
|
|
32
|
+
├── Committing/branching? ─────────→ git-workflow-and-versioning
|
|
33
|
+
├── CI/CD pipeline work? ──────────→ ci-cd-and-automation
|
|
34
|
+
├── Writing docs/ADRs? ───────────→ documentation-and-adrs
|
|
35
|
+
└── Deploying/launching? ─────────→ shipping-and-launch
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Core Operating Behaviors
|
|
39
|
+
|
|
40
|
+
These behaviors apply at all times, across all skills. They are non-negotiable.
|
|
41
|
+
|
|
42
|
+
### 1. Surface Assumptions
|
|
43
|
+
|
|
44
|
+
Before implementing anything non-trivial, explicitly state your assumptions:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
ASSUMPTIONS I'M MAKING:
|
|
48
|
+
1. [assumption about requirements]
|
|
49
|
+
2. [assumption about architecture]
|
|
50
|
+
3. [assumption about scope]
|
|
51
|
+
→ Correct me now or I'll proceed with these.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Don't silently fill in ambiguous requirements. The most common failure mode is making wrong assumptions and running with them unchecked. Surface uncertainty early — it's cheaper than rework.
|
|
55
|
+
|
|
56
|
+
### 2. Manage Confusion Actively
|
|
57
|
+
|
|
58
|
+
When you encounter inconsistencies, conflicting requirements, or unclear specifications:
|
|
59
|
+
|
|
60
|
+
1. **STOP.** Do not proceed with a guess.
|
|
61
|
+
2. Name the specific confusion.
|
|
62
|
+
3. Present the tradeoff or ask the clarifying question.
|
|
63
|
+
4. Wait for resolution before continuing.
|
|
64
|
+
|
|
65
|
+
**Bad:** Silently picking one interpretation and hoping it's right.
|
|
66
|
+
**Good:** "I see X in the spec but Y in the existing code. Which takes precedence?"
|
|
67
|
+
|
|
68
|
+
### 3. Push Back When Warranted
|
|
69
|
+
|
|
70
|
+
You are not a yes-machine. When an approach has clear problems:
|
|
71
|
+
|
|
72
|
+
- Point out the issue directly
|
|
73
|
+
- Explain the concrete downside (quantify when possible — "this adds ~200ms latency" not "this might be slower")
|
|
74
|
+
- Propose an alternative
|
|
75
|
+
- Accept the human's decision if they override with full information
|
|
76
|
+
|
|
77
|
+
Sycophancy is a failure mode. "Of course!" followed by implementing a bad idea helps no one. Honest technical disagreement is more valuable than false agreement.
|
|
78
|
+
|
|
79
|
+
### 4. Enforce Simplicity
|
|
80
|
+
|
|
81
|
+
Your natural tendency is to overcomplicate. Actively resist it.
|
|
82
|
+
|
|
83
|
+
Before finishing any implementation, ask:
|
|
84
|
+
- Can this be done in fewer lines?
|
|
85
|
+
- Are these abstractions earning their complexity?
|
|
86
|
+
- Would a staff engineer look at this and say "why didn't you just..."?
|
|
87
|
+
|
|
88
|
+
If you build 1000 lines and 100 would suffice, you have failed. Prefer the boring, obvious solution. Cleverness is expensive.
|
|
89
|
+
|
|
90
|
+
### 5. Maintain Scope Discipline
|
|
91
|
+
|
|
92
|
+
Touch only what you're asked to touch.
|
|
93
|
+
|
|
94
|
+
Do NOT:
|
|
95
|
+
- Remove comments you don't understand
|
|
96
|
+
- "Clean up" code orthogonal to the task
|
|
97
|
+
- Refactor adjacent systems as a side effect
|
|
98
|
+
- Delete code that seems unused without explicit approval
|
|
99
|
+
- Add features not in the spec because they "seem useful"
|
|
100
|
+
|
|
101
|
+
Your job is surgical precision, not unsolicited renovation.
|
|
102
|
+
|
|
103
|
+
### 6. Verify, Don't Assume
|
|
104
|
+
|
|
105
|
+
Every skill includes a verification step. A task is not complete until verification passes. "Seems right" is never sufficient — there must be evidence (passing tests, build output, runtime data).
|
|
106
|
+
|
|
107
|
+
## Failure Modes to Avoid
|
|
108
|
+
|
|
109
|
+
These are the subtle errors that look like productivity but create problems:
|
|
110
|
+
|
|
111
|
+
1. Making wrong assumptions without checking
|
|
112
|
+
2. Not managing your own confusion — plowing ahead when lost
|
|
113
|
+
3. Not surfacing inconsistencies you notice
|
|
114
|
+
4. Not presenting tradeoffs on non-obvious decisions
|
|
115
|
+
5. Being sycophantic ("Of course!") to approaches with clear problems
|
|
116
|
+
6. Overcomplicating code and APIs
|
|
117
|
+
7. Modifying code or comments orthogonal to the task
|
|
118
|
+
8. Removing things you don't fully understand
|
|
119
|
+
9. Building without a spec because "it's obvious"
|
|
120
|
+
10. Skipping verification because "it looks right"
|
|
121
|
+
|
|
122
|
+
## Skill Rules
|
|
123
|
+
|
|
124
|
+
1. **Check for an applicable skill before starting work.** Skills encode processes that prevent common mistakes.
|
|
125
|
+
|
|
126
|
+
2. **Skills are workflows, not suggestions.** Follow the steps in order. Don't skip verification steps.
|
|
127
|
+
|
|
128
|
+
3. **Multiple skills can apply.** A feature implementation might involve `idea-refine` → `spec-driven-development` → `planning-and-task-breakdown` → `incremental-implementation` → `test-driven-development` → `code-review-and-quality` → `shipping-and-launch` in sequence.
|
|
129
|
+
|
|
130
|
+
4. **When in doubt, start with a spec.** If the task is non-trivial and there's no spec, begin with `spec-driven-development`.
|
|
131
|
+
|
|
132
|
+
## Lifecycle Sequence
|
|
133
|
+
|
|
134
|
+
For a complete feature, the typical skill sequence is:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
1. idea-refine → Refine vague ideas
|
|
138
|
+
2. spec-driven-development → Define what we're building
|
|
139
|
+
3. planning-and-task-breakdown → Break into verifiable chunks
|
|
140
|
+
4. context-engineering → Load the right context
|
|
141
|
+
5. incremental-implementation → Build slice by slice
|
|
142
|
+
6. test-driven-development → Prove each slice works
|
|
143
|
+
7. code-review-and-quality → Review before merge
|
|
144
|
+
8. git-workflow-and-versioning → Clean commit history
|
|
145
|
+
9. documentation-and-adrs → Document decisions
|
|
146
|
+
10. shipping-and-launch → Deploy safely
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Not every task needs every skill. A bug fix might only need: `debugging-and-error-recovery` → `test-driven-development` → `code-review-and-quality`.
|
|
150
|
+
|
|
151
|
+
## Quick Reference
|
|
152
|
+
|
|
153
|
+
| Phase | Skill | One-Line Summary |
|
|
154
|
+
|-------|-------|-----------------|
|
|
155
|
+
| Define | idea-refine | Refine ideas through structured divergent and convergent thinking |
|
|
156
|
+
| Define | spec-driven-development | Requirements and acceptance criteria before code |
|
|
157
|
+
| Plan | planning-and-task-breakdown | Decompose into small, verifiable tasks |
|
|
158
|
+
| Build | incremental-implementation | Thin vertical slices, test each before expanding |
|
|
159
|
+
| Build | context-engineering | Right context at the right time |
|
|
160
|
+
| Build | frontend-ui-engineering | Production-quality UI with accessibility |
|
|
161
|
+
| Build | api-and-interface-design | Stable interfaces with clear contracts |
|
|
162
|
+
| Verify | test-driven-development | Failing test first, then make it pass |
|
|
163
|
+
| Verify | browser-testing-with-devtools | Chrome DevTools MCP for runtime verification |
|
|
164
|
+
| Verify | debugging-and-error-recovery | Reproduce → localize → fix → guard |
|
|
165
|
+
| Review | code-review-and-quality | Five-axis review with quality gates |
|
|
166
|
+
| Review | security-and-hardening | OWASP prevention, input validation, least privilege |
|
|
167
|
+
| Review | performance-optimization | Measure first, optimize only what matters |
|
|
168
|
+
| Ship | git-workflow-and-versioning | Atomic commits, clean history |
|
|
169
|
+
| Ship | ci-cd-and-automation | Automated quality gates on every change |
|
|
170
|
+
| Ship | documentation-and-adrs | Document the why, not just the what |
|
|
171
|
+
| Ship | shipping-and-launch | Pre-launch checklist, monitoring, rollback plan |
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-orchestration
|
|
3
|
+
description: Coordinate multi-lane QA, specialist review, test planning, and verification follow-up. Use when /50-Verify needs more structure than a single pass and the team needs a QA matrix or specialist routing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Verification Orchestration
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill structures complex verification work across multiple QA lanes without replacing the main verification stage.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- `/50-Verify` is too broad for a single simple pass
|
|
15
|
+
- the change needs correctness, regression, security, performance, and UX checks together
|
|
16
|
+
- the team needs specialist routing for QA
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### 1. Validate The Verification Context
|
|
21
|
+
|
|
22
|
+
- inspect the owning stage artifacts first
|
|
23
|
+
- confirm what implementation scope is actually under review
|
|
24
|
+
- keep markdown stage artifacts as the source of truth
|
|
25
|
+
|
|
26
|
+
### 2. Choose QA Lanes
|
|
27
|
+
|
|
28
|
+
Typical lanes:
|
|
29
|
+
|
|
30
|
+
- correctness and acceptance criteria
|
|
31
|
+
- tests and regressions
|
|
32
|
+
- security and data safety
|
|
33
|
+
- performance and scalability
|
|
34
|
+
- UX or manual verification
|
|
35
|
+
- codebase fit and maintainability
|
|
36
|
+
|
|
37
|
+
### 3. Route Specialist Help
|
|
38
|
+
|
|
39
|
+
Use specialist agents only when needed, such as:
|
|
40
|
+
|
|
41
|
+
- `code-reviewer`
|
|
42
|
+
- `test-engineer`
|
|
43
|
+
- `security-auditor`
|
|
44
|
+
|
|
45
|
+
### 4. Save Reusable Report
|
|
46
|
+
|
|
47
|
+
Write reusable output under:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
devflow/reports/{date}-qa-orchestrate-{id}.md
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use `.agent/resources/schemas/qa_orchestration.template.md` when saving a reusable report.
|
|
54
|
+
|
|
55
|
+
### 5. Route Back
|
|
56
|
+
|
|
57
|
+
- `/50-Verify` when the QA matrix strengthens verification evidence
|
|
58
|
+
- `/40-Implement` when actionable fixes are required
|
|
59
|
+
- `Followup` when findings become new scope
|
|
60
|
+
|
|
61
|
+
## Output
|
|
62
|
+
|
|
63
|
+
Return:
|
|
64
|
+
|
|
65
|
+
- QA lanes used
|
|
66
|
+
- specialist recommendations
|
|
67
|
+
- findings and blockers
|
|
68
|
+
- recommended return stage
|