Agent skill

How

by bastani-inc in bastani-inc/atomic

A skill your agent uses for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is…

MITAuto-check passed

Install How

skills CLI
$ npx skills add bastani-inc/atomic --skill how -a claude-code

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

GitHub CLI
$ gh skill install bastani-inc/atomic how --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/bastani-inc/atomic.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/workflows/skills/how .claude/skills/how && 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
how
GitHub stars
850
Used in
3 other repos
Token cost
~2.3k tokens
SKILL.md length
988 words
Files
6 (incl. references)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is…

  • Works in 6 steps: Understand the Question and Assess… → Synthesize (complex questions only) → Present → …
  • How does X work
  • SKILL.md covers Explain Mode and Critique Mode
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

How is an agent skill from bastani-inc/atomic. Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, onboarding mental models. Can critique architecture. Use why for motivation.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/critic-prompt.md`, `references/critique-rubric.md` and `references/explainer-prompt.md`).

The repository describes itself as: The verifiable coding agent runtime. Define your coding agent's process in natural language with stages, checks, and approval gates instead of hoping it follows your… The licence is MIT.

When your agent uses it

  • How does X work
  • Code walkthroughs before changing something
  • Placement / ownership / layering questions (where should this live
  • Which package owns this

Example prompts

  • “how does X work”
  • “where should this live”
  • “which package owns this”
  • “/how”

Workflow steps

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

  1. Understand the Question and Assess Complexity
  2. Synthesize (complex questions only)
  3. Present
  4. Explain First
  5. Run Atomic Critics
  6. Lead Judgment

What it can do on your machine

Read from SKILL.md and the folder at commit ad79904. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

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

  • Network

    No URLs in SKILL.md.

    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

How loads about 2.3k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 988 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 bastani-inc/atomic at commit ad79904, republished under its MIT licence (© bastani-inc). 988 words, ~2,334 tokens.

Download SKILL.mdSave it as .claude/skills/how/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
how
description
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, onboarding mental models. Can critique architecture. Use why for motivation.
license
MIT. LICENSE.txt has complete terms
metadata.author
Lauren Tan
metadata.github-repo
https://github.com/cursor/plugins
metadata.github-path
pstack/skills/how
metadata.github-ref
refs/heads/main
metadata.github-tree-sha
46125561306434d8a1d7745d540d8932ab0cd2a2

How

Explore the codebase to answer "how does X work?" questions. Produce clear architectural explanations at the level of a senior engineer onboarding onto a subsystem. Enough to build a working mental model, not annotated source code.

Two modes:

  1. Explain (default). Explore the codebase and produce a clear explanation
  2. Critique. Explain first, then run several fresh-context Atomic specialists to identify architectural issues independently

Explain Mode

Step 1. Understand the Question and Assess Complexity

Parse what the user is asking about:

  • "How does the rate limiter work?", a subsystem
  • "How do we handle billing for on-demand usage?", a feature flow
  • "How is the auth service structured?", an architectural overview
  • "Walk me through what happens when a user submits a form", a runtime trace

Identify the scope. If ambiguous, state your best-guess interpretation before exploring. Don't ask. Let the user redirect if you're off.

Assess complexity to decide the approach:

  • Simple (a single module, a small utility, a narrow question like "how does function X work"): run one codebase-analyzer that explores and explains in a single pass. Go to Step 2b.
  • Complex (a subsystem spanning multiple files/services, a cross-cutting feature, a full architectural overview): run parallel Atomic exploration specialists, then synthesize their evidence in the parent. Go to Step 2a.

When in doubt, lean simple. Add a focused exploration specialist only when the first analysis exposes a real gap.

Before delegating, discover the executable Atomic agents. Do not invent an agent name or pin a model:

typescript
subagent({ action: "list" })

Use the listed agents' declared models and fallback policies unless the user explicitly requests an available override.

Step 2a. Explore (complex questions only)

Decompose the question into 2-4 parallel exploration angles, each a distinct slice of the subsystem so explorers don't duplicate work. Example split for "how does the rate limiter work?":

  • Explorer 1: data model and state management
  • Explorer 2: request path and enforcement
  • Explorer 3: configuration and metrics infrastructure

The right decomposition depends on the question. Use your judgment. Narrow questions: 2 explorers is fine. Broad subsystems: up to 4.

Launch the exploration as one Atomic parallel call. Use codebase-locator for the file map, codebase-analyzer for implementation flow, and codebase-pattern-finder only when analogous conventions materially help. Broad questions may use multiple codebase-analyzer tasks, one per non-overlapping slice.

typescript
subagent({
  tasks: [
    { agent: "codebase-locator", task: "Map the files, entry points, tests, and configuration for <question>. Return paths and why each matters." },
    { agent: "codebase-analyzer", task: "Trace <exploration-angle-1> for <question>, with file:line evidence. Inspect and report only; do not edit." },
    { agent: "codebase-analyzer", task: "Trace <exploration-angle-2> for <question>, with file:line evidence. Inspect and report only; do not edit." },
    { agent: "codebase-pattern-finder", task: "Find existing patterns analogous to <question> and explain where they agree or differ. Inspect and report only." }
  ],
  concurrency: 4,
  context: "fresh"
})

Include only the tasks the question needs; do not add a pattern pass decoratively. Build each analyzer task from references/explorer-prompt.md plus its specific angle. Each exploration task should:

  • Start broad with find and search for relevant directories and symbols
  • Follow the thread from an entry point through callers, callees, data flow, and type definitions
  • Read the actual code instead of guessing from file names
  • Stop when it can describe the path from input to output (or trigger to effect) without hand-waving
  • Note surprising or non-obvious behavior a newcomer could miss

The specialists return structured findings with components, flow, files, and non-obvious details. Overlap is acceptable; the parent reconciles it.

Then proceed to Step 3.

Step 2b. Direct Explain (simple questions)

Run one codebase-analyzer in fresh context:

typescript
subagent({
  agent: "codebase-analyzer",
  task: "Explore and explain <question> with file:line evidence. Follow the communication style and output structure from the how skill's explainer prompt. Inspect and report only; do not edit.",
  context: "fresh"
})

Build the task from references/explainer-prompt.md. The analyzer explores with Atomic's find, search, and read tools and writes the explanation directly; there are no explorer findings to hand off.

Proceed to Step 4.

Step 3. Synthesize (complex questions only)

Once all specialists return, synthesize their findings in the parent session. The parent owns orchestration and the final response; Atomic subagents cannot launch another subagent, and no generic synthesis agent is needed.

Follow references/explainer-prompt.md for the communication style and output format. Reconcile overlap and contradictions against the cited code, then weave the slices into one coherent explanation. If a contradiction cannot be resolved from the returned evidence, run one focused follow-up codebase-analyzer call rather than guessing.

Show full SKILL.md (373 more words)Show less
Step 4. Present

Present the final explanation to the user. You may lightly edit specialist output for clarity or add context from the conversation, but preserve evidence and file references. The explanation is the product.

Output Format

Follow this structure, adapted to the question. Not every section is needed for every question.

Overview. 1-2 paragraphs. What it is, what it does, why it exists. Enough to decide whether to keep reading.

Key Concepts. The important types, services, or abstractions. Brief definition of each. Not exhaustive, just the ones needed to understand the rest.

How It Works. The core of the explanation. Walk through the flow: what triggers it, what happens step by step, where data goes, the decision points. Prose, not pseudocode. Reference specific files and functions so the reader can go look, but don't dump code blocks unless a snippet is genuinely necessary.

Where Things Live. A brief map of the relevant files/directories. Not every file, just the ones needed to start working in this area.

Gotchas. Non-obvious or surprising things that would trip someone up. Historical context that explains why something looks weird. Known sharp edges.

Critique Mode

Triggered when the user asks for architectural issues, problems, or improvements, not just understanding.

Step 1. Explain First

Run the full explain flow above (Steps 1-4). You must understand the architecture before critiquing it.

Step 2. Run Atomic Critics

After the explanation is complete, launch fresh-context specialists with distinct review angles. Keep their declared model defaults; do not create a model roster or override models merely for diversity.

typescript
subagent({
  tasks: [
    { agent: "codebase-analyzer", task: "Critique <explanation> for correctness, coupling, ownership, and regressions. Inspect <relevant-paths>. Report evidence-backed findings only; do not edit.", output: false },
    { agent: "debugger", task: "Inspect-only architectural failure-mode review of <explanation> and <relevant-paths>. Do not edit. Challenge lifecycle, state, error, concurrency, and boundary assumptions using concrete code evidence.", output: false },
    { agent: "codebase-pattern-finder", task: "Compare <explanation> and <relevant-paths> with established repository patterns. Report meaningful consistency gaps or better-fitting precedents with file:line evidence; do not edit.", output: false }
  ],
  concurrency: 3,
  context: "fresh"
})

Use only agents returned by subagent({ action: "list" }). Read references/critic-prompt.md and references/critique-rubric.md when building each role-specific task. Every critic receives the explanation and relevant file paths, but owns a different angle rather than a different hard-coded model.

Step 3. Lead Judgment

Same framework as the interrogate skill. You're a pragmatic lead, not an aggregator.

Categorize findings:

  • Act on. Architectural problems worth fixing now
  • Consider. Real concerns, but the cost/benefit is unclear
  • Noted. Valid observations, low priority
  • Dismissed. Wrong, missing context, or style preference

Present the explanation first (from Step 1), then the critique verdict below it. The explanation should stand on its own; someone who just wants to understand the system shouldn't wade through critique.

© bastani-inc, 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 5 other files (references) in packages/workflows/skills/how of bastani-inc/atomic.

  • SKILL.md
  • LICENSE.txt
  • references/critic-prompt.md
  • references/critique-rubric.md
  • references/explainer-prompt.md
  • references/explorer-prompt.md

Open the folder on GitHubat commit ad79904

Used in 3 other repositories

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in bastani-inc/atomic, which our catalogue first saw on October 7, 2026.

Compare with similar skills

How 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.

How compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
How this skillbastani-inc/atomic8503 repos~2.3kAutomated safety check: PassMIT
Make Changesremix-run/remix33k—~2.4kAutomated safety check: PassMIT
Orch Change Featureaffaan-m/ECC276k1 repos~420Automated safety check: PassMIT
Change Managementsickn33/agentic-awesome-skills47k2 repos~3.5kAutomated safety check: PassMIT
Implement Changepnpm/pnpm37k—~1.1kAutomated safety check: PassMIT
Testing Changespnpm/pnpm37k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Make Changes

    remix-run/remix

    Create or update Remix repo change files under packages//.changes.

    33k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Orchestrate altering an existing, working feature to new desired behavior — update its tests to the new spec, change the implementation to match, review, and gated commit.

    276k GitHub starsUsed in 1 repo~420 tokens
    Auto-check passed
  • Change Management

    sickn33/agentic-awesome-skills

    Implement change management processes. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~3.5k tokens
    DevOps & CloudAuto-check passed
  • Implement a pnpm feature, bug fix, or refactor by checking existing capabilities, prioritizing code reuse and deduplication, assessing architecture impact, and validating the final change.

    37k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Run the tests that cover a change in the pnpm repository, in the Rust workspace (pnpm/, pnpr/) or the TypeScript CLI (pnpm11/), and recognize the cases where a scoped run passes without testing…

    37k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Change Management

    alirezarezvani/claude-skills

    Framework for rolling out organizational changes without chaos.

    28k GitHub starsUsed in 1 repo~2.9k tokens
    Auto-check passed

More from bastani-inc/atomic

All 15 skills in this repo
  • Liteparse

    bastani-inc/atomic

    A skill your agent uses whenever a task involves a document file (PDF, DOCX, PPTX, XLSX, or image) and you need to read it or pull text, tables, or specific values out of it — to answer a question…

    850 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Bun

    bastani-inc/atomic

    A skill your agent uses when building, testing, and deploying JavaScript/TypeScript applications.

    850 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Feedback

    bastani-inc/atomic

    Draft, revise and post privacy-scrubbed Atomic bug reports or enhancements through ordinary conversation.

    850 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Prek

    bastani-inc/atomic

    A skill your agent uses when setting up or running hooks with prek in any repository.

    850 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • TDD

    bastani-inc/atomic

    Test-driven development with red-green-refactor loop, plus a value gate and audit workflow for tests.

    850 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Tmux

    bastani-inc/atomic

    Control tmux-compatible sessions/windows/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.

    850 GitHub stars~1.6k tokensUpdated today
    Auto-check: notes

Questions about How

What does How do?

A skill your agent uses for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is…. How is an agent skill from bastani-inc/atomic. Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer").

When should I use How?

How fits situations like: how does X work; code walkthroughs before changing something; placement / ownership / layering questions (where should this live; which package owns this.

How do I install How in Claude Code?

Run `npx skills add bastani-inc/atomic --skill how -a claude-code`. Or copy the skill folder (packages/workflows/skills/how in bastani-inc/atomic) into .claude/skills/how in your project. Claude Code loads it when a task matches its description.

How do I install How in Codex?

Run `npx skills add bastani-inc/atomic --skill how -a codex`. Or copy the skill folder (packages/workflows/skills/how in bastani-inc/atomic) into .agents/skills/how in your project. Codex loads it when a task matches its description.

Can I use How 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 bastani-inc/atomic --skill how -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/how, .gemini/skills/how, .github/skills/how and .opencode/skills/how in your project.

What does How need to run?

SKILL.md names no scripts, command-line tools or credentials: How is instructions for the agent only.

Does How access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is How safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does How use?

How is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does How use?

About 2.3k tokens (SKILL.md is roughly 9.3k 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 2.7k tokens, read only when the agent opens those files.

What are the alternatives to How?

Skills that share tags, products or a category with How: Make Changes (remix-run/remix, 33k stars), Orch Change Feature (affaan-m/ECC, 276k stars), Change Management (sickn33/agentic-awesome-skills, 47k stars) and Implement Change (pnpm/pnpm, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains How?

bastani-inc (a GitHub organization) maintains it in bastani-inc/atomic, which has 850 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 9, 2026.

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