raise-issue
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkill: raise-issue
Skill: raise-issue
WHAT
WHAT
Purpose và context
Purpose 与 context
- Purpose: ghi một ISSUE đủ bối cảnh vào ledger local (nguồn chân lý) + index, assign owner/dispatch, mirror lên tracker remote nếu có, để phiên/dev khác pull về xử lý qua hoặc
/fdk./propose - Trigger (when to use):
- Phiên ĐỂ HỎI/thiết kế, phát hiện một GAP hoặc nợ nhưng CHƯA thực hiện — cần ghi lại đủ bối cảnh để phiên/dev khác kéo về làm.
- "raise issue", "tạo issue", "mở issue cho việc này", "log gap này để sau làm", "issue để dev khác pull về".
- Feature-gap, tech-debt, câu hỏi kiến trúc, cải tiến quy trình, Plan-B/optionality.
- Non-goals: KHÔNG dùng cho: bug/sự cố runtime/regression đang cháy → đó là (repro-first gate). Việc đã sẵn sàng làm ngay trong phiên → đó là
orca-issuerồi code. Không push (việc củapropose)./ship
- Purpose: 将上下文充分的 ISSUE 写入本地 ledger(真实来源)+ index,分配 owner/dispatch,并在存在远程 tracker 时进行镜像,以便其他会话/开发者拉取后通过 或
/fdk处理。/propose - Trigger(何时使用):
- 用于提问/设计会话:发现某个 GAP 或技术债,但尚未实施——需要记录足够的上下文,以便其他会话/开发者拉取后处理。
- “raise issue”、“创建 issue”、“为这项工作开启 issue”、“记录这个 gap 以便稍后处理”、“创建 issue 给其他开发者拉取处理”。
- Feature-gap、tech-debt、架构问题、流程改进、Plan-B/optionality。
- Non-goals: 不得用于:正在发生的 bug/runtime 故障/regression → 应使用 (repro-first gate)。当前会话中已经可以立即执行的工作 → 先用
orca-issue,然后编码。不执行 push(这是propose的职责)。/ship
Ranh giới với skill khác (đọc trước khi trùng)
与其他 skill 的边界(避免重复前先阅读)
- = 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.
orca-issue - = 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.
propose - raise-issue chỉ GHI + ASSIGN. Không code, không sửa nhánh khác. Người nhận sau này mở bằng (nếu là framework) hoặc
/fdk(nếu là feature dự án)./propose
- = 处理故障(bug)的流程,强制执行 red→green 复现。raise-issue = 记录面向未来的工作(gap/技术债),无需 repro。
orca-issue - = 计划在当前会话中立即执行的工作。raise-issue = HANDOFF(交接),有意延后,并可迁移到其他会话/机器/项目。
propose - raise-issue 只负责记录 + 分配。不编码,也不修改其他分支。后续接收者通过 (如果属于 framework)或
/fdk(如果属于项目 feature)打开。/propose
Mental model
Mental model
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分类(bug → orca-issue)→ 查询 wiki(R7-f)→ ledger draft(真实来源)→ 分配 → ISSUES.md 行 → [按照 issue-tracker.md 合约镜像 tracker] → 提交 ledger → 确认,停止Input và output contract
Input 与 output contract
| 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 | không | chưa có → tạo từ mẫu local-markdown |
| Out | | có | theo template, có frontmatter OKF + |
| Out | dòng trong | có | id · tiêu đề · status · assignee · tracker |
| Out | issue remote + URL ở cột | 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 |
| Field | Required? | 含义 | |
|---|---|---|---|
| In | gap/技术债的描述 + 证据 | 是 | 足以让未参与该会话的人理解 |
| In | assignee(username) | 否 | 尚不明确时,在镜像前询问 |
| In | 合约 | 否 | 尚不存在 → 根据 local-markdown 模板创建 |
| Out | | 是 | 按模板生成,包含 OKF frontmatter + |
| Out | | 是 | id · 标题 · status · assignee · tracker |
| Out | 远程 issue + | 有 tracker 时 | body 反向链接到 ledger 文件 |
| Out | 提交 ledger(不 push) | 是 | issue 只有随仓库迁移时才存在 |
Rules và capabilities
Rules 与 capabilities
- RULE-01 (MUST): CHỈ ghi + assign. Tuyệt đối không code, không sửa nhánh/dự án khác — issue phải travel sạch.
- RULE-02 (MUST): Bối cảnh đủ cho người-chưa-dự-phiên: nêu bằng chứng (report/council/ADR), không giả định trí nhớ chung.
- RULE-03 (MUST): Query wiki trước (R7-f) để không raise trùng issue đã có.
- RULE-04 (MUST): Mỗi issue một file + một dòng index. Không nhét nhiều issue vào một file.
- RULE-05 (MUST): Không tự nâng status quá /
open— chuyểnclaimed/in-progresslà việc của phiên nhận.done - RULE-06 (MUST): Touch only what the task requires — no opportunistic changes.
- Capabilities: đọc wiki; ghi ledger + index trong ; commit cục bộ; ghi issue lên tracker remote qua adapter khai trong hợp đồng repo.
llmwiki/wiki/sources/
- RULE-01 (MUST):只记录 + 分配。绝不编码,也不修改其他分支/项目——issue 必须干净地迁移。
- RULE-02 (MUST):上下文必须充分,足以让未参与会话的人理解:列出证据(report/council/ADR),不能假设存在共同记忆。
- RULE-03 (MUST):先查询 wiki(R7-f),避免创建已有 issue 的重复项。
- RULE-04 (MUST):每个 issue 使用一个文件 + 一行 index。不能将多个 issue 塞入同一个文件。
- RULE-05 (MUST):不得自行将 status 提升到 /
open以上——切换到claimed/in-progress由接收会话负责。done - RULE-06 (MUST):仅执行任务要求的操作——不做顺手修改。
- Capabilities:读取 wiki;在 中写入 ledger + index;在本地提交;根据仓库合约中声明的 adapter,将 issue 写入远程 tracker。
llmwiki/wiki/sources/
Failure boundaries
失败边界
- Là bug/sự cố → cancelled ở skill này, chuyển .
orca-issue - Trùng issue đã có (query R7-f) → không raise, báo issue sẵn có.
- Không có tracker remote/CLI → succeeded hẹp ở chế độ ledger-only.
- Đang ở nhánh chính và không được commit thẳng → commit vào nhánh và nói rõ.
issue/<DDMMYY-slug>
- 如果是 bug/故障 → 在本 skill 中 cancelled,切换到 。
orca-issue - 已有重复 issue(通过 R7-f 查询)→ 不创建,报告 issue 已存在。
- 没有远程 tracker/CLI → 在 ledger-only 模式下以有限范围视为 succeeded。
- 当前位于 main 分支且不允许直接提交 → 提交到 分支,并明确说明。
issue/<DDMMYY-slug>
HOW
HOW
Main workflow
主工作流
| 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, |
| W02 | deterministic | kind + từ khoá | Query wiki trước khi viết (R7-f) | link | 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 | frontmatter đủ | — |
| W05 | effect | draft | Thêm dòng vào | 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 | 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):
- Phân loại issue: |
foundation|feature-gap|tech-debt|architecture. Nếu là bug → dừng, chuyển sangprocess.orca-issue - Query wiki trước khi viết (R7-f): tìm ADR/concept/draft liên quan để không trùng và để nêu bối cảnh chính xác. Ghi các link vào phần Bối cảnh.
[[...]] - Viết draft 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).
llmwiki/wiki/sources/draft/DDMMYY-<slug>.md - Assign: điền (người/agent chịu trách nhiệm) +
assignee(đề xuất Claude/opencode/human) +dispatch(mở bằngentryhay/fdk). Nêu lý do chọn./propose - Đăng ký vào index: thêm một dòng vào (tạo file nếu chưa có, header
llmwiki/wiki/sources/ISSUES.md).# Issues — ledger local - Mirror lên tracker remote (nếu có): phát hiện host + CLI (bảng trên); nếu có → tạo issue remote (body link ngược file ledger), ghi URL vào cột . Không có → bỏ qua, ledger-only. Hỏi assignee (username) nếu chưa rõ.
tracker - Commit ledger (GH#99): . 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 add llmwiki/wiki/sources/draft/<DDMMYY-slug>.md llmwiki/wiki/sources/ISSUES.md && git commit -m "issue: <DDMMYY-slug> — <tiêu đề>"rỗng, tức issue chưa tồn tại. Không push ở bước này (đó là việc củagit log --all); nếu đang ở nhánh chính và không được commit thẳng → tạo nhánh/shiprồi commit vào đó và nói rõ.issue/<DDMMYY-slug> - Xác nhận, KHÔNG thực hiện: báo lại issue id + đường dẫn ledger + link tracker + assignee. Dừng ở đây — việc thực thi là của phiên nhận.
| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | judgment | 描述 | 分类 foundation/feature-gap/tech-debt/architecture/process | kind | bug → 停止,转到 |
| W02 | deterministic | kind + 关键词 | 写入前查询 wiki(R7-f) | 上下文链接 | 重复 → 停止,报告 issue 已存在 |
| W03 | judgment | 上下文 | 按模板编写 draft | ledger 文件 | — |
| W04 | judgment | draft | 分配 | frontmatter 完整 | — |
| W05 | effect | draft | 在 | index | 文件尚不存在 → 创建 |
| W06 | effect | tracker 合约 | 如果存在则镜像到远程 tracker(B01) | | 不存在 → ledger-only |
| W07 | effect | ledger + index | 提交 ledger(不 push) | commit | 禁止在 main 上提交 → B02 |
| W08 | deterministic | 结果 | 确认 id + 路径 + 链接 + assignee,然后停止 | 报告 | — |
各步骤详情(W01–W08 的真实来源):
- 分类 issue:|
foundation|feature-gap|tech-debt|architecture。如果是 bug → 停止,切换到process。orca-issue - 写入前查询 wiki(R7-f):查找相关的 ADR/concept/draft,既避免重复,也确保上下文准确。将 链接写入
[[...]]部分。Bối cảnh & bằng chứng - 编写 draft ,按下方模板生成——上下文必须充分,足以让未参与本次会话的人拉取后立即理解(issue 为何存在、证据、范围、完成标准)。
llmwiki/wiki/sources/draft/DDMMYY-<slug>.md - 分配:填写 (负责人/agent)+
assignee(建议 Claude/opencode/human)+dispatch(通过entry还是/fdk打开)。说明选择理由。/propose - 登记到 index:在 中添加一行(如果文件尚不存在,则创建,标题为
llmwiki/wiki/sources/ISSUES.md)。# Issues — ledger local - 镜像到远程 tracker(如有):检测 host + CLI(见下表);如果存在 → 创建远程 issue(body 反向链接到 ledger 文件),并将 URL 写入 列。如果不存在 → 跳过,使用 ledger-only 模式。如果 assignee 尚不明确(username),则询问。
tracker - 提交 ledger(GH#99):。Ledger 只有在随仓库迁移时才是真实来源——如果文件未被 Git 跟踪,其他人拉取后看不到,
git add llmwiki/wiki/sources/draft/<DDMMYY-slug>.md llmwiki/wiki/sources/ISSUES.md && git commit -m "issue: <DDMMYY-slug> — <tiêu đề>"为空,即 issue 尚不存在。此步骤不执行 push(那是git log --all的工作);如果当前位于 main 分支且不允许直接提交 → 创建/ship分支并提交到该分支,然后明确说明。issue/<DDMMYY-slug> - 确认但不执行:报告 issue id + ledger 路径 + tracker 链接 + assignee。停在这里——实际执行由接收会话负责。
Branches
Branches(分支)
| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | capability_optional | | tạo issue remote, body link ngược ledger, ghi URL cột | 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 | — | W08 |
| B03 | conditional_required | chưa có | tạo từ mẫu local-markdown; có remote GitHub → đề xuất mirror | — | W06 |
| ID | Kind | Guard | 行为 | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | capability_optional | | 创建远程 issue,body 反向链接到 ledger,并将 URL 写入 | 不存在 → ledger-only;assignee 尚不明确 → 询问 | W07 |
| B02 | conditional_required | 当前位于 main 分支且不允许直接提交 | 创建 | — | W08 |
| B03 | conditional_required | 尚无 | 根据 local-markdown 模板创建;存在 GitHub remote → 建议使用 | — | W06 |
Validation và stopping
验证与停止条件
Hook wiki kiểm R9 (frontmatter OKF), R2 (), R5 (folder hợp lệ) khi ghi; ledger có trong sau W07. Dừng ở W08 — không thực thi issue.
## Origingit log写入时,Wiki hook 检查 R9(OKF frontmatter)、R2()、R5(有效目录)。W07 后,ledger 必须出现在 中。停在 W08——不执行 issue。
## Origingit logExamples
示例
- Positive: "raise issue: chưa có cache cho skill-search" → kind , query không trùng →
tech-debt+ dòng ISSUES.md +llmwiki/wiki/sources/draft/190926-skill-search-cache.md(body link ledger) → commitgh issue create→ báo id + link, dừng.issue: 190926-skill-search-cache — … - Boundary/failure: "tạo issue: approve bị treo trên prod" → phân loại là bug đang cháy → dừng, chuyển (repro-first), không ghi ledger.
orca-issue
- Positive: “raise issue:skill-search 尚无缓存” → kind ,查询无重复 →
tech-debt+ ISSUES.md 行 +llmwiki/wiki/sources/draft/190926-skill-search-cache.md(body 链接 ledger)→ 提交gh issue create→ 报告 id + 链接,停止。issue: 190926-skill-search-cache — … - Boundary/failure: “创建 issue:approve 在 prod 上卡住” → 分类为正在发生的 bug → 停止,切换到 (repro-first),不写入 ledger。
orca-issue
Reference — Nơi lưu — ledger local là NGUỒN CHÂN LÝ, tracker remote là mirror
Reference — 存储 — 本地 ledger 是真实来源,远程 tracker 是镜像
- Issue = một file draft: (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/draft/DDMMYY-<slug>.md - Index tập trung: — một dòng/issue (id · tiêu đề · status · assignee · tracker), giống MEMORY.md. (Lưu ở
llmwiki/wiki/sources/ISSUES.mdchứ KHÔNG ởsources/root — R5 folder-structure chặn root.)wiki/ - Mirror lên tracker remote NẾU CÓ (để hiện ở tab Issues, assign người thật, có notification): tự phát hiện theo + CLI sẵn có, mirror rồi ghi link vào cột
git remote get-url origin. Ledger vẫn là nguồn chân lý; tracker chỉ là bản sao để phối hợp.tracker
- Issue = 一个 draft 文件:(与 propose 位于同一位置,clone 时随仓库迁移——可迁移,不依赖外部 tracker)。它始终是真实来源。
llmwiki/wiki/sources/draft/DDMMYY-<slug>.md - 集中索引:——每个 issue 一行(id · 标题 · status · assignee · tracker),类似 MEMORY.md。(存放在
llmwiki/wiki/sources/ISSUES.md,而不是sources/根目录——R5 folder-structure 会阻止放在 root。)wiki/ - 如果存在,则镜像到远程 tracker(以便在 Issues 标签页中显示、分配真实人员并收到 notification):根据 + 已存在的 CLI 自动检测,完成镜像后将链接写入
git remote get-url origin列。Ledger 仍是真实来源;tracker 只是用于协作的副本。tracker
Reference — Tracker — đọc HỢP ĐỒNG của repo, đừng hardcode CLI ở đây
Reference — Tracker — 读取仓库的合约,不要在这里硬编码 CLI
Cách publish/fetch/label/close/claim ở repo này sống trong một file hợp đồng theo repo — (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 .
llmwiki/wiki/sources/issue-tracker.md[[issue-tracker]]- Chưa có file hợp đồng → tạo từ mẫu (mặc định local-markdown: ledger là gốc, không cần mạng); có remote GitHub → đề xuất thêm mirror .
gh - Body issue remote PHẢI link ngược về file ledger (nguồn chân lý). Ghi URL vào cột .
tracker - 5 nhãn chuẩn (cột , mặc định
labels):needs-triage·needs-triage·needs-info·ready-for-agent·ready-for-human. Chỉwontfixmới được dispatch cho CLI headless;ready-for-agentlà việc phải người.ready-for-human
在此仓库中,publish/fetch/label/close/claim 的方式都记录在一个按仓库划定的合约文件中——(adapter boundary)。本 skill 只说明意图;合约说明方法。更换 tracker(添加 Jira、换成 GitLab)意味着修改该合约,而不是修改本 skill。参见 。
llmwiki/wiki/sources/issue-tracker.md[[issue-tracker]]- 尚无合约文件 → 根据模板创建(默认使用 local-markdown:ledger 为源头,无需网络);存在 GitHub remote → 建议增加 镜像。
gh - 远程 issue 的 body 必须反向链接到 ledger 文件(真实来源)。将 URL 写入 列。
tracker - 5 个标准标签(列,默认值为
labels):needs-triage·needs-triage·needs-info·ready-for-agent·ready-for-human。只有wontfix才能 dispatch 给 headless CLI;ready-for-agent表示必须由人处理。ready-for-human
Reference — Hook wiki sẽ cắn — thoả ngay từ đầu (đỡ 3 lần bật lại)
Reference — Wiki hook 会触发阻断——一开始就满足(避免重跑 3 次)
Mọi file trong phải có: (R9) YAML frontmatter OKF ở đầu () · (R2) section truy nguồn · (R5) nằm trong folder hợp lệ ( cho issue, cho index). Template dưới đã gồm sẵn cả ba.
llmwiki/wiki/type/title/status/tags/timestamp/id## Originsources/draft/sources/写入时,Wiki hook 会检查: 下的所有文件都必须具备:(R9) 文件开头使用 OKF YAML frontmatter()· (R2) 包含用于追溯来源的 section · (R5) 位于有效目录中(issue 位于 ,index 位于 )。下方模板已同时包含这三项。
llmwiki/wiki/type/title/status/tags/timestamp/id## Originsources/draft/sources/Reference — Template issue (frontmatter + thân)
Reference — Issue 模板(frontmatter + 正文)
markdown
---
type: issue
kind: foundation | feature-gap | tech-debt | architecture | process
title: "<một câu>"
status: open # open | claimed | in-progress | done | wontfix
assignee: <tên/agent> # ai chịu trách nhiệm
dispatch: <Claude | opencode:<model> | human>
entry: /fdk | /propose # người nhận mở bằng skill nào
priority: P1 | P2 | P3
tags: [issue, <...>] # R9 OKF
timestamp: <YYYY-MM-DD>
id: <DDMMYY-slug>
source_session: <mô tả ngắn phiên phát hiện>
---markdown
---
type: issue
kind: foundation | feature-gap | tech-debt | architecture | process
title: "<một câu>"
status: open # open | claimed | in-progress | done | wontfix
assignee: <tên/agent> # ai chịu trách nhiệm
dispatch: <Claude | opencode:<model> | human>
entry: /fdk | /propose # người nhận mở bằng skill nào
priority: P1 | P2 | P3
tags: [issue, <...>] # R9 OKF
timestamp: <YYYY-MM-DD>
id: <DDMMYY-slug>
source_session: <mô tả ngắn phiên phát hiện>
---Issue: <tiêu đề>
Issue: <tiêu đề>
Vấn đề (một câu)
Vấn đề (một câu)
Bối cảnh & bằng chứng (vì sao issue tồn tại; link [[ADR]]/[[concept]]/report/council)
Bối cảnh & bằng chứng (vì sao issue tồn tại; link [[ADR]]/[[concept]]/report/council)
Phạm vi (đụng file/module/dự án nào; universal hay local)
Phạm vi (đụng file/module/dự án nào; universal hay local)
Không thuộc phạm vi (chống scope-creep)
Không thuộc phạm vi (chống scope-creep)
Hướng gợi ý (không bắt buộc)
Hướng gợi ý (không bắt buộc)
Tiêu chí HOÀN THÀNH (kiểm chứng được)
Tiêu chí HOÀN THÀNH (kiểm chứng được)
Assign & lý do
Assign & lý do
Origin (R2 — raise bởi ai/phiên nào, nguồn bằng chứng)
Origin (R2 — raise bởi ai/phiên nào, nguồn bằng chứng)
undefinedundefined