Agent skill

Etiology

by gridaco in gridaco/grida

Bug-fix discipline — every defect has an etiology, the chain of cause that produced the observable fault; trace it before patching.

Apache-2.0Auto-check passedDevelopment

Install Etiology

skills CLI
$ npx skills add gridaco/grida --skill etiology -a claude-code

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

GitHub CLI
$ gh skill install gridaco/grida etiology --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/gridaco/grida.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/etiology .claude/skills/etiology && 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
etiology
GitHub stars
2.7k
Token cost
~1.2k tokens
SKILL.md length
679 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
Apache-2.0

At a glance

Bug-fix discipline — every defect has an etiology, the chain of cause that produced the observable fault; trace it before patching.

  • Works in 4 steps: Presentation. What is the… → Proximate cause. Which specific code is… → API contract. Was the abstraction we… → …
  • Reviewing any bug fix
  • SKILL.md covers The diagnostic ladder, Coverage cuts both ways, When a bandaid is acceptable and Deferral is an honest answer, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Etiology is an agent skill from gridaco/grida. Bug-fix discipline — every defect has an etiology, the chain of cause that produced the observable fault; trace it before patching. Errors only grow: a bandaid leaks unless genuinely localized and leak-free. Walk the diagnostic ladder (presentation → proximate cause → API contract → isolated or systemic) before writing the fix. Use when authoring or reviewing any bug fix, regression patch, "quick fix" PR, or when deciding whether to ship, defer, or refactor.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Debugging and API design. The licence is Apache-2.0.

When your agent uses it

  • Reviewing any bug fix
  • Regression patch
  • Deciding whether to ship

Example prompts

  • “quick fix”
  • “/etiology”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Presentation. What is the user-observable fault? State the
  2. Proximate cause. Which specific code is wrong, and is the
  3. API contract. Was the abstraction we relied on
  4. Isolated or systemic. Is this a self-contained oversight,

What it can do on your machine

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

    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

Etiology loads about 1.2k tokens when it runs. Until then it costs about 118 tokens; SKILL.md has 679 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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 gridaco/grida at commit 165496f, republished under its Apache-2.0 licence (© gridaco). 679 words, ~1,201 tokens.

