{"slug":"eo-backlog","title":"eo-backlog","summary":"项目 backlog 卡片：往 <project_root>/backlog/ 写一张待办/灵感卡（上 Obsidian 看板的 backlog 列），或归档/删除既有卡。通过 .eo-project.json 定位。触发（仅用户明确要求时）：加入 backlog / 记一条待办 / 这个以后再说，记一下 / 这条 backlog 不做了 / /eo-backlog。NOT FOR: 对话中顺带出现的『以后 / TODO』——未经用户确认不落盘；决策与教训（走 /eo-project-record）。","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-02T16:13:05.205093Z","repo":{"url":"https://github.com/SimpleEve/eo-skills","stars":31,"forks":6,"license":"MIT","updatedAt":"2026-09-24T03:41:00Z"},"bodyHtml":"<hr>\n<h2>name: eo-backlog\ndescription: \"项目 backlog 卡片：往 &lt;project_root&gt;/backlog/ 写一张待办/灵感卡（上 Obsidian 看板的 backlog 列），或归档/删除既有卡。通过 .eo-project.json 定位。触发（仅用户明确要求时）：加入 backlog / 记一条待办 / 这个以后再说，记一下 / 这条 backlog 不做了 / /eo-backlog。NOT FOR: 对话中顺带出现的『以后 / TODO』——未经用户确认不落盘；决策与教训（走 /eo-project-record）。\"</h2>\n<h1>eo-backlog</h1>\n<h2>功能</h2>\n<p>backlog 卡片化管理：<strong>每条一个文件</strong>，落在 <code>&lt;project_root&gt;/backlog/</code>，靠 frontmatter 的 <code>eo-backlog</code> 标签与 <code>status: backlog</code> 出现在 Obsidian 项目看板的 backlog 列。卡片是<strong>源数据</strong>（不是投影）——用户在 Obsidian 里直接编辑卡片正文/标签是合法且鼓励的。</p>\n<p>三个动作：<strong>add</strong>（默认，写卡）、<strong>archive</strong>（采纳/放弃归档）、<strong>delete</strong>（用户指定时才删）。</p>\n<h2>前置</h2>\n<p><strong>必须</strong>能找到 <code>.eo-project.json</code>（cwd 或父目录）。同目录存在 <code>.eo-project.local.json</code> 时顶层字段覆盖合并（local 优先）。找不到时报错退出，提示运行 <code>/eo-project-init</code>。<code>backlog/</code> 与 <code>backlog/archive/</code> 目录 lazy 创建。</p>\n<h2>卡片格式</h2>\n<p>文件：<code>&lt;project_root&gt;/backlog/&lt;YYYY-MM-DD&gt;-&lt;slug&gt;.md</code></p>\n<pre><code>---\ntitle: &lt;一句话，动宾结构&gt;\nproject: &lt;项目名，取自 .eo-project.json&gt;\nstatus: backlog          # 激活态恒为 backlog；归档时变 adopted / dropped\ntags: [eo-backlog, &lt;内容标签…&gt;]   # eo-backlog 是看板过滤锚点，必含且必须在激活态\ncreated: YYYY-MM-DD\nissue: ~                 # 可选：粘外来 GitHub issue URL（不主动 issue 化）\n---\n&lt;一两句补充说明，可空&gt;\n</code></pre>\n<ul>\n<li>待办/灵感不再分小节，用内容标签表达（如 <code>idea</code>）；拿不准就不打</li>\n<li><strong>status 恒为 <code>backlog</code></strong>：它不是 change，不进 draft/confirmed 流转；在看板上把 backlog 卡拖进其他状态列是误操作（会改 status），发现即纠正回来</li>\n</ul>\n<h2>动作</h2>\n<h3>add（默认）</h3>\n<ol>\n<li>提炼 title（单行动宾）、补充说明（可空）、内容标签</li>\n<li>按上方格式写入 <code>backlog/&lt;date&gt;-&lt;slug&gt;.md</code></li>\n<li>摘要：卡片路径 + title + 当前激活卡片数</li>\n</ol>\n<h3>archive（采纳 / 放弃）</h3>\n<p>触发：change 采纳了这条 backlog（由 /eo-change 在确认后调用），或用户说「这条不做了」。</p>\n<ol>\n<li>frontmatter 三改：<code>status: backlog → adopted</code>（采纳）或 <code>dropped</code>（放弃）；tags 里 <code>eo-backlog → eo-backlog-archived</code>（双保险退出看板）；追加关联——采纳写 <code>adopted_by: &lt;change-id&gt;</code>，放弃写 <code>dropped_reason: &lt;一句话&gt;</code></li>\n<li><strong>文件移入 <code>backlog/archive/</code></strong>（主目录只留激活卡，防膨胀）</li>\n<li>摘要：处置结果 + 关联 change（若有）</li>\n</ol>\n<h3>delete（仅用户明确指定）</h3>\n<p>默认归档留痕；用户明确说「直接删掉」才物理删除文件。</p>\n<h3>migrate（旧扁平 backlog 打散）</h3>\n<p>发现 <code>&lt;project_root&gt;/backlog.md</code>（或 backlog/ 下的 todo.md 等扁平文件）时提示可迁移：未完成的 <code>- [ ]</code> 条目逐条打散成卡片（created 取条目原日期，行内 <code>#tag</code> 转入 tags）；已完成/已放弃条目留在原文件不动；迁完在原文件顶部标注「已迁移为卡片，此文件不再写入」。幂等：已存在同名卡跳过。</p>\n<h2>约束</h2>\n<ul>\n<li><strong>仅用户明确要求时写入</strong>，不做关键词嗅探</li>\n<li>激活卡的修改（改 title/标签/说明）用户手工做即可，本 skill 不代管；<strong>归档必走 archive 动作</strong>（三件套：status + tag + 移动，缺一会导致看板残留或审计断链）</li>\n<li>不建 INDEX——看板（Bases 聚合）就是它的索引</li>\n<li>决策与经验教训走 <code>/eo-project-record</code>，本 skill 不越界</li>\n<li>所有路径通过 <code>.eo-project.json</code> 解析，不硬编码</li>\n</ul>\n","files":[{"path":"SKILL.md","sizeBytes":3843,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-02T16:13:19.876348Z","sha256":"D2F1B93EFB3EC46EBB3A87786DB7ABA258EB8E1E903451416672E4494DD6F052","sizeBytes":2318},"review":null,"source":{"repositoryUrl":"https://github.com/SimpleEve/eo-skills","path":"eo-backlog","license":"MIT","commit":"a5062887a6abcb255b4745f871208be292484bfa","subtreeSha":"B3C5A7BB3CECE49A71F0A590825432F60D55FCCA04A8EE68001D852E45EDC4B1","lastSyncedAt":"2026-09-27T19:48:06.599057Z"},"reviewedAt":"2026-09-02T16:14:44.092694Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/SimpleEve/eo-skills/tree/main/eo-backlog"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install simpleeve-eo-skills@llmmart"},{"target":"git","command":"git clone https://github.com/SimpleEve/eo-skills.git"}]}