Polishes working code through successive quality passes in fresh subagents. Use after tests pass when code needs multi-dimension refinement before release.
npx skills add https://github.com/athola/claude-night-market --skill dorodango
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.
pass
quality dimensions
skill directly: pensive:code-refinement, etc.)
Four quality dimensions, each a self-contained pass:
See modules/pass-definitions.md for detailed scope
of each pass type.
issues_found: 0 marks thatdimension as converged
dimension is not re-run
human with recommendation to split into smaller units
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.
Each pass dispatches a self-contained subagent to
prevent context accumulation. The subagent receives:
Subagent dispatch is optional for targets under 100
lines of code; in-session review is sufficient for
small files.
stop
pensive:code-refinement - used in clarity passconserve:code-quality-principles - KISS/YAGNI/SOLIDimbue:latent-space-engineering - frame pass promptswith emotional framing for better results
.attune/dorodango-state.json exists with "converged": true and all four dimensions(correctness, clarity, consistency, polish) listed under converged_dimensions.
pass_count in the state file is <= 10; if 10 passes complete without fullconvergence, the skill surfaces the unconverged dimensions to the user with a recommendation
to split the target into smaller units.
correctness pass that finds failing tests never marks the dimension as converged.
the state file recording individual pass results rather than a single bulk entry.
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take athola/dorodango from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.