ai-developer-skill-os 7.5.0 → 8.1.4
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/.agents/CHANGELOG.md +2 -1
- package/.agents/README.md +51 -10
- package/.agents/docs/ARCHITECTURE.md +156 -0
- package/.agents/docs/CHI_TIET_SKILLS.md +2 -1
- package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +36 -0
- package/.agents/docs/MIGRATION-STATUS.md +35 -0
- package/.agents/docs/MIGRATION-V8.md +10 -0
- package/.agents/docs/ROADMAP-V8.2.md +78 -0
- package/.agents/docs/V8-CERTIFICATION.md +27 -0
- package/.agents/docs/VERSIONING.md +95 -0
- package/.agents/docs/decisions/ADR-001-v8-migration.md +58 -0
- package/.agents/docs/decisions/ADR-002-workflow-separation.md +50 -0
- package/.agents/docs/decisions/ADR-003-registry-generated.md +54 -0
- package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +27 -0
- package/.agents/docs/schemas/learning.schema.yml +69 -0
- package/.agents/docs/schemas/skill.schema.yml +188 -0
- package/.agents/docs/schemas/workflow.schema.yml +33 -0
- package/.agents/knowledge/design-intelligence/industries/ecommerce.md +3 -0
- package/.agents/knowledge/design-intelligence/industries/fintech.md +3 -0
- package/.agents/knowledge/design-intelligence/industries/healthcare.md +3 -0
- package/.agents/learnings/draft/README.md +37 -0
- package/.agents/registry/capability-graph.yml +500 -0
- package/.agents/registry/skills-index.yml +525 -0
- package/.agents/reports/RELEASE-CHECKLIST.md +29 -0
- package/.agents/reports/architecture-audit.md +13 -0
- package/.agents/reports/graph-health.md +20 -0
- package/.agents/reports/skill-audit.md +215 -0
- package/.agents/rules/coding.md +102 -0
- package/.agents/rules/command-safety.md +21 -0
- package/.agents/rules/global.md +135 -0
- package/.agents/rules/priorities.yml +24 -0
- package/.agents/rules/safety.md +84 -0
- package/.agents/rules/security.md +13 -0
- package/.agents/rules/skill-quality.md +14 -0
- package/.agents/skills/_template/SKILL.md +132 -0
- package/.agents/skills/qk-access-policy/SKILL.md +61 -5
- package/.agents/skills/qk-agent-observability/SKILL.md +73 -0
- package/.agents/skills/qk-ai-builder/SKILL.md +62 -5
- package/.agents/skills/qk-api-lifecycle/SKILL.md +59 -6
- package/.agents/skills/qk-bug-resolution/SKILL.md +64 -6
- package/.agents/skills/qk-context-loader/SKILL.md +63 -11
- package/.agents/skills/qk-data-lifecycle/SKILL.md +61 -5
- package/.agents/skills/qk-db-optimizer/SKILL.md +61 -5
- package/.agents/skills/qk-design-system-engineering/SKILL.md +112 -0
- package/.agents/skills/qk-devops-platform/SKILL.md +117 -0
- package/.agents/skills/qk-docs/SKILL.md +62 -6
- package/.agents/skills/qk-engineering-standard/SKILL.md +62 -12
- package/.agents/skills/qk-fe-api-integration/SKILL.md +60 -6
- package/.agents/skills/qk-feature-delivery/SKILL.md +65 -6
- package/.agents/skills/qk-frontend-architecture/SKILL.md +134 -0
- package/.agents/skills/qk-help/SKILL.md +245 -193
- package/.agents/skills/qk-orchestrator/SKILL.md +67 -13
- package/.agents/skills/qk-orchestrator/references/routing-table.md +4 -3
- package/.agents/skills/qk-product-specification/SKILL.md +130 -0
- package/.agents/skills/qk-production-release/SKILL.md +59 -6
- package/.agents/skills/qk-project-bootstrap/SKILL.md +68 -7
- package/.agents/skills/qk-project-health/SKILL.md +63 -6
- package/.agents/skills/qk-project-memory/SKILL.md +109 -6
- package/.agents/skills/qk-security-audit/SKILL.md +135 -0
- package/.agents/skills/qk-system-evolution/SKILL.md +63 -12
- package/.agents/skills/qk-test-engineering/SKILL.md +139 -0
- package/.agents/skills/qk-ui-audit/SKILL.md +63 -8
- package/.agents/skills/qk-ui-builder/SKILL.md +509 -0
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +295 -0
- package/.agents/skills/qk-ui-builder/references/color.md +115 -0
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
- package/.agents/skills/qk-ui-builder/references/copy.md +250 -0
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +111 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +38 -0
- package/.agents/skills/qk-ui-builder/references/motion.md +95 -0
- package/.agents/skills/qk-ui-builder/references/responsive.md +115 -0
- package/.agents/skills/qk-ui-builder/references/slop-test.md +135 -0
- package/.agents/skills/qk-ui-builder/references/structure.md +280 -0
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +52 -0
- package/.agents/skills/qk-ui-builder/references/typography.md +129 -0
- package/.agents/skills/qk-ui-system-builder/SKILL.md +61 -5
- package/.agents/skills/qk-validation-gate/SKILL.md +63 -11
- package/.agents/skills/qk-web-quality-gate/SKILL.md +114 -0
- package/.agents/workflows/_schema.yml +109 -0
- package/.agents/workflows/bug-resolution.yml +101 -0
- package/.agents/workflows/code-review.yml +77 -0
- package/.agents/workflows/documentation.yml +75 -0
- package/.agents/workflows/feature-delivery.yml +103 -0
- package/.agents/workflows/refactor.yml +81 -0
- package/.agents/workflows/research.yml +60 -0
- package/.agents/workflows/security-audit.yml +72 -0
- package/.agents/workflows/skill-evolution.yml +65 -0
- package/.agents/workflows/spec-driven-development.yml +57 -0
- package/CHANGELOG.md +91 -69
- package/README.md +50 -45
- package/bin/install.js +57 -309
- package/package.json +14 -3
- package/tooling/generate-evaluation-cases.cjs +44 -0
- package/tooling/generate-registry.js +157 -0
- package/tooling/run-aar.js +143 -0
- package/tooling/validate-graph.js +87 -0
- package/tooling/validate-skills.js +102 -0
- package/.agents/_template/BEHAVIOR_SPEC.md +0 -96
- package/.agents/_template/examples/example-en.md +0 -49
- package/.agents/_template/examples/example-vi.md +0 -49
- package/.agents/skills/qk-design-to-code/SKILL.md +0 -285
- package/.agents/skills.json +0 -819
- package/.github/workflows/ci.yml +0 -56
- package/.qk-ai-skill-os/CHANGELOG.md +0 -69
- package/.qk-ai-skill-os/LICENSE +0 -21
- package/.qk-ai-skill-os/README.md +0 -59
- package/.qk-ai-skill-os/_template/BEHAVIOR_SPEC.md +0 -96
- package/.qk-ai-skill-os/_template/examples/example-en.md +0 -49
- package/.qk-ai-skill-os/_template/examples/example-vi.md +0 -49
- package/.qk-ai-skill-os/docs/CHI_TIET_SKILLS.md +0 -125
- package/.qk-ai-skill-os/docs/GOVERNANCE.md +0 -40
- package/.qk-ai-skill-os/docs/HUONG_DAN_SU_DUNG.md +0 -120
- package/.qk-ai-skill-os/docs/SPEC.md +0 -87
- package/.qk-ai-skill-os/docs/adr/0001-intent-based-architecture.md +0 -19
- package/.qk-ai-skill-os/docs/adr/0002-kernel-freeze.md +0 -21
- package/.qk-ai-skill-os/docs/adr/0003-risk-based-verification.md +0 -20
- package/.qk-ai-skill-os/docs/adr/0004-progressive-evidence.md +0 -19
- package/.qk-ai-skill-os/docs/skill-classification.md +0 -25
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +0 -121
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +0 -179
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-api-integration/SKILL.md +0 -389
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-auth-security/SKILL.md +0 -96
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +0 -125
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-bug-fix/SKILL.md +0 -213
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-component-generator/SKILL.md +0 -136
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-context-manager/SKILL.md +0 -175
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-database-engineer/SKILL.md +0 -104
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-deployment/SKILL.md +0 -96
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-design-system/SKILL.md +0 -137
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-form-builder/SKILL.md +0 -140
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +0 -155
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +0 -133
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +0 -129
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +0 -146
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-git-engineer/SKILL.md +0 -304
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-help/SKILL.md +0 -68
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-migration/SKILL.md +0 -284
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-project-audit/SKILL.md +0 -280
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-refactor/SKILL.md +0 -222
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-state-management/SKILL.md +0 -140
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +0 -127
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-ui-builder/SKILL.md +0 -152
- package/.qk-ai-skill-os/skills/_template/SKILL.md +0 -238
- package/.qk-ai-skill-os/skills/qk-access-policy/SKILL.md +0 -179
- package/.qk-ai-skill-os/skills/qk-ai-builder/SKILL.md +0 -221
- package/.qk-ai-skill-os/skills/qk-api-lifecycle/SKILL.md +0 -176
- package/.qk-ai-skill-os/skills/qk-bug-resolution/SKILL.md +0 -307
- package/.qk-ai-skill-os/skills/qk-context-loader/SKILL.md +0 -218
- package/.qk-ai-skill-os/skills/qk-data-lifecycle/SKILL.md +0 -192
- package/.qk-ai-skill-os/skills/qk-db-optimizer/SKILL.md +0 -196
- package/.qk-ai-skill-os/skills/qk-design-to-code/SKILL.md +0 -291
- package/.qk-ai-skill-os/skills/qk-docs/SKILL.md +0 -198
- package/.qk-ai-skill-os/skills/qk-engineering-standard/SKILL.md +0 -351
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/backend.md +0 -122
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/database.md +0 -3
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/frontend.md +0 -152
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/security.md +0 -3
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/testing.md +0 -3
- package/.qk-ai-skill-os/skills/qk-fe-api-integration/SKILL.md +0 -326
- package/.qk-ai-skill-os/skills/qk-feature-delivery/SKILL.md +0 -305
- package/.qk-ai-skill-os/skills/qk-help/SKILL.md +0 -193
- package/.qk-ai-skill-os/skills/qk-orchestrator/SKILL.md +0 -277
- package/.qk-ai-skill-os/skills/qk-orchestrator/references/routing-table.md +0 -77
- package/.qk-ai-skill-os/skills/qk-production-release/SKILL.md +0 -290
- package/.qk-ai-skill-os/skills/qk-project-bootstrap/SKILL.md +0 -240
- package/.qk-ai-skill-os/skills/qk-project-health/SKILL.md +0 -199
- package/.qk-ai-skill-os/skills/qk-project-memory/SKILL.md +0 -172
- package/.qk-ai-skill-os/skills/qk-system-evolution/SKILL.md +0 -285
- package/.qk-ai-skill-os/skills/qk-ui-audit/SKILL.md +0 -314
- package/.qk-ai-skill-os/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
- package/.qk-ai-skill-os/skills/qk-ui-system-builder/SKILL.md +0 -225
- package/.qk-ai-skill-os/skills/qk-validation-gate/SKILL.md +0 -361
- package/.qk-ai-skill-os/skills.json +0 -819
- package/CLAUDE.md +0 -110
- package/_template/BEHAVIOR_SPEC.md +0 -96
- package/_template/examples/example-en.md +0 -49
- package/_template/examples/example-vi.md +0 -49
- package/add_lang.js +0 -21
- package/add_lang.py +0 -25
- package/add_sections.py +0 -53
- package/bin/lint.js +0 -122
- package/docs/CHI_TIET_SKILLS.md +0 -125
- package/docs/GOVERNANCE.md +0 -40
- package/docs/HUONG_DAN_SU_DUNG.md +0 -120
- package/docs/SPEC.md +0 -87
- package/docs/adr/0001-intent-based-architecture.md +0 -19
- package/docs/adr/0002-kernel-freeze.md +0 -21
- package/docs/adr/0003-risk-based-verification.md +0 -20
- package/docs/adr/0004-progressive-evidence.md +0 -19
- package/docs/skill-classification.md +0 -25
- package/fix_seeds.js +0 -22
- package/framework/KERNEL.md +0 -83
- package/framework/bias-library/cosmetic-refactor.md +0 -21
- package/framework/bias-library/enterprise-crud.md +0 -21
- package/framework/bias-library/fake-ui-slop.md +0 -20
- package/framework/bias-library/hallucinated-tools.md +0 -20
- package/framework/bias-library/missing-ui-states.md +0 -19
- package/framework/bias-library/over-indexing.md +0 -20
- package/framework/bias-library/swallow-errors.md +0 -19
- package/framework/bias-library/ui-only-security.md +0 -17
- package/framework/decision-primitives.md +0 -47
- package/framework/dial-library/complexity-budget.md +0 -13
- package/framework/dial-library/granularity.md +0 -13
- package/framework/dial-library/optimization-strategy.md +0 -13
- package/framework/dial-library/strictness.md +0 -13
- package/framework/rule-library/delegation-only.md +0 -9
- package/framework/rule-library/minimal-diff.md +0 -9
- package/framework/skill-schema.md +0 -310
- package/knowledge/backend/nodejs.md +0 -52
- package/knowledge/frontend/react.md +0 -81
- package/migrate-to-v6.js +0 -130
- package/migrate.js +0 -147
- package/migrate.py +0 -133
- package/migrate_all.cjs +0 -96
- package/patch.js +0 -15
- package/patch.py +0 -89
- package/patch2.py +0 -83
- package/rename.js +0 -64
- package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +0 -121
- package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +0 -179
- package/skills/_archive_old_skills/qk-api-integration/SKILL.md +0 -389
- package/skills/_archive_old_skills/qk-auth-security/SKILL.md +0 -96
- package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +0 -125
- package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +0 -213
- package/skills/_archive_old_skills/qk-component-generator/SKILL.md +0 -136
- package/skills/_archive_old_skills/qk-context-manager/SKILL.md +0 -175
- package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +0 -104
- package/skills/_archive_old_skills/qk-deployment/SKILL.md +0 -96
- package/skills/_archive_old_skills/qk-design-system/SKILL.md +0 -137
- package/skills/_archive_old_skills/qk-form-builder/SKILL.md +0 -140
- package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +0 -155
- package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +0 -133
- package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +0 -129
- package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +0 -146
- package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +0 -304
- package/skills/_archive_old_skills/qk-help/SKILL.md +0 -68
- package/skills/_archive_old_skills/qk-migration/SKILL.md +0 -284
- package/skills/_archive_old_skills/qk-project-audit/SKILL.md +0 -280
- package/skills/_archive_old_skills/qk-refactor/SKILL.md +0 -222
- package/skills/_archive_old_skills/qk-state-management/SKILL.md +0 -140
- package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +0 -127
- package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +0 -152
- package/skills/_template/SKILL.md +0 -238
- package/skills/qk-access-policy/SKILL.md +0 -179
- package/skills/qk-ai-builder/SKILL.md +0 -215
- package/skills/qk-api-lifecycle/SKILL.md +0 -176
- package/skills/qk-bug-resolution/SKILL.md +0 -307
- package/skills/qk-context-loader/SKILL.md +0 -218
- package/skills/qk-data-lifecycle/SKILL.md +0 -192
- package/skills/qk-db-optimizer/SKILL.md +0 -196
- package/skills/qk-design-to-code/SKILL.md +0 -285
- package/skills/qk-docs/SKILL.md +0 -198
- package/skills/qk-engineering-standard/SKILL.md +0 -351
- package/skills/qk-engineering-standard/rules/backend.md +0 -122
- package/skills/qk-engineering-standard/rules/database.md +0 -3
- package/skills/qk-engineering-standard/rules/frontend.md +0 -152
- package/skills/qk-engineering-standard/rules/security.md +0 -3
- package/skills/qk-engineering-standard/rules/testing.md +0 -3
- package/skills/qk-fe-api-integration/SKILL.md +0 -326
- package/skills/qk-feature-delivery/SKILL.md +0 -305
- package/skills/qk-help/SKILL.md +0 -193
- package/skills/qk-orchestrator/SKILL.md +0 -277
- package/skills/qk-orchestrator/references/routing-table.md +0 -77
- package/skills/qk-production-release/SKILL.md +0 -284
- package/skills/qk-project-bootstrap/SKILL.md +0 -234
- package/skills/qk-project-health/SKILL.md +0 -199
- package/skills/qk-project-memory/SKILL.md +0 -172
- package/skills/qk-system-evolution/SKILL.md +0 -281
- package/skills/qk-ui-audit/SKILL.md +0 -314
- package/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
- package/skills/qk-ui-system-builder/SKILL.md +0 -221
- package/skills/qk-validation-gate/SKILL.md +0 -359
- package/skills.json +0 -819
- package/specs/contracts/behavior-contract.yaml +0 -40
- package/specs/expectations/qk-bug-resolution.yaml +0 -35
- package/specs/fixtures/user-payload.json +0 -12
- package/specs/regressions/api-integration-null-fields.yaml +0 -19
- package/specs/scenarios/fix-login-nullref.yaml +0 -3
- package/taste-skill/.claude-plugin/marketplace.json +0 -20
- package/taste-skill/.claude-plugin/plugin.json +0 -19
- package/taste-skill/.github/FUNDING.yml +0 -1
- package/taste-skill/.github/copilot-instructions.md +0 -11
- package/taste-skill/CHANGELOG.md +0 -111
- package/taste-skill/LICENSE +0 -21
- package/taste-skill/README.md +0 -212
- package/taste-skill/assets/.gitkeep +0 -0
- package/taste-skill/assets/readme-banner.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-agent-skills.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-changelog.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-mit.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-site.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-tools.webp +0 -0
- package/taste-skill/assets/readme-cta-tasteskill.svg +0 -5
- package/taste-skill/assets/sponsors/animations-dev.webp +0 -0
- package/taste-skill/assets/sponsors/emil-animations-dev.webp +0 -0
- package/taste-skill/assets/taste-skill-logo.png +0 -0
- package/taste-skill/assets/taste-skill-logo.webp +0 -0
- package/taste-skill/assets/vercel-oss-program-badge.svg +0 -44
- package/taste-skill/examples/floria-bottom.webp +0 -0
- package/taste-skill/examples/floria-full.webp +0 -0
- package/taste-skill/examples/floria-top.webp +0 -0
- package/taste-skill/research/README.md +0 -8
- package/taste-skill/research/laziness/README.md +0 -25
- package/taste-skill/research/laziness/findings/empirical-results.md +0 -58
- package/taste-skill/research/laziness/findings/references.md +0 -20
- package/taste-skill/research/laziness/remediation/architectural-patterns.md +0 -55
- package/taste-skill/research/laziness/remediation/parameter-tuning.md +0 -44
- package/taste-skill/research/laziness/remediation/prompt-engineering.md +0 -52
- package/taste-skill/research/laziness/remediation/reference-prompts.md +0 -79
- package/taste-skill/research/laziness/root-causes/cognitive-shortcuts.md +0 -23
- package/taste-skill/research/laziness/root-causes/output-limits.md +0 -39
- package/taste-skill/research/laziness/root-causes/rlhf-and-compute.md +0 -27
- package/taste-skill/research/laziness/root-causes/training-data-bias.md +0 -28
- package/taste-skill/scripts/build-emil-sponsor-row.mjs +0 -41
- package/taste-skill/scripts/convert-readme-assets-webp.mjs +0 -142
- package/taste-skill/scripts/process-readme-buttons.mjs +0 -108
- package/taste-skill/scripts/process-sponsor-badge.mjs +0 -83
- package/taste-skill/skill.sh +0 -25
- package/taste-skill/skills/brandkit/SKILL.md +0 -798
- package/taste-skill/skills/brutalist-skill/SKILL.md +0 -92
- package/taste-skill/skills/gpt-tasteskill/SKILL.md +0 -74
- package/taste-skill/skills/image-to-code-skill/SKILL.md +0 -1228
- package/taste-skill/skills/imagegen-frontend-mobile/SKILL.md +0 -1465
- package/taste-skill/skills/imagegen-frontend-web/SKILL.md +0 -987
- package/taste-skill/skills/llms.txt +0 -13
- package/taste-skill/skills/minimalist-skill/SKILL.md +0 -85
- package/taste-skill/skills/output-skill/SKILL.md +0 -49
- package/taste-skill/skills/redesign-skill/SKILL.md +0 -178
- package/taste-skill/skills/soft-skill/SKILL.md +0 -98
- package/taste-skill/skills/stitch-skill/DESIGN.md +0 -121
- package/taste-skill/skills/stitch-skill/SKILL.md +0 -184
- package/taste-skill/skills/taste-skill/SKILL.md +0 -1206
- package/taste-skill/skills/taste-skill-v1/SKILL.md +0 -226
- package/temp_fix.js +0 -61
- package/templates/DESIGN.md +0 -38
- package/templates/bug-report.md +0 -21
- package/templates/design-report.md +0 -21
- package/templates/feature-report.md +0 -20
- package/templates/review-report.md +0 -21
- package/templates/skill-template.md +0 -38
- package/tests/behavior-conformance.test.js +0 -154
- package/tests/install-script.test.js +0 -38
- package/tests/registry.test.js +0 -111
- package/update_template.js +0 -28
- package/vitest.config.js +0 -11
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-context-manager
|
|
3
|
-
description: >-
|
|
4
|
-
Xác định các file cần thiết, tóm tắt kiến trúc và quản lý bộ nhớ ngữ cảnh để tránh tràn bộ nhớ.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: engineering
|
|
7
|
-
tags: [context, architecture, memory, file-selection, summarization]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Context Manager
|
|
12
|
-
|
|
13
|
-
> **Language rule:**
|
|
14
|
-
> Use **English** for: file paths, architecture terms, module names, technical labels.
|
|
15
|
-
> Use **the user's language** for: explanations, summaries, and questions.
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Trigger
|
|
20
|
-
|
|
21
|
-
Activate this skill when:
|
|
22
|
-
- Starting work on an unfamiliar or large codebase
|
|
23
|
-
- About to read many files and need to prioritize
|
|
24
|
-
- Context window is at risk of overflowing
|
|
25
|
-
- User asks "where is X", "what does Y do", "how is this project structured"
|
|
26
|
-
- Another skill (e.g. `project-audit`, `frontend-architecture`) needs project context first
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Scope
|
|
31
|
-
|
|
32
|
-
- ✅ Identify which files are relevant to the current task
|
|
33
|
-
- ✅ Summarize project architecture in structured format
|
|
34
|
-
- ✅ Map folder structure to responsibilities
|
|
35
|
-
- ✅ Track what has been read and what still needs reading
|
|
36
|
-
- ✅ Flag context window risks
|
|
37
|
-
- ✅ Maintain a working memory summary for multi-turn sessions
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Non-goals
|
|
42
|
-
|
|
43
|
-
- ❌ Do NOT modify any files
|
|
44
|
-
- ❌ Do NOT fix bugs
|
|
45
|
-
- ❌ Do NOT make architectural decisions
|
|
46
|
-
- ❌ Do NOT read every file blindly — be selective and efficient
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Workflow
|
|
51
|
-
|
|
52
|
-
### Phase 1 — Project Discovery
|
|
53
|
-
|
|
54
|
-
Read only top-level signals first:
|
|
55
|
-
1. `package.json` / `pyproject.toml` / `Cargo.toml` → detect framework, language, scripts
|
|
56
|
-
2. Root config files → `.env.example`, `tsconfig.json`, `vite.config.ts`, `next.config.js`
|
|
57
|
-
3. Folder structure (1-2 levels deep) → identify key directories
|
|
58
|
-
4. Entry points → `src/index.ts`, `app/`, `pages/`, `main.py`
|
|
59
|
-
|
|
60
|
-
Produce: **Project Profile** (framework, language, key directories, architecture style)
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
### Phase 2 — Task-Scoped File Selection
|
|
65
|
-
|
|
66
|
-
Given the current task, identify the minimum relevant set of files:
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
Task type → Files to read
|
|
70
|
-
─────────────────────────────────────────────────────
|
|
71
|
-
UI work → components/, pages/, styles/, design system files
|
|
72
|
-
API work → services/, hooks/, api/, types/
|
|
73
|
-
State work → store/, context/, hooks/
|
|
74
|
-
Bug fix → files mentioned in error, related modules
|
|
75
|
-
Architecture → folder structure, key abstractions
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Rules:
|
|
79
|
-
- Read **entry points** before diving into details
|
|
80
|
-
- Prefer **index files** as anchors
|
|
81
|
-
- Skip `node_modules`, `dist`, `build`, `.git`
|
|
82
|
-
- If uncertain which file → check imports, not the file itself
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
### Phase 3 — Architecture Summary
|
|
87
|
-
|
|
88
|
-
Produce a concise summary:
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
Project: [Name / repo]
|
|
92
|
-
Framework: [React 18 / Next.js 14 / Vue 3 / etc.]
|
|
93
|
-
Language: [TypeScript / JavaScript / Python]
|
|
94
|
-
Structure: [Feature-based / Layer-based / Domain-based]
|
|
95
|
-
|
|
96
|
-
Key directories:
|
|
97
|
-
src/components/ → Shared UI components
|
|
98
|
-
src/features/ → Feature modules (collocated)
|
|
99
|
-
src/services/ → API and data services
|
|
100
|
-
src/hooks/ → Custom React hooks
|
|
101
|
-
src/types/ → TypeScript interfaces
|
|
102
|
-
|
|
103
|
-
State: [Zustand / Redux / React Query / Pinia]
|
|
104
|
-
HTTP client: [axios instance at src/lib/axios.ts]
|
|
105
|
-
Auth: [JWT stored in httpOnly cookie]
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
### Phase 4 — Working Memory Maintenance
|
|
111
|
-
|
|
112
|
-
During multi-turn sessions:
|
|
113
|
-
- Track which files have been read (avoid re-reading)
|
|
114
|
-
- Track decisions made (e.g. "we decided to use feature-based structure")
|
|
115
|
-
- Flag when context is approaching limits
|
|
116
|
-
- Offer to summarize and compress if needed
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## Decision Tree
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
Is this a new project / first time seeing this codebase?
|
|
124
|
-
├── Yes → Run full Phase 1 + Phase 2 + Phase 3
|
|
125
|
-
└── No → Has something changed since last context load?
|
|
126
|
-
├── Yes → Re-run Phase 2 for affected area
|
|
127
|
-
└── No → Use cached architecture summary
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
Is context window at risk?
|
|
132
|
-
├── Yes → Summarize what's been read, drop low-relevance files
|
|
133
|
-
└── No → Continue loading relevant files
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Output Format
|
|
139
|
-
|
|
140
|
-
```
|
|
141
|
-
🗂️ Project Context Loaded
|
|
142
|
-
|
|
143
|
-
Framework: [framework]
|
|
144
|
-
Language: [language]
|
|
145
|
-
Structure: [style]
|
|
146
|
-
|
|
147
|
-
Relevant files for this task:
|
|
148
|
-
📄 [path/to/file.ts] — [why it's relevant]
|
|
149
|
-
📄 [path/to/file.ts] — [why it's relevant]
|
|
150
|
-
|
|
151
|
-
Architecture summary:
|
|
152
|
-
[2-4 lines describing how this codebase is organized]
|
|
153
|
-
|
|
154
|
-
⚠️ Context notes:
|
|
155
|
-
[Any risks, unknowns, or files that couldn't be read]
|
|
156
|
-
|
|
157
|
-
✅ Ready. Proceeding with: [next skill or action]
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## Validation Checklist
|
|
163
|
-
|
|
164
|
-
- [ ] Framework and language correctly identified
|
|
165
|
-
- [ ] Only task-relevant files selected (no noise)
|
|
166
|
-
- [ ] Architecture summary is accurate and concise
|
|
167
|
-
- [ ] Context window usage is reasonable
|
|
168
|
-
- [ ] Working memory updated for this session
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## Examples
|
|
173
|
-
|
|
174
|
-
See `examples/` folder.
|
|
175
|
-
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-database-engineer
|
|
3
|
-
description: >-
|
|
4
|
-
Thiết kế database schema, viết script migration và tối ưu truy vấn cho SQL/NoSQL bằng ORM (Prisma, Drizzle...).
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: backend
|
|
7
|
-
tags: [database, sql, prisma, drizzle, schema, migration, query-optimization]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Database Engineer
|
|
12
|
-
|
|
13
|
-
> **Language rule:**
|
|
14
|
-
> Use English for: code, identifiers, file names, architecture terms, technical decisions.
|
|
15
|
-
> Use the user's language for: explanations, questions, summaries, and feedback.
|
|
16
|
-
> The user may write in any language — detect and match it automatically.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Trigger
|
|
21
|
-
|
|
22
|
-
Activate this skill when:
|
|
23
|
-
- User says "create a new table", "add a column", "design the schema"
|
|
24
|
-
- Writing complex data retrieval logic (joins, aggregations)
|
|
25
|
-
- A query is running slowly and needs optimization (indexing)
|
|
26
|
-
- Running or generating database migrations
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Scope
|
|
31
|
-
|
|
32
|
-
- ✅ **Schema Design:** Model tables, relations (1:1, 1:N, N:M), and constraints (Unique, FK).
|
|
33
|
-
- ✅ **ORM Integration:** Generate code for Prisma, Drizzle, TypeORM, Sequelize, or Mongoose.
|
|
34
|
-
- ✅ **Migrations:** Generate SQL or ORM migration files safely.
|
|
35
|
-
- ✅ **Query Optimization:** Prevent N+1 queries, add indexes, use efficient aggregations.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Non-goals
|
|
40
|
-
|
|
41
|
-
- ❌ Do NOT execute destructive migrations (DROP TABLE) on production environments without extreme warnings and approval.
|
|
42
|
-
- ❌ Do NOT mix raw SQL into ORM logic unless necessary for performance.
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Workflow
|
|
47
|
-
|
|
48
|
-
### Phase 1 — Schema Design
|
|
49
|
-
|
|
50
|
-
Understand the business entities and relations.
|
|
51
|
-
- Identify primary keys (UUID vs Auto-increment ID).
|
|
52
|
-
- Identify foreign keys and cascade rules (`ON DELETE CASCADE`).
|
|
53
|
-
- Ensure proper normalization (usually 3NF) or denormalization (if NoSQL).
|
|
54
|
-
|
|
55
|
-
### Phase 2 — ORM / Migration Generation
|
|
56
|
-
|
|
57
|
-
Map the design to the project's tool:
|
|
58
|
-
- **Prisma:** Update `schema.prisma`.
|
|
59
|
-
- **Drizzle:** Update `schema.ts`.
|
|
60
|
-
- **Raw SQL:** Write `V1__create_table.sql`.
|
|
61
|
-
|
|
62
|
-
### Phase 3 — Query Implementation
|
|
63
|
-
|
|
64
|
-
Write the data access methods (Repository pattern or direct ORM calls).
|
|
65
|
-
- Avoid fetching `SELECT *` if only 2 columns are needed.
|
|
66
|
-
- Batch queries or use joins to prevent N+1 issues.
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Decision Tree
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
Is the project using an ORM?
|
|
74
|
-
├── Prisma → Modify `schema.prisma`, use `prisma.entity.findMany()`
|
|
75
|
-
├── Drizzle → Modify schema TS files, use Drizzle query builder
|
|
76
|
-
└── No → Write raw SQL or use query builder (Knex)
|
|
77
|
-
|
|
78
|
-
Does the schema change drop data or alter existing columns?
|
|
79
|
-
├── Yes → Flag as High Risk. Provide rollback strategy. Ask for approval.
|
|
80
|
-
└── No → Standard migration (e.g., adding a nullable column).
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Output Format
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
🗄️ Database Engineering Report
|
|
89
|
-
─────────────────────────────────────────────────
|
|
90
|
-
Action: [Schema Update / Query Optimization]
|
|
91
|
-
Tooling: [Prisma / Raw SQL / etc.]
|
|
92
|
-
|
|
93
|
-
Changes:
|
|
94
|
-
✅ Added model: `User` (1:N with `Post`)
|
|
95
|
-
✅ Added index on `User.email`
|
|
96
|
-
✅ Generated query: `getUserWithPosts`
|
|
97
|
-
|
|
98
|
-
⚠️ Risk Assessment:
|
|
99
|
-
[Low / High — e.g., "Safe addition, no data loss"]
|
|
100
|
-
|
|
101
|
-
🔗 Next Steps:
|
|
102
|
-
Run `npx prisma migrate dev` to apply these changes locally.
|
|
103
|
-
```
|
|
104
|
-
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-deployment
|
|
3
|
-
description: >-
|
|
4
|
-
Cấu hình CI/CD pipelines, tạo Dockerfile và thiết lập môi trường để deploy lên Vercel, AWS hoặc VPS.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: backend
|
|
7
|
-
tags: [deploy, ci-cd, docker, github-actions, devops, hosting]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Deployment & DevOps
|
|
12
|
-
|
|
13
|
-
> **Language rule:**
|
|
14
|
-
> Use English for: code, identifiers, file names, architecture terms, technical decisions.
|
|
15
|
-
> Use the user's language for: explanations, questions, summaries, and feedback.
|
|
16
|
-
> The user may write in any language — detect and match it automatically.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Trigger
|
|
21
|
-
|
|
22
|
-
Activate this skill when:
|
|
23
|
-
- User asks "how do I deploy this?", "create a Dockerfile", or "setup CI/CD"
|
|
24
|
-
- Configuring GitHub Actions, GitLab CI, or Jenkins
|
|
25
|
-
- Preparing a project for Vercel, Netlify, Render, or AWS
|
|
26
|
-
- Setting up environment variables for production
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Scope
|
|
31
|
-
|
|
32
|
-
- ✅ **Containerization:** Write `Dockerfile` and `docker-compose.yml`.
|
|
33
|
-
- ✅ **CI/CD Pipelines:** Write GitHub Actions YAML for testing, building, and deploying.
|
|
34
|
-
- ✅ **Environment Setup:** Create `.env.example` and document required production variables.
|
|
35
|
-
- ✅ **Build Scripts:** Ensure `package.json` has correct build and start commands.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Non-goals
|
|
40
|
-
|
|
41
|
-
- ❌ Do NOT expose real production secrets. Always use placeholders or CI secrets.
|
|
42
|
-
- ❌ Do NOT over-complicate (e.g., don't setup Kubernetes if a simple Docker container on a VPS is enough).
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Workflow
|
|
47
|
-
|
|
48
|
-
### Phase 1 — Platform Selection
|
|
49
|
-
|
|
50
|
-
Ask the user where they are deploying (if not specified):
|
|
51
|
-
1. **PaaS (Vercel, Render, Heroku):** Very easy, mostly relies on `vercel.json` or standard build scripts. No Docker needed usually.
|
|
52
|
-
2. **VPS/VM (DigitalOcean, AWS EC2):** Needs Docker and/or PM2 + Nginx reverse proxy.
|
|
53
|
-
3. **Container Service (AWS ECS, Google Cloud Run):** Needs a highly optimized Dockerfile.
|
|
54
|
-
|
|
55
|
-
### Phase 2 — Containerization (If required)
|
|
56
|
-
|
|
57
|
-
Create a multi-stage Dockerfile for minimal image size:
|
|
58
|
-
1. `deps` stage: Install dependencies.
|
|
59
|
-
2. `builder` stage: Build the app.
|
|
60
|
-
3. `runner` stage: Copy only the built assets and prod modules, start the app.
|
|
61
|
-
|
|
62
|
-
### Phase 3 — CI/CD Pipeline
|
|
63
|
-
|
|
64
|
-
Create `.github/workflows/deploy.yml`:
|
|
65
|
-
- Trigger on `push` to `main`.
|
|
66
|
-
- Job 1: Setup Node/Python/Go, install deps, run tests, run linter.
|
|
67
|
-
- Job 2: Build image and push to registry, or deploy to PaaS.
|
|
68
|
-
|
|
69
|
-
### Phase 4 — Environment Variables
|
|
70
|
-
|
|
71
|
-
Audit the codebase for `process.env.XYZ` and create a `.env.example` file listing every required variable.
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## Output Format
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
🚀 Deployment Plan
|
|
79
|
-
─────────────────────────────────────────────────
|
|
80
|
-
Target: [Vercel / Docker VPS / AWS]
|
|
81
|
-
Tooling: [GitHub Actions, Docker]
|
|
82
|
-
|
|
83
|
-
Files Created/Modified:
|
|
84
|
-
✅ `Dockerfile` (Multi-stage build)
|
|
85
|
-
✅ `.github/workflows/deploy.yml`
|
|
86
|
-
✅ `.env.example`
|
|
87
|
-
|
|
88
|
-
⚠️ Prerequisites:
|
|
89
|
-
Before deploying, you must set these secrets in GitHub Actions:
|
|
90
|
-
- `DOCKER_USERNAME`
|
|
91
|
-
- `DATABASE_URL`
|
|
92
|
-
|
|
93
|
-
🔗 Next Steps:
|
|
94
|
-
Commit these files and push to `main` to trigger the pipeline.
|
|
95
|
-
```
|
|
96
|
-
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-design-system
|
|
3
|
-
description: >-
|
|
4
|
-
Ép buộc sử dụng design system, component library và token hiện có, ngăn chặn việc viết HTML/CSS rác.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: frontend
|
|
7
|
-
tags: [design-system, ui-components, styling, tailwind, material-ui, shadcn]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Design System Enforcer
|
|
12
|
-
|
|
13
|
-
> **Language rule:**
|
|
14
|
-
> Use English for: code, identifiers, file names, architecture terms, technical decisions.
|
|
15
|
-
> Use the user's language for: explanations, questions, summaries, and feedback.
|
|
16
|
-
> The user may write in any language — detect and match it automatically.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Trigger
|
|
21
|
-
|
|
22
|
-
Activate this skill when:
|
|
23
|
-
- About to build UI screens or components
|
|
24
|
-
- Styling or layout work is required
|
|
25
|
-
- User asks to "make it look good" or "match the design"
|
|
26
|
-
- Integrating a third-party UI library (Tailwind, MUI, AntD, Shadcn)
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Scope
|
|
31
|
-
|
|
32
|
-
- ✅ Identify the UI library or design system in use
|
|
33
|
-
- ✅ Map standard HTML elements to project-specific components (e.g., `<button>` → `<Button>`)
|
|
34
|
-
- ✅ Enforce usage of design tokens (colors, spacing, typography) instead of hardcoded values
|
|
35
|
-
- ✅ Provide available component variants and props to downstream skills (`ui-builder`)
|
|
36
|
-
- ✅ Prevent generation of raw CSS/inline styles if utility classes or styled-components are standard
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Non-goals
|
|
41
|
-
|
|
42
|
-
- ❌ Do NOT create new base components if an equivalent already exists
|
|
43
|
-
- ❌ Do NOT introduce a new styling method (e.g., don't add Tailwind if project uses CSS Modules)
|
|
44
|
-
- ❌ Do NOT design full pages (delegate to `ui-builder`)
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Workflow
|
|
49
|
-
|
|
50
|
-
### Phase 1 — Detect Design System
|
|
51
|
-
|
|
52
|
-
Analyze dependencies and project files to identify:
|
|
53
|
-
1. **Component Library:** Shadcn UI, MUI, Ant Design, Chakra, Bootstrap, custom internal library?
|
|
54
|
-
2. **Styling Method:** Tailwind CSS, CSS Modules, Styled Components, Emotion, SCSS, Vanilla CSS?
|
|
55
|
-
3. **Location of Shared Components:** Usually `src/components/ui/`, `src/shared/components/`, or from an npm package.
|
|
56
|
-
4. **Design Tokens:** `tailwind.config.js`, `theme.ts`, `variables.scss`.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
### Phase 2 — Component Mapping
|
|
61
|
-
|
|
62
|
-
Before `ui-builder` generates code, create a mapping table for required elements:
|
|
63
|
-
|
|
64
|
-
| Standard Element | Project Component | Source / Import Path |
|
|
65
|
-
|------------------|-------------------|----------------------|
|
|
66
|
-
| `<button>` | `<Button>` | `@/components/ui/button` |
|
|
67
|
-
| `<input type="text">` | `<Input>` | `@/components/ui/input` |
|
|
68
|
-
| `<div>` (Card) | `<Card>` | `@/components/ui/card` |
|
|
69
|
-
| `<h1>` | `<Typography variant="h1">` | `@mui/material` |
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
### Phase 3 — Token Extraction
|
|
74
|
-
|
|
75
|
-
Identify available tokens for spacing, colors, and typography to avoid hardcoding:
|
|
76
|
-
- *Instead of:* `margin-top: 16px; color: #3b82f6;`
|
|
77
|
-
- *Use:* `mt-4 text-blue-500` (Tailwind) or `theme.spacing(2)` (MUI) or `var(--primary-color)`.
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
### Phase 4 — Rule Enforcement
|
|
82
|
-
|
|
83
|
-
Pass strict instructions to `ui-builder` or `component-generator`:
|
|
84
|
-
- "You MUST use `<Button>` instead of `<button>`."
|
|
85
|
-
- "You MUST use Tailwind classes for all styling. No inline `style={{}}` allowed."
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Decision Tree
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
Does the project use a component library (e.g., Shadcn, MUI)?
|
|
93
|
-
├── Yes → Is the required component available?
|
|
94
|
-
│ ├── Yes → Require its use
|
|
95
|
-
│ └── No → Instruct `component-generator` to create it following library style
|
|
96
|
-
└── No → Check if custom shared components exist
|
|
97
|
-
├── Yes → Map to custom shared components
|
|
98
|
-
└── No → Use raw HTML but enforce project's styling method (e.g., Tailwind)
|
|
99
|
-
|
|
100
|
-
Does the project use utility classes (Tailwind)?
|
|
101
|
-
├── Yes → Forbid inline styles or custom CSS files
|
|
102
|
-
└── No → Enforce existing CSS Modules / Styled Components patterns
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Output Format
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
🎨 Design System Rules
|
|
111
|
-
─────────────────────────────────────────────────
|
|
112
|
-
Library: [Shadcn / MUI / Tailwind / Custom / etc.]
|
|
113
|
-
Styling Method: [Tailwind / CSS Modules / Styled Components]
|
|
114
|
-
|
|
115
|
-
Component Mapping for this task:
|
|
116
|
-
✅ Button → `<Button>` from `@/components/ui/button`
|
|
117
|
-
✅ Input → `<Input>` from `@/components/ui/input`
|
|
118
|
-
✅ Layout → Flexbox with Tailwind (`flex flex-col gap-4`)
|
|
119
|
-
|
|
120
|
-
Styling Rules Enforced:
|
|
121
|
-
• No raw HTML `<button>` allowed
|
|
122
|
-
• No inline styles allowed
|
|
123
|
-
• Use primary color token for CTAs
|
|
124
|
-
|
|
125
|
-
🔗 Next Steps:
|
|
126
|
-
Passing these rules to `ui-builder` to generate the UI.
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Validation Checklist
|
|
132
|
-
|
|
133
|
-
- [ ] Design system and styling method correctly identified
|
|
134
|
-
- [ ] Mappings created for all necessary UI elements
|
|
135
|
-
- [ ] Design tokens (spacing/colors) prioritized over hardcoded values
|
|
136
|
-
- [ ] Strict enforcement rules passed to next skill
|
|
137
|
-
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-form-builder
|
|
3
|
-
description: >-
|
|
4
|
-
Xây dựng Form chuẩn xác với quản lý trạng thái, validate dữ liệu (Zod, Yup) và xử lý hiển thị lỗi.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: frontend
|
|
7
|
-
tags: [form, validation, react-hook-form, zod, yup, formik]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Form Builder
|
|
12
|
-
|
|
13
|
-
> **Language rule:**
|
|
14
|
-
> Use English for: code, identifiers, file names, architecture terms, technical decisions.
|
|
15
|
-
> Use the user's language for: explanations, questions, summaries, and feedback.
|
|
16
|
-
> The user may write in any language — detect and match it automatically.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Trigger
|
|
21
|
-
|
|
22
|
-
Activate this skill when:
|
|
23
|
-
- User says "create a login form", "add a settings page", "build a contact form"
|
|
24
|
-
- User provides a data model and needs a UI to create/edit it
|
|
25
|
-
- A form needs complex validation logic added
|
|
26
|
-
- Refactoring a messy form into a structured library pattern (e.g., React Hook Form)
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Scope
|
|
31
|
-
|
|
32
|
-
- ✅ Define the form data schema and validation rules
|
|
33
|
-
- ✅ Manage form state efficiently (preventing unnecessary re-renders)
|
|
34
|
-
- ✅ Map form fields to the project's design system components
|
|
35
|
-
- ✅ Handle submission state (loading, success, error)
|
|
36
|
-
- ✅ Handle validation errors and display them accessibly
|
|
37
|
-
- ✅ Integrate with `api-integration` for submission
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Non-goals
|
|
42
|
-
|
|
43
|
-
- ❌ Do NOT reinvent form state management if a library is present
|
|
44
|
-
- ❌ Do NOT use raw HTML inputs if design system components exist
|
|
45
|
-
- ❌ Do NOT skip validation (client-side validation is required)
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Workflow
|
|
50
|
-
|
|
51
|
-
### Phase 1 — Schema Design
|
|
52
|
-
|
|
53
|
-
Define the exact shape of the data the form collects.
|
|
54
|
-
Determine validation rules for each field (required, min length, email format, etc.).
|
|
55
|
-
|
|
56
|
-
If the project uses Zod, Yup, or Joi, define the schema first.
|
|
57
|
-
*Example:*
|
|
58
|
-
```typescript
|
|
59
|
-
const userFormSchema = z.object({
|
|
60
|
-
email: z.string().email("Invalid email address"),
|
|
61
|
-
password: z.string().min(8, "Password must be at least 8 characters"),
|
|
62
|
-
});
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
### Phase 2 — State Management Selection
|
|
68
|
-
|
|
69
|
-
Check project dependencies for form libraries:
|
|
70
|
-
1. `react-hook-form` (Preferred for React)
|
|
71
|
-
2. `formik`
|
|
72
|
-
3. Custom Vue/Svelte bindings
|
|
73
|
-
4. Standard controlled components (`useState`) if no library exists and form is simple.
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
### Phase 3 — Component Assembly
|
|
78
|
-
|
|
79
|
-
1. Set up the form wrapper and submission handler.
|
|
80
|
-
2. For each field in the schema, render the appropriate UI component (from `design-system`).
|
|
81
|
-
3. Connect the UI component to the form state (register / Controller).
|
|
82
|
-
4. Render error messages below fields if validation fails.
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
### Phase 4 — Submission & Integration
|
|
87
|
-
|
|
88
|
-
- Add `isLoading` state to the submit button.
|
|
89
|
-
- Disable submit button during submission.
|
|
90
|
-
- On success: Show success message or redirect, and optionally reset form.
|
|
91
|
-
- On error: Display backend error messages (toast or form-level alert).
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Decision Tree
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
Does the project use a validation library (Zod, Yup)?
|
|
99
|
-
├── Yes → Use it to define schema and pass to form resolver
|
|
100
|
-
└── No → Implement standard HTML5 validation or simple manual validation logic
|
|
101
|
-
|
|
102
|
-
Is it a complex multi-step form (wizard)?
|
|
103
|
-
├── Yes → Break into sub-components, use global or lifted state for form data
|
|
104
|
-
└── No → Handle state locally within the single form component
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## Output Format
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
📝 Form Built
|
|
113
|
-
─────────────────────────────────────────────────
|
|
114
|
-
Name: [FormName]
|
|
115
|
-
Schema: [Zod / Yup / Manual]
|
|
116
|
-
Library: [React Hook Form / Formik / Native]
|
|
117
|
-
|
|
118
|
-
Fields Implemented:
|
|
119
|
-
✅ email (string, required, email)
|
|
120
|
-
✅ password (string, required, min: 8)
|
|
121
|
-
|
|
122
|
-
Integration:
|
|
123
|
-
- Validation: Client-side wired up
|
|
124
|
-
- Submission: Wired to `[submitFunction]`
|
|
125
|
-
- Loading UI: Handled on submit button
|
|
126
|
-
|
|
127
|
-
🔗 Next Steps:
|
|
128
|
-
Make sure the API endpoint is ready to accept this payload.
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## Validation Checklist
|
|
134
|
-
|
|
135
|
-
- [ ] Form uses existing design system components (Inputs, Buttons)
|
|
136
|
-
- [ ] Client-side validation is implemented
|
|
137
|
-
- [ ] Error messages are displayed properly
|
|
138
|
-
- [ ] Loading state disables the submit button
|
|
139
|
-
- [ ] Accessibility: Inputs have associated labels and error ARIA attributes
|
|
140
|
-
|