agentleFS
ohad6kohad6k/VibeRaven/skills/what-broke/SKILL.md

what-broke

Skill64 starsChanged 11 days agoMITView on GitHub

Use when an AI agent needs to stop guessing, find which version broke an app, compare releases, read git tags/diffs/changelogs, and connect the code change to provider context such as database, storage, deployment, and external runtime behavior before editing.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 14 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈14

    Distinctive · estimate

    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
  1. Distinctive:

    Use this skill when the app worked before and the agent is about to patch blind.

    line 8
  2. Distinctive:

    Prefer explicit known-good and known-bad versions from the user.

    line 14
  3. Distinctive:

    Read provider-adjacent files touched in the range: migrations, schema files, storage policies, deployment config, provider SDK setup, seed …

    line 18
  4. Distinctive:

    Before proposing code changes, produce a short packet:

    line 22
  5. Distinctive:

    Use the cheapest command that answers the next question:

    line 33
  6. Distinctive:

    When many files changed, rank by production risk first:

    line 46
  7. Distinctive:

    Create a Risk Map before editing:

    line 57
  8. Distinctive:

    Only after the Evidence Packet and Risk Map:

    line 69
  9. Distinctive:

    Add or run the narrowest verification that proves the version-control theory, such as a focused test, migration check, route test, or build.

    line 74
  10. Very specific:

    If evidence is weak, ask for the missing release/log/provider detail instead of guessing.

    line 75
  11. Distinctive:

    Do not infer the breaking version from file timestamps alone.

    line 79
  12. Distinctive:

    Do not compare the whole repo when a narrower good/bad range exists.

    line 80
  13. Distinctive:

    Do not treat a package version bump as harmless.

    line 81
  14. Distinctive:

    Do not collapse provider context into generic "config changed" language.

    line 82
  15. Distinctive:

    Do not rewrite broad areas while investigating a version regression.

    line 83

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

What Broke

Use this skill when the app worked before and the agent is about to patch blind. Find the version that changed behavior, recover the version/release context, explain what broke, and connect the code diff to provider reality: database, storage, deployment, and external runtime behavior.

First Pass

  1. Inspect dirty work first: git status --short. Do not reset, checkout, or overwrite user changes.
  2. Identify the comparison range:
    • Prefer explicit known-good and known-bad versions from the user.
    • Otherwise infer from git tag --sort=-creatordate, git log --oneline --decorate -n 40, package versions, release branches, and CHANGELOG entries.
  3. Map version names to concrete git refs: tags, branch names, release commits, package versions, or changelog headings.
  4. Build a narrow diff before editing: git diff <good>..<bad> --stat, then git diff <good>..<bad> --name-only, then focused git diff <good>..<bad> -- <path>.
  5. Read provider-adjacent files touched in the range: migrations, schema files, storage policies, deployment config, provider SDK setup, seed data, and runtime boundary files. Add identity, billing, or event-delivery files only when the diff or user pain points there.

Evidence Packet

Before proposing code changes, produce a short packet:

  • Range: good ref, bad/current ref, confidence, and why that range was chosen.
  • Version name: semantic version, release name, tag, changelog heading, or "unknown".
  • Changed surface: the files or modules that changed, grouped by app code, database, storage, deployment, provider SDK/setup, and external runtime behavior.
  • Provider context: what provider-dependent behavior may have changed. Say when dashboard or runtime state is not verifiable from the repo.
  • What broke path: the smallest chain from version change to observed breakage.
  • Missing evidence: anything needed from logs, provider dashboards, release notes, or the user.

Smart Diff Workflow

Use the cheapest command that answers the next question:

git status --short
git tag --sort=-creatordate
git log --oneline --decorate -n 40
git diff <good>..<bad> --stat
git diff <good>..<bad> --name-only
git log --oneline -- <path>
git show --stat <commit>
git show <commit> -- <path>

When many files changed, rank by production risk first:

  1. Database migrations, schema, queries, ORM models, RLS/policies.
  2. Identity/session boundaries, only when the diff or user pain points there.
  3. Deployment/runtime config, build output assumptions, redirects, rewrites.
  4. Storage buckets, upload/download rules, signed URL code.
  5. API contracts, background jobs, queues, scheduled tasks, and external event delivery.
  6. UI changes that consume changed contracts.

Risk Map

Create a Risk Map before editing:

SignalWhy It Matters
Migration without matching app query updateCode may expect old schema or policy behavior
Identity/provider behavior changed with no release noteThe break may be outside the edited component
Package or SDK version changedBehavior may differ without app code changes
Deployment config changedLocal success may not match production
Changelog mentions rename, cleanup, or refactorHigh chance of hidden contract break

Fix Plan

Only after the Evidence Packet and Risk Map:

  1. State the most likely version that introduced the issue.
  2. State the smallest code or config change to test first.
  3. Protect provider boundaries: do not claim database, deployment, billing, storage, identity, or other dashboard state was fixed by repo edits alone.
  4. Add or run the narrowest verification that proves the version-control theory, such as a focused test, migration check, route test, or build.
  5. If evidence is weak, ask for the missing release/log/provider detail instead of guessing.

Common Mistakes

  • Do not infer the breaking version from file timestamps alone.
  • Do not compare the whole repo when a narrower good/bad range exists.
  • Do not treat a package version bump as harmless; read its surrounding code changes.
  • Do not collapse provider context into generic "config changed" language. Name the database, storage, deployment, or external runtime behavior that could be affected.
  • Do not rewrite broad areas while investigating a version regression. Patch the smallest surface that matches the diff evidence.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.