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,304 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-git-engineer
|
|
3
|
-
description: >-
|
|
4
|
-
Viết commit message chuẩn Conventional Commits, mô tả Pull Request, Changelog và Release Notes chuyên nghiệp.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: engineering
|
|
7
|
-
tags: [git, commit, pull-request, changelog, release, conventional-commits]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Git 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
|
-
> 📌 **Standard followed:** [Conventional Commits v1.0.0](https://www.conventionalcommits.org/)
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Trigger
|
|
23
|
-
|
|
24
|
-
Activate this skill when:
|
|
25
|
-
- User wants to write a commit message
|
|
26
|
-
- User has finished a feature and needs a PR description
|
|
27
|
-
- User needs to generate a changelog for a release
|
|
28
|
-
- User asks "what should I commit?", "write PR", "release notes"
|
|
29
|
-
- User wants to clean up their git history before merging
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Scope
|
|
34
|
-
|
|
35
|
-
- ✅ Write commit messages (Conventional Commits format)
|
|
36
|
-
- ✅ Suggest logical commit groupings from a set of changes
|
|
37
|
-
- ✅ Write pull request titles and descriptions
|
|
38
|
-
- ✅ Generate CHANGELOG entries from commit history
|
|
39
|
-
- ✅ Write release notes (human-readable)
|
|
40
|
-
- ✅ Suggest branch naming conventions
|
|
41
|
-
- ✅ Review and improve existing commit messages
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Non-goals
|
|
46
|
-
|
|
47
|
-
- ❌ Do NOT run git commands without explicit user approval
|
|
48
|
-
- ❌ Do NOT force-push or rebase without warning
|
|
49
|
-
- ❌ Do NOT create commits that bundle unrelated changes
|
|
50
|
-
- ❌ Do NOT write vague messages like "fix stuff" or "updates"
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Conventional Commits Format
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
<type>(<scope>): <description>
|
|
58
|
-
|
|
59
|
-
[optional body]
|
|
60
|
-
|
|
61
|
-
[optional footer(s)]
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Types
|
|
65
|
-
|
|
66
|
-
| Type | When to use |
|
|
67
|
-
|------|-------------|
|
|
68
|
-
| `feat` | New feature |
|
|
69
|
-
| `fix` | Bug fix |
|
|
70
|
-
| `docs` | Documentation only changes |
|
|
71
|
-
| `style` | Formatting, missing semicolons — no logic change |
|
|
72
|
-
| `refactor` | Code restructure without behavior change |
|
|
73
|
-
| `perf` | Performance improvement |
|
|
74
|
-
| `test` | Adding or fixing tests |
|
|
75
|
-
| `build` | Build system or dependency changes |
|
|
76
|
-
| `ci` | CI/CD configuration changes |
|
|
77
|
-
| `chore` | Other changes that don't modify src or test files |
|
|
78
|
-
| `revert` | Reverts a previous commit |
|
|
79
|
-
|
|
80
|
-
### Breaking Changes
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
feat!: remove deprecated login endpoint
|
|
84
|
-
|
|
85
|
-
BREAKING CHANGE: The /auth/login endpoint has been removed.
|
|
86
|
-
Use /auth/v2/login instead.
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Workflow
|
|
92
|
-
|
|
93
|
-
### Phase 1 — Understand the Changes
|
|
94
|
-
|
|
95
|
-
Review what has changed:
|
|
96
|
-
1. Read the diff or file list provided by the user
|
|
97
|
-
2. Group changes by concern (feature, fix, refactor, docs, etc.)
|
|
98
|
-
3. Identify if changes should be split into multiple commits or kept as one
|
|
99
|
-
4. Note any breaking changes
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
### Phase 2 — Commit Message(s)
|
|
104
|
-
|
|
105
|
-
For each logical group of changes, write:
|
|
106
|
-
|
|
107
|
-
**Single commit:**
|
|
108
|
-
```
|
|
109
|
-
feat(auth): add refresh token rotation
|
|
110
|
-
|
|
111
|
-
Implements automatic refresh token rotation on each use.
|
|
112
|
-
Old tokens are invalidated immediately after use to prevent
|
|
113
|
-
replay attacks.
|
|
114
|
-
|
|
115
|
-
Closes #142
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
**Multiple commits (if changes should be split):**
|
|
119
|
-
```
|
|
120
|
-
refactor(api): extract axios instance to lib/axios.ts
|
|
121
|
-
|
|
122
|
-
No behavior change — prepares for interceptor configuration.
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
feat(api): add request retry interceptor
|
|
127
|
-
|
|
128
|
-
Automatically retries failed requests up to 3 times with
|
|
129
|
-
exponential backoff. Skips retry for 4xx errors.
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**Rules:**
|
|
133
|
-
- Subject line: ≤72 characters, imperative mood ("add" not "added")
|
|
134
|
-
- Body: explain *why*, not *what* (the diff shows what)
|
|
135
|
-
- Reference issues: `Closes #123`, `Fixes #456`, `Refs #789`
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
### Phase 3 — Pull Request Description
|
|
140
|
-
|
|
141
|
-
Structure:
|
|
142
|
-
```markdown
|
|
143
|
-
## Summary
|
|
144
|
-
[1-3 sentences describing what this PR does and why]
|
|
145
|
-
|
|
146
|
-
## Changes
|
|
147
|
-
- [Specific change 1]
|
|
148
|
-
- [Specific change 2]
|
|
149
|
-
- [Specific change 3]
|
|
150
|
-
|
|
151
|
-
## Testing
|
|
152
|
-
- [ ] Unit tests pass
|
|
153
|
-
- [ ] Manual testing: [describe what you tested]
|
|
154
|
-
- [ ] [Other relevant checks]
|
|
155
|
-
|
|
156
|
-
## Breaking Changes
|
|
157
|
-
[None | Description of breaking change and migration path]
|
|
158
|
-
|
|
159
|
-
## Screenshots / Demo
|
|
160
|
-
[If UI changes — attach before/after screenshots]
|
|
161
|
-
|
|
162
|
-
## Related Issues
|
|
163
|
-
Closes #[issue number]
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
### Phase 4 — Changelog Entry
|
|
169
|
-
|
|
170
|
-
Follow [Keep a Changelog](https://keepachangelog.com/) format:
|
|
171
|
-
|
|
172
|
-
```markdown
|
|
173
|
-
## [1.2.0] - 2026-07-01
|
|
174
|
-
|
|
175
|
-
### Added
|
|
176
|
-
- Refresh token rotation for improved security (#142)
|
|
177
|
-
- Retry interceptor with exponential backoff (#138)
|
|
178
|
-
|
|
179
|
-
### Changed
|
|
180
|
-
- Extracted axios instance to `src/lib/axios.ts` for cleaner configuration
|
|
181
|
-
|
|
182
|
-
### Fixed
|
|
183
|
-
- Fixed race condition in useUserData hook causing stale state (#135)
|
|
184
|
-
- Resolved memory leak when component unmounts during fetch (#133)
|
|
185
|
-
|
|
186
|
-
### Deprecated
|
|
187
|
-
- `GET /api/v1/users` — use `GET /api/v2/users` instead (removes in v2.0)
|
|
188
|
-
|
|
189
|
-
### Removed
|
|
190
|
-
- Removed legacy `moment.js` dependency — migrated to `date-fns`
|
|
191
|
-
|
|
192
|
-
### Security
|
|
193
|
-
- Updated `package-x` from 2.1.0 to 2.1.4 (CVE-2026-XXXX)
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
### Phase 5 — Release Notes (Human-Readable)
|
|
199
|
-
|
|
200
|
-
For non-technical stakeholders:
|
|
201
|
-
|
|
202
|
-
```markdown
|
|
203
|
-
# Release v1.2.0 — Security & Stability
|
|
204
|
-
|
|
205
|
-
## What's new
|
|
206
|
-
|
|
207
|
-
**Better security**: Login sessions are now more secure with automatic
|
|
208
|
-
token rotation. Each time you use the app, your session is refreshed
|
|
209
|
-
automatically.
|
|
210
|
-
|
|
211
|
-
**More reliable**: The app now automatically retries failed requests,
|
|
212
|
-
so temporary network issues won't interrupt your workflow.
|
|
213
|
-
|
|
214
|
-
## Bug fixes
|
|
215
|
-
|
|
216
|
-
- Fixed an issue where user data could appear stale after navigating
|
|
217
|
-
- Fixed a rare crash that occurred when closing the app during data loading
|
|
218
|
-
|
|
219
|
-
## Under the hood
|
|
220
|
-
|
|
221
|
-
We've updated several internal libraries to keep the app fast, secure,
|
|
222
|
-
and maintainable.
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Decision Tree
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
What does the user need?
|
|
231
|
-
├── Commit message → Phase 2 only
|
|
232
|
-
├── PR description → Phase 3 (+ Phase 2 if commits not written)
|
|
233
|
-
├── Changelog entry → Phase 4 (from commit list or diff)
|
|
234
|
-
└── Full release → Phase 2 + Phase 4 + Phase 5
|
|
235
|
-
|
|
236
|
-
Should changes be split into multiple commits?
|
|
237
|
-
├── Changes are unrelated → Yes — split by concern
|
|
238
|
-
├── Changes form one atomic feature → No — single commit
|
|
239
|
-
└── Unsure → Ask user
|
|
240
|
-
|
|
241
|
-
Is there a breaking change?
|
|
242
|
-
├── Yes → Use `feat!` or `fix!` type + BREAKING CHANGE footer
|
|
243
|
-
└── No → Standard type
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## Branch Naming Convention
|
|
249
|
-
|
|
250
|
-
```
|
|
251
|
-
feature/short-description → new features
|
|
252
|
-
fix/short-description → bug fixes
|
|
253
|
-
refactor/short-description → refactoring
|
|
254
|
-
chore/dependency-upgrade → maintenance
|
|
255
|
-
release/v1.2.0 → release preparation
|
|
256
|
-
hotfix/critical-issue → urgent production fixes
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## Output Format
|
|
262
|
-
|
|
263
|
-
```
|
|
264
|
-
📝 Git Output
|
|
265
|
-
─────────────────────────────────────────────────
|
|
266
|
-
Type: [commit | PR | changelog | release-notes]
|
|
267
|
-
|
|
268
|
-
─── Commit Message ───────────────────────────────
|
|
269
|
-
feat(scope): short imperative description
|
|
270
|
-
|
|
271
|
-
Body explaining why this change was made.
|
|
272
|
-
What problem does it solve?
|
|
273
|
-
|
|
274
|
-
Closes #123
|
|
275
|
-
|
|
276
|
-
─── PR Title ─────────────────────────────────────
|
|
277
|
-
feat(scope): short imperative description
|
|
278
|
-
|
|
279
|
-
─── PR Description ───────────────────────────────
|
|
280
|
-
[Formatted markdown PR body]
|
|
281
|
-
|
|
282
|
-
─── Changelog ────────────────────────────────────
|
|
283
|
-
[Formatted changelog section]
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
---
|
|
287
|
-
|
|
288
|
-
## Validation Checklist
|
|
289
|
-
|
|
290
|
-
- [ ] Commit type is correct (feat/fix/refactor/etc.)
|
|
291
|
-
- [ ] Subject line ≤72 chars, imperative mood, no period at end
|
|
292
|
-
- [ ] Breaking changes flagged with `!` and `BREAKING CHANGE:` footer
|
|
293
|
-
- [ ] Body explains *why*, not just *what*
|
|
294
|
-
- [ ] Issue references included (`Closes #N`)
|
|
295
|
-
- [ ] PR description covers: summary, changes, testing, breaking changes
|
|
296
|
-
- [ ] Changelog uses correct sections (Added/Changed/Fixed/etc.)
|
|
297
|
-
- [ ] No vague messages ("fix stuff", "updates", "wip")
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## Examples
|
|
302
|
-
|
|
303
|
-
See `examples/` folder.
|
|
304
|
-
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-help
|
|
3
|
-
description: >-
|
|
4
|
-
Tra cứu danh sách toàn bộ kỹ năng (skills) hiện có và đọc các mẹo (pro-tips) kết hợp kỹ năng để tăng tốc độ code.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: engineering
|
|
7
|
-
tags: [help, list, tips, guide, manual]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# 📚 Cẩm nang AI Developer Skill OS
|
|
12
|
-
|
|
13
|
-
> **Nhiệm vụ của bạn (AI):** Khi người dùng gọi lệnh `./qk-help`, hãy xuất ra màn hình (bằng tiếng Việt) danh sách các kỹ năng phân theo nhóm và các Mẹo sử dụng (Pro-tips) dưới đây một cách sinh động, dễ đọc (dùng markdown, in đậm, emoji). Không cần phân tích code, chỉ đóng vai trò là "Sách hướng dẫn sử dụng".
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 🎯 1. Danh sách Kỹ năng (Skills Directory)
|
|
18
|
-
|
|
19
|
-
Dưới đây là các kỹ năng chính bạn có thể gọi bằng cách gõ `./qk-[tên-kỹ-năng]`:
|
|
20
|
-
|
|
21
|
-
### 🎨 Frontend (Giao diện)
|
|
22
|
-
- **`qk-ui-builder`**: Xây dựng UI, Layout, Component, Modal phức tạp.
|
|
23
|
-
- **`qk-table-crud-generator`**: Chuyên vẽ bảng danh sách (Table), phân trang, lọc và form Thêm/Sửa/Xóa.
|
|
24
|
-
- **`qk-form-builder`**: Chuyên làm Form nhập liệu, validate (Zod/Yup).
|
|
25
|
-
- **`qk-component-generator`**: Tạo Component độc lập, tái sử dụng (Button, Input, Card).
|
|
26
|
-
- **`qk-state-management`**: Xử lý Redux, Zustand, React Query.
|
|
27
|
-
- **`qk-frontend-debug`**: Bắt bệnh vỡ layout, infinite re-render, lỗi Hydration.
|
|
28
|
-
- **`qk-frontend-performance`**: Tối ưu tốc độ, chống re-render thừa.
|
|
29
|
-
- **`qk-frontend-architecture`**: Tư vấn kiến trúc thư mục Frontend.
|
|
30
|
-
- **`qk-frontend-testing`**: Viết Unit Test / E2E Test cho Frontend.
|
|
31
|
-
- **`qk-accessibility-audit`**: Sửa lỗi a11y, hỗ trợ Screen reader.
|
|
32
|
-
|
|
33
|
-
### ⚙️ Engineering & Integration (Tích hợp)
|
|
34
|
-
- **`qk-api-integration`**: [Cực mạnh] Bóc tách tài liệu API (Curl, Postman) -> Gen Type, Service, Hook -> (Tùy chọn) Ốp thẳng vào UI.
|
|
35
|
-
- **`qk-refactor`**: Tối ưu, dọn dẹp mã nguồn sạch sẽ.
|
|
36
|
-
- **`qk-bug-fix`**: Chẩn đoán lỗi sâu và sửa an toàn.
|
|
37
|
-
- **`qk-project-audit`**: Quét toàn bộ dự án tìm nợ kỹ thuật.
|
|
38
|
-
- **`qk-git-engineer`**: Viết Commit / PR chuẩn Conventional.
|
|
39
|
-
- **`qk-migration`**: Nâng cấp version framework / thư viện.
|
|
40
|
-
- **`qk-agent-orchestrator`**: Kiến trúc sư, lên plan phân rã task lớn.
|
|
41
|
-
- **`qk-context-manager`**: Tóm tắt kiến trúc dự án.
|
|
42
|
-
|
|
43
|
-
### 🗄️ Backend (Máy chủ)
|
|
44
|
-
- **`qk-database-engineer`**: Thiết kế Schema, ORM (Prisma/Drizzle), Migration.
|
|
45
|
-
- **`qk-backend-architecture`**: Setup kiến trúc Backend (Node/Nest/Python).
|
|
46
|
-
- **`qk-auth-security`**: Phân quyền RBAC, JWT, OAuth.
|
|
47
|
-
- **`qk-deployment`**: Viết Dockerfile, CI/CD Pipeline.
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## 💡 2. Mẹo sử dụng Nâng cao (Pro-Tips)
|
|
52
|
-
|
|
53
|
-
### Mẹo 1: Kết hợp Kỹ năng (Skill Chaining) 🔗
|
|
54
|
-
Đừng bắt AI làm từ A-Z bằng 1 câu prompt. Hãy gọi liên hoàn:
|
|
55
|
-
> *"Hãy dùng `./qk-api-integration` để bóc tách API này thành hook React Query. Sau đó dùng `./qk-table-crud-generator` vẽ cái Bảng hiển thị danh sách tích hợp hook đó."*
|
|
56
|
-
|
|
57
|
-
### Mẹo 2: Chế độ "Một phát ăn ngay" (End-to-End) 🚀
|
|
58
|
-
Nếu bạn đã có sẵn 1 màn hình UI (chỉ thiếu data), hãy ép `qk-api-integration` làm End-to-End:
|
|
59
|
-
> *"./qk-api-integration Dưới đây là API Get Profile. Hãy khai báo Type, viết Hook và TÍCH HỢP THẲNG LUÔN vào file \`Profile.tsx\` đang mở."*
|
|
60
|
-
|
|
61
|
-
### Mẹo 3: Truyền tham số ép buộc (Arguments) 🎯
|
|
62
|
-
Bạn có thể ép AI dùng công nghệ bạn muốn bằng cách thêm \`--tham_số\`:
|
|
63
|
-
> *"./qk-ui-builder --fw=react --css=tailwind Hãy vẽ màn hình Đăng nhập."*
|
|
64
|
-
|
|
65
|
-
### Mẹo 4: Nhờ "Kiến trúc sư" phân việc 🧠
|
|
66
|
-
Nếu bạn có một tính năng quá lớn (ví dụ: Làm tính năng Giỏ Hàng), đừng tự chia việc, hãy gọi:
|
|
67
|
-
> *"./qk-agent-orchestrator Tôi muốn làm tính năng Giỏ hàng. Hãy phân tích và lên kế hoạch gọi các skill \`qk-\` nào cho phù hợp."*
|
|
68
|
-
|
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-migration
|
|
3
|
-
description: >-
|
|
4
|
-
Nâng cấp dependency, chuyển đổi framework và thay thế thư viện một cách an toàn với chiến lược không downtime.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: engineering
|
|
7
|
-
tags: [migration, upgrade, dependencies, breaking-change, npm, framework]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Migration & Dependency Upgrade
|
|
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
|
-
> ⚠️ **Always create a rollback plan before starting any migration.**
|
|
19
|
-
> Never apply breaking upgrades to production without a verified fallback.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Trigger
|
|
24
|
-
|
|
25
|
-
Activate this skill when:
|
|
26
|
-
- User wants to upgrade a package or dependency
|
|
27
|
-
- Framework has a new major version (React 17→19, Vue 2→3, Next.js 13→15)
|
|
28
|
-
- A library is deprecated or has a security vulnerability (CVE)
|
|
29
|
-
- User wants to replace one library with another
|
|
30
|
-
- `project-audit` flagged outdated or risky dependencies (P1/P2)
|
|
31
|
-
- User says "update packages", "upgrade to v5", "migrate to new version"
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Scope
|
|
36
|
-
|
|
37
|
-
- ✅ Dependency version upgrades (patch, minor, major)
|
|
38
|
-
- ✅ Framework version migrations with breaking changes
|
|
39
|
-
- ✅ Library replacement (swap one library for another)
|
|
40
|
-
- ✅ Package conflict resolution
|
|
41
|
-
- ✅ Configuration updates required by new versions
|
|
42
|
-
- ✅ Code changes required by breaking API changes
|
|
43
|
-
- ✅ Rollback planning
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Non-goals
|
|
48
|
-
|
|
49
|
-
- ❌ Do NOT upgrade everything at once — always upgrade incrementally
|
|
50
|
-
- ❌ Do NOT skip reading the changelog/migration guide
|
|
51
|
-
- ❌ Do NOT ignore peer dependency warnings without investigating
|
|
52
|
-
- ❌ Do NOT apply breaking changes without a rollback plan
|
|
53
|
-
- ❌ Do NOT upgrade dev dependencies and prod dependencies in the same step
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Severity Levels
|
|
58
|
-
|
|
59
|
-
| Level | Meaning |
|
|
60
|
-
|-------|---------|
|
|
61
|
-
| P0 | Security vulnerability (CVE) — upgrade immediately |
|
|
62
|
-
| P1 | Breaking change affecting core functionality |
|
|
63
|
-
| P2 | Deprecated API with upcoming removal |
|
|
64
|
-
| P3 | Minor version lag — low risk, upgrade when convenient |
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Migration Types
|
|
69
|
-
|
|
70
|
-
| Type | Risk | Strategy |
|
|
71
|
-
|------|------|----------|
|
|
72
|
-
| **Patch** (1.0.x → 1.0.y) | Low | Upgrade directly, verify tests |
|
|
73
|
-
| **Minor** (1.x.0 → 1.y.0) | Low-Medium | Read changelog, upgrade, verify |
|
|
74
|
-
| **Major** (x.0.0 → y.0.0) | High | Read migration guide, upgrade incrementally, test thoroughly |
|
|
75
|
-
| **Framework** (React 17→19) | Very High | Follow official migration guide step by step |
|
|
76
|
-
| **Library swap** | High | Strangler fig pattern — migrate incrementally |
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Workflow
|
|
81
|
-
|
|
82
|
-
### Phase 1 — Audit Current State
|
|
83
|
-
|
|
84
|
-
Before upgrading:
|
|
85
|
-
1. List all dependencies with current versions
|
|
86
|
-
2. Identify which are outdated (use `npm outdated` / `pnpm outdated`)
|
|
87
|
-
3. Check for known CVEs (`npm audit` / `pnpm audit`)
|
|
88
|
-
4. Classify each outdated package by migration type and risk
|
|
89
|
-
5. Check peer dependency constraints
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
npm outdated # See what's outdated
|
|
93
|
-
npm audit # Security vulnerabilities
|
|
94
|
-
npx depcheck # Unused dependencies
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
### Phase 2 — Read Migration Guide
|
|
100
|
-
|
|
101
|
-
For every major version upgrade:
|
|
102
|
-
1. Read the official CHANGELOG or migration guide
|
|
103
|
-
2. List all breaking changes that affect the project
|
|
104
|
-
3. List all deprecated APIs still in use
|
|
105
|
-
4. Estimate effort: number of files to change, complexity of changes
|
|
106
|
-
|
|
107
|
-
Document findings before touching any code.
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
### Phase 3 — Plan the Migration
|
|
112
|
-
|
|
113
|
-
Create an ordered upgrade sequence:
|
|
114
|
-
|
|
115
|
-
**Rules:**
|
|
116
|
-
- Security fixes first (P0)
|
|
117
|
-
- Dev dependencies before prod dependencies (lower risk)
|
|
118
|
-
- Upgrade one major dependency at a time — not everything together
|
|
119
|
-
- Group related packages (e.g., all `@tanstack/*` together)
|
|
120
|
-
|
|
121
|
-
**Example order:**
|
|
122
|
-
```
|
|
123
|
-
Step 1: Security patch — package-x 2.1.0 → 2.1.4 (CVE fix)
|
|
124
|
-
Step 2: Dev tools — eslint 8 → 9 (no runtime impact)
|
|
125
|
-
Step 3: Minor upgrades — axios 1.4 → 1.7 (non-breaking)
|
|
126
|
-
Step 4: Major upgrade — react-query 4 → 5 (breaking — separate PR)
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
### Phase 4 — Create Rollback Plan
|
|
132
|
-
|
|
133
|
-
Before applying any change:
|
|
134
|
-
```
|
|
135
|
-
Rollback method:
|
|
136
|
-
Option A: git revert / git checkout to previous state
|
|
137
|
-
Option B: Pin version in package.json to previous known-good version
|
|
138
|
-
Option C: Feature flag to disable new behavior
|
|
139
|
-
|
|
140
|
-
Rollback trigger:
|
|
141
|
-
- Tests fail after upgrade
|
|
142
|
-
- Runtime errors in staging
|
|
143
|
-
- Performance regression detected
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
### Phase 5 — Execute the Upgrade
|
|
149
|
-
|
|
150
|
-
For each package in the plan:
|
|
151
|
-
|
|
152
|
-
1. **Upgrade package:**
|
|
153
|
-
```bash
|
|
154
|
-
npm install package-name@version
|
|
155
|
-
# or
|
|
156
|
-
pnpm add package-name@version
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
2. **Update configuration** (if required by new version)
|
|
160
|
-
|
|
161
|
-
3. **Fix breaking changes** in code:
|
|
162
|
-
- Update import paths
|
|
163
|
-
- Replace deprecated APIs
|
|
164
|
-
- Update type signatures
|
|
165
|
-
- Update config files
|
|
166
|
-
|
|
167
|
-
4. **Run verification** (see Phase 6) before moving to next package
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
### Phase 6 — Verify After Each Step
|
|
172
|
-
|
|
173
|
-
After every upgrade step:
|
|
174
|
-
- [ ] `npm install` / `pnpm install` — no resolution errors
|
|
175
|
-
- [ ] `npm run build` — builds successfully
|
|
176
|
-
- [ ] `npm run type-check` — no new TypeScript errors
|
|
177
|
-
- [ ] `npm run lint` — clean
|
|
178
|
-
- [ ] `npm test` — all tests pass
|
|
179
|
-
- [ ] Manual smoke test of affected features
|
|
180
|
-
|
|
181
|
-
**If any check fails → rollback this step before continuing.**
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
### Phase 7 — Library Replacement (Strangler Fig Pattern)
|
|
186
|
-
|
|
187
|
-
When replacing one library with another (e.g., moment → date-fns):
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
Step 1: Install new library alongside old one
|
|
191
|
-
Step 2: Create adapter/wrapper that abstracts the library
|
|
192
|
-
Step 3: Migrate usage file by file (not all at once)
|
|
193
|
-
Step 4: Verify each file after migration
|
|
194
|
-
Step 5: Remove old library when 100% migrated
|
|
195
|
-
Step 6: Remove adapter if no longer needed
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
This allows incremental migration with rollback possible at any step.
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## Decision Tree
|
|
203
|
-
|
|
204
|
-
```
|
|
205
|
-
What type of upgrade?
|
|
206
|
-
├── Patch/Minor → Upgrade directly, run tests
|
|
207
|
-
├── Major → Read changelog → plan → upgrade → verify
|
|
208
|
-
└── Framework → Follow official migration guide step by step
|
|
209
|
-
|
|
210
|
-
Security vulnerability?
|
|
211
|
-
├── P0 (critical) → Upgrade immediately, prioritize over other work
|
|
212
|
-
└── P1/P2 → Include in next planned upgrade cycle
|
|
213
|
-
|
|
214
|
-
Library replacement?
|
|
215
|
-
└── Use strangler fig pattern — never replace all at once
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Output Format
|
|
221
|
-
|
|
222
|
-
```
|
|
223
|
-
📦 Migration Report
|
|
224
|
-
─────────────────────────────────────────────────
|
|
225
|
-
Scope: [What was upgraded / migrated]
|
|
226
|
-
Type: [Patch / Minor / Major / Framework / Library swap]
|
|
227
|
-
Risk: [Low / Medium / High]
|
|
228
|
-
|
|
229
|
-
Changes:
|
|
230
|
-
✅ package-x: 2.1.0 → 2.1.4 (CVE fix — no code changes)
|
|
231
|
-
✅ axios: 1.4.0 → 1.7.2 (minor — updated interceptor config)
|
|
232
|
-
✅ react: 18.2.0 → 19.0.0 (major — updated 12 files)
|
|
233
|
-
|
|
234
|
-
Breaking changes handled:
|
|
235
|
-
• [Description of breaking change and how it was resolved]
|
|
236
|
-
|
|
237
|
-
📋 Rollback plan:
|
|
238
|
-
git revert <commit-hash> or pin to previous version in package.json
|
|
239
|
-
|
|
240
|
-
✅ Verification:
|
|
241
|
-
Build: PASS
|
|
242
|
-
Types: Clean
|
|
243
|
-
Tests: PASS (N tests)
|
|
244
|
-
Lint: Clean
|
|
245
|
-
Smoke test: PASS
|
|
246
|
-
|
|
247
|
-
⚠️ Known issues / follow-up:
|
|
248
|
-
• [Any remaining deprecated APIs to address]
|
|
249
|
-
• [Any packages still pending upgrade]
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## Validation Checklist
|
|
255
|
-
|
|
256
|
-
- [ ] Migration guide read for every major version change
|
|
257
|
-
- [ ] Rollback plan documented before starting
|
|
258
|
-
- [ ] Upgraded incrementally — one major change at a time
|
|
259
|
-
- [ ] `npm audit` clean after upgrade
|
|
260
|
-
- [ ] Build, types, lint, tests all pass
|
|
261
|
-
- [ ] Smoke test of affected features complete
|
|
262
|
-
- [ ] No new peer dependency warnings left unresolved
|
|
263
|
-
- [ ] Breaking changes documented in output
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## Common Migration Cheat Sheet
|
|
268
|
-
|
|
269
|
-
```
|
|
270
|
-
React 17 → 18: Concurrent mode, new root API, Suspense updates
|
|
271
|
-
React 18 → 19: Server components, new hooks (useActionState), ref as prop
|
|
272
|
-
Vue 2 → 3: Composition API, new reactivity system, breaking changes in lifecycle
|
|
273
|
-
Next.js 12 → 13: App Router introduced (pages/ still works)
|
|
274
|
-
Next.js 13 → 14: Server Actions stable, metadata API
|
|
275
|
-
Next.js 14 → 15: React 19, async params, updated caching defaults
|
|
276
|
-
TanStack Query 4 → 5: New API (no more isLoading/isError split), object syntax
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
## Examples
|
|
282
|
-
|
|
283
|
-
See `examples/` folder.
|
|
284
|
-
|