Agent skill

Vibe Code Leaf Finder

by gnurio in gnurio/nurijanian-skills

This skill should be used when a user wants to identify which parts of a codebase are safe to modify with AI ("vibe code") and which require careful human engineering.

MITAuto-check: notes

Install Vibe Code Leaf Finder

skills CLI
$ npx skills add gnurio/nurijanian-skills --skill vibe-code-leaf-finder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gnurio/nurijanian-skills vibe-code-leaf-finder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gnurio/nurijanian-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vibe-code-leaf-finder .claude/skills/vibe-code-leaf-finder && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
vibe-code-leaf-finder
GitHub stars
124
Token cost
~1.9k tokens
SKILL.md length
971 words
Files
3 (incl. references, assets)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when a user wants to identify which parts of a codebase are safe to modify with AI ("vibe code") and which require careful human engineering.

  • Works in 5 steps: Dependency Check (outward edges) → Isolation Check (inward edges) → Stability Check (time axis) → …
  • Users say find safe places to vibe code
  • SKILL.md covers Purpose, When to Use, Workflow and Output Contract, plus 3 more sections
  • Calls git

What it does

Vibe Code Leaf Finder is an agent skill from gnurio/nurijanian-skills. This skill should be used when a user wants to identify which parts of a codebase are safe to modify with AI ("vibe code") and which require careful human engineering. It classifies files and modules into Leaf (safe to vibe), Branch (caution), or Trunk (hands off) based on dependency isolation, stability, and external verifiability. Use when users say "find safe places to vibe code", "where can I let AI loose in this repo", "leaf nodes", "vibe-code audit", "can a PM edit this codebase", or when someone points at…

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files and assets (for example `assets/LEAF_REPORT_TEMPLATE.md` and `references/schluntz-framework.md`).

The repository describes itself as: Claude Code and Cursor skills for product managers — PM coaching, verbalized sampling, tech sensemaking, and more. The licence is MIT.

When your agent uses it

  • Users say find safe places to vibe code
  • Where can I let AI loose in this repo
  • Vibe-code audit
  • Can a PM edit this codebase

Example prompts

  • “vibe code”
  • “find safe places to vibe code”
  • “where can I let AI loose in this repo”
  • “/vibe-code-leaf-finder”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Dependency Check (outward edges)
  2. Isolation Check (inward edges)
  3. Stability Check (time axis)
  4. Testability Check (verification axis)
  5. Classify and Report

What it can do on your machine

Read from SKILL.md and the folder at commit 43a0566. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vibe Code Leaf Finder loads about 1.9k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 179 tokens; SKILL.md has 971 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~179
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:118
    - **Config files**: `.env`, `config.yaml`, infra-as-code — always TRUNK.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gnurio/nurijanian-skills at commit 43a0566, republished under its MIT licence (© gnurio). 971 words, ~1,865 tokens.

Download SKILL.mdSave it as .claude/skills/vibe-code-leaf-finder/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
vibe-code-leaf-finder
description
This skill should be used when a user wants to identify which parts of a codebase are safe to modify with AI ("vibe code") and which require careful human engineering. It classifies files and modules into Leaf (safe to vibe), Branch (caution), or Trunk (hands off) based on dependency isolation, stability, and external verifiability. Use when users say "find safe places to vibe code", "where can I let AI loose in this repo", "leaf nodes", "vibe-code audit", "can a PM edit this codebase", or when someone points at a directory and asks whether it's safe to let Claude rewrite it. Grounded in Erik Schluntz's (Anthropic) "leaf nodes vs trunks" framework from the "Vibe coding in prod" talk.

Vibe Code Leaf Finder

Purpose

Classify every part of a codebase by risk-to-modify-with-AI, producing a report that tells the user where AI can write freely (leaves), where it needs guardrails (branches), and where humans must stay in the loop (trunks).

Based on Erik Schluntz's framing from "Vibe coding in prod" (Anthropic, 2025): tech debt is acceptable in leaf nodes because nothing depends on them, but trunks and branches are core architecture that must be "protected, deeply understood, extensible, and flexible."

