Skill
refine-skill
Refine skill docs and prompts—remove needless words, move repeated work to scripts, preserve behavior and voice. Use for paths or text to tighten or distill.
Install this skill
npx skills add adiutama/skills --skill refine-skill Invoked as /refine-skill [folder-path|file-path|plain-text].
Refine skill
“Omit needless words.” — William Strunk Jr., The Elements of Style, Rule 13
Leave less on the page. Leave everything that matters.
Refine meaning, not character count: prose holds judgment; literal steps hold action; scripts hold mechanics.
| Term | Meaning |
|---|---|
| Distilled | Shorter; behavior, constraints, clarity, and voice survive |
| Hollow | Shorter, but meaning or voice is weaker |
| Oblivion | A revision broke a promise; discard it and restore the last valid version |
Paired examples: voice.md.
Step 1 — Resolve the input
| Input | Action |
|---|---|
| Plain text | Refine it; return the result in chat |
| File | Read and refine it |
| Folder | Run bash <SKILL_DIR>/scripts/discover-targets.sh "<FOLDER>" |
For a folder, refine the only candidate. If there are multiple candidates, list them and ask whether to refine all or selected files.
Done when: the run has plain text or an exact set of files.
Step 2 — Protect the promises
Do not cut what the instruction cannot live without.
Record each target's promises:
- required behavior;
- what must never happen;
- gates, confirmations, and completion criteria;
- necessary voice and judgment.
Do not edit the original file yet.
Done when: every behavior and boundary that must survive is explicit.
Step 3 — Refine the draft
Pass by pass:
- Structure — One block, one job; headings reveal the workflow.
- Execution — Actions, conditions, failures, and stops use plain English.
- Voice — Keep poetic boundaries that guide judgment. Cut ornament.
- Terms — Use one term for one meaning. Define uncommon terms that control behavior.
- Repetition — Keep the sharpest source; remove repeated meaning.
- Mechanics — Move stable repetition to
scripts/. In prose, state when to run the script, what it returns, and what to do on failure.
Do not move judgment, branches, gates, or safety rules into scripts.
Done when: the draft is shorter, its workflow is visible, and every executable instruction is literal.
Step 4 — Read it back
Check three levels:
- At a glance: Is the workflow visible?
- On reading: Is the prose human and easy to understand?
- In execution: Are actions, safety rules, and stop conditions precise?
Choose one verdict:
| Verdict | Condition |
|---|---|
| Continue | Promises hold; repetition or unclear structure remains |
| Complete | Promises hold; another pass would make the draft hollow |
| Oblivion | A promise broke; restore the last valid version |
Step 5 — Produce the result
Return:
- Refined text.
- Scripts and invocation, when applicable.
- Three to six changes.
- Verdict with a one-line reason.
No semantic drift detectedor a specific risk.
Write back by input type:
- Plain text → return the revision in chat.
- File/folder → write
<target>.optimized.md; compare it with the original; ask before overwrite. - Scripts → ask before creating or replacing under
scripts/. - Multiple files → one temporary path each; do not dump full bodies into chat.
Never overwrite an original without explicit confirmation.
Done when: the result follows the output contract and every original remains recoverable.
skills/refine-skill/SKILL.md