From rime-craft
Use when starting or executing a task from tasks.json, updating task status, closing a phase, or maintaining project docs. 日常生命周期管理:tasks.json 状态流转(todo → doing → done)、phase 生命周期、文档更新规则。触发场景:执行/开始 tasks.json 中的任务、任务状态更新、阶段归档、文档维护。
How this skill is triggered — by the user, by Claude, or both
Slash command
/rime-craft:rime-flowThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
管理 .rime/ 数据层的日常状态流转。初创项目请使用 `/rime-init`。
管理 .rime/ 数据层的日常状态流转。初创项目请使用 /rime-init。
用户定义功能 → tasks.json (status: todo)
↓ 用户说「做 #xxx」「执行 #xxx」「grill #xxx」等
tasks.json (status: doing) ← 进入设计/grill 阶段即算开始
↓ 根据 difficulty 决定执行方式
├─ small → 直接实现
├─ medium → grill-me 收敛设计 → spec → 实施(subtasks 当活计划,边做边改)
└─ large → grill-me → spec → 可选 superpowers:writing-plans + subagent(多文件可并行时)
⚠ spec 锁设计意图;tasks.json subtasks 是自适应执行清单,发现偏离预期就直接增删
⚠ 方向开放、需要发散探索时,才显式用 superpowers:brainstorming(默认走 grill-me 收敛)
⚠ 产出 spec/plan 文件后,将路径写入 task 的 docs 字段
↓ 完成后,用户确认 OK
tasks.json (status: done, completedAt: 今天)
↓ Phase 关闭时
archives/tasks.P{n}.json 归档 → archive.md 叙事总结 → tasks.json 移除已归档 items
medium / large 任务动手前先收敛设计、产出 spec。默认用 grill-me 式逐题逼问:
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
Ask the questions one at a time.
If a question can be answered by exploring the codebase, explore the codebase instead.
grill-me 原文取自 mattpocock/skills(MIT License)。
superpowers:brainstorming。它在遇到视觉问题时会 offer visual companion(浏览器预览)——不接受,改走下方 HTML spec。plansDirectory 同级的 specs/(默认 docs/specs/*.md,详见下方「实施 › 文档落点」)。rime-init 的 reference/template-spec.html(sidebar 编号导航 + 决策表 + phone/desktop 双 mock 框)。dashboard /file 原生渲染 .html,点开即所见。/file 点开即看,无需另起 companion 服务。## 验证记录(验证清单逐条 + 通过日期)。spec 由此闭环——开头是设计意图与放弃的方案,结尾是「做对了」的证据。验证内容只落 spec,不写 tasks.json。superpowers:writing-plans + subagent,换取「自动分配模型 + 计划追踪」。⚠ 文档落点(配置驱动,覆盖 superpowers 默认值) superpowers 的
brainstorming/writing-plans默认写到docs/superpowers/specs|plans/——不要跟这个默认值。落点由 Claude CodeplansDirectory配置 驱动(项目 skill 优先级高于第三方 skill 默认值):
- plan → 读 Claude Code 配置
plansDirectory(项目.claude/settings.json优先,否则~/.claude/settings.json)所指目录;未配置则走默认:项目根目录下docs/plans/。文件名YYYY-MM-DD-<feature>.md- spec → 与
plansDirectory同级的specs/(例:plansDirectory为./docs/plans→ spec 落./docs/specs/);未配置则走默认:项目根目录下docs/specs/。文件名YYYY-MM-DD-<topic>-design.md调用上述 superpowers skill 前,先解析
plansDirectory定出 plan 落点、取其同级specs/定出 spec 落点,禁止新建docs/superpowers/子目录。
用户说「做 #0011」「执行任务 xxx」「grill #xxx」等表达时(包括开始 grill/设计阶段):
.rime/tasks.json,找到对应 itemdoing(grill/设计 即算开始,不必等到写代码).rime/cautions.json,按 task 的 title + description 关键词与 cautions 的 tags + title 字段做 substring 匹配(CJK 文本直接子串包含检查),匹配到的 cautions 注入到当前对话 context,无匹配则跳过dependsOn,逐个查依赖 task 的 status,若有非 done 项,列出这些依赖(id + status),提示用户「以下依赖尚未完成,是否仍要现在开始?」。不阻止状态流转,用户自决git rev-parse HEAD,成功则写入 task 的 commitFrom 字段(每次 doing 都覆写)。若命令失败(非 git 仓库等),静默跳过small → 不建议medium → 可选建议:"这个任务可以考虑新建分支 feature/xxx,也可以直接在当前分支开发"large → 强烈建议:"建议为这个任务创建独立分支 feature/xxx"feature/xxx / fix/xxx,描述性,不含 task IDbranch 字段,跳过则不写## 验证记录 区(验证清单逐条 + 通过日期);spec 由此闭环:开头是设计意图,结尾是验证证据commitFrom,为空则跳过git rev-parse HEAD 作为 commitTocommitFrom === commitTo(零 commit),跳过写入commits: { "from": "<commitFrom>", "to": "<HEAD>" }done,写入 completedAt| 时机 | 更新内容 |
|---|---|
| 发现改善点 / 新想法 | 用 /rime-backlog 添加到 tasks.json(status: todo) |
| 阶段完成,开始下一阶段 | 触发 Phase 关闭流程(见下方) |
新增依赖 / 改技术选型 [开发] | 更新 techstack.md |
交互行为变更 [开发] | 更新 interaction.md 对应章节 |
数据结构变更 [开发] | 更新 schema.md |
| 用户说"更新文档" | 更新 README.md + docs/ 根目录核心文档(不含子目录) |
更新方式:
[开发]:完成项打 [x],新阶段直接追加docs/researches/,设计内容放 docs/designs/,不放根目录docs/product/,PRD 保持概要级别并链接过去当一个 phase 内所有 tasks 的 status 都变为 done 时:
phase.json: 该 phase 的 status → done,记录 completedAt.rime/archives/tasks.P{n}.json: 写入该 phase 的所有 done tasks(完整 task 对象原样保留)。归档 JSON 为关闭时的不可变快照,写入后不随其他文件变更而更新archive.md: 追加阶段叙事概要(不含 task 列表)tasks.json: 移除该 phase 的 done items;移除后扫描剩余所有 task 的 dependsOn,删除指向已归档 ID 的引用(依赖满足即消解,active 区不留悬空引用,详情回 archive 查)anchors/: 删除旧 anchor 文件,全局只保留最近 10 个prd.md: 移除已归档阶段的内容P0/P1 等已关闭阶段的 archive.md 叙事保持不变,本流程从下一个关闭的 phase 起适用。
路径与字段见 data-contract.md 的 archives 一节。要点:不可变快照、items 保留完整 task 对象、phase/name/completedAt 从 phase.json 取值。
所有路径(AI 手动更新、/rime-backlog command)向 tasks.json 写入 item 时,必须满足 data-contract.md 的「写入约束」:必填字段齐全(缺失则中止写入并报错)、dependsOn 先过 DFS 检环(构成环则拒绝写入,图恒为 DAG)、空 dependsOn 省略 key。
所有功能项使用全局递增编号 #0001、#0002...:
tasks.json 的 nextId 自增生成,补零 4 位/rime-backlog 添加新 item 时自动分配编号.rime/ 和 docs/ 默认不入库(用户可覆盖,两者入库策略应一致)specs/(spec:设计意图 + 决策 + 验证记录)与 plans/(plan:临时执行计划)同级:plan 落点跟随 Claude Code plansDirectory 配置,未配置则走默认——项目根目录下 docs/plans/ 与 docs/specs/。不嵌套到 docs/superpowers/ 下product/ 放详细仕様書(复杂功能的讨论结果).rime/ 五类文件的字段、枚举、ID 格式、读写归属的权威定义:data-contract.md。 涉及字段细节时先读它。
| 文件 | 职责 |
|---|---|
.rime/tasks.json | 任务状态 source of truth(items + subtasks + dependsOn) |
.rime/phase.json | 当前 phase、历史 phases |
.rime/cautions.json | 踩坑记录,append-only,SessionEnd hook 自动提取 |
.rime/anchors/ | session 记录,自动生成,gitignore |
.rime/archives/ | phase 关闭时的不可变 task 快照 |
docs/prd.md | 产品定位和规格,叙事文档,用 #ID 引用 tasks.json |
docs/archive.md | 阶段叙事归档,phase 关闭时写入总结 |
npx claudepluginhub josui/rime-craft --plugin rime-craftCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.