Download SKILL.mdSave it as .claude/skills/etiology/SKILL.md (or your agent's skills folder).
name
etiology
description
Bug-fix discipline — every defect has an etiology, the chain of cause that produced the observable fault; trace it before patching. Errors only grow: a bandaid leaks unless genuinely localized and leak-free. Walk the diagnostic ladder (presentation → proximate cause → API contract → isolated or systemic) before writing the fix. Use when authoring or reviewing any bug fix, regression patch, "quick fix" PR, or when deciding whether to ship, defer, or refactor.

etiology

The temptation in a bug fix is to suppress the symptom. The discipline is to know which fix you wrote: the one that addressed the cause, or the one that masked it. Every bug has an etiology — the chain of cause that produced the observable fault — and a fix is only honest once that chain has been traced.

Errors only grow. A bandaid leaks into adjacent call sites, and the next reader inherits both the original defect and the workaround that obscures it. Be fixated on the etiology; the symptom is what alerted you to the bug, not the bug itself. A bandaid is occasionally correct, but it is never the default.

The diagnostic ladder

Before writing the fix, walk the ladder. Each rung is a question the next rung depends on; skipping a rung produces a fix that doesn't know what it is.

  1. Presentation. What is the user-observable fault? State the symptom precisely — not the suspected cause, the symptom.
  2. Proximate cause. Which specific code is wrong, and is the defect at the line you would patch, or upstream of it? The line that fires the error is rarely the line that contains it.
  3. API contract. Was the abstraction we relied on misleading — i.e., would another developer following normal patterns re-trigger the same bug at a different call site? If yes, the defect is in the interface, not the caller.
  4. Isolated or systemic. Is this a self-contained oversight, or one presentation of a broader pathology in the surrounding code? If broader, scope the fix to the broader cause; patching one of N produces N − 1 future bug reports.

Stating in the PR description which rung you stopped at — and why — keeps the review honest.

Coverage cuts both ways

  • Should-have-been covered. The defect slipped a test that ought to exist. The fix carries that test — coverage earned by a regression is the cheapest coverage you will ever buy.
  • Impossible to cover. Interactive timing, render-order asymmetries, benchmark-only drift, layered composition where the execution order is the behavior — defects of this kind have no defense once shipped. That raises the bar on the fix, not lowers it. Prefer the underlying refactor; if you must ship a surgical patch, document the constraint at the call site so the next reader sees both the symptom and the rule that keeps it from recurring.

The wrong inference is "we cannot test it, so any fix will do." The correct inference is the opposite: untestable surfaces warrant more skepticism, not less.

Show full SKILL.md (260 more words)Show less

When a bandaid is acceptable

Two conditions, both required:

  • Localized. One call site; no change to a contract anything else relies on.
  • Leak-free. Another developer following normal patterns elsewhere in the codebase cannot accidentally undo the fix or re-trigger the bug. A fix that depends on tribal knowledge — "don't do X near this code" — has already leaked by the time it ships.

Failing either, extract the underlying fix or defer. A bandaid guarded only by lore is debt the next reader inherits without context.

Deferral is an honest answer

Sometimes the correct fix is no fix yet. Rare presentation, large refactor, leaky bandaid — defer, file the diagnostic-ladder findings, and revisit when the refactor lands. Deferring after the ladder, with the reasoning recorded, is engineering. Downgrading to a bandaid because the refactor felt expensive — and writing the PR as if the bandaid were the only option — is not.

The cost of the refactor is also frequently estimated, not measured. A thirty-minute investigation of the cause often reveals that the underlying fix is cheaper than the long tail of the bandaid it would have replaced.

The short version

  • Errors only grow. Default to the underlying fix; the bandaid is the exception, not the rule.
  • Walk the ladder before writing the fix: presentation → proximate cause → API contract → isolated vs. systemic.
  • Untestable defects warrant more skepticism, not less. They ship without a defense.
  • A bandaid is acceptable only when localized and leak-free. Otherwise extract the underlying fix, or defer.
  • Deferral with a written reason is honest. Bandaiding because the refactor felt expensive is not.

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

Files

Just SKILL.md in .agents/skills/etiology of gridaco/grida.

Open the folder on GitHubat commit 165496f

Compare with similar skills

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

Etiology compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Etiology this skillgridaco/grida2.7k—~1.2kAutomated safety check: PassApache-2.0
Ue Live DebuggingJasonMa0012/MooaToon749—~2.9kAutomated safety check: NotesCustom licence
Test Writeraxelixlabs/axelix148—~2.2kAutomated safety check: PassLGPL-3.0
Trellis Session Insightmindfold-ai/Trellis15k4 repos~1.7kAutomated safety check: PassAGPL-3.0
Native Data FetchingCherryHQ/cherry-studio-app4k6 repos~2.9kAutomated safety check: NotesMIT
Debugging Executionsn8n-io/n8n207k—~2.6kAutomated safety check: PassCustom licence

Similar skills

  • Ue Live Debugging

    JasonMa0012/MooaToon

    A skill your agent uses when debugging UE C++ crashes, runtime bugs, or unexpected behavior with Rider MCP available.

    749 GitHub stars~2.9k tokensUpdated 20 days ago
    DevelopmentAuto-check: notes
  • Test Writer

    axelixlabs/axelix

    Writes new tests for Axelix source code (Java, Kotlin, TypeScript, JavaScript) that follow the project's testing standards — public-API contract coverage, test isolation, given/when/then structure…

    148 GitHub stars~2.2k tokensUpdated today
    MobileAuto-check passed
  • Trellis Session Insight

    mindfold-ai/Trellis

    Reach into past AI conversation history through the trellis mem CLI.

    15k GitHub starsUsed in 4 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes
  • Official

    Debug failed or wrong-output workflow executions using executions tools.

    207k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Aoti Debug

    pytorch/pytorch

    Debug AOTInductor (AOTI) errors and crashes. An agent skill from pytorch/pytorch.

    104k GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check passed

More from gridaco/grida

All 29 skills in this repo
  • Desktop

    gridaco/grida

    Grida Desktop Electron shell and release-impact work: BrowserWindow, preload, window.grida, menus, protocol/deep links, file associations, Forge, path-scoped bridge security, Electron-only UI bugs…

    2.7k GitHub stars~3.2k tokensUpdated yesterday
    Auto-check: notes
  • Io Figma

    gridaco/grida

    Guides work on the Figma I/O package (@grida/io-figma, packages/grida-canvas-io-figma/).

    2.7k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • Opt Library

    gridaco/grida

    Set up, download, verify, and seed the optional Grida Library developer corpus into local Supabase.

    2.7k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Vision

    gridaco/grida

    Query images with a local Ollama vision model without loading the image into the main agent context.

    2.7k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • AI Models

    gridaco/grida

    Research, compare, and update shared AI model JSON for TypeScript, web, and Rust consumers.

    2.7k GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Agent System

    gridaco/grida

    Grida AI agent system work: @grida/daemon (DaemonServer, loopback HTTP perimeter, files/workspaces, secrets store, daemon discovery) and @grida/agent (the agent tenant: sessions, providers/BYOK…

    2.7k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Etiology

What does Etiology do?

Bug-fix discipline — every defect has an etiology, the chain of cause that produced the observable fault; trace it before patching. Etiology is an agent skill from gridaco/grida. Bug-fix discipline — every defect has an etiology, the chain of cause that produced the observable fault; trace it before patching.

When should I use Etiology?

Etiology fits situations like: reviewing any bug fix; regression patch; deciding whether to ship.

How do I install Etiology in Claude Code?

Run `npx skills add gridaco/grida --skill etiology -a claude-code`. Or copy the skill folder (.agents/skills/etiology in gridaco/grida) into .claude/skills/etiology in your project. Claude Code loads it when a task matches its description.

How do I install Etiology in Codex?

Run `npx skills add gridaco/grida --skill etiology -a codex`. Or copy the skill folder (.agents/skills/etiology in gridaco/grida) into .agents/skills/etiology in your project. Codex loads it when a task matches its description.

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

What does Etiology need to run?

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

Does Etiology 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 Etiology 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 Etiology use?

Etiology is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Etiology use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Etiology?

Skills that share tags, products or a category with Etiology: Ue Live Debugging (JasonMa0012/MooaToon, 749 stars), Test Writer (axelixlabs/axelix, 148 stars), Trellis Session Insight (mindfold-ai/Trellis, 15k stars) and Native Data Fetching (CherryHQ/cherry-studio-app, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Etiology?

gridaco (a GitHub organization) maintains it in gridaco/grida, which has 2,659 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 7, 2026.

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