root-cause
Skill0 starsChanged 10 days agoMITView on GitHub
Read-only. Find the root cause of a bug using every evidence source in reach (repo, CLIs, MCP servers for errors, logs, traces, analytics, DB). Use when something is broken and the cause is unknown.
27 other projects use a version of this.
Adopted by
Most recently taken up by
- niksavis/handilytheir own version, first seen Nov 8, 2026
- yuri-xyz/skillstheir own version, first seen Nov 8, 2026
- jocarrd/crux-agentstheir own version, first seen Nov 8, 2026
- niksavis/basiclytheir own version, first seen Nov 7, 2026
- crbnos/carbontheir own version, first seen Nov 7, 2026
- lalulali/vespyrtheir own version, first seen Nov 6, 2026
Used with
Projects with it also use prove-it, grill and 6 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Neko-Catpital-LabsSkillprove-it
Shared evidence rule for investigating, diagnosing, debugging, proving, or explaining what happened or why for any problem or situation: do not assert something is fixed, working, passing, merged, or running unless you personally observed it this turn and can show what you saw; do not assert it was caused by X until a repro and controlled isolation prove that cause.
Also in 3 projects that use this
renatorozasSkillgrill
Adversarial code review. Don't let me ship until the changes pass your scrutiny.
Also in 4 projects that use this
jasonmichaelbell78-creatorSkillskill-audit
Interactive behavioral quality audit for individual skills. Evaluates against 12 quality categories (including T25 convergence loop and completion verification) to surface attention management issues and produce actionable decisions. Includes self-audit verification that all decisions were actually implemented. Uses convergence loops in its own discovery phase. Produces a decision record and updated skill files.
Also in 3 projects that use this
Microsoft AzureSkilldesign
Design rules and conventions for the API Center Portal. Use when editing detail pages, card components, badges, layout, navigation, sidebars, or headers. Covers badge styling, metadata placement, page navigation patterns, and layout alignment.
Also in 4 projects that use this
NVIDIASkillresearch
Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.
Also in 4 projects that use this
SentrySkillcommit
Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.
Also in 3 projects that use this
Other versions27 projects use a version of this.
Word for word · 1
- serhiileniv/skills★ 0100% same
Edited · 0
None found.
Wrote their own version · 26
- crbnos/carbon★ 2.8ksame name
- formancehq/ledger★ 1.5ksame name
- jjanczur/tyran★ 81same name
- Vesely/skills★ 28same name
- composio-community/support-skills★ 18same name
- lalulali/vespyr★ 11same name
- quocld/hephaestus-agent-skills★ 8same name
- nadirali1350/vetted★ 5same name
- Xnadir/vetted★ 5same name
- jocarrd/crux-agents★ 4same name
16 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 24 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Read-only everywhere: No edits, no DB writes, no redeploys, no flag or config changes, no ticket status changes.
- Distinctive: line 15
Never print secrets read along the way.
- Distinctive: line 32
Keep what fits the symptom:
- Very specific: line 69
Write 2–3 competing hypotheses, each with the check that would kill it.
- Distinctive: line 99
No retelling of the search.
“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/ccs:root-cause
Find why it broke, from evidence. Check what you can read before you theorise.
The hard rule
Read-only everywhere. No edits, no DB writes, no redeploys, no flag or config changes, no ticket status changes. Read queries, log searches and tests that don't write are fine. Never print secrets read along the way. The one write is this run's report.
The answer implies a change → name it and stop. The fix is /ccs:implement.
Step 1 — pin the symptom
One line each: expected, actual, since when, where (prod / preview / local), who (all users or some). Missing and not findable → ask.
Step 2 — inventory
List what you can read now. Check it; never assume it:
- repo and git
- CLIs:
gh,vercel,railway,supabase:command -v, then a whoami - MCP servers: every tool in this session, deferred ones included, plus
claude mcp list
Keep what fits the symptom:
| Source | Answers | Example tools |
| Repo, git | What changed, when, by whom | git log -S, git bisect, git blame, tests |
| Error tracking | Stack, first seen, release, frequency, users hit | Sentry, Datadog error tracking |
| Logs, traces | What happened around one request | Datadog logs/spans, Vercel runtime logs, railway logs, Supabase logs |
| Deploys, config | What shipped and when | gh, Vercel deployments, railway variables |
| Product analytics | Which users, which path, session replay | PostHog |
| Database | Actual state of the data | Supabase execute_sql, SELECT only |
| Tickets | The report, repro steps, related reports | Linear, Jira, ClickUp |
A relevant source is connected → query it before stating any hypothesis.
Step 3 — scope check
A connected source may point at another org or project. Confirm it matches this repo (project name, service, DSN, env) before trusting it. Some MCPs don't expose their scope; say so when you rely on one.
Step 4 — reproduce
Locally, or pin one concrete prod instance: event id, trace id, request, user. Neither → say so; everything after is inference.
Step 5 — strategy
| Symptom shape | Strategy |
| Started at a known time | Line it up with deploys, commits, config changes; git bisect last good → first bad |
| Has a stack trace | Error tracker: first-seen release, then follow the stack into the code |
| Only some users or inputs | Diff failing against passing: attributes, inputs, env, version |
| Wrong data | Trace back from the bad row to the code that wrote it |
| Intermittent | Timing, concurrency, retries, caches; correlate with traces |
| Slow | Traces and spans, then DB query performance |
| None of the above | Halve: input, config, code path, time range |
Write 2–3 competing hypotheses, each with the check that would kill it. Run the cheapest
check that separates them first. Cite file:line for every claim; mark inference as
inference.
Step 6 — root cause
The thing that, changed, makes the symptom impossible. Not the line that threw. Keep asking "why" until you reach something code or config can change. Reached only a proximate cause → say so.
Output
Symptom: <one line>
Outcome: found | proximate only | not found
Root cause: <first, before any detail>
Evidence:
- file.ts:42 — <what it proves>
- <source>: <event / trace / query result that decided it>
Sources: <checked and used> · not available: <relevant but missing, and what it would have answered>
Not verified: <what could not be confirmed, and why>
Fix: /ccs:implement <one line; the reproduction test to write first>No retelling of the search. Mention a discarded theory only if it is still live.
Writing
One line where one line does. Answer first. State the fact, not the story behind it — no narrating what was tried, no paragraph restating the line above. Two things always stay: why a non-obvious decision was made, and what a check cannot do. Caveats and risks still get said, one line each.
Outcome: success = root cause found · partial = proximate only · failed = not found.
Report
Last step, every run, whatever the outcome: write .ccs/reports/<skill>/<YYYY-MM-DD>-<slug>.md
at the repo root, and add .ccs/ to .git/info/exclude if missing. One line per field,
no secrets, tokens or customer data. Print the path.
---
skill: <skill>
date: <YYYY-MM-DD>
repo: <owner/name>
target: <argument, one line>
outcome: success | partial | failed
learned: false
---
Used: <tools, CLIs, MCPs, files that did the work>
Found: <the result, one or two lines>
Friction: <what slowed or blocked it; a user correction; "none">Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

