Claude Skill

eo-project-record

项目记忆的统一写入口:经验教训(lessons/)与关键决策(decisions/),带 INDEX 与检索锚点,供 eo-change / eo-fix / eo-recall 消费。通过 .eo-project.json 定位。触发(仅用户明确要求记录时):把这个坑记下来 / 记条经验 / lesson learned / 把这个决策记下来 / 记录决策 / reindex lessons / reindex decisions / /eo-project-record。NOT FOR: 对话提到踩坑或决策但用户未要求记录;待办类(走 /eo-bac

LLM Mart · 0 points · 8 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download simpleeve-eo-skills-eo-project-record-e6f1112.zip · 2 KB
Part of simpleeve/eo-skills — 16 skills

Install

skills CLI npx skills add https://github.com/SimpleEve/eo-skills/tree/main/eo-project-record
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install simpleeve-eo-skills@llmmart
Git git clone https://github.com/SimpleEve/eo-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole simpleeve/eo-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

eo-project-record

功能

项目记忆的统一写入口,两种记录类型、两个目录、各自 INDEX:

类型 目录 记什么 谁消费
lesson <project_root>/lessons/ 踩坑、最佳实践、意外收获 eo-change / eo-implement / eo-fix 启动时按 trigger 自动消费
decision <project_root>/decisions/ 关键决策:背景、候选、裁定、理由 eo-recall 缘由瀑布(以及一切「当初为什么」的场景)

分不清类型时的判据:教训回答「下次怎么做」,决策回答「当时为什么这么定」。一次对话产出两者都有 → 各记一条,互相 [[链接]]。

前置

必须能找到 .eo-project.json。同目录存在 .eo-project.local.json 时顶层字段覆盖合并(local 优先)。找不到 → 报错退出,提示运行 /eo-project-init。从中读取 project_root / project_name。

执行步骤

1. 判型与提炼

从用户输入判定类型(lesson / decision),提炼标题与核心内容。两个目录均 lazy 创建。

2a. lesson 类型

格式严格按 ../eo-shared/lessons.md §2(结论前置:规则 → 适用条件 → 背景;frontmatter 必填 trigger 与 summary 检索锚点);文件 lessons/<YYYY-MM-DD>-<slug>.md;同步维护 lessons/INDEX.md(格式见 lessons.md §3)。

2b. decision 类型

按 references/decision-template.md 写入 decisions/<YYYY-MM-DD>-<slug>.md;同步维护 decisions/INDEX.md(表格:日期 / 标题链接 / status / summary)。

注意分工:流程内的决策不用进来——change 起草的已钉决策落 change.md §1、brainstorming 的落其记录「关键决策」表。本类型只收流程外的重大决策(方向取舍、架构选型、规则变更这类会被将来反复问「当时为什么」的)。

3. 收尾

  • 输出:文件路径 + 一句话摘要 + 该目录累计条数
  • 内容涉及已有记录的修正 → 旧文件 status 改 superseded 并在顶部指向新条目(正文不改)

reindex(存量迁移动作)

用户说「reindex lessons / reindex decisions / 迁移旧记录」时:扫描对应目录全部文件——缺 trigger(仅 lesson)/summary/status 的,读正文提炼后只回填 frontmatter(正文一字不动);重建该目录 INDEX.md。幂等,可重复跑。

约束

  • 记录文件正文创建后不改,补充走新建;唯一例外是 status: superseded 标注
  • 每次写入必须同步对应 INDEX——没进索引的记录等于没写(消费方只扫 INDEX)
  • 记录按项目隔离;仅用户明确要求时写入,不做关键词嗅探
Files (eo-skills)
  • references
    • decision-template.md 906 B
      # 决策记录模板
      
      写入 `<project_root>/decisions/<YYYY-MM-DD>-<slug>.md`。
      
      ```markdown
      ---
      type: decision
      project: <项目名>
      date: YYYY-MM-DD
      status: accepted        # accepted | superseded
      tags: [具体领域词]
      summary: <一句话裁定结论——检索锚点,必填>
      ---
      
      # <标题:陈述裁定,如「看板采用 Bases + stub 投影方案」>
      
      ## 背景
      
      <为什么出现这个决策点,2-4 句>
      
      ## 候选方案
      
      1. <方案 A>;2. <方案 B>;……
      
      ## 裁定
      
      <选了什么,关键参数/边界>
      
      ## 理由
      
      <为什么,含放弃其他候选的原因>
      
      ## 影响范围
      
      <波及哪些模块/流程/文件>
      ```
      
      - 标题写成**裁定陈述**(不是「关于 X 的讨论」);`summary` 是 recall/INDEX 的检索锚点,必填
      - 相关的 lesson / research 篇目用 `[[名称]]` 互链
      - decisions/INDEX.md 行格式:`| 日期 | [标题](文件) | status | summary |`
      
  • SKILL.md 3.3 KB
    ---
    name: eo-project-record
    description: "项目记忆的统一写入口:经验教训(lessons/)与关键决策(decisions/),带 INDEX 与检索锚点,供 eo-change / eo-fix / eo-recall 消费。通过 .eo-project.json 定位。触发(仅用户明确要求记录时):把这个坑记下来 / 记条经验 / lesson learned / 把这个决策记下来 / 记录决策 / reindex lessons / reindex decisions / /eo-project-record。NOT FOR: 对话提到踩坑或决策但用户未要求记录;待办类(走 /eo-backlog)。"
    ---
    
    # eo-project-record
    
    ## 功能
    
    项目记忆的统一写入口,两种记录类型、两个目录、各自 INDEX:
    
    | 类型 | 目录 | 记什么 | 谁消费 |
    |------|------|--------|--------|
    | **lesson** | `<project_root>/lessons/` | 踩坑、最佳实践、意外收获 | eo-change / eo-implement / eo-fix 启动时按 trigger 自动消费 |
    | **decision** | `<project_root>/decisions/` | 关键决策:背景、候选、裁定、理由 | eo-recall 缘由瀑布(以及一切「当初为什么」的场景) |
    
    分不清类型时的判据:**教训回答「下次怎么做」,决策回答「当时为什么这么定」**。一次对话产出两者都有 → 各记一条,互相 `[[链接]]`。
    
    ## 前置
    
    必须能找到 `.eo-project.json`。同目录存在 `.eo-project.local.json` 时顶层字段覆盖合并(local 优先)。找不到 → 报错退出,提示运行 `/eo-project-init`。从中读取 `project_root` / `project_name`。
    
    ## 执行步骤
    
    ### 1. 判型与提炼
    
    从用户输入判定类型(lesson / decision),提炼标题与核心内容。两个目录均 lazy 创建。
    
    ### 2a. lesson 类型
    
    格式严格按 [../eo-shared/lessons.md](../eo-shared/lessons.md) §2(结论前置:规则 → 适用条件 → 背景;frontmatter 必填 `trigger` 与 `summary` 检索锚点);文件 `lessons/<YYYY-MM-DD>-<slug>.md`;同步维护 `lessons/INDEX.md`(格式见 lessons.md §3)。
    
    ### 2b. decision 类型
    
    按 [references/decision-template.md](references/decision-template.md) 写入 `decisions/<YYYY-MM-DD>-<slug>.md`;同步维护 `decisions/INDEX.md`(表格:日期 / 标题链接 / status / summary)。
    
    注意分工:**流程内的决策不用进来**——change 起草的已钉决策落 change.md §1、brainstorming 的落其记录「关键决策」表。本类型只收**流程外的重大决策**(方向取舍、架构选型、规则变更这类会被将来反复问「当时为什么」的)。
    
    ### 3. 收尾
    
    - 输出:文件路径 + 一句话摘要 + 该目录累计条数
    - 内容涉及已有记录的修正 → 旧文件 `status` 改 `superseded` 并在顶部指向新条目(正文不改)
    
    ### reindex(存量迁移动作)
    
    用户说「reindex lessons / reindex decisions / 迁移旧记录」时:扫描对应目录全部文件——缺 `trigger`(仅 lesson)/`summary`/`status` 的,读正文提炼后**只回填 frontmatter**(正文一字不动);重建该目录 INDEX.md。幂等,可重复跑。
    
    ## 约束
    
    - 记录文件正文创建后不改,补充走新建;**唯一例外**是 `status: superseded` 标注
    - 每次写入必须同步对应 INDEX——没进索引的记录等于没写(消费方只扫 INDEX)
    - 记录按项目隔离;仅用户明确要求时写入,不做关键词嗅探
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related