Full framework quotes and rationale: references/schluntz-framework.md.

When to Use

Trigger this skill when the user:

  • Points at a codebase or directory and asks where it's safe to use AI.
  • Wants a report of "leaf nodes" vs "trunks" before a vibe-coding session.
  • Is a PM, founder, or non-engineer who wants to ship features without breaking core architecture.
  • Says phrases like: "vibe-code audit", "leaf finder", "where can I let Claude loose", "which files are safe to rewrite", "can a PM edit this".

Do NOT use this skill for: general code review, bug hunting, or performance audits. This skill only answers one question — "where is it safe to let AI write this code without human review of every line?"

Workflow

Execute these four checks against the target scope. If no scope is given, ask the user once: "Scope this to a directory, a package, or the whole repo?"

Step 1: Dependency Check (outward edges)

For each file in scope, find every place outside the file (and outside the scope directory if scoped) that imports or references it.

Use ripgrep, not grep. Search for:

  • Import statements: from <module>, import <module>, require('<path>'), from '<path>'
  • Symbol references: exported class names, exported function names
  • String references: dynamic imports, module registries, route tables

Record, for each file: a list of external referrers. Zero referrers = candidate leaf.

Step 2: Isolation Check (inward edges)

For each candidate leaf from Step 1, confirm it is also a pure consumer not a provider:

  • Does it register anything globally (plugins, middleware, migrations, event handlers, cron jobs)?
  • Does it write to shared state (singletons, global config, shared DB schema)?
  • Does it expose a public API surface (HTTP routes, SDK exports, CLI commands)?

A file with zero external importers but that registers a middleware or a route is NOT a leaf — it is a hidden trunk. Flag these as BRANCH.

Step 3: Stability Check (time axis)

For each remaining leaf candidate, inspect git history:

bash
git log --follow --oneline --since="12 months ago" -- <file>
git log --follow --stat -- <file> | head -40

Signals of a true leaf (end-feature, unlikely to grow):

  • Low commit frequency after initial creation.
  • Commits are bugfixes or copy changes, not structural refactors.
  • File has no TODO, FIXME, or HACK comments pointing to future expansion.
  • No recent PR descriptions mention building on top of it.

Signals of a hidden trunk:

  • High commit churn.
  • Frequent "refactor", "extract", "split" commits.
  • Comments like "temporary", "will move", "refactor soon".
Step 4: Testability Check (verification axis)

This is the Schluntz test: can you verify this feature works without reading the implementation?

For each leaf candidate, answer:

  • Does it have clear, observable inputs and outputs (HTTP request → response, CLI args → stdout, form input → rendered DOM)?
  • Can you write an end-to-end test that exercises it from outside?
  • Can a non-engineer verify the behavior by using the product?

If no to any of these: downgrade to BRANCH.

Show full SKILL.md (432 more words)Show less
Step 5: Classify and Report

Classify every file in scope as one of:

ClassDefinitionAI Strategy
LEAFZero external deps, no registrations, stable git history, externally verifiableVibe code freely. Claude writes, human runs tests, ships.
BRANCHLeaf-like but with 1-2 of: light external refs, some registrations, moderate churnAI can draft, human reviews structural decisions only.
TRUNKImported by many files, registers globally, high churn, OR no external test surfaceHuman writes. AI may suggest, human writes every line.

Then for each LEAF, propose Schluntz-style stress tests — 3 end-to-end tests minimum (one happy path, two failure modes) that verify behavior without reading the implementation.

Write output to LEAF_REPORT.md using the template in assets/LEAF_REPORT_TEMPLATE.md. Use the Write tool, not Shell echo.

Output Contract

Every run produces:

  1. A table: every file in scope classified LEAF / BRANCH / TRUNK with one-line reasoning.
  2. A Safe to Vibe section listing LEAF files with suggested stress tests per file.
  3. A Hands Off section listing TRUNK files with the blocking reason (who imports them, what they register, what churns).
  4. A Caution section listing BRANCH files with the specific guardrail needed.

