discovery · avelikiy — Claude Code skill: questions before design
This skill prompts an agent to check project context and constraints before making architecture, audit, or security-plan recommendations. Use it when the request leaves key details open.
npx skills add avelikiy/great_cto --skill discovery -a claude-codeWhat discovery does
Before drafting an architecture document, audit, or threat model, discovery guides the agent through seven areas: consumers and dependencies, scale, contracts that must stay fixed, budget, failure impact, prior work, and decision-makers. It asks the agent to search the project and record findings in a Context section.
The skill can use Read, Grep, Glob, and Bash commands limited to git:* and bd:*; its paths include docs/**, .great_cto/**, and README*. It recommends skipping discovery for nano projects, utility extraction without behavior changes, and bug fixes with a clear reproduction. That makes its intended scope clear: for those cases, it treats context gathering as overhead.
What it helps with
- find module consumers before changing an interface
- record scale and budget before choosing an architecture
- check Beads and project documents for prior attempts
- assess failure impact before planning safeguards
- identify reviewers and decision-makers for a proposal
Example prompts for the agent
- Before proposing an architecture, inspect the repository for dependencies, constraints, and earlier decisions.
- Start the audit by gathering project context and writing a Context section.
- Before drafting a threat model, check what must remain unchanged and who approves the plan.
How to install discovery
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill discovery -a claude-code2Manually: put the files in place
~/.claude/skills/discovery/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/discovery/
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill discovery -a codex2Manually: put the files in place
.agents/skills/discovery/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill discovery -a cursor2Manually: put the files in place
.cursor/skills/discovery/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install avelikiy/great_cto discovery2Manually: put the files in place
.github/skills/discovery/SKILL.md1Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill discovery -a gemini-cli2Platform CLI
gemini skills install https://github.com/avelikiy/great_cto --path skills/discoveryManually: put the files in place
.devin/skills/discovery/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add avelikiy/great_cto --skill discovery -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about discovery
How do I install discovery in Claude Code?
Run npx skills add avelikiy/great_cto --skill discovery -a claude-code. The skill file will be at ~/.claude/skills/discovery/SKILL.md.
What does discovery do?
It guides an agent through project questions and records findings before architecture decisions, audits, or security planning.
When does discovery recommend skipping its process?
For nano projects, utility extraction that leaves behavior unchanged, and bug fixes with a clear reproduction.
Source text
SKILL.md · MIT
--- name: discovery description: Structured pre-design questioning to surface hidden constraints before any architecture decision is locked in. Forces the architect/auditor/reviewer to enumerate what they DON'T know before proposing. when_to_use: | Apply BEFORE producing architecture docs, audit findings, security plans: - architect, before writing ARCH-*.md - project-auditor, at the start of /audit - security-officer, before threat-modeling - l3-support, when triaging a new incident - regulated-reviewer, when classifying compliance scope - any reviewer who needs domain context the user hasn't given effort: medium allowed-tools: Read, Grep, Glob, Bash(git:*), Bash(bd:*) paths: - "docs/**" - ".great_cto/**" - "README*" --- # Discovery — surface hidden constraints first The biggest cause of bad agent output is missing context. Before locking in a decision, enumerate what you don't know and surface it. ## The 7 discovery dimensions For any non-trivial request, walk through these and record findings in the report's "Context" section: ### 1. Who depends on this? - What other services / teams consume the thing you're changing? - Are there public consumers (open API, OSS users)? - Is there a deprecation path if you break compatibility? Grep for: `grep -rE "import.*<your-module>|require.*<your-module>"` in the repo and any sibling repos you have access to. ### 2. What's the scale today, what's it in 6 months? - Current traffic: requests/sec, queries/sec, MB/day, daily-active-users - Storage: rows in main tables, size on disk - Cost: monthly LLM spend, infra spend - 6-month projection: linear? exponential? unknown? If unknown, write: "scale unknown — request from user before proceeding." ### 3. What MUST not change? - Existing API contracts (backward compatibility window) - Database schema columns referenced by reporting / BI - File formats consumed by other tools - Regulatory commitments (audit log retention, SLA RPO/RTO) ### 4. What's the budget? - Monthly cost ceiling (LLM + infra) - Headcount: 1-person task vs cross-team effort - Calendar: "must ship by X" vs "best by Y" If unstated, default to "small project_size, 1-engineer-week, <$200/mo budget." Surface this default in the report so the user can correct. ### 5. What's the failure mode that matters? Ask: "If this feature breaks at 3am, what gets paged?" - Data loss → CRITICAL - Wrong answer to user → HIGH - Slow response → MEDIUM - Bad UX (cosmetic) → LOW The failure mode dictates investment level (e.g., do you need a canary? A circuit breaker? Just a feature flag?). ### 6. What's already been tried? - Search Beads: `bd search "<keyword>"` — has this been attempted before? - Search docs/decisions: any superseded ADR on this topic? - Search lessons.md: any past learning about this pattern? If past work exists, build on it. Don't redo it. ### 7. Who decides? - Is there a CTO sign-off needed (gate:plan, gate:ship)? - Is there a compliance reviewer required (PCI for fintech, HIPAA for healthcare)? - Does this need an RFC (multi-team decision)? ## Output A discovery section at the top of your report: ```markdown ## Context - **Consumers:** <list, or "unknown — TBD with user"> - **Scale:** <today, 6mo projection> - **Frozen contracts:** <list, or "none identified"> - **Budget:** <cost + time + people> - **Failure-mode tier:** Critical | High | Medium | Low - **Prior work:** <links to ADRs/lessons, or "none found"> - **Decision-makers:** <gate or RFC required> ``` ## When to skip - **nano project_size** — discovery is overhead. Skip and document that you skipped: "nano — discovery skipped per skill rules." - **Pure utility extraction** with no behaviour change — skip. - **Verbal bug-fix from user** with clear repro — skip. ## Common gotchas - **Don't assume.** If you write "I assume the user wants X", that assumption belongs in Context as a question, not as a fact. - **Don't outsource to user.** Discovery is YOUR job. Bring back as many answers as Glob/Grep/git can produce. Only ask the user for what code cannot tell you.
© avelikiy · MIT · avelikiy/great_cto
Similar skills
All skills for Agent setup: memory, context, orchestration →discovery by other authors comes first.