discovering-context
Use when a goal is big, vague, or dependency-heavy and you need to map every piece of context required before planning — "map the context", "what context do I…
Skill by uhstray-io
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/uhstray-io-discovering-context
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/discovering-context
What's inside
- Skill name
discovering-context- Description
- Use when a goal is big, vague, or dependency-heavy and you need to map every piece of context required before planning — "map the context", "what context do I need", "build a context graph/DAG", "what do I need to know before I can plan this", "discover the dependencies first"
- License
- MIT
- Instructions
- 205 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Discovering Context
## Overview
Before you can write a good plan, you must know **what you need to know**. This
skill builds a **context dependency graph** — a DAG rooted at the goal whose
nodes are the pieces of context required to plan it, and whose edges are "B is
needed to satisfy A". You interview the user to resolve decisions, add a node
for each piece of context the goal depends on, then ask of **every node**:
*"do I need more context to satisfy this?"* — expanding leaves until the graph
saturates. The converged map is the input to `writing-plans`.
**Core principle:** A plan is only as good as the context behind it. Discover
and structure the context *first*, as a graph, so planning starts from a
complete picture instead of guesses.
**This is the upstream phase.** It composes into the existing flow:
```
discovering-context → writing-plans → executing-plans
(this skill) (the plan) (the work)
```
**Announce at start:** "I'm using the discovering-context skill to map the
context this goal depends on before we plan it."
## When to Use
- The goal is large, ambiguous, or touches systems/decisions you don't yet understand
- You catch yourself about to plan on assumptions ("I'll just assume they use JWT…")
- Requirements exist but the *unknowns* haven't been enumerated
- Before `writing-plans` on anything non-trivial
**When NOT to use:** a small, fully-understood change with no open decisions —
go straight to `writing-plans`. This is context-cartography, not design
dialogue: for settling *what to build*, that is `brainstorming`; this skill
maps *what you must know* to build it. Run them together on big work
(brainstorm the design, discover the context) — they are complementary, not
duplicates.
## The Loop
```dot
digraph discovering_context {
"Seed: root = GOAL" [shape=box];
"Interview one branch\n(batched, recommended answers)" [shape=box];
"Answer opens new questions?" [shape=diamond];
"Add/expand nodes\n(each = context needed)" [shape=box];
"For each node: need MORE\ncontext to satisfy it?" [shape=diamond];
"Add child node + edge" [shape=box];
"Two dry rounds\n(nothing new added)?" [shape=diamond];
"Ask user: anything missing?" [shape=diamond];
"Write context-map.md\n→ hand to writing-plans" [shape=doublecircle];
"Seed: root = GOAL" -> "Interview one branch\n(batched, recommended answers)";
"Interview one branch\n(batched, recommended answers)" -> "Answer opens new questions?";
"Answer opens new questions?" -> "Interview one branch\n(batched, recommended answers)" [label="yes, recurse"];
"Answer opens new questions?" -> "Add/expand nodes\n(each = context needed)" [label="no"];
"Add/expand nodes\n(each = context needed)" -> "For each node: need MORE\ncontext to satisfy it?";
"For each node: need MORE\ncontext to satisfy it?" -> "Add child node + edge" [label="yes"];
"Add child node + edge" -> "For each node: need MORE\ncontext to satisfy it?";
"For each node: need MORE\ncontext to satisfy it?" -> "Two dry rounds\n(nothing new added)?" [label="no"];
"Two dry rounds\n(nothing new added)?" -> "Interview one branch\n(batched, recommended answers)" [label="no, keep expanding"];
"Two dry rounds\n(nothing new added)?" -> "Ask user: anything missing?" [label="yes"];
"Ask user: anything missing?" -> "Add/expand nodes\n(each = context needed)" [label="user names a gap"];
"Ask user: anything missing?" -> "Write context-map.md\n→ hand to writing-plans" [label="user confirms complete"];
}
```
### 1. Seed
Capture the goal verbatim as the root node `GOAL`. Take a **light** look at the
obvious entry points (README, top-level layout) so the interview isn't blind —
don't spelunk the whole codebase; unknowns become `needs-research` nodes to
resolve later, not exploration to do now.
### 2. Interview relentlessly — batched, one branch at a time
Walk down **one branch of the dependency tree at a time**, resolving decisions
before moving on. Ask with the **AskUserQuestion** tool so the user gets
selection boxes:
- **Every question carries your recommended answer as option 1**, labeled
`(Recommended)`, with a one-line reason in its description.
- Batch the questions that belong to the *same branch* into one call (up to 4).
- **If an answer opens new questions, recurse** — ask the follow-ups before
leaving the branch. Keep going until that branch is fully understood, then
move to the next. Relentless means: no open decision left implicit.
- Open-ended questions with no discrete options → ask in prose, still with a
recommended answer. (Hybrid is fine; prefer the boxes.)
Never plan on an unstated assumption. If you would have to assume it, it is a
node.
### 3. Build & expand the graph
Each resolved-or-open piece of context becomes a **node**. Draw an **edge
`A → B`** when B is context required to satisfy A. Then apply the recursion that
makes this a graph and not a checklist:
> For **every** node ask: *"Do I have enough to plan this, or does satisfying
> it depend on context I haven't captured yet?"* If more is needed, add a
> **child node + edge** and repeat on the child.
Example: `GOAL → auth` → satisfying `auth` needs `session-store` → which needs
`current-infra` (research node) and `data-retention-policy` (user-input node).
Keep descending each branch until its leaves pass the **leaf test**.
**The leaf test — a node may stop expanding ONLY when it is one of:**
- **(a) a decision** with a small enumerable option set AND your recommended default,
- **(b) a fact** answerable by reading specific code/docs/config (name the source), or
- **(c) a requirement** with a concrete, **measurable target value** (a number, not "fast" — "p95 remote apply < 250ms").
A question with no answer path is **not** a leaf. Expand **every branch to the
same standard** — the failure mode is descending deep on the interesting branch
(the core algorithm) and leaving the tedious ones (security, migration, ops,
a11y) one level shallow. If a branch feels boring, that is not permission to
stop early.
### 4. Saturate, then confirm
Keep looping steps 2–3 until **two consecutive rounds add no new nodes**
(auto-saturation — the graph has stopped growing). Saturation is not "the shapeFrom uhstray-io/huhhb, MIT.
More from uhstray-io/huhhb
- 0.579score
evolve-review
uhstray-io
Use when running evolve's learning pass over recent sessions — triaging captured observations into overlay patches, new overlays, repo-memory entries, or…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
buhhdy-model-calibration-refresh
uhstray-io
Use when buhhdy's provider/model/auth facts need re-verifying — the operator says "run calibration refresh", the monthly refresh is due, a dispatch just…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-map
uhstray-io
Use when understanding the whole skill ecosystem and how skills relate — inventorying every skill across tiers (repo / user / plugin), drawing relationships…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-skills
uhstray-io
Use when reviewing the skill library as a whole and driving the skill lifecycle — auditing every hub skill and overlay against usage telemetry, bench history…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
core-workflows
uhstray-io
Use when starting new planning/research on a project or picking up development against an existing plan — buhhdy's two standard, repeatable sequences…
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
investigate
uhstray-io
Delegate read-only investigation, debugging, audit, search, or code-understanding tasks to sub-agents; synthesize only from their structured reports.
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
cross-review
uhstray-io
Verify an implementer's diff with an INDEPENDENT, different-vendor sub-agent (diff plus contract only), LOCALLY and BEFORE the PR is opened; turn blocking…
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
fanout
uhstray-io
Run independent subtasks in parallel — one git worktree and one implementation sub-agent per task, each cross-reviewed LOCALLY before it opens its own PR.
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
routing-guide
uhstray-io
Reference skill for buhhdy's provider routing logic — the decision tree, model tier table, per-provider strengths, skill-to-provider affinity, and…
SkillBFreshness: B★ 5Claude Code +9 - 0.575score
evolve-distill
uhstray-io
Use when turning a repeated, successful multi-step workflow from past sessions into a reusable overlay skill — distilling a proven procedure into a…
SkillBFreshness: B★ 5Claude Code +9 - 0.556score
brainstorming
uhstray-io
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
SkillBFreshness: B★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Jul 17, 2026 (3 months ago)
- Last release
- Aug 11, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/uhstray-io/huhhb
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from uhstray-io
- 0.579score
evolve-review
uhstray-io
Use when running evolve's learning pass over recent sessions — triaging captured observations into overlay patches, new overlays, repo-memory entries, or…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
buhhdy-model-calibration-refresh
uhstray-io
Use when buhhdy's provider/model/auth facts need re-verifying — the operator says "run calibration refresh", the monthly refresh is due, a dispatch just…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-map
uhstray-io
Use when understanding the whole skill ecosystem and how skills relate — inventorying every skill across tiers (repo / user / plugin), drawing relationships…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-skills
uhstray-io
Use when reviewing the skill library as a whole and driving the skill lifecycle — auditing every hub skill and overlay against usage telemetry, bench history…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
core-workflows
uhstray-io
Use when starting new planning/research on a project or picking up development against an existing plan — buhhdy's two standard, repeatable sequences…
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
investigate
uhstray-io
Delegate read-only investigation, debugging, audit, search, or code-understanding tasks to sub-agents; synthesize only from their structured reports.
SkillBFreshness: B★ 5Claude Code +9
Cite this page
discovering-context skill. Agent Mart. https://agentmart.dev/skills/uhstray-io-discovering-context (last updated 2026-10-24)