dorodango
Iteratively polish code through successive quality passes run in fresh subagents
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/athola/nm-attune-dorodangoNight Market Skill — ported from claude-night-market/attune. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Dorodango Polishing Workflow
Named after the Japanese art of polishing a ball of dirt into a high-gloss sphere. Applied to code: take the initial implementation (the "mud ball") and refine it through successive quality passes until it shines.
When To Use
- After initial implementation is complete and tests pass
- Code works but needs refinement across multiple quality dimensions
- Preparing code for review or release
- Resuming a previous polishing session
When NOT To Use
- Code does not compile or pass basic tests (fix first)
- Single-dimension improvement needed (use the specific skill directly: pensive:code-refinement, etc.)
- Greenfield design phase (use brainstorming instead)
Pass Sequence
Four quality dimensions, each a self-contained pass:
- Correctness - run tests, fix failures
- Clarity - code readability and structure
- Consistency - naming, patterns, style alignment
- Polish - documentation, error messages, edges
See modules/pass-definitions.md for detailed scope
of each pass type.
Convergence Model
- Each pass targets one dimension
- A pass that finds
issues_found: 0marks that dimension as converged - Convergence is irreversible per run; a converged dimension is not re-run
- When all 4 dimensions converge, polishing is complete
- Maximum 10 total passes (hard limit)
- If not converged after 10 passes, surface state to human with recommendation to split into smaller units
State Persistence
State tracked in .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
}
This file enables resume across sessions. On resume, skip converged dimensions and continue from the next unconverged dimension.
Subagent Isolation
Each pass dispatches a self-contained subagent to prevent context accumulation. The subagent receives:
- Target directory/files
- Pass type and scope (from pass-definitions module)
- Previous pass results (summary only, not full context)
Subagent dispatch is optional for targets under 100 lines of code; in-session review is sufficient for small files.
Workflow
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-athola-nm-attune-dorodango": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
extract
Analyze a codebase and build a knowledge base of business logic, architecture, data flow, and engineering patterns. The foundation for gauntlet challenges and agent integration
discourse
>- Scan community discussion channels (HN, Lobsters, Reddit, tech blogs) for experience reports and opinions on a topic
synthesize
>- Merge, deduplicate, rank, and format research findings from multiple channels into a coherent report. Use after research agents return their results
workflow-monitor
Detect workflow failures and inefficient patterns, then create GitHub issues for improvement via /fix-workflow
architecture-paradigm-hexagonal
Hexagonal (Ports and Adapters) architecture isolating domain logic from infrastructure