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.
npx skills add Ghosteken/agent-harness --skill ask-questions-if-underspecifiedgit clone --depth 1 https://github.com/Ghosteken/agent-harnessWrote 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.
[](https://agentmods.dev/skills/ghosteken/agent-harness/ask-questions-if-underspecified)<a href="https://agentmods.dev/skills/ghosteken/agent-harness/ask-questions-if-underspecified"><img src="https://agentmods.dev/badge/skills/ghosteken/agent-harness/ask-questions-if-underspecified/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.
<a href="https://agentmods.dev/skills/ghosteken/agent-harness/ask-questions-if-underspecified"><img src="https://agentmods.dev/badge/skills/ghosteken/agent-harness/ask-questions-if-underspecified.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00020 | $0.00946 |
| Opus 5 | $0.00010 | $0.00473 |
| Sonnet 5 | $0.00004 | $0.00189 |
| Haiku 4.5 | $0.00002 | $0.00095 |
Grade A, and why
ask-questions-if-underspecified 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 8d 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.
This is a copy
98% identical to ask-questions-if-underspecified — 3 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ask Questions If Underspecified
When to Use
Use this skill when a request has multiple plausible interpretations or key details (objective, scope, constraints, environment, or safety) are unclear.
When NOT to Use
Do not use this skill when the request is already clear, or when a quick, low-risk discovery read can answer the missing details.
Goal
Ask the minimum set of clarifying questions needed to avoid wrong work; do not start implementing until the must-have questions are answered (or the user explicitly approves proceeding with stated assumptions).
Workflow
1) Decide whether the request is underspecified
Treat a request as underspecified if after exploring how to perform the work, some or all of the following are not clear:
- Define the objective (what should change vs stay the same)
- Define "done" (acceptance criteria, examples, edge cases)
- Define scope (which files/components/users are in/out)
- Define constraints (compatibility, performance, style, deps, time)
- Identify environment (language/runtime versions, OS, build/test runner)
- Clarify safety/reversibility (data migration, rollout/rollback, risk)
If multiple plausible interpretations exist, assume it is underspecified.
2) Ask must-have questions first (keep it small)
Ask 1-5 questions in the first pass. Prefer questions that eliminate whole branches of work.
Make questions easy to answer:
- Optimize for scannability (short, numbered questions; avoid paragraphs)
- Offer multiple-choice options when possible
- Suggest reasonable defaults when appropriate (mark them clearly as the default/recommended choice; bold the recommended choice in the list, or if you present options in a code block, put a bold "Recommended" line immediately above the block and also tag defaults inside the block)
- Include a fast-path response (e.g., reply
defaultsto accept all recommended/default choices) - Include a low-friction "not sure" option when helpful (e.g., "Not sure - use default")
- Separate "Need to know" from "Nice to know" if that reduces friction
- Structure options so the user can respond with compact decisions (e.g.,
1b 2a 3c); restate the chosen options in plain language to confirm
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.
- 8d ago First seen · 92 lines · 20 tokens per session scan A 42690ce0d2ad
ask-questions-if-underspecified is a skill published in the GitHub repository Ghosteken/agent-harness (2 stars, last pushed today), licensed MIT. It adds 20 tokens to every session and 946 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to ask-questions-if-underspecified, differing in 3 lines, and is treated as a copy.
Other skills, from other repositories
agent-self-scheduling
Schedule AI agent runs with cron, loops, or external clocks while avoiding unsafe tight autonomous timers.
serial
A tool for communicating with devices over serial ports, such as USB-to-UART connections. It can find ports, watch incoming data, send messages, save logs, and display raw bytes in hexadecimal form.
eide
A build tool for EIDE projects, an embedded-development extension for Visual Studio Code. It finds EIDE project settings and builds firmware using ARM CC or GCC.
net
A toolkit for diagnosing network connections and traffic in embedded systems. A packet capture is a recorded sample of network traffic, and this tool can create or analyze captures in formats such as pcap and pcapng.
terminal
An interactive terminal session that keeps a live connection to a local shell, an SSH remote computer, or a serial device. It lets you send commands and read the next output while preserving the session’s login, menu, or program state.
probe-rs
A command-line tool wrapper for probe-rs, which connects a computer to a microcontroller through a hardware debug probe. It supports common firmware programming and debugging operations over SWD or JTAG.