npx skills add ...
npx skills add rheinmir/setup --skill raise-issue
Raise một ISSUE đầy đủ bối cảnh vào ledger local (draft) để dev khác pull về xử lý ở BẤT KỲ đâu qua /fdk mà không đụng nhánh/dự án khác; TỰ mirror lên tracker remote nếu có (GitHub qua gh / GitLab qua glab / Gitea qua tea) — ledger là nguồn chân lý. Dùng cho feature-gap, tech-debt, foundation, câu hỏi kiến trúc (KHÁC orca-issue = sự cố/bug repro-first). Gồm template context + assign owner + dispatch agent. Trigger: 'raise issue', 'tạo issue', 'ghi issue', 'mở issue', 'log gap này', 'issue để dev khác làm', '/raise-issue'.
npx skills add rheinmir/setup --skill raise-issue
/fdk hoặc /propose.orca-issue (repro-first gate). Việc đã sẵn sàng làm ngay trong phiên → đó là propose rồi code. Không push (việc của /ship).orca-issue = vòng xử lý SỰ CỐ (bug), bắt buộc tái hiện đỏ→xanh. raise-issue = ghi việc TIẾN VỀ PHÍA TRƯỚC (gap/nợ), không repro.propose = plan để LÀM NGAY trong phiên này. raise-issue = HANDOFF, cố ý defer, travel được sang phiên/máy/dự án khác./fdk (nếu là framework) hoặc /propose (nếu là feature dự án).phân loại (bug → orca-issue) → query wiki (R7-f) → ledger draft (nguồn chân lý) → assign → dòng ISSUES.md → [mirror tracker theo hợp đồng issue-tracker.md] → commit ledger → xác nhận, dừng.
| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | mô tả gap/nợ + bằng chứng | có | đủ để người chưa dự phiên hiểu |
| In | assignee (username) | không | chưa rõ thì hỏi khi mirror |
| In | hợp đồng llmwiki/wiki/sources/issue-tracker.md | không | chưa có → tạo từ mẫu local-markdown |
| Out | llmwiki/wiki/sources/draft/DDMMYY-<slug>.md | có | theo template, có frontmatter OKF + ## Origin |
| Out | dòng trong llmwiki/wiki/sources/ISSUES.md | có | id · tiêu đề · status · assignee · tracker |
| Out | issue remote + URL ở cột tracker | khi có tracker | body link ngược file ledger |
| Out | commit ledger (không push) | có | issue chỉ tồn tại khi travel theo repo |
open/claimed — chuyển in-progress/done là việc của phiên nhận.llmwiki/wiki/sources/; commit cục bộ; ghi issue lên tracker remote qua adapter khai trong hợp đồng repo.orca-issue.issue/<DDMMYY-slug> và nói rõ.| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | judgment | mô tả | Phân loại foundation/feature-gap/tech-debt/architecture/process | kind | bug → dừng, orca-issue |
| W02 | deterministic | kind + từ khoá | Query wiki trước khi viết (R7-f) | link [[...]] bối cảnh | trùng → dừng, báo issue có sẵn |
| W03 | judgment | bối cảnh | Viết draft theo template | file ledger | — |
| W04 | judgment | draft | Assign assignee + dispatch + entry, nêu lý do | frontmatter đủ | — |
| W05 | effect | draft | Thêm dòng vào ISSUES.md | index | chưa có file → tạo |
| W06 | effect | hợp đồng tracker | Mirror lên tracker remote nếu có (B01) | URL ở cột tracker | không có → ledger-only |
| W07 | effect | ledger + index | Commit ledger (không push) | commit | nhánh chính cấm → B02 |
| W08 | deterministic | kết quả | Xác nhận id + đường dẫn + link + assignee, dừng | báo cáo | — |
Chi tiết từng bước (nguồn chân lý cho W01–W08):
foundation | feature-gap | tech-debt | architecture | process. Nếu là bug → dừng, chuyển sang orca-issue.[[...]] vào phần Bối cảnh.llmwiki/wiki/sources/draft/DDMMYY-<slug>.md theo template dưới — bối cảnh phải ĐỦ để người chưa dự phiên này pull về là hiểu ngay (vì sao issue tồn tại, bằng chứng, phạm vi, tiêu chí xong).assignee (người/agent chịu trách nhiệm) + dispatch (đề xuất Claude/opencode/human) + entry (mở bằng /fdk hay /propose). Nêu lý do chọn.llmwiki/wiki/sources/ISSUES.md (tạo file nếu chưa có, header # Issues — ledger local).tracker. Không có → bỏ qua, ledger-only. Hỏi assignee (username) nếu chưa rõ.git add llmwiki/wiki/sources/draft/<DDMMYY-slug>.md llmwiki/wiki/sources/ISSUES.md && git commit -m "issue: <DDMMYY-slug> — <tiêu đề>". Ledger chỉ là nguồn chân lý khi nó travel theo repo — file untracked thì người pull về không thấy, git log --all rỗng, tức issue chưa tồn tại. Không push ở bước này (đó là việc của /ship); nếu đang ở nhánh chính và không được commit thẳng → tạo nhánh issue/<DDMMYY-slug> rồi commit vào đó và nói rõ.| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | capability_optional | git remote get-url origin + CLI tracker sẵn có (theo hợp đồng) | tạo issue remote, body link ngược ledger, ghi URL cột tracker | không có → ledger-only; chưa rõ assignee → hỏi | W07 |
| B02 | conditional_required | đang ở nhánh chính và không được commit thẳng | tạo nhánh issue/<DDMMYY-slug>, commit vào đó, nói rõ | — | W08 |
| B03 | conditional_required | chưa có llmwiki/wiki/sources/issue-tracker.md | tạo từ mẫu local-markdown; có remote GitHub → đề xuất mirror gh | — | W06 |
Hook wiki kiểm R9 (frontmatter OKF), R2 (## Origin), R5 (folder hợp lệ) khi ghi; ledger có trong git log sau W07. Dừng ở W08 — không thực thi issue.
tech-debt, query không trùng → llmwiki/wiki/sources/draft/190926-skill-search-cache.md + dòng ISSUES.md + gh issue create (body link ledger) → commit issue: 190926-skill-search-cache — … → báo id + link, dừng.orca-issue (repro-first), không ghi ledger.llmwiki/wiki/sources/draft/DDMMYY-<slug>.md (cùng chỗ propose, đi theo repo khi clone — travel-được, không phụ thuộc tracker ngoài). Đây luôn là nguồn chân lý.llmwiki/wiki/sources/ISSUES.md — một dòng/issue (id · tiêu đề · status · assignee · tracker), giống MEMORY.md. (Lưu ở sources/ chứ KHÔNG ở wiki/ root — R5 folder-structure chặn root.)git remote get-url origin + CLI sẵn có, mirror rồi ghi link vào cột tracker. Ledger vẫn là nguồn chân lý; tracker chỉ là bản sao để phối hợp.Cách publish/fetch/label/close/claim ở repo này sống trong một file hợp đồng theo repo — llmwiki/wiki/sources/issue-tracker.md (adapter boundary). Skill này chỉ nói ý định; hợp đồng nói cách làm. Đổi tracker (thêm Jira, đổi GitLab) là sửa hợp đồng đó, KHÔNG sửa skill này. Xem [[issue-tracker]].
gh.tracker.labels, mặc định needs-triage): needs-triage · needs-info · ready-for-agent · ready-for-human · wontfix. Chỉ ready-for-agent mới được dispatch cho CLI headless; ready-for-human là việc phải người.Mọi file trong llmwiki/wiki/ phải có: (R9) YAML frontmatter OKF ở đầu (type/title/status/tags/timestamp/id) · (R2) section ## Origin truy nguồn · (R5) nằm trong folder hợp lệ (sources/draft/ cho issue, sources/ cho index). Template dưới đã gồm sẵn cả ba.