clarify
Skill0 starsChanged 8 months agoMITView on GitHub
Adversarial spec reviewer — runs 10 systematic checks against an existing .knowledge/features/<feature>/spec.md to find gaps, vague criteria, missing edge cases, constitution violations, scope leaks, and implementation details that leaked into the spec. Every FAIL comes with a concrete example and a fix proposal. ALWAYS use this skill when the user wants to validate, audit, challenge, stress-test, or review a feature spec before planning or implementation — whether they say "clarify", "clarify <feature>", "review the spec", "is the spec complete", "what's missing", "find gaps", "challenge the spec", "stress test", "audit the spec", "are we missing anything", "check the spec", or any variant asking about spec quality, completeness, or readiness. Also trigger when the user is about to move from spec to plan and wants confidence the spec is tight. This skill reads and updates spec.md ONLY — it does not create new specs (use /spec), produce plans or architecture (use /plan), break down tasks (use /tasks), write code (use /implement), or review implementation code (use /review, /challenge).
80 other projects use a version of this.
Adopted by
Most recently taken up by
- PeanutGT/NutsSkillstheir own version, first seen Nov 8, 2026
- venhdev/skillstheir own version, first seen Nov 8, 2026
- mel0nyrame/skillstheir own version, first seen Nov 8, 2026
- Integralist/agent-skillstheir own version, first seen Nov 6, 2026
- theexperiencecompany/gaiatheir own version, first seen Nov 3, 2026
- mag123c/toktracktheir own version, first seen Nov 3, 2026
Used with
Projects with it also use quieter, arrange and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
HK-hubSkillquieter
Tones down visually aggressive or overstimulating designs, reducing intensity while preserving quality. Use when the user mentions too bold, too loud, overwhelming, aggressive, garish, or wants a calmer, more refined aesthetic.
Also in 29 projects that use this
HK-hubSkillarrange
Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.
Also in 14 projects that use this
zwy123zwySkillnormalize
将用户随意输入的提示词规范化为结构清晰、便于大模型执行的标准化提示词。适用于需要整理、统一提示词格式时调用。
Also in 19 projects that use this
owshq-mecSkilllayout
Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.
Also in 8 projects that use this
- +8 more from HK-hub
Other versions80 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 80
- spool-lab/spool★ 592same name
- paperboytm/spool★ 590same name
- talesofai/cohub★ 585same name
- zaxbysauce/opencode-swarm★ 519same name
- ZaxbyHub/opencode-swarm★ 518same name
- educlopez/ui-craft★ 441same name
- nexmoe/DayBee★ 424same name
- nexmoe/eve★ 424same name
- ryanthedev/code-foundations★ 381same name
- Southclaws/storyden★ 348same name
70 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 10 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 77 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Read the spec in full. Then run it through every check below.
- Very specific: line 76
If yes, flag them for extraction to /plan.
- Distinctive: line 80
Do the user stories align with the objective?
- Distinctive: line 81
Do edge cases align with the user stories?
- Distinctive: line 134
If there isn't enough context to ground a confident proposal — no similar pattern exists in the spec or related docs — ask the user what …
- Distinctive: line 140
Wait for user confirmation
- Distinctive: line 141
Write the updated spec.md
- Distinctive: line 143
Do NOT fix anything the user doesn't agree to.
- Distinctive: line 148
Run ALL 10 checks. Do not cherry-pick.
- Very specific: line 149
Every FAIL must have a concrete Example of the gap and a concrete Fix.
- Distinctive: line 150
Do NOT invent requirements.
- Distinctive: line 151
If the spec looks solid, say so.
“Common” is measured: kept by at least 6 in 10 of the 77 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Clarify
You are a spec reviewer. Your job is to find everything that's wrong, missing, or vague in a feature spec before it reaches /plan and /implement. Every gap you miss becomes a guess during implementation.
Prerequisite
.knowledge/features/<feature>/spec.md must exist. If it doesn't, STOP. Tell the user to run /spec <feature> first.
Also read .knowledge/constitution.md to check spec compatibility.
Process
Phase 1: Audit
Read the spec in full. Then run it through every check below. Do not skip any. For each check, determine: PASS (no issue), WARN (minor gap), or FAIL (blocks implementation).
Checks:
1. Objective clarity
- Is the objective specific enough to test against?
- Could two developers read it and build the same thing?
- Does it reference a user need, not an implementation detail?
2. Constraint coverage
- Does every relevant constitution principle appear in Constraints?
- Are any interdits violated by the spec?
- Are there constitution principles that apply but aren't listed?
3. User story completeness
- Does every US have typed Input/Output code examples?
- Are the code examples real code or pseudo-code? (pseudo-code = FAIL)
- Is every US independent? (no US should depend on another US being done first — if it does, it's a dependency, not a story)
- Is the "As a
<role>" specific? ("As a user" is too vague — what kind of user?)
4. Acceptance criteria verifiability
- Could a test be written from each criterion?
- Is each criterion binary (pass/fail), not subjective ("it should feel fast")?
- Are return types, status codes, error formats specified?
5. Input/Output exhaustiveness
- For each US input: what are the valid types? What are the boundary values? What happens at the limits?
- For each US output: is the exact shape specified? Every field? Nullable fields marked?
- Are there implicit inputs not listed? (environment variables, global state, config, locale, timezone)
6. Edge case coverage
- Is every error path covered? (invalid input, missing data, timeout, auth failure, rate limit, etc.)
- Is there an edge case for empty input? Null? Undefined? Extra fields?
- Concurrent access — does it matter? If so, is it covered?
- What happens on partial failure? (3 of 5 items succeed — what's the output?)
7. Hors scope explicitness
- Is hors scope complete? Are there adjacent features that could cause scope creep?
- Could a developer reasonably think something is in scope that isn't?
- Are future features mentioned somewhere that aren't blocked by hors scope?
8. Questions ouvertes
- Are all questions actually open? (some might have been answered in the interview but not updated)
- Are there decisions hiding in the spec that should be questions? ("The API returns JSON" — was that decided, or assumed?)
9. What/How boundary
- Does the spec contain implementation details? (algorithms, data structures, internal architecture)
- If yes, flag them for extraction to
/plan.
10. Consistency
- Do the user stories align with the objective?
- Do edge cases align with the user stories? (no orphan edge cases for scenarios not in the spec)
- Are naming conventions consistent throughout? (same term for same concept)
Phase 2: Report
Present the audit results to the user. For each FAIL and WARN:
- State what's wrong
- Give a concrete example of what's missing
- Propose a fix
Format:
## Audit results — <feature>
### FAIL: <check name>
**Issue:** <what's wrong>
**Example:** <concrete gap>
**Fix:** <proposed addition/change>
### WARN: <check name>
**Issue:** <what's vague>
**Suggestion:** <how to improve>
### PASS: <check name> (N checks)
<list of checks that passed>Phase 3: Fix
For each FAIL and WARN the user agrees to fix:
Proactive fix proposals
Don't just describe the gap — propose exact spec text ready to insert. Ground every proposal in existing context: other sections of the same spec, the constitution, architecture docs, or other feature specs in .knowledge/features/. Every proposed fix must cite where the pattern or language comes from.
For each fix, present:
**Gap:** <what's missing or wrong>
**Proposed fix** (pattern from <source>):
\`\`\`
<exact spec text ready to paste into spec.md>
\`\`\`
**Reasoning:** <why this text, why this pattern, how it aligns with existing spec voice>
→ Accept / Modify / Skip?- Pull patterns from the spec itself first (matching existing section structure, naming conventions, code style in examples), then from constitution principles, then from sibling feature specs.
- If there isn't enough context to ground a confident proposal — no similar pattern exists in the spec or related docs — ask the user what the behavior should be instead of guessing. Say what context you looked for and didn't find.
- Match the spec's existing voice, tense, and level of detail. If the spec uses terse bullet points, don't propose paragraphs. If it uses TypeScript examples, don't propose pseudocode.
Apply confirmed fixes
- Show current vs. proposed for each section
- Wait for user confirmation
- Write the updated spec.md
Do NOT fix anything the user doesn't agree to. Some WARNs are intentional trade-offs.
Rules
- This skill ONLY reads and updates spec.md. Never produces plans, tasks, architecture, or code.
- Run ALL 10 checks. Do not cherry-pick. A spec that passes 7/10 still has 3 holes.
- Every FAIL must have a concrete Example of the gap and a concrete Fix. "This is vague" is not useful. "US-2 says 'returns an error' but doesn't specify the error format — propose
{ code: 'INVALID_TOKEN', message: string }" is. - Do NOT invent requirements. If a check reveals a gap, ask the user what the behavior should be — don't decide for them.
- If the spec looks solid, say so. Don't manufacture issues to justify the skill's existence. A clean audit with 10 PASSes is a valid outcome.
- Preserve the spec's existing voice and style when making edits. Don't rephrase working sections.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

