ai-developer-skill-os 9.3.1 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/AGENTS.md +73 -40
- package/.agents/DEV_PROFILE.md +36 -2
- package/.agents/LICENSE +21 -21
- package/.agents/docs/ARCHITECTURE.md +56 -120
- package/.agents/docs/GOVERNANCE.md +3 -3
- package/.agents/docs/SPEC.md +137 -60
- package/.agents/docs/VERSIONING.md +25 -57
- package/.agents/docs/adr/0005-v10-platform-consolidation.md +50 -0
- package/.agents/docs/schemas/learning.schema.yml +22 -57
- package/.agents/docs/schemas/skill.schema.yml +116 -161
- package/.agents/docs/schemas/workflow.schema.yml +51 -26
- package/.agents/docs/skill-classification.md +1 -1
- package/.agents/registry/graph.json +193 -346
- package/.agents/registry/index.yaml +90 -233
- package/.agents/rules/coding.md +30 -12
- package/.agents/rules/command-safety.md +20 -9
- package/.agents/rules/global.md +234 -28
- package/.agents/rules/prompt-compiler.md +170 -0
- package/.agents/rules/safety.md +1 -1
- package/.agents/rules/security.md +1 -1
- package/.agents/rules/skill-quality.md +18 -3
- package/.agents/skills/_template/SKILL.md +238 -88
- package/.agents/skills/qk-api-data-discovery/SKILL.md +456 -0
- package/.agents/skills/qk-api-data-discovery/references/bronze-record-format.md +47 -0
- package/.agents/skills/qk-api-data-discovery/references/data-contract-yaml.md +72 -0
- package/.agents/skills/qk-api-data-discovery/references/discovery-report-template.md +110 -0
- package/.agents/skills/qk-backend-data/SKILL.md +339 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +328 -248
- package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-code-cleaner/SKILL.md +399 -0
- package/.agents/skills/qk-code-review/SKILL.md +320 -247
- package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-code-review/references/ai/{v8-schema-validation.md → schema-validation.md} +2 -2
- package/.agents/skills/qk-code-review/references/cross-cutting/async-concurrency-patterns.md +515 -515
- package/.agents/skills/qk-code-review/references/cross-cutting/error-handling-principles.md +492 -492
- package/.agents/skills/qk-code-review/references/cross-cutting/n-plus-one-queries.md +309 -309
- package/.agents/skills/qk-code-review/references/cross-cutting/sql-injection-prevention.md +307 -307
- package/.agents/skills/qk-code-review/references/cross-cutting/xss-prevention.md +263 -263
- package/.agents/skills/qk-code-review/references/languages/angular.md +768 -768
- package/.agents/skills/qk-code-review/references/languages/c.md +890 -890
- package/.agents/skills/qk-code-review/references/languages/cpp.md +893 -893
- package/.agents/skills/qk-code-review/references/languages/css-less-sass.md +661 -661
- package/.agents/skills/qk-code-review/references/languages/django.md +985 -985
- package/.agents/skills/qk-code-review/references/languages/fastapi.md +580 -580
- package/.agents/skills/qk-code-review/references/languages/go.md +993 -993
- package/.agents/skills/qk-code-review/references/languages/java.md +409 -409
- package/.agents/skills/qk-code-review/references/languages/java8.md +586 -586
- package/.agents/skills/qk-code-review/references/languages/kotlin.md +1018 -1018
- package/.agents/skills/qk-code-review/references/languages/nestjs.md +593 -593
- package/.agents/skills/qk-code-review/references/languages/php.md +684 -684
- package/.agents/skills/qk-code-review/references/languages/python.md +1073 -1073
- package/.agents/skills/qk-code-review/references/languages/qt.md +757 -757
- package/.agents/skills/qk-code-review/references/languages/react.md +871 -871
- package/.agents/skills/qk-code-review/references/languages/ruby.md +964 -964
- package/.agents/skills/qk-code-review/references/languages/rust.md +846 -846
- package/.agents/skills/qk-code-review/references/languages/svelte.md +1064 -1064
- package/.agents/skills/qk-code-review/references/languages/swift.md +936 -936
- package/.agents/skills/qk-code-review/references/languages/typescript.md +1016 -1016
- package/.agents/skills/qk-code-review/references/languages/vue.md +924 -924
- package/.agents/skills/qk-code-review/references/languages/zig.md +440 -440
- package/.agents/skills/qk-devops-release/SKILL.md +294 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +331 -247
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-orchestrator/SKILL.md +286 -152
- package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-orchestrator/references/routing-table.md +1 -1
- package/.agents/skills/qk-product-spec/SKILL.md +262 -0
- package/.agents/skills/qk-prompt-compiler/SKILL.md +444 -0
- package/.agents/skills/qk-ui-engineer/SKILL.md +286 -0
- package/.agents/workflows/_schema.yml +146 -146
- package/.agents/workflows/bug-resolution.yml +155 -121
- package/.agents/workflows/code-review.yml +127 -93
- package/.agents/workflows/context-discovery.yml +128 -94
- package/.agents/workflows/documentation.yml +124 -90
- package/.agents/workflows/feature-delivery.yml +158 -124
- package/.agents/workflows/production-release.yml +207 -173
- package/.agents/workflows/prompt-compilation.yml +126 -0
- package/.agents/workflows/refactor.yml +136 -102
- package/.agents/workflows/security-audit.yml +149 -115
- package/.agents/workflows/shared/quality-gate.yml +3 -1
- package/.agents/workflows/skin-governance.yml +149 -115
- package/.agents/workflows/spec-driven-development.yml +116 -87
- package/CHANGELOG.md +77 -0
- package/README.md +125 -205
- package/bin/install.js +324 -329
- package/package.json +68 -74
- package/tooling/build-registry.js +226 -208
- package/tooling/run-aar.js +55 -126
- package/tooling/sync-versions.js +2 -2
- package/tooling/validate-graph.js +100 -87
- package/tooling/validate-skills.js +32 -14
- package/.agents/README.md +0 -90
- package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
- package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
- package/.agents/docs/MIGRATION-STATUS.md +0 -35
- package/.agents/docs/MIGRATION-V8.md +0 -10
- package/.agents/docs/ROADMAP-V8.2.md +0 -78
- package/.agents/docs/V8-CERTIFICATION.md +0 -27
- package/.agents/docs/decisions/ADR-001-v8-migration.md +0 -58
- package/.agents/docs/decisions/ADR-002-workflow-separation.md +0 -50
- package/.agents/docs/decisions/ADR-003-registry-generated.md +0 -54
- package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +0 -27
- package/.agents/registry/capability-graph.yml +0 -390
- package/.agents/registry/skills-index.yml +0 -305
- package/.agents/skills/_template/capability.yaml +0 -34
- package/.agents/skills/_template/evals/scorecard.yaml +0 -19
- package/.agents/skills/qk-access-policy/SKILL.md +0 -206
- package/.agents/skills/qk-access-policy/capability.yaml +0 -23
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
- package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
- package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
- package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
- package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
- package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
- package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
- package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
- package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
- package/.agents/skills/qk-code-review/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/SKILL.md +0 -198
- package/.agents/skills/qk-context-loader/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
- package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
- package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
- package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
- package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
- package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-docs/SKILL.md +0 -193
- package/.agents/skills/qk-docs/capability.yaml +0 -23
- package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
- package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
- package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
- package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
- package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
- package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
- package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
- package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
- package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-help/SKILL.md +0 -107
- package/.agents/skills/qk-help/capability.yaml +0 -20
- package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
- package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
- package/.agents/skills/qk-product-specification/SKILL.md +0 -187
- package/.agents/skills/qk-product-specification/capability.yaml +0 -27
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-production-release/SKILL.md +0 -188
- package/.agents/skills/qk-production-release/capability.yaml +0 -27
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-audit/SKILL.md +0 -174
- package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
- package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-health/SKILL.md +0 -202
- package/.agents/skills/qk-project-health/capability.yaml +0 -23
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-project-memory/SKILL.md +0 -303
- package/.agents/skills/qk-project-memory/capability.yaml +0 -23
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-refactor/SKILL.md +0 -243
- package/.agents/skills/qk-refactor/capability.yaml +0 -26
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-security-audit/SKILL.md +0 -280
- package/.agents/skills/qk-security-audit/capability.yaml +0 -29
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
- package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
- package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
- package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
- package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
- package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
- package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
- package/.agents/skills/qk-ui-builder/references/color.md +0 -115
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
- package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
- package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
- package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
- package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
- package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
- package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
- package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-upgrade/SKILL.md +0 -301
- package/.agents/skills/qk-upgrade/capability.yaml +0 -24
- package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
- package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
- package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
- package/.agents/workflows/research.yml +0 -75
- package/.agents/workflows/skill-evolution.yml +0 -97
- package/tooling/fix-refactor.js +0 -8
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qk-code-cleaner
|
|
3
|
+
version: 10.2.0
|
|
4
|
+
status: stable
|
|
5
|
+
subtitle: "Refactor & Viết Test"
|
|
6
|
+
description: "Kỹ nghệ Tái cấu trúc (Zero Behavior Change), Nâng cấp thư viện an toàn có Rollback và Xây dựng lưới kiểm thử tự động. Dùng khi: refactor code, tái cấu trúc hàm/file, extract function/hook, clean code, giảm độ phức tạp cyclomatic, nâng cấp dependency package, audit breaking changes, viết unit/integration test — TUYỆT ĐỐI KHÔNG dùng khi chỉ sửa bug đơn lẻ (dùng qk-bug-resolution) hoặc build tính năng mới (dùng qk-feature-delivery)."
|
|
7
|
+
platforms: [antigravity, claude, opencode]
|
|
8
|
+
runtime_version: 1
|
|
9
|
+
tools:
|
|
10
|
+
- filesystem
|
|
11
|
+
- terminal
|
|
12
|
+
rules:
|
|
13
|
+
- global
|
|
14
|
+
- coding-standards
|
|
15
|
+
- safety
|
|
16
|
+
workflow: refactor
|
|
17
|
+
triggers:
|
|
18
|
+
- "refactor"
|
|
19
|
+
- "tái cấu trúc"
|
|
20
|
+
- "tách file quá dài"
|
|
21
|
+
- "extract function"
|
|
22
|
+
- "extract hook"
|
|
23
|
+
- "clean code"
|
|
24
|
+
- "giảm complexity"
|
|
25
|
+
- "nâng cấp thư viện"
|
|
26
|
+
- "upgrade package"
|
|
27
|
+
- "migrate framework"
|
|
28
|
+
- "cập nhật dependency"
|
|
29
|
+
- "viết unit test"
|
|
30
|
+
- "viết test"
|
|
31
|
+
- "integration test"
|
|
32
|
+
- "test strategy"
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# qk-code-cleaner — Refactor & Viết Test (Modernization & Test Safety Engine)
|
|
36
|
+
|
|
37
|
+
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Memory Workflow
|
|
42
|
+
|
|
43
|
+
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
44
|
+
- Trước khi tra cứu hoặc lưu trữ tri thức, BẮT BUỘC kiểm tra sự tồn tại của thư mục `.ai-local/` tại gốc dự án:
|
|
45
|
+
- **Tự động tạo mới:** Nếu `.ai-local/` chưa tồn tại, AI phải tự động tạo cấu trúc thư mục `.ai-local/knowledge/` (và file `index.yaml` nếu cần thiết) cùng `.ai-local/candidates/`. Tuyệt đối không ngưng chạy hay hỏi ý kiến người dùng về thao tác khởi tạo tiêu chuẩn này.
|
|
46
|
+
- **Bảo mật Gitignore:** BẮT BUỘC kiểm tra file `.gitignore` của dự án, nếu chưa có dòng `.ai-local/` thì phải tự động thêm vào để tuyệt đối bảo mật tri thức cá nhân và tránh lộ lọt lên Git.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### Pre-flight Retrieve (Trước khi thực thi)
|
|
51
|
+
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
52
|
+
bắt buộc tra cứu:
|
|
53
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
54
|
+
|
|
55
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
56
|
+
- Architecture
|
|
57
|
+
- Hard Bug
|
|
58
|
+
- Convention
|
|
59
|
+
- Pattern
|
|
60
|
+
- Tech Debt Pattern
|
|
61
|
+
|
|
62
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
63
|
+
Không được xem Memory là Source of Truth.
|
|
64
|
+
Luôn xác minh lại bằng source code, configuration và trạng thái hiện tại của dự án trước khi áp dụng.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
69
|
+
- Trong quá trình làm việc, AI được phép tự phát hiện và tạo **Candidate Memory** khi nhận thấy:
|
|
70
|
+
- Hard Bug có khả năng tái diễn.
|
|
71
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
72
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
73
|
+
- Quyết định Architecture quan trọng.
|
|
74
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
75
|
+
|
|
76
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
77
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
78
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
83
|
+
Sau khi hoàn thành task:
|
|
84
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
85
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
86
|
+
- Đề xuất người dùng xem xét.
|
|
87
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
88
|
+
- `/learn`
|
|
89
|
+
- `qk-project-memory`
|
|
90
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
97
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### Ignore (Không đưa vào Memory)
|
|
102
|
+
Không lưu:
|
|
103
|
+
- Trace log của một session đơn lẻ.
|
|
104
|
+
- Temporary debugging data.
|
|
105
|
+
- Output của một lần chạy test/scan.
|
|
106
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
107
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
108
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### Golden Rule
|
|
113
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
114
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 1. Nguyên Tắc Cốt Lõi & Luật Chống Over-Engineering
|
|
119
|
+
|
|
120
|
+
> **Core Principle:** Metrics are signals, not goals. Never refactor code merely to satisfy a metric. Optimize for maintainability, correctness, testability, and minimal risk.
|
|
121
|
+
> **Verification Principle:** PASS is a verified conclusion, never a target. Zero workarounds.
|
|
122
|
+
|
|
123
|
+
### 🛡️ Anti-Overengineering Rule (BẮT BUỘC TUÂN THỦ)
|
|
124
|
+
- **Cấm trừu tượng hóa quá đà:** Tuyệt đối KHÔNG tự ý tạo Design Patterns phức tạp (Abstract Factory, Decorator, Strategy...), Interfaces tầng tầng lớp lớp, Generic Wrappers, hay Custom Hooks nếu không mang lại lợi ích cụ thể, thực tế và rõ ràng cho việc đọc hiểu hoặc kiểm thử.
|
|
125
|
+
- **Ưu tiên giải pháp tối thiểu:** Luôn chọn sự thay đổi cấu trúc nhỏ nhất (smallest structural change) mà giải quyết được vấn đề bảo trì. 3 dòng code tường minh tốt hơn 30 dòng code pattern trừu tượng.
|
|
126
|
+
- **Không chạm vào code đang chạy tốt:** Nếu một đoạn code dài nhưng mạch lạc, có tính bao đóng tốt và không có yêu cầu thay đổi, KHÔNG ĐƯỢC phép xé nhỏ nó chỉ để chạy theo chỉ tiêu số dòng.
|
|
127
|
+
|
|
128
|
+
### 🔒 No Unrelated Changes Rule (CẤM SỬA LAN MAN)
|
|
129
|
+
- Chỉ sửa các file, hàm hoặc package nằm trong phạm vi tái cấu trúc được yêu cầu.
|
|
130
|
+
- **CẤM** reformat hoặc format lại các file lân cận không thuộc scope.
|
|
131
|
+
- **CẤM** đổi tên biến, signature hàm của các module khác ngoài phạm vi.
|
|
132
|
+
- Nếu phát hiện code smell hoặc vấn đề ngoài scope: **Chỉ ghi nhận vào báo cáo**, tuyệt đối không tự ý chạm vào.
|
|
133
|
+
|
|
134
|
+
### 🛡️ Anti-Fake-Pass Rule (CẤM ÉP PASS ẢO - R-G-14.5)
|
|
135
|
+
- **CẤM** dùng `as any`, `@ts-ignore`, hoặc `@ts-expect-error` để giấu lỗi type sau khi refactor.
|
|
136
|
+
- **CẤM** làm yếu assertions (weakening assertions), xóa test case hoặc skip test đang fail chỉ để test suite xanh.
|
|
137
|
+
- **CẤM** dùng `catch (e) {}` rỗng để nuốt ngoại lệ.
|
|
138
|
+
|
|
139
|
+
### ⚖️ Verify Before Claim Rule (CHỐNG BỐC PHÉT DỮ LIỆU)
|
|
140
|
+
- **Chạy lệnh trước khi báo cáo:** Tuyệt đối **KHÔNG ĐƯỢC** tuyên bố "Tests pass", "Types clean", "Build successful", hay "Zero behavior change" nếu chưa thực sự thực thi các câu lệnh kiểm chứng trong terminal (`npm test`, `pytest`, `tsc --noEmit`).
|
|
141
|
+
- **Trung thực khi không chạy được:** Nếu môi trường thiếu dependencies, thiếu database test, hoặc lệnh test không khả dụng, AI **BẮT BUỘC** ghi rõ: `"Trạng thái: NOT VERIFIED — Chưa kiểm chứng bằng lệnh thực tế (Cần user verify thủ công)"`. Cấm bịa đặt số lượng test hay kết quả 100% ảo.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 2. Ranh Giới & Tiêu Chí Phân Định (Decision Rules)
|
|
146
|
+
|
|
147
|
+
### Khi nào CẦN và KHÔNG CẦN can thiệp:
|
|
148
|
+
1. **File dài (> 300 dòng):**
|
|
149
|
+
- *Hướng dẫn:* File vượt quá 300 dòng **phải được xem xét (reviewed for decomposition)**, nhưng CHỈ BẮT BUỘC TÁCH khi file có quá nhiều trách nhiệm (vi phạm SRP), logic lộn xộn, hoặc khó kiểm thử.
|
|
150
|
+
- *Ngoại lệ:* Schema files, DTOs, configurations, code sinh tự động (generated code), hoặc component có cấu trúc đơn khối rõ ràng thì 400-500 dòng vẫn được phép giữ nguyên.
|
|
151
|
+
2. **Hàm dài (> 40 dòng) & Nesting sâu (> 3 tầng):**
|
|
152
|
+
- Áp dụng **Guard Clauses (Early Return)** để triệt tiêu các khối `if/else` lồng nhau.
|
|
153
|
+
- Tách các đoạn logic tính toán phức tạp thành các Pure Helper Functions độc lập.
|
|
154
|
+
3. **Chiến lược Test Pyramid (Target Guideline):**
|
|
155
|
+
- *Định hướng:* Ưu tiên kim tự tháp kiểm thử nghiêng về Unit Tests (chạy nhanh, cô lập), kế đến là Integration Tests, và số ít E2E Tests trọng yếu.
|
|
156
|
+
- *Tính linh hoạt:* Tỷ lệ 70/20/10 là mục tiêu tham chiếu (Guideline), không phải giáo điều bắt buộc. Tùy thuộc vào bản chất dự án (CRUD, Data pipeline hay UI library) mà điều chỉnh tỷ lệ phù hợp.
|
|
157
|
+
|
|
158
|
+
### Planning Gate & Exceptions:
|
|
159
|
+
- Với tác vụ thay đổi ≥ 2 files hoặc nâng cấp major package, BẮT BUỘC lập `implementation_plan.md` với `RequestFeedback: true` và dừng lại chờ phê duyệt.
|
|
160
|
+
- **Ngoại lệ bỏ qua Planning Gate:**
|
|
161
|
+
- Tái cấu trúc chỉ nằm trong duy nhất 1 file (Single-file refactor).
|
|
162
|
+
- Tinh chỉnh Guard Clauses nhỏ hoặc thêm type annotation đơn giản.
|
|
163
|
+
- Người dùng chỉ định rõ ràng yêu cầu thực thi ngay lập tức.
|
|
164
|
+
|
|
165
|
+
### Ranh giới chuyển giao (Scope Handoff):
|
|
166
|
+
- ❌ Nếu phát hiện bug logic trong code cũ → Chuyển sang `qk-bug-resolution`.
|
|
167
|
+
- ❌ Nếu cần phát triển tính năng mới → Chuyển sang `qk-feature-delivery`.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 3. Quy Trình Thực Thi Tuần Tự 5 Bước (Sequential Procedure)
|
|
172
|
+
|
|
173
|
+
Mọi tác vụ Tái cấu trúc / Nâng cấp / Viết test BẮT BUỘC tuân thủ đúng thứ tự:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
[Bước 1: Baseline Check] ── Chạy test/type hiện có, đo lường hiện trạng trước khi đụng vào code
|
|
177
|
+
│
|
|
178
|
+
▼
|
|
179
|
+
[Bước 2: Safety Net Harness] ── Nếu module chưa có test, viết Characterization Test bảo vệ hiện trạng
|
|
180
|
+
│
|
|
181
|
+
▼
|
|
182
|
+
[Bước 3: Planning Gate] ── Nếu sửa ≥ 2 files, tạo plan & chờ duyệt (trừ trường hợp ngoại lệ)
|
|
183
|
+
│
|
|
184
|
+
▼
|
|
185
|
+
[Bước 4: Incremental Refactor]── Sửa từng bước nhỏ (Surgical), áp dụng Guard Clauses, bump từng pkg
|
|
186
|
+
│
|
|
187
|
+
▼
|
|
188
|
+
[Bước 5: Verify or Rollback] ── Chạy lại test thật. Nếu FAIL ──► Kích hoạt Failure Protocol (Revert ngay)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Chi tiết từng bước:
|
|
192
|
+
- **Bước 1: Baseline Check:** Chạy bộ test hoặc type-check hiện có để biết hệ thống ban đầu xanh hay đỏ. Không refactor trên nền tảng đang bị gãy mà không báo trước cho user.
|
|
193
|
+
- **Bước 2: Safety Net Harness (Lưới an toàn):** Nếu code cũ không có test, hãy tạo một file test nhỏ kiểm chứng các đầu vào - đầu ra quan trọng hiện thời (Characterization Tests) trước khi đổi cấu trúc.
|
|
194
|
+
- **Bước 3: Planning Gate:** Nếu tác vụ thay đổi ≥ 2 files hoặc nâng cấp major package, tạo artifact `implementation_plan.md` với `RequestFeedback: true` theo mẫu ở Mục 5 và dừng lại chờ phê duyệt (trừ ngoại lệ).
|
|
195
|
+
- **Bước 4: Incremental Refactoring:**
|
|
196
|
+
- Tái cấu trúc từng khối nhỏ một. Không sửa đồng loạt nhiều module.
|
|
197
|
+
- Áp dụng Guard Clauses loại bỏ if lồng nhau.
|
|
198
|
+
- **Bước 5: Verification & Zero Behavior Change:**
|
|
199
|
+
- Chạy lại test suite. Đối chiếu đầu ra đảm bảo 100% khớp với baseline.
|
|
200
|
+
- CẤM mọi hành vi ép test pass bằng cách sửa assertion hay ép kiểu bẩn.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 4. Xử Lý Sự Cố & Kế Hoạch Khôi Phục (Failure Path & Rollback)
|
|
205
|
+
|
|
206
|
+
### 🚨 Khi kiểm thử thất bại (Test Fail) hoặc Behavior bị sai lệch:
|
|
207
|
+
1. **Dừng ngay lập tức:** Không cố chấp viết thêm code "vá chằng vá đụp" lên đoạn refactor hỏng.
|
|
208
|
+
2. **Kích hoạt Revert Bước Vừa Làm:**
|
|
209
|
+
```bash
|
|
210
|
+
# Nếu chỉ sửa 1 file:
|
|
211
|
+
git checkout HEAD -- path/to/file.ts
|
|
212
|
+
# Nếu đã sửa nhiều file trong workspace:
|
|
213
|
+
git restore <các_file_vừa_sửa>
|
|
214
|
+
```
|
|
215
|
+
3. **Phân tích Delta (Nguyên nhân thất bại):** Xác định tại sao thay đổi nhỏ đó lại làm đổi behavior (Side-effect ngầm? Mutation ẩn? Thứ tự promise bị đảo lộn?).
|
|
216
|
+
4. **Hạ quy mô (Step-down):** Thử lại với bước tái cấu trúc nhỏ hơn một nửa. Nếu vẫn không an toàn, báo cáo dừng lại và giữ nguyên code gốc.
|
|
217
|
+
|
|
218
|
+
### 📦 Khi nâng cấp Package gặp xung đột (Dependency Conflict / Lockfile):
|
|
219
|
+
1. **Khôi phục ngay:** `git checkout HEAD -- package.json package-lock.json pnpm-lock.yaml`
|
|
220
|
+
2. **Không ép buộc (No `--force` / `--legacy-peer-deps` bừa bãi):** Tìm hiểu chính xác package nào xung đột peer dependency từ changelog, đề xuất user nâng cấp đồng thời hoặc tìm thư viện thay thế.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 5. Khung Kế Hoạch Chuẩn (Implementation Plan Skeleton)
|
|
225
|
+
|
|
226
|
+
Khi tạo artifact `implementation_plan.md` cho các tác vụ ≥ 2 files:
|
|
227
|
+
|
|
228
|
+
```markdown
|
|
229
|
+
# Implementation Plan: [Refactor / Upgrade / Testing] - [Tên Module]
|
|
230
|
+
|
|
231
|
+
## 1. Mục tiêu & Giới hạn phạm vi
|
|
232
|
+
- Mục tiêu: [Cải thiện khả năng đọc / Tách file Service / Thêm unit tests]
|
|
233
|
+
- Cam kết: 100% Zero Behavior Change. Không đổi API contracts hay DB schema.
|
|
234
|
+
|
|
235
|
+
## 2. Rủi ro & Điểm nhạy cảm
|
|
236
|
+
- [Rủi ro tiềm ẩn, ví dụ: Hàm X có side-effect ngầm, Package Y có breaking change ở v2]
|
|
237
|
+
|
|
238
|
+
## 3. Các bước thực hiện từng file
|
|
239
|
+
- [ ] [TênFileGốc.ts](file:///<workspace-root>/src/...): Trích xuất logic X sang Helper
|
|
240
|
+
- [ ] [NEW] [TênFileMới.ts](file:///<workspace-root>/src/...): Nhận các pure functions
|
|
241
|
+
- [ ] [TênTest.test.ts](file:///<workspace-root>/tests/...): Chạy kiểm chứng
|
|
242
|
+
|
|
243
|
+
## 4. Kế hoạch Rollback tức thì
|
|
244
|
+
- Lệnh khôi phục: `git restore src/path/to/files`
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 6. Mẫu Code Đa Ngôn Ngữ Thực Chiến (Guard Clauses)
|
|
250
|
+
|
|
251
|
+
### TypeScript Pattern:
|
|
252
|
+
```typescript
|
|
253
|
+
// ❌ Cũ: Lồng ghép sâu, khó đọc
|
|
254
|
+
function processOrder(order: Order | null, user: User | null) {
|
|
255
|
+
if (order) {
|
|
256
|
+
if (user && user.isActive) {
|
|
257
|
+
if (order.items.length > 0) {
|
|
258
|
+
return calculateTotal(order);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// ✅ Mới: Tường minh, phẳng hóa logic bằng Early Return
|
|
266
|
+
function processOrder(order: Order | null, user: User | null): number | null {
|
|
267
|
+
if (!order || !user) return null;
|
|
268
|
+
if (!user.isActive) return null;
|
|
269
|
+
if (order.items.length === 0) return null;
|
|
270
|
+
|
|
271
|
+
return calculateTotal(order);
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Python Pattern:
|
|
276
|
+
```python
|
|
277
|
+
# ❌ Cũ: Nesting lồng nhau
|
|
278
|
+
def calculate_discount(order, customer):
|
|
279
|
+
if order is not None:
|
|
280
|
+
if customer and customer.is_active:
|
|
281
|
+
if order.total_amount > 1000:
|
|
282
|
+
return order.total_amount * 0.1
|
|
283
|
+
return 0.0
|
|
284
|
+
|
|
285
|
+
# ✅ Mới: Guard Clauses đanh thép
|
|
286
|
+
def calculate_discount(order, customer) -> float:
|
|
287
|
+
if not order or not customer or not customer.is_active:
|
|
288
|
+
return 0.0
|
|
289
|
+
if order.total_amount <= 1000:
|
|
290
|
+
return 0.0
|
|
291
|
+
|
|
292
|
+
return order.total_amount * 0.1
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## 7. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
|
|
298
|
+
|
|
299
|
+
| Role | Trọng tâm khi Refactor & Viết Test | Hành vi kỹ thuật đặc thù |
|
|
300
|
+
|---|---|---|
|
|
301
|
+
| `frontend` | Tách nhỏ UI component, trích xuất custom hooks, tối ưu re-render | Tách container/presentational, Memoization, component unit test |
|
|
302
|
+
| `backend` | Tách God Service, áp dụng Dependency Injection, chuẩn hóa DTOs | Phân tầng Controller-Service-Repo, Unit test Service với mocked repository |
|
|
303
|
+
| `fullstack` | Đồng bộ hóa contracts, refactor shared types, end-to-end integration | Đồng bộ schemas giữa client/server, viết integration test luồng dữ liệu |
|
|
304
|
+
| `qa` | Thiết kế Test Matrix, tự động hóa regression test suites | Viết test cases biên (boundary analysis), mock scenarios |
|
|
305
|
+
| `data` | Refactor complex SQL queries, module hóa dbt models | Chia nhỏ staging/intermediate/marts models trong dbt, dbt tests |
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## 8. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
|
|
310
|
+
|
|
311
|
+
```markdown
|
|
312
|
+
🧹 Code Cleaner Summary [Role: <role> | Task: <Tên công việc>]
|
|
313
|
+
─────────────────────────────────────────────────────────────────────
|
|
314
|
+
Trạng thái: [SUCCESS | BLOCKED | FAILED | PARTIAL]
|
|
315
|
+
Phạm vi thực tế: [N files đã chỉnh sửa / tạo mới]
|
|
316
|
+
Cam kết tính năng: ✅ Zero Behavior Change (Hành vi bên ngoài giữ nguyên 100%)
|
|
317
|
+
|
|
318
|
+
Chi tiết cải thiện (Laser Focus):
|
|
319
|
+
• [Loại thay đổi]: [Tên file và chi tiết việc đã làm]
|
|
320
|
+
|
|
321
|
+
Kiểm chứng thực tế (Verify Before Claim):
|
|
322
|
+
• Lệnh test đã chạy: [npm test / pytest / tsc --noEmit / Chưa chạy (Nêu lý do)]
|
|
323
|
+
• Kết quả xác thực: [Pass N/N tests / Types Clean / NOT VERIFIED]
|
|
324
|
+
• Anti-overengineering: ✅ 0 abstraction thừa, giữ giải pháp tối giản nhất
|
|
325
|
+
• Zero Hack: ✅ Không dùng any, @ts-ignore, hay làm yếu test assertion
|
|
326
|
+
|
|
327
|
+
⚠️ Phương án Rollback nếu cần:
|
|
328
|
+
• Lệnh: `git restore <các-file-đã-sửa>`
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## 9. Mô Hình Độ Tin Cậy (Confidence Model)
|
|
334
|
+
|
|
335
|
+
| Level | Condition | Action |
|
|
336
|
+
|-------|-----------|--------|
|
|
337
|
+
| HIGH | Direct evidence available | Proceed |
|
|
338
|
+
| MEDIUM | Some assumptions needed | Note assumptions |
|
|
339
|
+
| LOW | Insufficient evidence | EXIT: BLOCKED |
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## 10. Thoái Ra Mã (Exit Codes)
|
|
344
|
+
|
|
345
|
+
| Code | Meaning | When |
|
|
346
|
+
|------|---------|------|
|
|
347
|
+
| SUCCESS | Task completed and verified | All acceptance criteria met |
|
|
348
|
+
| PARTIAL | Task done with minor gaps | Some checks skipped |
|
|
349
|
+
| BLOCKED | Missing precondition or info | Ask user |
|
|
350
|
+
| FAILED | Task failed after max retries | Report error |
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## 11. Bằng Chứng Định Dạng (Evidence Format)
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
[SEVERITY] path/to/file.ts:LINE
|
|
358
|
+
Reason: [why this matters]
|
|
359
|
+
Confidence: [HIGH|MEDIUM|LOW]
|
|
360
|
+
Fix: [suggestion]
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## Platform-Specific Instructions
|
|
366
|
+
|
|
367
|
+
### Antigravity (Google Gemini)
|
|
368
|
+
- Uses `.agents/AGENTS.md` as entry point
|
|
369
|
+
- Supports Cockpit integration
|
|
370
|
+
- Rewrite absolute paths for global mode
|
|
371
|
+
- `GEMINI.md` copied for global installs
|
|
372
|
+
|
|
373
|
+
### Claude Code (Anthropic)
|
|
374
|
+
- Reads `.claude/CLAUDE.md` automatically
|
|
375
|
+
- Large context window (~200K tokens)
|
|
376
|
+
- Can handle full skill files without trimming
|
|
377
|
+
- Uses native tool format (Read, Write, Edit, Bash)
|
|
378
|
+
|
|
379
|
+
### OpenCode (Open Source)
|
|
380
|
+
- Reads `.opencode/config.yaml`
|
|
381
|
+
- Context window ~128K tokens
|
|
382
|
+
- Keep skill files lean when possible
|
|
383
|
+
- Supports custom tool format
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## Compliance
|
|
388
|
+
|
|
389
|
+
| Check | Status |
|
|
390
|
+
|-------|--------|
|
|
391
|
+
| Runtime Standard | 11/11 |
|
|
392
|
+
| Frontmatter Complete | ✅ |
|
|
393
|
+
| Platforms Field | ✅ |
|
|
394
|
+
| References Valid | ✅ |
|
|
395
|
+
| Decision Trees | PASS |
|
|
396
|
+
| Thresholds Defined | PASS |
|
|
397
|
+
| schema_version | 10.2.0 |
|
|
398
|
+
| runtime_version | 1 |
|
|
399
|
+
| platforms | [antigravity, claude, opencode] |
|