decision-graph
Use when building a deciduous decision graph to capture design evolution, architecture history, or how a codebase's design changed over time. Provides the deciduous CLI commands and graph structure guidelines.
npx skills add majiayu000/claude-skill-registry --skill connective-gaearon-woodshed --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
The skill helps construct a deciduous decision graph (a DAG) that captures the evolution of design decisions in a codebase. It uses the deciduous CLI located at ~/.cargo/bin/deciduous to build the graph and operates in the current directory, not inside the source repo. It instructs exploring commits in the target repository via git with a path filter, and to maintain narrative narratives.md that document how commits evolve a central storyline about the model of the system. It emphasizes grounding all narrative elements in repository data (commits, code, comments, tests) and to search commits broadly, including replacements and deprecations, before weaving them into a graph structure.
How it works
- Use the deciduous CLI (at ~/.cargo/bin/deciduous) to build the graph in the current directory.
- Explore commits with layered steps: Layer 1 see all commits, Layer 2 keyword expansion for related terms, Layer 3 follow authors.
- Do not rely on partial log views; read full commit messages for relevant identifiers.
- Maintain narratives.md by adding significant commits to narrative sections, evolving arcs about design evolution.
- Identify the spine narrative that represents the central question or approach refinement around which the graph centers.
- Harden narratives by extracting concepts and lifecycles, then exhaustively search per concept across commits.
- Capture cross-narrative causal connections only when they are truly causal, not merely parallel.
- Use the edge types and CLI commands described to connect nodes and define their relationships.
When to use it
Use when you need to build a graph that captures design evolution, architecture history, or how a codebase’s design changed over time. Triggered when you want a structured, narrative-backed representation of design decisions and their outcomes.
What it can touch
- Commands and concepts for building the graph are tied to the deciduous CLI.
- The workflow touches commit history, narratives.md, and the graph itself (nodes and edges).
- Tools explicitly named: "deciduous" and the path to the CLI "~/.cargo/bin/deciduous".
Caveats
- Critical instruction: Only use information from the repository itself (commits, code, comments, tests). Do not use prior knowledge about the project. Everything must be grounded in what you find in the repo.
- Maintain strict grounding to the model-changing commits, data structures, API behavior shifts, and narrative arcs.
- The skill emphasizes not to build the graph while exploring; instead, collect commits into narratives first, then synthesize the graph.
# Decision Graph Construction You are building a **deciduous decision graph** - a DAG that captures the evolution of design decisions in a codebase. Use the `deciduous` CLI (at ~/.cargo/bin/deciduous) to build the graph. Run deciduous commands in the current directory (not inside the source repo). For git commands to explore commit history, use `git -C <repo-path>` to target the source repo. **CRITICAL: Only use information from the repository itself (commits, code, comments, tests). Do not use your prior knowledge about the project. Everything must be grounded in what you find in the repo.** ## Commit Exploration Use a layered strategy to find all relevant commits: **Layer 1: See all commits.** Start with the full list when building narratives. ```bash git log --oneline --after="..." --before="..." -- path/ ``` **Layer 2: Keyword expansion.** Once you have narratives, search for spelling variations and related terms you might have missed (e.g., "cache" → "caching", "cached", "LRU", "invalidate"). For each key identifier in your narratives, trace its full lifecycle: - Introduction - Changes and modifications - Renames - Deprecation or removal - Replacement by other mechanisms - Bec
- Commit Exploration
- DO NOT:
- DO:
- Finding the Story
- Narrative Tracking
- Hardening Phase
- Step 1: Extract concepts per narrative
- Step 2: Exhaustive search per concept
- Step 3: Follow replacements
- Step 4: Rewrite narratives with gaps filled
- Cross-Narrative Connections
- The Causality Test
- Types of Causal Connections
- NOT Causal (Keep Parallel)
git log --oneline --after="..." --before="..." -- path/ git log --all --after="..." --before="..." --grep="<concept>" --format="%H %s" -- path/ git show <sha> --format="%B" --no-patch Add nodes (returns node ID) deciduous add goal "Title of the goal" deciduous add decision "The question or choice point" deciduous add option "One possible approach" deciduous add observation "Something learned or discovered" deciduous add action "Descriptive title of what was done" deciduous add outcome "What resulted from the action"
What does the decision-graph skill do?
Use when building a deciduous decision graph to capture design evolution, architecture history, or how a codebase's design changed over time. Provides the deciduous CLI commands and graph structure guidelines.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill connective-gaearon-woodshed --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
