Some checks failed
Deploy SOLUTION_ERP / build-deploy (push) Has been cancelled
Phien-LOGIC L7 window 5, vao bang /tiep. Governance/adap-only: 0 prod-code, 0 migration, 0 test moi. Test do tuoi 562 PASS (45D+517I). Counter 31->32. VIEC - /tiep recovery tron: San-3 5 tin-hieu MANH deu keu DUNG (corroborate WAL), verify: 5/5 PASS 0 lech, bien-nhan _tiep-4.md (window-ordinal 5). - /check-email AI_INFRA: verify bang NOI DUNG - 22/22 file outbox/se co trong inbox, cmp 0 byte-drift => se=0 that + khong co stamp-then-edit (H18). - /adap-apply day-wake-probe-first qua /fable-real investigator-codebase: nac AGREED (0 file co-che bi sua). Spec 3-muc + adap-report + 4 phan-bien gui nguoc hub + 1 datum dogfood (hub tu khai co 0). Engine BAC 2 tien-de cua lead: mo-coi 0/8 (khong phai "co squash => co mo-coi") va probe PHAI dung phep-2 - chung bang cua S158 noi 2 phep cho verdict NGUOC NHAU. - Ra 6 HIGH lens-wave spec KHKK: 4 phu tron, 2 con ho (H5 W3 N chua pin => N=0 van PASS; H6 §2.4:224 giu co-che IsVisible da bi chinh file do do-dia bac). - Bookend-close 10 spawn / 5 vong. V4 nen-ngu KHONG-NHIP (shard 15/15 => IM). VA TRONG PHIEN - STATUS:459 RAG khai "alive" -> lat DOWN (3 phep do doc-lap: chunk_count=0 cho ca 7 project + shared_global; canonical tu mau thuan voi :473 cach 14 dong, song 5 nhan phien). - STATUS:461 bundle hash prod da chet -> 8-QYcMOg/DptYR4wL (control-am 900/876 B). Hai that: cicd-verify:58 dung chinh o nay lam baseline. - STATUS:6 4->5 cua-so, counter 31->32; M-1 nhet lai nguyen van owner "da xong buoc thu 6 tuc CEO duyet" (ring2: grep = 0/STATUS + 0/HANDOFF). - WAL:5 + WAL:21 tick; HANDOFF segment S155->S158 + slot (42)...(48). - GATE 5-ANCHOR di-tru khoi WAL sang HANDOFF NEXT-em TRUOC khi §6.4 reset xoa no (lead-gap FLAG-4, han chot = cua ke). - ef-core-migration SKILL: va CAU TRUC (frontmatter thoi khai bang la nguon "moi nhat") thay vi them row - ring1: day la lan 3 cung class. - contract-workflow:371 "Contract V2 chua" SAI ~2,3 thang -> dinh chinh (ring1 thach-CLEAN thung H1). - C12: +3 dong run= hoi-to S155/S156/S157. 2 orphan run-folder -> synthesis dang-1. - M9 seed on-behalf 3 diary: ctx-verifier, investigator-codebase, ctx-audit. #53 x8 - DOI-CHUNG NOI-PHIEN SACH DAU TIEN Ep-ghi-dia KHONG giam garble (3/3 vai bi ep van garble) nhung dua thiet-hai ve 0 (2.818/5.354/7.957 B nam san); 4 vai khong ep MAT TRANG phai resume. => chong #53 = thiet-ke ARTIFACT, khong phai PROMPT (xac nhan lan 5). So #53 ghi bu sau 5 nhan phien dung yen: 66 can-duoi qua S158. +2 sub-class moi: skeleton-ruot-rong nac-2 (byte>0 ma ruot rong) va engine-process-exit (0 delta dia). BAY CHAN DUOC Moi-ngam neo bang SO DONG trong file append-o-TREN da nen 3 lan. Dong 99 hom nay la van-de MO THAT (luat nen ho) => spawn ctx-audit ma khong xu = hoac DAT-ao, hoac dan nhan "bay cai san" len dung cau dang trinh owner. Lead khoi phuc tu git, pin bang NOI DUNG. ring2 chung them: neo SAI NGAY TAI COMMIT SINH RA NO (stale-at-birth), khong phai troi-do-nen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Skill Library — SOLUTION_ERP
Skill này là tài liệu chuyên biệt để Claude (và developer khác) dùng khi cần deep-dive 1 domain area. Claude tự động invoke qua Skill tool dựa trên semantic matching với description trong từng SKILL.md.
Skills hiện có
Domain skills (logic nghiệp vụ)
| Skill | Mục đích | Trigger ví dụ | Trạng thái |
|---|---|---|---|
contract-workflow |
State machine 9 phase + versioned workflow per ContractType + role × phase guard + SLA + auto-gen mã HĐ RG-001 | "approve contract", "chuyển phase", "versioned workflow", "HĐ cũ giữ cũ" | ✅ Tier 3 + Phase 6 cross-ref PE workflow |
form-engine |
Render template docx/xlsx + FieldSpec JSON + DynamicForm + PDF export LibreOffice | "export contract as word", "điền form", "render template", "PDF export" | ✅ Active |
permission-matrix |
Role × MenuKey × CRUD + seed + 3-layer resolution + inherit Contracts/Workflows/PurchaseEvaluations | "permission denied", "gán role", "menu không hiện", "inherit permission" | ✅ Active (Phase 6 +Pe_/PeWf_) |
Ops/infra skills (devops + security + schema)
| Skill | Mục đích | Trigger ví dụ | Trạng thái |
|---|---|---|---|
dependency-audit-erp |
Scan CVE NuGet + npm 2 FE, respect pin constraint (MediatR 12.4.1, Swashbuckle 6.9.0) | "npm audit", "dotnet vulnerable", "deps scan", "nâng cấp package" | ✅ New Tier 3 |
ef-core-migration |
Tạo/revert EF Core 10 migration, 3-file rule, DesignTimeDbContextFactory, migration history (mới nhất → row cuối bảng skill; số → docs/STATUS.md) |
"thêm migration", "EF migration", "schema update", "snapshot lỗi" | ✅ Updated S117 (mig-ref → pointer anti-drift B1; Mig 66 AddPeApprovedPriceRange row added; số → docs/STATUS.md) |
iis-deploy-runbook |
3 IIS site + win-acme cert + gitea-runner + LibreOffice + debug 500/502/SignalR prod + G-084 IPv4/IPv6 hardening | "prod 500", "IIS fail", "cert hết hạn", "restart app pool", "deploy IIS", "port hijack" | ✅ Updated (G-084) |
Format chuẩn 1 skill
Mỗi skill là 1 folder với ít nhất SKILL.md + optional examples/ + references/:
.claude/skills/<skill-name>/
├── SKILL.md ← Entry point: description, when-to-use, workflow
├── examples/ ← Code snippets mẫu (optional)
│ └── *.cs | *.tsx
└── references/ ← Link đến file code thật, docs (optional)
Frontmatter SKILL.md (BẮT BUỘC when-to-use để skill auto-trigger):
---
name: skill-name-kebab-case
description: 1-3 câu mô tả skill làm gì + stack specificity (để embedding match chính xác)
when-to-use:
- "trigger phrase 1"
- "trigger phrase 2"
- "keyword tiếng Việt"
---
# Skill Name
## Context
...
## Workflow / Commands
...
## Pitfalls
...
## Code pointers
- `path/to/file.cs`
Tạo skill mới — checklist
- Tạo folder
.claude/skills/<kebab-case-name>/ - Viết
SKILL.mdvới frontmatter + sections: Context / Workflow / Code pointers / Common pitfalls - Add row vào bảng "Skills hiện có" phía trên
- Update
docs/CLAUDE.md(dòng skill count) - Commit
[CLAUDE] Skill: add <name>
Nguyên tắc design skill
PROJECT-SPECIFIC, không clone generic:
- Skill user-level global đã có sẵn (
code-reviewer,sql-database-assistant,focused-fix, ...) - Skill project-level phải encode kiến thức SOLUTION_ERP-only mà generic không có:
- Commit convention
[CLAUDE] <scope>: ... - Path pattern
src/Backend/SolutionErp.*/... - Pin constraint (MediatR 12.4.1, Swashbuckle 6.9.0, TypeScript 6 erasableSyntaxOnly)
- Gotcha-referenced (dẫn chiếu
docs/gotchas.md#N) - Workflow Vietnamese-first
- Commit convention
Keep it actionable:
- Commands copy-pastable (không pseudocode)
- Paths đầy đủ (không
src/...) - Version pinned (không "latest")
- Dẫn chiếu gotcha/migration # cụ thể
Related
docs/CLAUDE.md— quick rules + full stack contextdocs/gotchas.md— bẫy đã gặp (số hiện tại →docs/STATUS.md; latest #79 backfill soi NHẦM bảng — PE transition-marker ởChangelogs.ContextNoteKHÔNG phảiApprovals, verify marker-count prod trước, S97; #78 display-flag suy CONFIG thay RUNTIME → nói dối khi instance lệch config, fix fieldEndedByLevelFinalize, S97; #77 SPA bundle cache-lag → verify deploy BYTE-LEVEL (curl+grep bundle), incognito = golden-test, S96; #76deploy.ymlrenderappsettings.Production.jsontừ.examplemỗi deploy → prod thiếu config gitignored, S91; #75 seed demo UNGATED per-code → RE-ADD data đã wipe mỗi restart (wipe KHÔNG bền), S91)docs/changelog/migration-todos.md— roadmap 5 phase + Tier 3