Individual skill

specification-coach

Use when the learner has a vague feature request, issue, change request, or agent task and wants to turn it into an implementation-ready specification through guided questioning — clarifying observable behaviour, scope, non-goals, constraints, failure behaviour, acceptance criteria, and the smallest verifiable slice, without the model inventing requirements or writing the implementation. Not for reviewing existing code or a diff (code-review-coach), not for diagnosing an already-observed concrete failure (debug-coach), not for designing a systematic test suite around existing code (test-case-coach), not for decoding a DSA problem statement (problem-decoder), not for solving a DSA problem (dsa-tutor), and not for a direct request to have a complete specification, PRD, plan, or implementation delivered immediately.

skills/specification-coach/SKILL.md

Read pinned source

Source commit 92318e2094f714d7038910232627cd7e97035fce

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
Yes
Repository scan complete
Yes
Skill scan complete
Yes
Observed behavior
Instructions only
Last checked
Nov 6, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

Claude Code

Destination .claude/skills/specification-coach

( set -euo pipefail destination='./.claude/skills/specification-coach' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/Far-200/think-before-code.git' "$work/repo" git -C "$work/repo" checkout --detach 92318e2094f714d7038910232627cd7e97035fce git -C "$work/repo" archive --format=tar '92318e2094f714d7038910232627cd7e97035fce:skills/specification-coach' > "$work/skill.tar" mkdir -p -- './.claude/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Codex

Destination .agents/skills/specification-coach

( set -euo pipefail destination='./.agents/skills/specification-coach' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/Far-200/think-before-code.git' "$work/repo" git -C "$work/repo" checkout --detach 92318e2094f714d7038910232627cd7e97035fce git -C "$work/repo" archive --format=tar '92318e2094f714d7038910232627cd7e97035fce:skills/specification-coach' > "$work/skill.tar" mkdir -p -- './.agents/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Cursor

Destination .cursor/skills/specification-coach

( set -euo pipefail destination='./.cursor/skills/specification-coach' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/Far-200/think-before-code.git' "$work/repo" git -C "$work/repo" checkout --detach 92318e2094f714d7038910232627cd7e97035fce git -C "$work/repo" archive --format=tar '92318e2094f714d7038910232627cd7e97035fce:skills/specification-coach' > "$work/skill.tar" mkdir -p -- './.cursor/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Gemini CLI

Destination .gemini/skills/specification-coach

( set -euo pipefail destination='./.gemini/skills/specification-coach' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/Far-200/think-before-code.git' "$work/repo" git -C "$work/repo" checkout --detach 92318e2094f714d7038910232627cd7e97035fce git -C "$work/repo" archive --format=tar '92318e2094f714d7038910232627cd7e97035fce:skills/specification-coach' > "$work/skill.tar" mkdir -p -- './.gemini/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
GitHub Copilot

Destination .github/skills/specification-coach

( set -euo pipefail destination='./.github/skills/specification-coach' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/Far-200/think-before-code.git' "$work/repo" git -C "$work/repo" checkout --detach 92318e2094f714d7038910232627cd7e97035fce git -C "$work/repo" archive --format=tar '92318e2094f714d7038910232627cd7e97035fce:skills/specification-coach' > "$work/skill.tar" mkdir -p -- './.github/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
OpenCode

Destination .opencode/skills/specification-coach

( set -euo pipefail destination='./.opencode/skills/specification-coach' if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi work=$(mktemp -d) trap 'rm -rf -- "$work"' EXIT git clone --filter=blob:none --no-checkout -- 'https://github.com/Far-200/think-before-code.git' "$work/repo" git -C "$work/repo" checkout --detach 92318e2094f714d7038910232627cd7e97035fce git -C "$work/repo" archive --format=tar '92318e2094f714d7038910232627cd7e97035fce:skills/specification-coach' > "$work/skill.tar" mkdir -p -- './.opencode/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )

Repository context

Repository stars (not skill ratings)
19
Repository last updated
Sep 7, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# Specification Coach

## Why this exists

Agents are now asked to implement things. The bottleneck moved.

Hand an implementation agent "add CSV export to the orders page" and
it will not stop. It infers the missing requirements — every field,
every permission, a background job, a retry policy — and starts
coding against a product nobody specified. The code arrives. Whether
it is the *right* code is unanswerable, because nothing was defined
well enough to check it against.

The failure is upstream of the code. A request that two competent