If the user is non-technical (PM, founder), add a plain-English summary at the top: "You can safely ask Claude to edit these N files. Do not let Claude touch these M files without an engineer present."

Anti-Patterns

Do NOT:

  • Classify a file as LEAF just because it has zero imports inside the scope. External imports from outside the scope still count.
  • Rely on filename patterns (e.g. "utils.py always = trunk"). Check actual dependencies.
  • Skip the stability check. A file with zero deps today that had 40 commits last quarter is a hidden trunk mid-extraction.
  • Suggest stress tests that require reading the implementation. Tests must be writable from the outside.
  • Produce the report without running rg / git log — hallucinated classifications destroy trust.

Edge Cases

  • Monorepo: If scope crosses package boundaries, treat each package as its own scope and produce one report per package.
  • Generated code: Auto-generated files (protobuf, GraphQL schemas, migrations) are always TRUNK regardless of deps. Flag and skip.
  • Config files: .env, config.yaml, infra-as-code — always TRUNK.
  • Tests: Test files themselves are LEAF by definition (nothing depends on them). Don't classify test files; report them separately as "test coverage context".
  • Empty repo or single-file project: Skip classification, return: "Not enough structure to classify. Entire file is either leaf or trunk depending on who will call it."

Resources

  • references/schluntz-framework.md — source quotes, framework definitions, rationale. Read this before running the workflow if unfamiliar with the leaf/trunk model.
  • assets/LEAF_REPORT_TEMPLATE.md — the exact report format to produce. Copy and fill in.

© gnurio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references, assets) in skills/vibe-code-leaf-finder of gnurio/nurijanian-skills.

  • SKILL.md
  • assets/LEAF_REPORT_TEMPLATE.md
  • references/schluntz-framework.md

Open the folder on GitHubat commit 43a0566

Compare with similar skills

Vibe Code Leaf Finder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Vibe Code Leaf Finder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vibe Code Leaf Finder this skillgnurio/nurijanian-skills124—~1.9kAutomated safety check: NotesMIT
Vibeforyourhealth111-pixel/Vibe-Skills3.6k—~4.6kAutomated safety check: WarnApache-2.0
Vibe Delegatesickn33/agentic-awesome-skills47k1 repos~1.8kAutomated safety check: PassMIT
Vibe Code Cleanupsickn33/agentic-awesome-skills47k1 repos~1.8kAutomated safety check: NotesMIT
Vibe to Agentic Engineering Frameworkshanraisshan/claude-code-best-practice67k—~3.3kAutomated safety check: PassMIT
Mistral Vibe CLI Referencemistralai/mistral-vibe5.1k—~14kAutomated safety check: NotesApache-2.0

Similar skills

  • Vibe

    foryourhealth111-pixel/Vibe-Skills

    Vibe Code Orchestrator (VCO) is a governed runtime entry that freezes requirements, bounds execution, and enforces verification and phase cleanup.

    3.6k GitHub stars~4.6k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check: warnings
  • Vibe Delegate

    sickn33/agentic-awesome-skills

    Delegate coding tasks to the Mistral Vibe CLI (vibe) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.

    47k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Vibe Code Cleanup

    sickn33/agentic-awesome-skills

    Safe production cleanup and hardening for vibe-coded fullstack apps (Next.js, React, Node.js, etc.).

    47k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Vibe to Agentic Engineering Framework

    shanraisshan/claude-code-best-practice

    Explains the conceptual model behind a presentation on moving from unstructured vibe coding to fully configured agentic engineering, including its 4-level scoring system and slide conventions.

    67k GitHub stars~3.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Mistral Vibe CLI Reference

    mistralai/mistral-vibe

    Official

    Reference for Mistral Vibe, the CLI agent it runs inside: config files, env vars, agents, skills, tools, hooks and MCP servers, so the agent can explain and troubleshoot its own setup.

    5.1k GitHub stars~14k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Vibe Async

    mistralai/mistral-vibe

    Official

    Async and concurrency patterns for Mistral Vibe. An agent skill from mistralai/mistral-vibe.

    5.1k GitHub stars~475 tokensUpdated today
    Agent WorkflowsAuto-check passed

