clarify
Turn a vague or underspecified task into a crisp requirements + testable acceptance-criteria document by closing the gap between what was asked and what is…
Skill by ronaknnathani
Chalk Labs
Need help deploying clarify?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ronaknnathani-clarify
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/clarify
What's inside
- Skill name
clarify- Description
- Turn a vague or underspecified task into a crisp requirements + testable acceptance-criteria document by closing the gap between what was asked and what is actually wanted. Use at the start of any non-trivial task before planning, whenever the goal is fuzzy ("make it faster", "make it more robust", "add validation"), or whenever you cannot predict how the user would judge "done". Its output feeds `plan`. (For tidying existing code, use `simplify`, not clarify.)
- License
- MIT
- Instructions
- 100 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Clarify
Produce a requirements + acceptance-criteria artifact that pins down what success looks like, so a
planner never has to guess. The bar: every requirement is measurable and every acceptance criterion is
checkable — you could hand the artifact to someone else and they'd build the right thing. This is a
peer phase to `plan`, not its parent: it grounds itself in the code via `explore`, then hands its
artifact to `plan`. It does **not** design the implementation and does **not** invoke `plan`.
## Process
1. **Resolve from the codebase before asking.** If a question's answer is discoverable in the code —
how a thing currently works, what the existing convention is, where an integration point lives —
call `explore` (dispatch a sub-agent when available; otherwise do it inline) and find it. Only ask
the user what you genuinely cannot determine. Bothering them with a discoverable fact erodes trust.
2. **Form an explicit hypothesis of the whole task.** Write down, for yourself, the outcome you think
they want and the success criteria you'd accept. This is what you'll test against the stop
condition — and it makes your questions sharper.
3. **Walk the coverage checklist** to find the real gaps. Probe each dimension; skip the ones the code
or the request already settle:
- **Edge cases** — empty/missing/malformed input, boundaries, concurrency, large scale.
- **Error handling** — what should fail loudly, what should degrade, what the user sees on failure.
- **Integration points** — callers, callees, schemas, events, and contracts this touches.
- **Scope boundaries** — what is explicitly in vs. out; where this task ends.
- **Design preferences** — conventions, libraries, patterns the user wants honored or avoided.
- **Backward compatibility** — existing data, APIs, configs, behavior that must keep working.
- **Performance needs** — latency/throughput/memory targets, and on which path.
4. **Interview one question at a time.** Asking several at once is bewildering — never dump a list.
Each question carries your recommended default AND your current hypothesis, made visible:
> **Q:** Should the cache invalidate on write, or expire on a TTL?
> **GUESS:** TTL — the call site tolerates staleness and write-through adds lock contention here.
Lead with the highest-leverage unknown (the one whose answer most changes the plan). Ask the
recommended default as a yes/no when you can, so the user can confirm with a word.
5. **Reframe every vague requirement into a measurable one.** A requirement you can't test isn't a
requirement. Convert runtime words into numbers and conditions:
- "make it faster" → "p95 < 200ms on the cold path under N concurrent requests"
- "handle errors gracefully" → "on a 5xx from X, retry twice then surface a typed error to the caller"
- "clean up the API" → "remove deprecated field Y; no caller in the repo references it"
6. **Apply the stop condition (~95% confidence).** Stop interviewing when you can predict how the user
would react to your next three questions — i.e. their answers wouldn't change the artifact. Don't
pad with low-value questions once you're there; don't stop early while a checklist dimension is
still genuinely open.
7. **Write the artifact** in the schema below and hand it to `plan`. List anything still unresolved
under *Open assumptions* with the default you're proceeding on — never silently pick.
## Reject vague delegation
"Sounds good", "whatever you think", "you decide" is not a sign-off — it's an unanswered question. Do
not bank it as confidence. Restate your concrete recommendation and get an explicit yes:
> You said "whatever you think." To be explicit: I'll **expire on a 60s TTL** and not invalidate on
> write. Good to lock that in, or do you want write-through? (Y/n)
If the user truly defers, record it as a resolved assumption with your chosen default and the reason —
so the artifact still reads as a decision, not a shrug.
## Output schema (the artifact)
```markdown
# Clarified: <task>
## Outcome — the one-sentence result the user actually wants
## Primary user — who consumes this and in what workflow
## Why now — the trigger / pain motivating it (1–2 lines; omit if there's no clear one)
## Success criteria — testable, checkable list; each item a verifiable assertion
- [ ] <measurable criterion, e.g. "p95 < 200ms on cold path">
## Constraints — must-honor conventions, libraries, compat, perf budgets
## Out of scope — explicitly excluded, so plan doesn't wander
## Open assumptions — unresolved items + the default each proceeds on, and why
```
Every Success criterion must be checkable by a test, a command, or an unambiguous observation — never
"works well" or "is robust". If you can't state how you'd verify it, it isn't done. State each as an
**observable outcome** (what must be true), never the **mechanism** that achieves it — "on a 5xx, the
caller sees a typed error within 2 retries" is an outcome; *how* to implement the retry belongs to
`plan`. When a measurable reframe starts naming structure or an algorithm, you've crossed into design;
pull back to the outcome.
## Red flags
- Asking the user something `explore` could have answered from the codebase.
- Dumping several questions at once instead of one at a time.
- A question without a visible GUESS and a recommended default.
- A success criterion that isn't measurable ("fast", "clean", "robust", "user-friendly").
- Banking "sounds good" / "whatever you think" as confidence instead of restating and confirming.
- Silently choosing when uncertain instead of recording an Open assumption with its default.
- Designing the implementation, or invoking `plan` — both are out of scope for `clarify`.
- Interviewing past the stop condition, or stopping while a checklist dimension is still open.
## Verification checklist
- [ ] Every discoverable fact was resolved via `explore`, not asked of the user.
- [ ] Questions were asked one at a time, each with a visible GUESS and a recommended default.
- [ ] The coverage checklist was walked; each dimension is settled or listed under Open assumptions.
- [ ] Every Success criterion is testable/checkable — no vague adjectives.
- [ ] No vague delegation was banked as confidence; deferrals are recorded as resolved assumptions.
- [ ] The artifact follows the schema and is self-contained enough for `plan` to consume directly.
- [ ] The skill stayed in scope: no implementation design, no `plan` invocation.From ronaknnathani/relay, MIT.
More from ronaknnathani/relay
- 0.604score
simplify
ronaknnathani
Reduce complexity in recently changed code — cut needless abstraction, dead code, and duplication; improve names and structure — WITHOUT changing behavior.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review
ronaknnathani
Review a change for correctness, quality, and guideline compliance using a library of specialized reviewer roles.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review-pr
ronaknnathani
Review someone else's pull request (a PR URL or owner/repo#N) and leave a pending (draft) GitHub review in the user's voice, checked against their AGENTS.md…
SkillAFreshness: A★ 3Claude Code +9 - 0.566score
stack-ship
ronaknnathani
Use only for a standalone stack explicitly launched with `relay --workflow stack-ship`; never invoke inside a tech-lead-managed Relay program.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-monitor
ronaknnathani
Handle one pull request attention event end to end — read the watcher digest, triage it, delegate the fixing to pr-fix, re-observe the pull request, and exit.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-fix
ronaknnathani
Bring a PR to mergeable — fix CI failures, address review comments, and resolve merge conflicts.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
deliver-pr
ronaknnathani
Deliver one change end to end as a single pull request — clarify → plan → implement → simplify → review → validate → open-pr — resuming from wherever it left…
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
tl
ronaknnathani
Manage a Relay program as the CEO-facing tech lead: shape goals and contracts, prioritize dependency-aware work, dispatch senior worker agents, and surface…
SkillBFreshness: B★ 3Claude Code +9 - 0.544score
build-write-like-me
ronaknnathani
Use this skill whenever the user wants to capture, clone, or codify their own (or someone's) writing voice into a reusable skill.
SkillBFreshness: B★ 3Claude Code +9 - 0.519score
open-pr
ronaknnathani
Stage, commit, push, and open a pull request following the author's repository and AGENTS.md conventions — repo-style commit messages, a prose PR summary, and…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
validate
ronaknnathani
Verify a change is ready to ship by checking it against its acceptance criteria and running the repo's own quality gates in order, then report a pass/fail…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
commit
ronaknnathani
Create a single well-formed git commit from the working changes, following the repo's AGENTS.md and recent commit-message conventions.
SkillCFreshness: C★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 29, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ronaknnathani/relay
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ronaknnathani
- 0.604score
simplify
ronaknnathani
Reduce complexity in recently changed code — cut needless abstraction, dead code, and duplication; improve names and structure — WITHOUT changing behavior.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review-pr
ronaknnathani
Review someone else's pull request (a PR URL or owner/repo#N) and leave a pending (draft) GitHub review in the user's voice, checked against their AGENTS.md…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review
ronaknnathani
Review a change for correctness, quality, and guideline compliance using a library of specialized reviewer roles.
SkillAFreshness: A★ 3Claude Code +9 - 0.566score
stack-ship
ronaknnathani
Use only for a standalone stack explicitly launched with `relay --workflow stack-ship`; never invoke inside a tech-lead-managed Relay program.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-monitor
ronaknnathani
Handle one pull request attention event end to end — read the watcher digest, triage it, delegate the fixing to pr-fix, re-observe the pull request, and exit.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-fix
ronaknnathani
Bring a PR to mergeable — fix CI failures, address review comments, and resolve merge conflicts.
SkillBFreshness: B★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get clarify running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
clarify skill. Agent Mart. https://agentmart.dev/skills/ronaknnathani-clarify (last updated 2026-10-24)