Grida is an open-source graphics workspace that combines an infinite canvas editor, SVG tools, a database and CMS, and forms. Designers and developers use it to create, import, render, and manage visual documents and connected data, while the catalogue add-ons support its workflows.
Borrowing it
Nothing to install: this file belongs to gridaco/grida. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/gridaco/grida/main/.agents/skills/etiology/SKILL.mdgit clone --depth 1 https://github.com/gridaco/gridaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/gridaco/grida/etiology)<a href="https://agentmods.dev/skills/gridaco/grida/etiology"><img src="https://agentmods.dev/badge/skills/gridaco/grida/etiology/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/gridaco/grida/etiology"><img src="https://agentmods.dev/badge/skills/gridaco/grida/etiology.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00101 | $0.01122 |
| Opus 5.5 | $0.00040 | $0.00449 |
| Sonnet 5.5 | $0.00020 | $0.00224 |
| Haiku 4.5 | $0.00010 | $0.00112 |
Grade A, and why
etiology scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- etiology — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
- Presentation. What is the user-observable fault? State the symptom precisely — not the suspected cause, the symptom.
- 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.
- 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.
- 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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 113 lines · 101 tokens per session scan A 687cbe01fa3f
etiology is a skill published in the GitHub repository gridaco/grida (2,693 stars, last pushed 11d ago), licensed Apache-2.0. It adds 101 tokens to every session and 1,122 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
explorer
Build and modify Studio Explorer surfaces, including notebooks, chats, SQL snippets, query cells, and their shared toolbar patterns.
graphjin-eval
Create, extend, run, baseline, and diagnose GraphJin agent evaluations through the graphjin eval CLI.
find-postgres-bug
Find latent bugs in a local PostgreSQL source tree (RELxxSTABLE branch or HEAD) the way a core hacker does: build a heavily-poisoned debug instance (cassert + cache-discard + -O0/-ggdb3 + core dumps), fuzz it (sqlsmith) until the backend crashes, triage the core into a minimal reproducer (MRE), git-bisect the…
rls-performance
A guide for finding and fixing slow database queries when row-level security rules and limited connection pools affect an API.
troubleshoot-postgresql
Use when diagnosing issues with PostgreSQL: connection exhaustion, lock contention cascade, autovacuum starvation / bloat spiral, transaction id wraparound emergency, or checkpoint storms. Queries Netdata via MCP for process liveness, recovery state, transaction rate (commits and rollbacks), row operations rate, query…
postgres-aiops
Use this skill whenever the user needs to operate or troubleshoot a PostgreSQL server/cluster as a DBA — a one-shot cluster health overview; server reads (version/uptime, settings, extensions, databases, roles); activity (sessions, idle-in-transaction, long-running queries, locks); query stats (pgstatstatements top-N…