More from gnurio/nurijanian-skills

All 15 skills in this repo
  • Corporate Misalignment Finder

    gnurio/nurijanian-skills

    Find, diagnose, and fix misalignment in corporate settings. An agent skill from gnurio/nurijanian-skills.

    124 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Verbalized Sampling

    gnurio/nurijanian-skills

    Generate diverse outputs by prompting for a probability distribution instead of a single response.

    124 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check: warnings
  • Focal Point Finder

    gnurio/nurijanian-skills

    This skill should be used when someone needs to find, propose, or evaluate a focal point in a coordination, negotiation, or alignment problem.

    124 GitHub stars~3.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Orchestrate Pm Alignment

    gnurio/nurijanian-skills

    PM alignment coach and router. An agent skill from gnurio/nurijanian-skills.

    124 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Tech Sensemaking

    gnurio/nurijanian-skills

    Analyze technology announcements to surface non-obvious strategic implications using Verbalized Sampling.

    124 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Adversarial Roleplay

    gnurio/nurijanian-skills

    PM stress-test roleplay. An agent skill from gnurio/nurijanian-skills.

    124 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Vibe Code Leaf Finder

What does Vibe Code Leaf Finder do?

This skill should be used when a user wants to identify which parts of a codebase are safe to modify with AI ("vibe code") and which require careful human engineering. Vibe Code Leaf Finder is an agent skill from gnurio/nurijanian-skills. This skill should be used when a user wants to identify which parts of a codebase are safe to modify with AI ("vibe code") and which require careful human engineering.

When should I use Vibe Code Leaf Finder?

Vibe Code Leaf Finder fits situations like: users say find safe places to vibe code; where can I let AI loose in this repo; vibe-code audit; can a PM edit this codebase.

How do I install Vibe Code Leaf Finder in Claude Code?

Run `npx skills add gnurio/nurijanian-skills --skill vibe-code-leaf-finder -a claude-code`. Or copy the skill folder (skills/vibe-code-leaf-finder in gnurio/nurijanian-skills) into .claude/skills/vibe-code-leaf-finder in your project. Claude Code loads it when a task matches its description.

How do I install Vibe Code Leaf Finder in Codex?

Run `npx skills add gnurio/nurijanian-skills --skill vibe-code-leaf-finder -a codex`. Or copy the skill folder (skills/vibe-code-leaf-finder in gnurio/nurijanian-skills) into .agents/skills/vibe-code-leaf-finder in your project. Codex loads it when a task matches its description.

Can I use Vibe Code Leaf Finder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gnurio/nurijanian-skills --skill vibe-code-leaf-finder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vibe-code-leaf-finder, .gemini/skills/vibe-code-leaf-finder, .github/skills/vibe-code-leaf-finder and .opencode/skills/vibe-code-leaf-finder in your project.

What does Vibe Code Leaf Finder need to run?

Going by SKILL.md and its folder, Vibe Code Leaf Finder needs the command-line tools its instructions call (git).

Does Vibe Code Leaf Finder access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Vibe Code Leaf Finder safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Vibe Code Leaf Finder use?

Vibe Code Leaf Finder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vibe Code Leaf Finder use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 961 tokens, read only when the agent opens those files.

What are the alternatives to Vibe Code Leaf Finder?

Skills that share tags, products or a category with Vibe Code Leaf Finder: Vibe (foryourhealth111-pixel/Vibe-Skills, 3.6k stars), Vibe Delegate (sickn33/agentic-awesome-skills, 47k stars), Vibe Code Cleanup (sickn33/agentic-awesome-skills, 47k stars) and Vibe to Agentic Engineering Framework (shanraisshan/claude-code-best-practice, 67k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vibe Code Leaf Finder?

gnurio (a GitHub user) maintains it in gnurio/nurijanian-skills, which has 124 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on August 13, 2026.

Source: gnurio/nurijanian-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.