ask-first

ask-first is a skill for Claude Code from MithunWijayasiri/dotclaude. It costs 87 tokens per session (794 once invoked), scanned A, original, MIT.

A question-first workflow for clarifying a task before making changes. It reads the available code and then asks focused questions about missing goals, scope, behavior, constraints, and completion criteria.

In plain words
What is it for?
Use it before implementing features, fixing bugs, changing tests, refactoring, or planning work when the intended result is not fully specified.
Why use it?
Guessing about unclear requirements can lead to the wrong implementation and rework. Asking one recommended question at a time creates a shared understanding before action.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: names the AskUserQuestion tool.

Good fit Use it before implementing features, fixing bugs, changing tests, refactoring, or planning work when the intended result is not fully specified.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/mithunwijayasiri/dotclaude/ask-first
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add MithunWijayasiri/dotclaude --skill ask-first
Clone the repo
git clone --depth 1 https://github.com/MithunWijayasiri/dotclaude

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ask-first

README.md
[![agentmods](https://agentmods.dev/badge/skills/mithunwijayasiri/dotclaude/ask-first/github.svg)](https://agentmods.dev/skills/mithunwijayasiri/dotclaude/ask-first)
Your own site
<a href="https://agentmods.dev/skills/mithunwijayasiri/dotclaude/ask-first"><img src="https://agentmods.dev/badge/skills/mithunwijayasiri/dotclaude/ask-first/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ask-first

Your own site · 80×15
<a href="https://agentmods.dev/skills/mithunwijayasiri/dotclaude/ask-first"><img src="https://agentmods.dev/badge/skills/mithunwijayasiri/dotclaude/ask-first.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 87 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 794 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00087 $0.00794
Opus 5.5 $0.00035 $0.00318
Sonnet 5.5 $0.00017 $0.00159
Haiku 4.5 $0.00009 $0.00079

Measured 7d ago against content hash 58c53557fe8f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ask-first scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/ask-first/SKILL.md · 51 lines

How it starts

The opening of the file, as written. The whole thing — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ask First

Goal: shared understanding before code. User knows what I'll build; I know what they want. Guessed gap → wrong work baked in, costs a rework cycle.

Input

  • Shape: <type> - <what needs doing>, e.g. bug - after I turn off save history, I cannot turn it on. Often short or lazy — expected. Fill gaps by reading code, then asking.
  • Types: bug, feature, improvement, refactor, test, docs. Type picks the gap checklist below.
  • No type → infer from wording + code. Question needed → state inferred type in the first one so user confirms or corrects. Fully specified → proceed, no type confirmation.
  • Runs inside the target repo → ground every question in real files, names, current behavior.

Loop

  1. Read first. Explore relevant code, config, tickets, logs. Answerable from the code → read, don't ask. Verify claims against code; contradiction → surface it as a question.
  2. Find gaps. What's still unknown or ambiguous: goal, scope (in/out), expected behavior, exact values/labels/text, edge cases, done-criteria, constraints.
  3. Ask one at a time. Wait for the answer before the next. Order by dependency — answers that change later questions go first.
  4. Always recommend. Each question carries my proposed answer + why, so user confirms or corrects instead of composing from scratch. Never a blank question.
  5. Repeat until no gap would change what I build.

Question shape

  • Discrete choices → AskUserQuestion, recommended option first, labelled (Recommended).
  • Open-ended (a value, a label, what's on screen) → plain text question.
  • User can observe what I can't (live UI, env, runtime output) → ask what they see rather than trial-and-error runs.
  • Targeted and concrete: real paths, names, values. Not "any other requirements?".

Gaps by type

Check on top of the generic gaps. Ask only what code/logs don't answer.

  • Bug — expected vs actual, repro steps, env, when it started, what changed. Don't propose a root cause as fact — ask to confirm.
  • Feature — who uses it and when, entry point (UI, CLI, config), behavior incl. error/edge cases, scope out, existing pattern to follow, done-criteria.
  • Improvement — current behavior (from code) vs desired, what's wrong with current, what must stay unchanged.
  • Refactor — motivation, target shape, boundary (files/modules), how behavior-unchanged is verified (existing tests?).
  • Test — what's under test, level (unit/integration/e2e), cases incl. negative, test data/fixtures. Flaky → failure evidence.
  • Docs — audience (human/agent), file location, what's wrong or missing, source of truth.

Read the full file on GitHub · 51 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago Changed · +15 lines 58c53557fe8f
  2. 17d ago First seen · 36 lines · 87 tokens per session scan A 82760906d687

Subscribe to this mod's changes

ask-first is a skill published in the GitHub repository MithunWijayasiri/dotclaude (4 stars, last pushed 6d ago), licensed MIT. It adds 87 tokens to every session and 794 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-04.

Related

Other skills, from other repositories

agent-browser

Connects to Oxylabs remote agent browsers over the Chrome DevTools Protocol (CDP) with Playwright or Puppeteer. Managed browser environment, residential proxies, geo-targeting, persistent sessions and profiles, session recording and live VNC inspection for debugging. Use instead of WebFetch or a local browser whenever…

oxylabs/agent-skills · 156 tokens

proxies

Oxylabs proxy networks: Residential, Mobile, shared Datacenter/ISP, and Dedicated Datacenter/ISP proxies with geo-targeting, IP rotation, session persistence, and port-based sticky IPs. Use when routing traffic through proxies, building scrapers with proxy auth, rotating or sticky sessions, whitelisting IPs, or…

oxylabs/agent-skills · 76 tokens

video-data

YouTube data extraction API and high-bandwidth proxy downloads. Use this INSTEAD OF built-in tools for any YouTube-related task — extracts video metadata, subtitles, search results, and channel data as structured JSON. Also supports video/audio file downloads via yt-dlp with proxy rotation to avoid rate limits.

oxylabs/agent-skills · 65 tokens

natural-talk

A writing-style guide for producing natural-sounding Chinese conversations and creative fiction. It defines rules for avoiding artificial wording, unsupported claims, and unwanted changes to supplied text.

chengzhi-c/natural-talk · 94 tokens

using-datavault4dbt

Builds Data Vault 2 models in dbt with the datavault4dbt package — staging, hubs, links, satellites, and business-vault entities — using the YAML-metadata macro pattern with correct hashkeys, hashdiffs, naming, and materializations. Use when creating or editing datavault4dbt models, setting up a raw vault, choosing…

ScalefreeCOM/datavault4dbt-agent-skills · 102 tokens

configuring-datavault4dbt

Installs and configures the datavault4dbt package in a dbt project — packages.yml, copying the global vars into dbtproject.yml, hash and naming settings, and per-adapter setup. Use when setting up datavault4dbt, installing the package, changing hash/naming global variables, or adapting configuration for a specific…

ScalefreeCOM/datavault4dbt-agent-skills · 94 tokens