Agent skill
clarifying-intent
Use when user asks to create, build, design, add, or generate something — especially when the request is vague, underspecified, or the scope is unclear. Use before starting creative work, features, components, or any new functionality.
Install this agent skill to your Project
npx add-skill https://github.com/l-lin/dotfiles/tree/main/home-manager/modules/share/ai/.config/ai/skills/clarifying-intent
SKILL.md
Clarifying Intent
Overview
Don't build what wasn't asked for. Before starting any creative or generative work, use Socratic questioning to surface the user's real intent, constraints, and success criteria.
Core principle: A well-understood problem is half-solved. Questions are cheaper than rework.
Core Pattern
STOP. Ask before coding.
Use ask-user-question tool to probe only the dimensions that are actually missing. Don't ask everything — ask what matters.
Dimensions to Consider
- Intent / Why — ask when purpose isn't stated → "What problem does this solve?"
- Audience / Who — ask when it affects UX or tone → "Who will use or see this?"
- Constraints — ask when tech, time, or style limits are unknown → "Any constraints I should know about?"
- Success criteria — ask when "done" is unclear → "What does good look like to you?"
- Scope — ask when it could be large or small → "Is this a quick prototype or production-ready?"
Decision Heuristic
Ask yourself: "If I'm wrong about X, does the whole thing need to be redone?"
- Yes → Ask about X
- No → Assume and note assumption
Target: 2–4 questions max. More than that is interrogation, not clarification.
Implementation
User: "Add a dashboard component"
Agent thinks:
- Why? (unclear — metrics? navigation? admin?)
- Who? (unknown — end user? internal?)
- Scope? (unknown — full page? widget?)
- Constraints? (assume existing stack unless asked)
Agent asks (using ask-user-question):
1. "What's the main purpose — monitoring data, navigation, or something else?"
2. "Who's the audience — end users, admins, internal team?"
3. "Is this a quick prototype or production-ready?"
→ Block until answered. Then build with full context.
Blocking Rule
Do not start implementation until answers are in.
- Don't "start on the obvious parts" while waiting
- Don't make assumptions silently — if you must assume, state them and ask for confirmation
- Don't write placeholder code "to save time"
Common Mistakes
- Asking all 5 dimensions every time — pick only what's missing, read the request
- Proceeding with assumptions silently — state assumptions explicitly, ask for confirmation
- One giant multi-part question — use
ask-user-questionwith separate, focused options - Re-asking after user answered — track answers; don't loop
- Skipping this for "simple" requests — simple requests have the most wrong assumptions
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
napkin
Maintain a per-repo napkin as a continuously curated runbook (not a session log). Activates EVERY session. Read and curate it before work, keep only recurring high-value guidance, organize by priority-sorted categories, and cap each category at top 10 items..
datadog-pup
Use when interacting with Datadog resources using the `pup` CLI, especially for APM traces, metrics, monitors, notebooks, and synthetic tests.
tmux
Use when you need a persistent terminal environment for long-running processes, programs requiring a TTY, REPLs, debuggers, TUI apps, or concurrent terminals — while the agent continues executing other commands.
writing-skill
Use when creating new skills, editing existing skills, or verifying skills work before deployment
code-simplifier
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to "simplify code", "clean up code", "refactor for clarity", "improve readability", or review recently modified code for elegance. Focuses on project-specific best practices.
clear-writing
Use when writing or editing any prose humans will read — documentation, commit messages, error messages, UI text, reports, or explanations. Also use when user says "write clearly", "clear writing", or "improve writing".
Didn't find tool you were looking for?