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,127 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-table-crud-generator
|
|
3
|
-
description: >-
|
|
4
|
-
Tạo các bảng dữ liệu admin với đầy đủ tính năng phân trang, sắp xếp, lọc và thao tác thêm/sửa/xóa (CRUD).
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: frontend
|
|
7
|
-
tags: [table, data-grid, crud, admin, pagination, sorting]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Table & CRUD Generator
|
|
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 an admin table", "build a user list", "add data grid"
|
|
24
|
-
- User needs a view to manage a list of entities with CRUD capabilities
|
|
25
|
-
- A feature requires complex data presentation (sorting, filtering, pagination)
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Scope
|
|
30
|
-
|
|
31
|
-
- ✅ Generate a data table using design system components or libraries (e.g., TanStack Table)
|
|
32
|
-
- ✅ Implement client-side or server-side pagination, sorting, and filtering
|
|
33
|
-
- ✅ Add UI actions for Create, Edit, and Delete (modals or routing)
|
|
34
|
-
- ✅ Integrate with `api-integration` hooks for data fetching and mutations
|
|
35
|
-
- ✅ Handle loading, error, and empty states gracefully
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Non-goals
|
|
40
|
-
|
|
41
|
-
- ❌ Do NOT build the backend API for the CRUD operations (assume they exist or delegate)
|
|
42
|
-
- ❌ Do NOT use raw `<table>` tags if a powerful data-grid library is already installed
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Workflow
|
|
47
|
-
|
|
48
|
-
### Phase 1 — Data Model & Requirements
|
|
49
|
-
|
|
50
|
-
1. Understand the entity (e.g., `User`, `Product`).
|
|
51
|
-
2. Identify columns to display.
|
|
52
|
-
3. Determine operations needed (e.g., just Read/Delete, or full CRUD).
|
|
53
|
-
4. Decide on Pagination strategy: Server-side (URL params) or Client-side (in-memory).
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
### Phase 2 — Table Component Setup
|
|
58
|
-
|
|
59
|
-
1. Check for table libraries (e.g., `@tanstack/react-table`, MUI DataGrid, AntD Table).
|
|
60
|
-
2. Define column definitions (headers, accessor keys, cell formatters).
|
|
61
|
-
3. Set up the table UI wrapper.
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
### Phase 3 — Data Integration
|
|
66
|
-
|
|
67
|
-
Connect to the state/API layer (e.g., React Query).
|
|
68
|
-
- `useQuery` for fetching the list. Pass pagination/sorting state.
|
|
69
|
-
- Handle `isLoading` → show skeleton or spinner.
|
|
70
|
-
- Handle empty data → show empty state component.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
### Phase 4 — CRUD Actions
|
|
75
|
-
|
|
76
|
-
Implement actions (usually in an "Actions" column or toolbar):
|
|
77
|
-
- **Create:** Button opening a Modal (delegate to `form-builder`) or routing to `/new`.
|
|
78
|
-
- **Edit:** Button opening an Edit Modal or routing to `/edit/:id`.
|
|
79
|
-
- **Delete:** Button opening a confirmation dialog, calling delete mutation on confirm.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Decision Tree
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
Is the dataset large (requires backend pagination)?
|
|
87
|
-
├── Yes → Implement Server-side pagination (sync state with URL search params)
|
|
88
|
-
└── No → Implement Client-side pagination (fetch all once, slice in UI)
|
|
89
|
-
|
|
90
|
-
Does the project use TanStack Table (React Table)?
|
|
91
|
-
├── Yes → Use `useReactTable` to manage table state and column definitions
|
|
92
|
-
└── No → Use the project's specific UI library table component
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## Output Format
|
|
98
|
-
|
|
99
|
-
```
|
|
100
|
-
📊 Table & CRUD Generated
|
|
101
|
-
─────────────────────────────────────────────────
|
|
102
|
-
Entity: [Entity Name]
|
|
103
|
-
Features: [Pagination (Server), Sorting, CRUD actions]
|
|
104
|
-
|
|
105
|
-
Components Created:
|
|
106
|
-
✅ [Entity]Table.tsx
|
|
107
|
-
✅ [Entity]Columns.tsx
|
|
108
|
-
✅ DeleteConfirmModal.tsx
|
|
109
|
-
|
|
110
|
-
Integration:
|
|
111
|
-
- Fetching: Linked to `use[Entity]List` hook
|
|
112
|
-
- Mutations: Linked to Create/Update/Delete hooks
|
|
113
|
-
|
|
114
|
-
🔗 Next Steps:
|
|
115
|
-
If Create/Edit forms are needed, delegate to `form-builder`.
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## Validation Checklist
|
|
121
|
-
|
|
122
|
-
- [ ] Columns are defined correctly
|
|
123
|
-
- [ ] Loading and empty states are handled
|
|
124
|
-
- [ ] Pagination/sorting state is managed properly
|
|
125
|
-
- [ ] CRUD actions trigger the correct mutations or navigations
|
|
126
|
-
- [ ] Delete actions have a confirmation step
|
|
127
|
-
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-ui-builder
|
|
3
|
-
description: >-
|
|
4
|
-
Xây dựng các màn hình và layout phức tạp từ yêu cầu, tái sử dụng component và đảm bảo responsive.
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
category: frontend
|
|
7
|
-
tags: [ui, layout, screens, pages, styling, responsive]
|
|
8
|
-
platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# UI 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 wants to create a new page, screen, or view
|
|
24
|
-
- User provides a mockup, wireframe, or visual description
|
|
25
|
-
- User asks to "build a layout", "create a dashboard", "make the profile page"
|
|
26
|
-
- Refactoring a large, messy view into a structured layout
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Scope
|
|
31
|
-
|
|
32
|
-
- ✅ Translate requirements into a component hierarchy
|
|
33
|
-
- ✅ Build layouts using Grid, Flexbox, and project styling conventions
|
|
34
|
-
- ✅ Ensure responsive design (mobile-first or desktop-first based on project)
|
|
35
|
-
- ✅ Integrate existing shared components (Buttons, Cards, Inputs) via `design-system` rules
|
|
36
|
-
- ✅ Define placeholders for data and logic (to be filled by `api-integration` or `state-management`)
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Non-goals
|
|
41
|
-
|
|
42
|
-
- ❌ Do NOT build backend APIs
|
|
43
|
-
- ❌ Do NOT implement complex global state (delegate to `state-management`)
|
|
44
|
-
- ❌ Do NOT invent new core UI components if they already exist in the design system
|
|
45
|
-
- ❌ Do NOT write raw HTML (`<button>`) if a shared component (`<Button>`) exists
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Workflow
|
|
50
|
-
|
|
51
|
-
### Phase 1 — Requirement Analysis
|
|
52
|
-
|
|
53
|
-
1. Understand the goal: What screen are we building?
|
|
54
|
-
2. Identify major sections: Header, Sidebar, Main Content, Footer, Modals.
|
|
55
|
-
3. Identify data requirements: What data will populate this view? (Use mock data initially).
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
### Phase 2 — Component Hierarchy Planning
|
|
60
|
-
|
|
61
|
-
Break the screen down into smaller components.
|
|
62
|
-
**Rule of thumb:** If a section has complex logic or is reusable, it should be a separate component.
|
|
63
|
-
|
|
64
|
-
*Example:*
|
|
65
|
-
```text
|
|
66
|
-
UserProfilePage
|
|
67
|
-
├── ProfileHeader
|
|
68
|
-
│ ├── Avatar
|
|
69
|
-
│ └── UserStats
|
|
70
|
-
├── UserSettingsForm (delegate to form-builder)
|
|
71
|
-
└── UserActivityList
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
### Phase 3 — Design System Integration
|
|
77
|
-
|
|
78
|
-
*(Relies on output from `design-system` skill)*
|
|
79
|
-
Identify which existing components will be used for each part of the hierarchy.
|
|
80
|
-
|
|
81
|
-
- Buttons → `<Button>`
|
|
82
|
-
- Layouts → `<Container>`, `<Grid>`
|
|
83
|
-
- Typography → `<Typography variant="h2">` or Tailwind text classes
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
### Phase 4 — Implementation
|
|
88
|
-
|
|
89
|
-
Write the code.
|
|
90
|
-
1. Build the layout skeleton first (Flexbox/Grid).
|
|
91
|
-
2. Add static/mock data to visualize the structure.
|
|
92
|
-
3. Apply styling for layout, spacing, and typography.
|
|
93
|
-
4. Ensure responsive behavior (e.g., stack columns on mobile).
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
### Phase 5 — Validation
|
|
98
|
-
|
|
99
|
-
- [ ] Does it match the requirements?
|
|
100
|
-
- [ ] Is it responsive?
|
|
101
|
-
- [ ] Does it strictly use the design system?
|
|
102
|
-
- [ ] Is the code clean and well-structured (not one giant file)?
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Decision Tree
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
Is a section of the UI highly complex or forms a distinct logical unit?
|
|
110
|
-
├── Yes → Extract it into its own component file (e.g., `ProfileHeader.tsx`)
|
|
111
|
-
└── No → Keep it inline in the main layout file for now
|
|
112
|
-
|
|
113
|
-
Does a required base component (e.g., DatePicker) exist in the project?
|
|
114
|
-
├── Yes → Import and use it
|
|
115
|
-
└── No → Use a standard HTML fallback or instruct `component-generator` to build it later
|
|
116
|
-
|
|
117
|
-
Is the UI data-heavy (like a complex form or table)?
|
|
118
|
-
├── Yes → Delegate specific sections to `form-builder` or `table-crud-generator`
|
|
119
|
-
└── No → Build it fully within `ui-builder`
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## Output Format
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
🎨 UI Builder Summary
|
|
128
|
-
─────────────────────────────────────────────────
|
|
129
|
-
Screen: [Name of the screen/view built]
|
|
130
|
-
|
|
131
|
-
Component Hierarchy:
|
|
132
|
-
[Tree showing parent and child components]
|
|
133
|
-
|
|
134
|
-
📁 Files Created/Modified:
|
|
135
|
-
✅ [path/to/Page.tsx]
|
|
136
|
-
✅ [path/to/SubComponent.tsx]
|
|
137
|
-
|
|
138
|
-
🛠️ Implementation Details:
|
|
139
|
-
- Responsive: [Yes - describe breakpoints used]
|
|
140
|
-
- Mock Data: [Added placeholders for API integration]
|
|
141
|
-
|
|
142
|
-
🔗 Next Steps:
|
|
143
|
-
→ Need to wire up API? Route to `api-integration`.
|
|
144
|
-
→ Need complex state? Route to `state-management`.
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## Examples
|
|
150
|
-
|
|
151
|
-
See `examples/` folder.
|
|
152
|
-
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-[skill-name]
|
|
3
|
-
category: [core|frontend|backend|fullstack|security|qa|maintenance|devops|utilities]
|
|
4
|
-
version: 7.5.0
|
|
5
|
-
description: "[One sentence — what it does]"
|
|
6
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
-
execution_mode: deterministic
|
|
8
|
-
|
|
9
|
-
# Orchestrator routing metadata
|
|
10
|
-
cost: [low|medium|high]
|
|
11
|
-
latency: [fast|medium|slow]
|
|
12
|
-
risk: [low|medium|high]
|
|
13
|
-
side_effects: [edit_files|run_commands|read_only|none]
|
|
14
|
-
produces: [report|code|schema|plan|tokens]
|
|
15
|
-
consumes: [context-graph|design-md|stack-trace|json-payload|none]
|
|
16
|
-
|
|
17
|
-
token_budget:
|
|
18
|
-
max_files_read: 3
|
|
19
|
-
max_lines_per_read: 150
|
|
20
|
-
max_shell_commands: 2
|
|
21
|
-
stop_early: true
|
|
22
|
-
|
|
23
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
# qk-[skill-name]
|
|
27
|
-
|
|
28
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese (match user language).
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Preconditions
|
|
33
|
-
Before executing, verify ALL exist. STOP with `BLOCKED` if any is missing.
|
|
34
|
-
|
|
35
|
-
- [ ] [Precondition 1 — e.g., "Repository is accessible"]
|
|
36
|
-
- [ ] [Precondition 2 — e.g., "DESIGN.md exists in project root"]
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
On missing precondition:
|
|
40
|
-
EXIT: BLOCKED
|
|
41
|
-
Message: "[Precondition X] not found. Please provide: [what]"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Scope
|
|
47
|
-
- ✅ [What this skill explicitly DOES]
|
|
48
|
-
- ✅ [What this skill explicitly DOES]
|
|
49
|
-
|
|
50
|
-
## Non-Goals
|
|
51
|
-
- ❌ [Anti-pattern 1] — because [why]
|
|
52
|
-
- ❌ [Anti-pattern 2]
|
|
53
|
-
- ❌ Never create helper scripts (Node.js/Python/shell) to apply patches — edit files directly
|
|
54
|
-
- ❌ Never read entire files > 150 lines — use targeted reads (StartLine:EndLine)
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Priority Order
|
|
59
|
-
When token budget is insufficient, execute checks in this order:
|
|
60
|
-
|
|
61
|
-
| Priority | Check | Skip Threshold |
|
|
62
|
-
|----------|-------|----------------|
|
|
63
|
-
| P1 | [Most critical — never skip] | Never |
|
|
64
|
-
| P2 | [High priority] | Budget < 30% |
|
|
65
|
-
| P3 | [Medium priority] | Budget < 50% |
|
|
66
|
-
| P4 | [Low priority — always optional] | Budget < 70% |
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Workflow
|
|
71
|
-
|
|
72
|
-
### Phase 1 — [Name: e.g., Triage]
|
|
73
|
-
|
|
74
|
-
**Steps:**
|
|
75
|
-
1. [Concrete step — specify tool: `grep_search` / `view_file[L1:L50]` / `run_command`]
|
|
76
|
-
2. [Next step]
|
|
77
|
-
|
|
78
|
-
**Exit When (stop this phase, move to next):**
|
|
79
|
-
- [Condition A — e.g., "Root cause identified"]
|
|
80
|
-
- [Condition B — e.g., "`max_files_read` reached"]
|
|
81
|
-
|
|
82
|
-
**On Blocked:**
|
|
83
|
-
```
|
|
84
|
-
EXIT: BLOCKED
|
|
85
|
-
Missing: [what specific info is needed]
|
|
86
|
-
Questions:
|
|
87
|
-
1. [Specific question to user]
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
### Phase 2 — [Name: e.g., Analyze]
|
|
93
|
-
|
|
94
|
-
**Steps:**
|
|
95
|
-
1. [Step]
|
|
96
|
-
|
|
97
|
-
**Decision:**
|
|
98
|
-
```
|
|
99
|
-
IF [condition met]
|
|
100
|
-
→ proceed to Phase 3
|
|
101
|
-
ELSE IF [edge case]
|
|
102
|
-
→ EXIT: PARTIAL — note: [what was missed]
|
|
103
|
-
ELSE
|
|
104
|
-
→ ESCALATE
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
### Phase 3 — [Name: e.g., Execute]
|
|
110
|
-
|
|
111
|
-
**Steps:**
|
|
112
|
-
1. Apply fix using `replace_file_content` or `multi_replace_file_content` — NEVER via scripts
|
|
113
|
-
2. [Verification step]
|
|
114
|
-
|
|
115
|
-
**Exit When:**
|
|
116
|
-
- Fix applied and verified → EXIT: SUCCESS
|
|
117
|
-
- Fix applied but unverifiable → EXIT: PARTIAL
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## Confidence Model
|
|
122
|
-
|
|
123
|
-
| Level | Condition | Action |
|
|
124
|
-
|-------|-----------|--------|
|
|
125
|
-
| HIGH | Direct evidence (file:line, stack trace, exact match) | Proceed |
|
|
126
|
-
| MEDIUM | Inferred from patterns or similar code | Note assumption, proceed carefully |
|
|
127
|
-
| LOW | Assumption without evidence | STOP — ask user before proceeding |
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Severity
|
|
132
|
-
|
|
133
|
-
| Level | Definition | Example |
|
|
134
|
-
|-------|-----------|---------|
|
|
135
|
-
| CRITICAL | Data loss / security breach / app down | Hardcoded secret, SQL injection |
|
|
136
|
-
| HIGH | Core feature broken, blocking users | Null crash, broken API |
|
|
137
|
-
| MEDIUM | Degraded UX, workaround exists | Cyclomatic > 10, missing loading state |
|
|
138
|
-
| LOW | Style/cosmetic, non-blocking | Missing comment, minor inconsistency |
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Evidence Format
|
|
143
|
-
|
|
144
|
-
Every finding MUST use this format:
|
|
145
|
-
```
|
|
146
|
-
[SEVERITY] path/to/file.ts:LINE
|
|
147
|
-
Reason: [why this is a violation or finding]
|
|
148
|
-
Confidence: [HIGH|MEDIUM|LOW]
|
|
149
|
-
Fix: [one-line suggestion]
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**Example:**
|
|
153
|
-
```
|
|
154
|
-
[HIGH] src/auth.service.ts:132
|
|
155
|
-
Reason: Function length 64 lines exceeds threshold of 30
|
|
156
|
-
Confidence: HIGH
|
|
157
|
-
Fix: Extract token validation to `validateToken()`
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## Retry Policy
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
Action fails
|
|
166
|
-
└─ Attempt auto-fix (if fix is deterministic)
|
|
167
|
-
└─ Re-run verification
|
|
168
|
-
├─ PASS → EXIT: SUCCESS
|
|
169
|
-
└─ FAIL (2nd time) → EXIT: PARTIAL + report
|
|
170
|
-
└─ Do NOT retry more than 2 times
|
|
171
|
-
└─ 3rd failure → ESCALATE to user
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Escalation Rules
|
|
177
|
-
|
|
178
|
-
When blocked, **never just "STOP"** — return structured response:
|
|
179
|
-
|
|
180
|
-
```
|
|
181
|
-
BLOCKED: [Reason — specific, not vague]
|
|
182
|
-
Missing:
|
|
183
|
-
- [Specific artifact or information needed]
|
|
184
|
-
Questions:
|
|
185
|
-
1. [Specific question]
|
|
186
|
-
2. [Specific question]
|
|
187
|
-
Recommended Assumptions (if you want me to proceed anyway):
|
|
188
|
-
- [Safe assumption 1]
|
|
189
|
-
- [Safe assumption 2]
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## Handoff Contract
|
|
195
|
-
|
|
196
|
-
### Consumes (Input from upstream)
|
|
197
|
-
```json
|
|
198
|
-
{
|
|
199
|
-
"from": "[skill-name or 'user']",
|
|
200
|
-
"required_fields": ["field1", "field2"],
|
|
201
|
-
"optional_fields": ["field3"]
|
|
202
|
-
}
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### Produces (Output for downstream)
|
|
206
|
-
```json
|
|
207
|
-
{
|
|
208
|
-
"to": "[skill-name or 'user']",
|
|
209
|
-
"output_fields": ["changed_files", "summary", "confidence", "exit_code"]
|
|
210
|
-
}
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## Output Format
|
|
216
|
-
|
|
217
|
-
```
|
|
218
|
-
[SKILL_NAME] Result
|
|
219
|
-
─────────────────────────────────────────────────
|
|
220
|
-
Status: [SUCCESS | PARTIAL | BLOCKED | FAILED]
|
|
221
|
-
Confidence: [HIGH | MEDIUM | LOW]
|
|
222
|
-
|
|
223
|
-
[Section specific to this skill]
|
|
224
|
-
|
|
225
|
-
Exit Code: [SUCCESS | PARTIAL | BLOCKED | FAILED]
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
## Exit Codes
|
|
231
|
-
|
|
232
|
-
| Code | Meaning | Orchestrator Action |
|
|
233
|
-
|------|---------|---------------------|
|
|
234
|
-
| SUCCESS | All checks passed, task complete | Continue pipeline |
|
|
235
|
-
| PARTIAL | Task done with degraded quality or skipped P3/P4 checks | Notify user, continue |
|
|
236
|
-
| BLOCKED | Missing precondition or ambiguous requirement | STOP, ask user |
|
|
237
|
-
| FAILED | Task failed after 2 retry attempts | STOP, report error |
|
|
238
|
-
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-access-policy
|
|
3
|
-
category: security
|
|
4
|
-
version: 7.5.0
|
|
5
|
-
description: "Quản lý RBAC, ABAC — định nghĩa role matrix trước, implement middleware sau."
|
|
6
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
-
execution_mode: deterministic
|
|
8
|
-
cost: medium
|
|
9
|
-
latency: medium
|
|
10
|
-
risk: high
|
|
11
|
-
side_effects: edit_files
|
|
12
|
-
produces: [code, report]
|
|
13
|
-
consumes: [user-description]
|
|
14
|
-
token_budget:
|
|
15
|
-
max_files_read: 3
|
|
16
|
-
max_lines_per_read: 100
|
|
17
|
-
max_shell_commands: 0
|
|
18
|
-
stop_early: true
|
|
19
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
20
|
-
skill_version: 7.5.0
|
|
21
|
-
runtime_version: 1
|
|
22
|
-
schema_version: 2
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# qk-access-policy — Access Control Designer
|
|
26
|
-
|
|
27
|
-
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Preconditions
|
|
32
|
-
- [ ] User roles and protected resources are defined
|
|
33
|
-
- [ ] Auth system (JWT, session, OAuth) is identified
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
On missing precondition:
|
|
37
|
-
EXIT: BLOCKED
|
|
38
|
-
Message: "Cần định nghĩa: danh sách roles + resources cần bảo vệ."
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Scope
|
|
44
|
-
- ✅ Define explicit Role-Permission Matrix before coding
|
|
45
|
-
- ✅ Implement middleware/guards based strictly on the matrix
|
|
46
|
-
- ✅ Separate auth (who are you?) from authz (what can you do?)
|
|
47
|
-
|
|
48
|
-
## Non-Goals
|
|
49
|
-
- ❌ Grant wildcard (*) permissions
|
|
50
|
-
- ❌ Mix authentication logic with authorization logic
|
|
51
|
-
- ❌ Hardcode role checks in business logic (use middleware/guards)
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Priority Order
|
|
56
|
-
| P | Task | Skip Threshold |
|
|
57
|
-
|---|------|----------------|
|
|
58
|
-
| P1 | Define Role-Permission Matrix | Never |
|
|
59
|
-
| P2 | Implement deny-by-default middleware | Never |
|
|
60
|
-
| P3 | Add role guards to routes/controllers | Budget < 30% |
|
|
61
|
-
| P4 | Add audit logging for auth failures | Budget < 60% |
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Role-Permission Matrix Format (Required)
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
Resource | admin | manager | user | guest
|
|
69
|
-
─────────────────────────────────────────────────
|
|
70
|
-
GET /resource | ✅ | ✅ | ✅ | ✅
|
|
71
|
-
POST /resource | ✅ | ✅ | ❌ | ❌
|
|
72
|
-
DELETE /resource | ✅ | ❌ | ❌ | ❌
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Workflow
|
|
78
|
-
|
|
79
|
-
### Phase 1 — Matrix Definition
|
|
80
|
-
1. List all roles and resources from requirements
|
|
81
|
-
2. Create Role-Permission Matrix (table format above)
|
|
82
|
-
3. Identify conflicts or contradictions
|
|
83
|
-
|
|
84
|
-
**Decision:** `IF matrix has contradiction → EXIT: BLOCKED — resolve ambiguity`
|
|
85
|
-
|
|
86
|
-
### Phase 2 — Implementation
|
|
87
|
-
1. Create deny-by-default guard/middleware
|
|
88
|
-
2. Apply guards to routes using matrix
|
|
89
|
-
3. Add auth failure logging
|
|
90
|
-
|
|
91
|
-
### Phase 3 — Verification
|
|
92
|
-
1. Read matrix vs implementation — spot check 3 routes
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Evidence Format
|
|
97
|
-
```
|
|
98
|
-
[SEVERITY] src/middleware/auth.ts:LINE
|
|
99
|
-
Rule: [WILDCARD | MISSING_GUARD | SOC_VIOLATION | HARDCODED_ROLE]
|
|
100
|
-
Reason: [specific issue]
|
|
101
|
-
Confidence: HIGH
|
|
102
|
-
Fix: [specific change]
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Exit Codes
|
|
108
|
-
| Code | Meaning | When |
|
|
109
|
-
|------|---------|------|
|
|
110
|
-
| SUCCESS | Matrix defined, middleware implemented, deny-by-default applied | Implementation complete |
|
|
111
|
-
| PARTIAL | Implemented but missing audit logging or some routes unguarded | Post-verification minor gaps |
|
|
112
|
-
| BLOCKED | Roles or resources undefined — cannot create matrix | Missing inputs |
|
|
113
|
-
| FAILED | Contradiction in matrix or auth/authz mixed | Architectural violation |
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## Confidence Model
|
|
118
|
-
| Level | Condition | Action |
|
|
119
|
-
|-------|-----------|--------|
|
|
120
|
-
| HIGH | Roles and resources explicitly defined | Build matrix and implement |
|
|
121
|
-
| MEDIUM | Roles inferred from codebase | Build matrix, ask user to verify |
|
|
122
|
-
| LOW | Authentication strategy unknown | EXIT: BLOCKED |
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Severity
|
|
127
|
-
| Level | Definition | Example |
|
|
128
|
-
|-------|-----------|---------|
|
|
129
|
-
| CRITICAL | Route unguarded due to missing middleware | Anyone can access DELETE /users |
|
|
130
|
-
| HIGH | Hardcoded roles in business logic | `if (user.role === 'admin')` in service layer |
|
|
131
|
-
| MEDIUM | Wildcard permissions granted | `user` can access `*` |
|
|
132
|
-
| LOW | Audit log missing for auth failure | Unlogged 403 error |
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## Retry Policy
|
|
137
|
-
```
|
|
138
|
-
Route verification fails
|
|
139
|
-
└─ Route unguarded
|
|
140
|
-
├─ Add missing guard to route
|
|
141
|
-
└─ Do NOT retry more than 1 time per route
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## Escalation Rules
|
|
147
|
-
```
|
|
148
|
-
BLOCKED: Roles or resources undefined
|
|
149
|
-
Missing:
|
|
150
|
-
- List of user roles
|
|
151
|
-
- List of protected resources
|
|
152
|
-
Questions:
|
|
153
|
-
1. Hệ thống có những role nào? (ví dụ: admin, user, manager)
|
|
154
|
-
2. Những API/Route nào cần bảo vệ?
|
|
155
|
-
Recommended Assumptions:
|
|
156
|
-
- Deny-by-default for all non-public routes
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## Handoff Contract
|
|
162
|
-
### Consumes
|
|
163
|
-
```json
|
|
164
|
-
{
|
|
165
|
-
"from": "user",
|
|
166
|
-
"required_fields": ["roles", "resources"],
|
|
167
|
-
"optional_fields": ["auth_strategy"]
|
|
168
|
-
}
|
|
169
|
-
```
|
|
170
|
-
### Produces
|
|
171
|
-
```json
|
|
172
|
-
{
|
|
173
|
-
"to": "user",
|
|
174
|
-
"output_fields": ["role_matrix", "middleware_files", "guarded_routes", "exit_code"]
|
|
175
|
-
}
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|