From rime-craft
Use when starting or executing a task from tasks.json, updating task status, closing a phase, or maintaining project docs. Daily lifecycle management — tasks.json status flow (todo → doing → done), phase lifecycle, and doc-update rules. Triggers: executing or starting a tasks.json task, updating task status, archiving a phase, maintaining docs.
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(含 ## Task N 段落)→ rime-sdd 编排执行(subagent per task + per-task review)
⚠ spec 锁设计意图;tasks.json subtasks 是自适应执行清单,发现偏离预期就直接增删
⚠ 产出 spec 文件后,将路径写入 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)。
grill-with-docs。plansDirectory 同级的 specs/(默认 docs/specs/*.md,详见下方「实施 › 文档落点」)。rime-init 的 reference/template-spec.html(sidebar 编号导航 + 决策表 + phone/desktop 双 mock 框)。dashboard /file 原生渲染 .html,点开即所见。/file 点开即看。## 验证记录(验证清单逐条 + 通过日期)。spec 由此闭环——开头是设计意图与放弃的方案,结尾是「做对了」的证据。验证内容只落 spec,不写 tasks.json。## Task N 段落(每个 task 一段:需求、接口约束、验收标准),定稿后用 rime-sdd 编排执行——每 task 派 fresh implementer subagent + per-task spec/quality review gate + final whole-branch review。medium 任务直接按 subtasks 顺序实施。⚠ 文档落点(配置驱动) 落点由 Claude Code
plansDirectory配置 驱动:
- spec → 与
plansDirectory同级的specs/(例:plansDirectory为./docs/plans→ spec 落./docs/specs/);未配置则走默认:项目根目录下docs/specs/。文件名YYYY-MM-DD-<topic>-design.md- plan(如需)→ 读 Claude Code 配置
plansDirectory(项目.claude/settings.json优先,否则~/.claude/settings.json)所指目录;未配置则走默认:项目根目录下docs/plans/。文件名YYYY-MM-DD-<feature>.md
用户说「做 #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:临时执行计划)同级:落点跟随 Claude Code plansDirectory 配置,未配置则走默认——项目根目录下 docs/specs/(plan 目录 docs/plans/ 如需)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-craftBlocks Edit/Write/Bash actions until Claude investigates importers, data schemas, and user instructions. Improves output quality by forcing concrete facts before edits.