ai-developer-skill-os 7.0.2 → 7.5.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 +44 -88
- package/.agents/CHANGELOG.md +69 -0
- package/.agents/LICENSE +21 -0
- package/.agents/README.md +59 -0
- package/.agents/_template/BEHAVIOR_SPEC.md +96 -0
- package/.agents/_template/examples/example-en.md +49 -0
- package/.agents/_template/examples/example-vi.md +49 -0
- package/.agents/docs/CHI_TIET_SKILLS.md +125 -0
- package/.agents/docs/GOVERNANCE.md +40 -0
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +120 -0
- package/.agents/docs/SPEC.md +87 -0
- package/.agents/docs/adr/0001-intent-based-architecture.md +19 -0
- package/.agents/docs/adr/0002-kernel-freeze.md +21 -0
- package/.agents/docs/adr/0003-risk-based-verification.md +20 -0
- package/.agents/docs/adr/0004-progressive-evidence.md +19 -0
- package/.agents/docs/skill-classification.md +25 -0
- package/.agents/skills/qk-access-policy/SKILL.md +179 -0
- package/.agents/skills/qk-ai-builder/SKILL.md +215 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +176 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +307 -0
- package/.agents/skills/qk-context-loader/SKILL.md +218 -0
- package/.agents/skills/qk-data-lifecycle/SKILL.md +192 -0
- package/.agents/skills/qk-db-optimizer/SKILL.md +196 -0
- package/.agents/skills/qk-design-to-code/SKILL.md +285 -0
- package/.agents/skills/qk-docs/SKILL.md +198 -0
- package/.agents/skills/qk-engineering-standard/SKILL.md +351 -0
- package/.agents/skills/qk-engineering-standard/rules/backend.md +122 -0
- package/.agents/skills/qk-engineering-standard/rules/database.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +152 -0
- package/.agents/skills/qk-engineering-standard/rules/security.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/testing.md +3 -0
- package/.agents/skills/qk-fe-api-integration/SKILL.md +326 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +305 -0
- package/.agents/skills/qk-help/SKILL.md +193 -0
- package/.agents/skills/qk-orchestrator/SKILL.md +277 -0
- package/.agents/skills/qk-orchestrator/references/routing-table.md +77 -0
- package/.agents/skills/qk-production-release/SKILL.md +284 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +234 -0
- package/.agents/skills/qk-project-health/SKILL.md +199 -0
- package/.agents/skills/qk-project-memory/SKILL.md +172 -0
- package/.agents/skills/qk-system-evolution/SKILL.md +281 -0
- package/.agents/skills/qk-ui-audit/SKILL.md +314 -0
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/.agents/skills/qk-ui-system-builder/SKILL.md +221 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +359 -0
- package/.agents/skills.json +819 -0
- package/.github/workflows/ci.yml +1 -1
- package/.qk-ai-skill-os/CHANGELOG.md +69 -0
- package/.qk-ai-skill-os/LICENSE +21 -0
- package/.qk-ai-skill-os/README.md +59 -0
- package/.qk-ai-skill-os/_template/BEHAVIOR_SPEC.md +96 -0
- package/.qk-ai-skill-os/_template/examples/example-en.md +49 -0
- package/.qk-ai-skill-os/_template/examples/example-vi.md +49 -0
- package/.qk-ai-skill-os/docs/CHI_TIET_SKILLS.md +125 -0
- package/.qk-ai-skill-os/docs/GOVERNANCE.md +40 -0
- package/.qk-ai-skill-os/docs/HUONG_DAN_SU_DUNG.md +120 -0
- package/.qk-ai-skill-os/docs/SPEC.md +87 -0
- package/.qk-ai-skill-os/docs/adr/0001-intent-based-architecture.md +19 -0
- package/.qk-ai-skill-os/docs/adr/0002-kernel-freeze.md +21 -0
- package/.qk-ai-skill-os/docs/adr/0003-risk-based-verification.md +20 -0
- package/.qk-ai-skill-os/docs/adr/0004-progressive-evidence.md +19 -0
- package/.qk-ai-skill-os/docs/skill-classification.md +25 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +121 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +179 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-api-integration/SKILL.md +389 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-auth-security/SKILL.md +96 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +125 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-bug-fix/SKILL.md +213 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-component-generator/SKILL.md +136 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-context-manager/SKILL.md +175 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-database-engineer/SKILL.md +104 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-deployment/SKILL.md +96 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-design-system/SKILL.md +137 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-form-builder/SKILL.md +140 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +155 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +133 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +129 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +146 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-git-engineer/SKILL.md +304 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-help/SKILL.md +68 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-migration/SKILL.md +284 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-project-audit/SKILL.md +280 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-refactor/SKILL.md +222 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-state-management/SKILL.md +140 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +127 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-ui-builder/SKILL.md +152 -0
- package/.qk-ai-skill-os/skills/_template/SKILL.md +238 -0
- package/.qk-ai-skill-os/skills/qk-access-policy/SKILL.md +179 -0
- package/.qk-ai-skill-os/skills/qk-ai-builder/SKILL.md +221 -0
- package/.qk-ai-skill-os/skills/qk-api-lifecycle/SKILL.md +176 -0
- package/.qk-ai-skill-os/skills/qk-bug-resolution/SKILL.md +307 -0
- package/.qk-ai-skill-os/skills/qk-context-loader/SKILL.md +218 -0
- package/.qk-ai-skill-os/skills/qk-data-lifecycle/SKILL.md +192 -0
- package/.qk-ai-skill-os/skills/qk-db-optimizer/SKILL.md +196 -0
- package/.qk-ai-skill-os/skills/qk-design-to-code/SKILL.md +291 -0
- package/.qk-ai-skill-os/skills/qk-docs/SKILL.md +198 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/SKILL.md +351 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/backend.md +122 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/database.md +3 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/frontend.md +152 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/security.md +3 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/testing.md +3 -0
- package/.qk-ai-skill-os/skills/qk-fe-api-integration/SKILL.md +326 -0
- package/.qk-ai-skill-os/skills/qk-feature-delivery/SKILL.md +305 -0
- package/.qk-ai-skill-os/skills/qk-help/SKILL.md +193 -0
- package/.qk-ai-skill-os/skills/qk-orchestrator/SKILL.md +277 -0
- package/.qk-ai-skill-os/skills/qk-orchestrator/references/routing-table.md +77 -0
- package/.qk-ai-skill-os/skills/qk-production-release/SKILL.md +290 -0
- package/.qk-ai-skill-os/skills/qk-project-bootstrap/SKILL.md +240 -0
- package/.qk-ai-skill-os/skills/qk-project-health/SKILL.md +199 -0
- package/.qk-ai-skill-os/skills/qk-project-memory/SKILL.md +172 -0
- package/.qk-ai-skill-os/skills/qk-system-evolution/SKILL.md +285 -0
- package/.qk-ai-skill-os/skills/qk-ui-audit/SKILL.md +314 -0
- package/.qk-ai-skill-os/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/.qk-ai-skill-os/skills/qk-ui-system-builder/SKILL.md +225 -0
- package/.qk-ai-skill-os/skills/qk-validation-gate/SKILL.md +361 -0
- package/.qk-ai-skill-os/skills.json +819 -0
- package/CLAUDE.md +110 -0
- package/README.md +25 -3
- package/add_lang.js +21 -0
- package/add_lang.py +25 -0
- package/add_sections.py +53 -0
- package/bin/install.js +225 -170
- package/bin/lint.js +122 -0
- package/docs/CHI_TIET_SKILLS.md +26 -26
- package/docs/HUONG_DAN_SU_DUNG.md +3 -3
- package/docs/SPEC.md +70 -20
- package/framework/skill-schema.md +310 -0
- package/package.json +15 -4
- package/patch.js +15 -0
- package/patch.py +89 -0
- package/patch2.py +83 -0
- package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-api-integration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-auth-security/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-component-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-context-manager/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-deployment/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-design-system/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-form-builder/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-help/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-migration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-project-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-refactor/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-state-management/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +1 -0
- package/skills/_template/SKILL.md +238 -0
- package/skills/qk-access-policy/SKILL.md +179 -39
- package/skills/qk-ai-builder/SKILL.md +215 -40
- package/skills/qk-api-lifecycle/SKILL.md +176 -46
- package/skills/qk-bug-resolution/SKILL.md +307 -46
- package/skills/qk-context-loader/SKILL.md +218 -43
- package/skills/qk-data-lifecycle/SKILL.md +192 -44
- package/skills/qk-db-optimizer/SKILL.md +196 -41
- package/skills/qk-design-to-code/SKILL.md +285 -46
- package/skills/qk-docs/SKILL.md +198 -40
- package/skills/qk-engineering-standard/SKILL.md +351 -42
- package/skills/qk-fe-api-integration/SKILL.md +326 -55
- package/skills/qk-feature-delivery/SKILL.md +305 -48
- package/skills/qk-help/SKILL.md +178 -23
- package/skills/qk-orchestrator/SKILL.md +277 -42
- package/skills/qk-orchestrator/references/routing-table.md +77 -0
- package/skills/qk-production-release/SKILL.md +284 -41
- package/skills/qk-project-bootstrap/SKILL.md +234 -38
- package/skills/qk-project-health/SKILL.md +199 -40
- package/skills/qk-project-memory/SKILL.md +172 -40
- package/skills/qk-system-evolution/SKILL.md +281 -40
- package/skills/qk-ui-audit/SKILL.md +314 -42
- package/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/skills/qk-ui-system-builder/SKILL.md +221 -43
- package/skills/qk-validation-gate/SKILL.md +359 -40
- package/skills.json +813 -824
- package/specs/fixtures/user-payload.json +12 -0
- package/specs/regressions/api-integration-null-fields.yaml +19 -0
- package/temp_fix.js +61 -0
- package/tests/registry.test.js +1 -1
- package/update_template.js +28 -0
- package/skills/qk-policy-engine/SKILL.md +0 -39
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qk-project-memory
|
|
3
|
+
category: core
|
|
4
|
+
version: 7.5.0
|
|
5
|
+
description: "Lưu trữ và truy xuất ngữ cảnh dự án dài hạn — chỉ lưu fact đã xác minh, không lưu giả thuyết."
|
|
6
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
+
execution_mode: deterministic
|
|
8
|
+
cost: low
|
|
9
|
+
latency: fast
|
|
10
|
+
risk: low
|
|
11
|
+
side_effects: edit_files
|
|
12
|
+
produces: [plan]
|
|
13
|
+
consumes: [source-code, context-graph]
|
|
14
|
+
token_budget:
|
|
15
|
+
max_files_read: 2
|
|
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-project-memory — Long-Term Context Store
|
|
26
|
+
|
|
27
|
+
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Preconditions
|
|
32
|
+
- [ ] Project has a `.agents/memory/` directory OR user confirms creation
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Scope
|
|
37
|
+
- ✅ Store verified facts about project (architecture, decisions, patterns)
|
|
38
|
+
- ✅ Retrieve facts for current session context
|
|
39
|
+
- ✅ Invalidate stale entries when code changes
|
|
40
|
+
|
|
41
|
+
## Non-Goals
|
|
42
|
+
- ❌ Store assumptions or unverified hypotheses
|
|
43
|
+
- ❌ Overwrite architectural rules without explicit user consent
|
|
44
|
+
- ❌ Store sensitive data (env vars, secrets)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Memory Schema (Required Format)
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"id": "mem_[timestamp]",
|
|
53
|
+
"category": "architecture|pattern|decision|warning|preference",
|
|
54
|
+
"fact": "[Verified, specific statement]",
|
|
55
|
+
"evidence": "path/to/file.ts:LINE",
|
|
56
|
+
"confidence": "HIGH|MEDIUM",
|
|
57
|
+
"created_at": "ISO8601",
|
|
58
|
+
"expires_at": "ISO8601 OR null (permanent)",
|
|
59
|
+
"tags": ["auth", "database", "api"]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Storage Path
|
|
66
|
+
```
|
|
67
|
+
.agents/memory/
|
|
68
|
+
├── architecture.json # System architecture facts
|
|
69
|
+
├── patterns.json # Established code patterns
|
|
70
|
+
├── decisions.json # Technical decisions made
|
|
71
|
+
└── warnings.json # Known risks or debt items
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## [MEMORIZE] Workflow
|
|
77
|
+
1. Verify fact against actual codebase (grep_search or view_file)
|
|
78
|
+
2. Confirm confidence is HIGH or MEDIUM
|
|
79
|
+
3. Write to appropriate `.agents/memory/[category].json` file
|
|
80
|
+
|
|
81
|
+
**Decision:** `IF confidence is LOW → do NOT store — collect more evidence`
|
|
82
|
+
|
|
83
|
+
## [RECALL] Workflow
|
|
84
|
+
1. Read relevant memory file
|
|
85
|
+
2. Check `expires_at` — skip stale entries
|
|
86
|
+
3. Return matching facts with their evidence references
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Exit Codes
|
|
91
|
+
| Code | Meaning | When |
|
|
92
|
+
|------|---------|------|
|
|
93
|
+
| SUCCESS | Fact stored/retrieved with verified evidence | HIGH/MEDIUM confidence |
|
|
94
|
+
| PARTIAL | Fact stored but evidence is indirect (MEDIUM confidence) | Indirect source |
|
|
95
|
+
| BLOCKED | Cannot verify fact against codebase | No evidence available |
|
|
96
|
+
| FAILED | Memory file corrupted or schema mismatch | Structural error |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Confidence Model
|
|
101
|
+
| Level | Condition | Action |
|
|
102
|
+
|-------|-----------|--------|
|
|
103
|
+
| HIGH | Fact directly read from code (grep_search returned file:line) | Store immediately |
|
|
104
|
+
| MEDIUM | Fact inferred from patterns (not direct file reference) | Store with note: "inferred" |
|
|
105
|
+
| LOW | Assumption without code evidence | Do NOT store — collect more evidence first |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Severity
|
|
110
|
+
| Level | Definition | Example |
|
|
111
|
+
|-------|-----------|----------|
|
|
112
|
+
| CRITICAL | Storing incorrect architectural fact misleads all future work | Wrong auth pattern stored |
|
|
113
|
+
| HIGH | Storing stale fact that conflicts with current code | Outdated API path remembered |
|
|
114
|
+
| MEDIUM | Missing important fact causing repeated re-discovery | Auth pattern unknown |
|
|
115
|
+
| LOW | Memory file not organized by category | All facts in one file |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Evidence Format
|
|
120
|
+
```
|
|
121
|
+
[CONFIDENCE] path/to/file.ts:LINE
|
|
122
|
+
Fact: [what was stored]
|
|
123
|
+
Category: [architecture|pattern|decision|warning|preference]
|
|
124
|
+
Expires: [ISO8601 date | null]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Retry Policy
|
|
130
|
+
```
|
|
131
|
+
Fact unverifiable
|
|
132
|
+
└─ Read 1 more file for evidence
|
|
133
|
+
├─ Evidence found → upgrade to MEDIUM/HIGH → store
|
|
134
|
+
└─ Still unverifiable → do NOT store
|
|
135
|
+
└─ Do NOT retry more than 1 additional evidence read
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Escalation Rules
|
|
141
|
+
```
|
|
142
|
+
BLOCKED: Cannot verify fact against codebase
|
|
143
|
+
Missing:
|
|
144
|
+
- Access to relevant source file
|
|
145
|
+
- Or explicit user confirmation
|
|
146
|
+
Questions:
|
|
147
|
+
1. Bạn có thể xác nhận: [fact statement] là đúng không?
|
|
148
|
+
Recommended Assumptions:
|
|
149
|
+
- Do NOT store until confirmed
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Handoff Contract
|
|
155
|
+
### Consumes
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"from": "user or any skill",
|
|
159
|
+
"required_fields": ["fact_statement"],
|
|
160
|
+
"optional_fields": ["evidence_location", "expiry_date", "category"]
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
### Produces
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"to": "any downstream skill",
|
|
167
|
+
"output_fields": ["recalled_facts", "confidence_levels", "evidence_refs", "exit_code"]
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qk-system-evolution
|
|
3
|
+
category: maintenance
|
|
4
|
+
version: 7.5.0
|
|
5
|
+
description: "Nâng cấp thư viện/framework an toàn với rollback plan bắt buộc — incremental, không big-bang."
|
|
6
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
+
execution_mode: deterministic
|
|
8
|
+
|
|
9
|
+
cost: high
|
|
10
|
+
latency: slow
|
|
11
|
+
risk: high
|
|
12
|
+
side_effects: edit_files
|
|
13
|
+
produces: [code, report, plan]
|
|
14
|
+
consumes: [context-graph, source-code]
|
|
15
|
+
|
|
16
|
+
token_budget:
|
|
17
|
+
max_files_read: 4
|
|
18
|
+
max_lines_per_read: 100
|
|
19
|
+
max_shell_commands: 2
|
|
20
|
+
stop_early: false
|
|
21
|
+
|
|
22
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
23
|
+
skill_version: 7.5.0
|
|
24
|
+
runtime_version: 1
|
|
25
|
+
schema_version: 2
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# qk-system-evolution — Safe Upgrade Manager
|
|
29
|
+
|
|
30
|
+
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
31
|
+
|
|
32
|
+
skill_version: 7.5.0
|
|
33
|
+
runtime_version: 1
|
|
34
|
+
schema_version: 2
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Preconditions
|
|
38
|
+
- [ ] Current version and target version are specified
|
|
39
|
+
- [ ] Rollback strategy is defined (git tag OR package-lock.json snapshot)
|
|
40
|
+
- [ ] Existing test suite is available to verify after upgrade
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
On missing precondition:
|
|
44
|
+
EXIT: BLOCKED
|
|
45
|
+
Message: "Rollback plan required before any major upgrade. Specify: target version + rollback method."
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
skill_version: 7.5.0
|
|
49
|
+
runtime_version: 1
|
|
50
|
+
schema_version: 2
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Scope
|
|
54
|
+
- ✅ Read official Changelog/Migration Guide for breaking changes
|
|
55
|
+
- ✅ Apply incremental upgrades (not big-bang)
|
|
56
|
+
- ✅ Verify each step with existing tests
|
|
57
|
+
- ✅ Document rollback procedure
|
|
58
|
+
|
|
59
|
+
## Non-Goals
|
|
60
|
+
- ❌ Blindly run `npm update` — only targeted upgrades
|
|
61
|
+
- ❌ Skip reading Changelog for major version bumps
|
|
62
|
+
- ❌ Upgrade multiple major versions at once (one at a time)
|
|
63
|
+
|
|
64
|
+
skill_version: 7.5.0
|
|
65
|
+
runtime_version: 1
|
|
66
|
+
schema_version: 2
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Priority Order
|
|
70
|
+
|
|
71
|
+
| Priority | Check | Skip Threshold |
|
|
72
|
+
|----------|-------|----------------|
|
|
73
|
+
| P1 | Read Changelog for breaking changes | Never |
|
|
74
|
+
| P2 | Snapshot rollback point (git tag) | Never |
|
|
75
|
+
| P3 | Apply upgrade to package.json only | Never |
|
|
76
|
+
| P4 | Run tests to detect breakage | Never |
|
|
77
|
+
| P5 | Fix breaking changes if minor (< 3 files affected) | Budget < 40% |
|
|
78
|
+
| P6 | Update documentation/README | Budget < 70% |
|
|
79
|
+
|
|
80
|
+
skill_version: 7.5.0
|
|
81
|
+
runtime_version: 1
|
|
82
|
+
schema_version: 2
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Workflow
|
|
86
|
+
|
|
87
|
+
### Phase 1 — Breaking Change Analysis
|
|
88
|
+
|
|
89
|
+
**Steps:**
|
|
90
|
+
1. `view_file` or `read_url` — read official Changelog for target version
|
|
91
|
+
2. List all `BREAKING CHANGE` entries
|
|
92
|
+
3. Map each breaking change to affected files in current codebase (`grep_search`)
|
|
93
|
+
|
|
94
|
+
**Decision:**
|
|
95
|
+
```
|
|
96
|
+
IF 0 breaking changes
|
|
97
|
+
→ Confidence: HIGH → go to Phase 2 (minor/patch upgrade)
|
|
98
|
+
|
|
99
|
+
IF 1–3 breaking changes, all in < 5 files
|
|
100
|
+
→ Confidence: MEDIUM → go to Phase 2
|
|
101
|
+
|
|
102
|
+
IF > 3 breaking changes OR affects core files
|
|
103
|
+
→ EXIT: BLOCKED — this is architectural migration, not an upgrade
|
|
104
|
+
→ Recommend: plan as a dedicated migration project
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
skill_version: 7.5.0
|
|
108
|
+
runtime_version: 1
|
|
109
|
+
schema_version: 2
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### Phase 2 — Rollback Snapshot
|
|
113
|
+
|
|
114
|
+
**Steps:**
|
|
115
|
+
1. Verify `git tag` or instruct user to create one: `git tag pre-upgrade-[package]-[version]`
|
|
116
|
+
2. Copy `package-lock.json` snapshot reference
|
|
117
|
+
3. Document exact rollback command:
|
|
118
|
+
```
|
|
119
|
+
Rollback: git checkout pre-upgrade-[package]-[version]
|
|
120
|
+
OR: npm install [package]@[previous-version]
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Exit When:** Rollback procedure documented → go to Phase 3
|
|
124
|
+
|
|
125
|
+
skill_version: 7.5.0
|
|
126
|
+
runtime_version: 1
|
|
127
|
+
schema_version: 2
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### Phase 3 — Incremental Upgrade
|
|
131
|
+
|
|
132
|
+
**Steps:**
|
|
133
|
+
1. Edit `package.json` — change version (one package at a time)
|
|
134
|
+
2. Apply code changes for breaking changes (using `replace_file_content`)
|
|
135
|
+
3. Run: `npm install` (1 command)
|
|
136
|
+
|
|
137
|
+
**Decision:**
|
|
138
|
+
```
|
|
139
|
+
IF install succeeds
|
|
140
|
+
→ go to Phase 4
|
|
141
|
+
|
|
142
|
+
IF install fails (peer dep conflict)
|
|
143
|
+
→ EXIT: PARTIAL — report conflict, suggest resolution
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
skill_version: 7.5.0
|
|
147
|
+
runtime_version: 1
|
|
148
|
+
schema_version: 2
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
### Phase 4 — Verification
|
|
152
|
+
|
|
153
|
+
**Steps:**
|
|
154
|
+
1. Run tests: `npm test` (2nd command)
|
|
155
|
+
2. Parse test results for failures
|
|
156
|
+
|
|
157
|
+
**Decision:**
|
|
158
|
+
```
|
|
159
|
+
IF all tests pass
|
|
160
|
+
→ EXIT: SUCCESS
|
|
161
|
+
|
|
162
|
+
IF 1–3 tests fail (related to upgrade)
|
|
163
|
+
→ Fix if minor (< 10 lines change per fix)
|
|
164
|
+
→ EXIT: PARTIAL
|
|
165
|
+
|
|
166
|
+
IF > 3 tests fail OR core tests fail
|
|
167
|
+
→ EXIT: FAILED — rollback recommended
|
|
168
|
+
→ Provide exact rollback command
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
skill_version: 7.5.0
|
|
172
|
+
runtime_version: 1
|
|
173
|
+
schema_version: 2
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Confidence Model
|
|
177
|
+
|
|
178
|
+
| Level | Condition | Action |
|
|
179
|
+
|-------|-----------|--------|
|
|
180
|
+
| HIGH | Changelog read, breaking changes mapped, tests pass | Proceed |
|
|
181
|
+
| MEDIUM | Changelog read, some uncertainties remain | Proceed with caution, note risks |
|
|
182
|
+
| LOW | Cannot access Changelog or no tests available | EXIT: BLOCKED |
|
|
183
|
+
|
|
184
|
+
skill_version: 7.5.0
|
|
185
|
+
runtime_version: 1
|
|
186
|
+
schema_version: 2
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Severity
|
|
190
|
+
|
|
191
|
+
| Level | Definition |
|
|
192
|
+
|-------|-----------|
|
|
193
|
+
| CRITICAL | Core authentication/security package upgrade |
|
|
194
|
+
| HIGH | ORM, framework, or router upgrade |
|
|
195
|
+
| MEDIUM | Utility library, build tool upgrade |
|
|
196
|
+
| LOW | Dev dependency, formatter upgrade |
|
|
197
|
+
|
|
198
|
+
skill_version: 7.5.0
|
|
199
|
+
runtime_version: 1
|
|
200
|
+
schema_version: 2
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Evidence Format
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
[SEVERITY] package: [name] v[old] → v[new]
|
|
207
|
+
Breaking changes: [list from Changelog]
|
|
208
|
+
Affected files: [N files — list]
|
|
209
|
+
Confidence: [HIGH|MEDIUM|LOW]
|
|
210
|
+
Rollback: git checkout [tag] OR npm install [name]@[old-version]
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
skill_version: 7.5.0
|
|
214
|
+
runtime_version: 1
|
|
215
|
+
schema_version: 2
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Rollback Procedure (Required Output)
|
|
219
|
+
|
|
220
|
+
Every upgrade must document:
|
|
221
|
+
```
|
|
222
|
+
🔄 Rollback Procedure
|
|
223
|
+
─────────────────────────────────────────────────
|
|
224
|
+
Method 1 (Git): git checkout [tag-name]
|
|
225
|
+
Method 2 (npm): npm install [package]@[previous-version]
|
|
226
|
+
Snapshot tag: [pre-upgrade-[package]-[date]]
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
skill_version: 7.5.0
|
|
230
|
+
runtime_version: 1
|
|
231
|
+
schema_version: 2
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Handoff Contract
|
|
235
|
+
|
|
236
|
+
### Consumes
|
|
237
|
+
```json
|
|
238
|
+
{
|
|
239
|
+
"from": "user",
|
|
240
|
+
"required_fields": ["package_name", "target_version", "rollback_method"],
|
|
241
|
+
"optional_fields": ["changelog_url", "affected_scope"]
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Produces
|
|
246
|
+
```json
|
|
247
|
+
{
|
|
248
|
+
"to": "qk-validation-gate",
|
|
249
|
+
"output_fields": ["upgraded_packages", "breaking_changes_fixed", "rollback_procedure", "exit_code"]
|
|
250
|
+
}
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
skill_version: 7.5.0
|
|
254
|
+
runtime_version: 1
|
|
255
|
+
schema_version: 2
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Escalation Rules
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Retry Policy
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
## Exit Codes
|
|
271
|
+
|
|
272
|
+
| Code | Meaning | When |
|
|
273
|
+
|------|---------|------|
|
|
274
|
+
| SUCCESS | Upgrade complete, all tests pass | Clean upgrade |
|
|
275
|
+
| PARTIAL | Upgrade done, some tests fail or peer conflict | Needs follow-up |
|
|
276
|
+
| BLOCKED | No rollback plan or too many breaking changes | Plan migration instead |
|
|
277
|
+
| FAILED | Tests fail after upgrade, rollback recommended | Provide rollback command |
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
|