mcpField
D
dorodango

dorodango

github.com/athola开发34378 次安装1 天前更新
代码仓库

关于 dorodango

dorodango 是用于实现完成且测试通过后的代码打磨技能,面向准备评审或发布的开发者。它按正确性、清晰度、一致性和润饰分阶段处理,并可通过状态文件跨会话续做。

主要功能

  1. 01按四个质量维度分阶段检查
  2. 02通过测试、检查器和审阅确认收敛
  3. 03保存状态并支持跨会话续做
  4. 04回归时重新打开已完成维度
  5. 05最多执行 10 轮打磨

适用场景

  1. 01为代码评审或发布准备实现
  2. 02对已通过测试的代码做全面改进
  3. 03恢复先前中断的打磨流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/athola/claude-night-market --skill dorodango

安装后在 Claude Code 中输入/dorodango确认已加载。

附带文件modules/pass-definitions.md

详细介绍

Dorodango 打磨工作流

名称源自日本的一种艺术:将泥球打磨成高光泽球体。应用到代码上:将初始实现(“泥球”)经过多轮质量打磨,直到熠熠生辉。

何时使用

  • 初始实现已完成且测试通过后
  • 代码可以正常工作,但需要从多个质量维度进行打磨
  • 准备提交代码评审或发布
  • 继续之前的打磨会话

何时不使用

  • 代码无法编译或未通过基本测试(先修复)
  • 只需改进单一维度(直接使用特定技能:pensive:code-refinement 等)
  • 全新设计阶段(改用 brainstorming)

轮次顺序

四个质量维度,每个维度都是独立的一轮:

  1. 正确性 - 运行测试并修复失败项
  2. 清晰度 - 代码可读性和结构
  3. 一致性 - 命名、模式、风格对齐
  4. 润色 - 文档、错误消息、边界情况

各轮类型的详细范围请参见 modules/pass-definitions.md。

收敛模型

  • 每轮针对一个维度
  • 一个维度是否收敛取决于记录,而绝不只取决于执行子代理自己的计数:正确性依据测试命令的退出代码;清晰度和一致性依据检查器和格式化工具的退出代码,以及评审者计数为 0;润色依据一个未参与编辑的新子代理给出的评审者计数为 0
  • 如果报告 issues_found: 0,但状态文件中没有记录相应的退出代码,则该轮尚未收敛
  • 收敛状态可以撤销:如果后续轮次发现某个已收敛维度出现回归,则该维度将取消收敛,并在本次运行结束前重新执行
  • 所有 4 个维度都收敛后,打磨即告完成
  • 总轮数最多为 10 轮(硬性限制)
  • 如果 10 轮后仍未收敛,则向人工人员呈现状态,并建议拆分成更小的单元

状态持久化

状态记录在 .attune/dorodango-state.json 中:

{
  "target": "plugins/foo",
  "started_at": "2026-03-18T12:00:00Z",
  "pass_count": 3,
  "passes": [
    {
      "type": "correctness",
      "issues_found": 2,
      "issues_fixed": 2
    },
    {
      "type": "clarity",
      "issues_found": 5,
      "issues_fixed": 5
    },
    {
      "type": "consistency",
      "issues_found": 0
    }
  ],
  "converged_dimensions": ["consistency"],
  "converged": false
}

此文件可用于跨会话恢复。恢复时,跳过已收敛的维度,从下一个尚未收敛的维度继续。

子代理隔离

每轮都会派发一个独立的子代理,以防止上下文累积。子代理会收到:

  • 目标目录/文件
  • 轮次类型和范围(来自 pass-definitions 模块)
  • 前几轮的结果(仅摘要,而非完整上下文)

对于代码少于 100 行的目标,派发子代理是可选的;小文件通过会话内评审即可。

工作流

  1. 初始化状态文件(或加载现有文件)
  2. 确定下一个尚未收敛的维度
  3. 为该维度派发子代理
  4. 将结果记录到状态文件
  5. 如果该维度已收敛(0 个问题),则将其标记为已收敛
  6. 如果所有维度都已收敛或已达到 10 轮,则停止
  7. 否则,继续下一个维度

交叉引用

  • pensive:code-refinement - 用于清晰度轮次
  • conserve:code-quality-principles - KISS/YAGNI/SOLID
  • imbue:latent-space-engineering - 为轮次提示词加入情感化表述,以获得更好的结果

退出标准

  • .attune/dorodango-state.json 存在,其中 "converged": true,且 converged_dimensions 下列出了全部四个维度 (correctness、clarity、consistency、polish)。
  • 状态文件中的 pass_count 总数 <= 10;如果完成 10 轮后仍未完全收敛,该技能会向用户显示未收敛的维度,并建议将目标拆分为更小的单元。
  • 只有在所有测试都通过(退出代码为 0)后,正确性维度才会收敛;发现测试失败的正确性检查不会将该维度标记为已收敛。
  • 只有在状态文件中记录了 linter 和 formatter 的退出代码均为 0,并列在审查者的问题计数旁边时,清晰度和一致性维度才会收敛;没有退出代码的 0 issues 声明不会使维度收敛。
  • 如果后续轮次发现回归问题,状态文件中对应维度会取消收敛(converged_dimensions 缩减),并且必须重新运行该维度后,才能将 converged: true。
  • 对于超过 100 行的目标,每轮检查都会作为单独的子代理任务分派;状态文件会记录各轮的单独结果,而非单条批量记录,以此确认。

评论

支持 Markdown