scorched-earth-de77ea — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited scorched-earth-de77ea (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Unrelentingly, obsessively thorough analysis. This skill exists for one reason: to make absolutely certain nothing is missed. Not "pretty thorough." Not "good enough." Every file, every function, every claim, every detail — examined, verified, logged.
This is the skill you reach for when the cost of missing something is higher than the cost of being slow. It will take too long. It will find things you didn't ask about. It will be almost annoying in its thoroughness. That's the point.
These rules override every default behavior. They exist because LLMs are trained to be convenient, fast, and concise. This skill is none of those things.
< instead of <=, which means tokens are rejected 1 second before they actually expire — change to <=" is a finding.The mode is determined by the argument:
| Input | Mode |
|---|---|
/scorched-earth (no argument) | Build — sweep the entire current project |
/scorched-earth [url] | Intake — exhaustive extraction from the URL |
/scorched-earth research [topic] | Research — exhaustive investigation of a topic |
Sweep the entire project. Find every issue. Miss nothing.
Before examining anything, map everything that exists.
1. File inventory — every file in the project, categorized:
| Category | Examples |
|---|---|
| Entry points | Main files, route handlers, API endpoints, CLI commands |
| Core logic | Business rules, data processing, algorithms |
| Auth & security | Auth middleware, permission checks, token handling |
| Data layer | Database queries, migrations, models, schemas |
| External integrations | API clients, webhooks, third-party SDKs |
| Infrastructure | Config, build, CI, deployment |
| Utilities and helpers | Shared functions, formatting, validation |
| Types and interfaces | Type definitions, shared contracts |
| Tests | Unit, integration, e2e |
| Documentation | README, docs, comments |
| Boilerplate & generated | Lock files, generated types, standard configs |
2. Risk-priority ordering — not all code carries equal risk. Rank zones by blast radius:
| Priority | What goes here | Why |
|---|---|---|
| P0 — examine first | Auth, payments, data mutations, external integrations, entry points | Bugs here cause security breaches, data loss, or money loss |
| P1 — examine second | Core business logic, state management, data layer | Bugs here cause incorrect behavior users will hit |
| P2 — examine third | Utilities, helpers, UI components, formatting | Bugs here cause annoyance, not damage |
| P3 — verify by inspection | Lock files, generated code, standard config, static assets | Confirm they're standard, mark clean, move on |
If context runs out before finishing, at least P0 and P1 were covered. That's the insurance policy.
3. Zone the project — group files into zones by directory or domain. Each zone is a self-contained examination unit. When a zone is complete, its findings are written to disk before moving to the next zone. This is how you survive context compaction — completed zones are already persisted.
4. Create tasks — one task per zone, ordered by priority. The task list IS your checklist.
Output the full map before proceeding. This is your contract for what "done" means.
Examine every zone from the task list, in priority order. For each file in the zone, do one thorough read with all five lenses active simultaneously:
The Five Lenses (applied in a single read, not five separate passes):
Logic and correctness:
Security and trust boundaries:
Error handling and failure modes:
Edge cases and assumptions:
Code quality and maintainability:
After each zone: Write that zone's findings to the report file on disk immediately. Mark the zone task as completed. Then move to the next zone.
After the zone-by-zone sweep, do a connecting pass across the entire codebase for concerns that span zones:
Append cross-cutting findings to the report file on disk.
The report has been built incrementally on disk throughout Phases 2-3. Now finalize it.
Report location: _docs/scorched-earth-build-[YYYY-MM-DD].md
If _docs/ doesn't exist, create it.
Report structure:
# Scorched Earth — Build Report
## Project: [name]
## Date: [date]
## Surface area: [N files across K zones, M entry points]
---
### Critical (fix before shipping)
[numbered list — each with file:line, description, why it matters, fix]
### Serious (fix soon)
[numbered list — same format]
### Moderate (fix when touching this area)
[numbered list — same format]
### Minor (improve over time)
[numbered list — same format]
### Clean Areas (examined, no issues found)
[list of files/areas that were examined and verified clean — this proves coverage]
### Recommendations
[architectural or structural suggestions that aren't bugs but would prevent future ones]The Clean Areas section is mandatory. It's proof of coverage. If a file doesn't appear in either the findings or the clean list, it wasn't examined — and that means you're not done.
After the report: Create tasks for every Critical and Serious finding so they can be knocked out systematically. Offer to pipe into /architect if the findings suggest structural changes that need a build plan.
You are not done until:
Exhaustive extraction from a URL or reference. Not a summary — everything.
Detect the type of source and adapt the extraction:
| Source type | Detected by | Adaptation |
|---|---|---|
| Website / landing page | URL to a live site | Full site teardown — see below |
| Article / blog post | URL to written content | Content extraction — all claims, techniques, specifics |
| Video / podcast | YouTube, social media URL | Transcript + visual extraction via /eat pipeline |
| Repository | GitHub/GitLab URL | README, docs, source, examples, architecture |
| Documentation | Docs site URL | Every page, every example, every API reference |
Fetch the content. Read all of it. If it's a multi-page site, read every page. If it's a video, get the full transcript. If it's a repo, read the README, docs, source, and examples. Do not skim. Do not sample.
For website teardowns (the most common intake use case — studying a site to clone or recreate):
| What to capture | Details |
|---|---|
| Section catalog | Every distinct section, named and described, in page order |
| Layout & structure | Component hierarchy, grid/flex patterns, container widths, section heights |
| Typography | Font families, sizes, weights, line heights, letter spacing. Heading scale. Body vs display. |
| Color palette | Every color used — backgrounds, text, accents, borders, shadows. Extract exact values where possible. |
| Spacing patterns | Section padding, element gaps, consistent spacing units |
| Responsive behavior | Breakpoints, what changes at each, mobile vs desktop layout shifts |
| Interactions | Hover states, click behavior, scroll effects, animations, transitions, modals, dropdowns |
| Navigation | Nav structure, menu behavior, footer links, internal linking patterns |
| Content structure | Heading hierarchy, content blocks, media placement, CTA placement |
| Tech stack | Framework, libraries, fonts loaded, analytics, third-party scripts (visible in source) |
| Assets | Images, icons (icon library or custom), illustrations, video embeds |
Read the page source where possible, not just the rendered content.
Pass 1 — Concrete details: Every specific number, name, date, URL, technical term, tool name, version, measurement, claim, and quote. If it's specific, it gets pulled out.
Pass 2 — Structure and patterns: How is the content organized? What's the information hierarchy? What design patterns, code patterns, or structural patterns are used? What's the system behind the surface?
Pass 3 — Techniques and methods: Every technique, methodology, approach, or process described or demonstrated. Step-by-step where possible.
Pass 4 — Gap analysis: What's NOT said? What would you expect to see that's missing? What does the author/builder take for granted? What questions does this content raise but not answer?
Pass 5 — Contradictions and verification: Does anything conflict with itself? Does anything conflict with known facts? Are there claims that need independent verification?
Create a structured doc in the project's _docs/ directory:
_docs/
[source-name]/
overview.md — what this source is and why it was examined
details.md — the full extraction (passes 1-3)
gaps.md — what's missing, what to verify (passes 4-5)
assets/ — screenshots, diagrams, saved references (if applicable)For website teardowns, replace details.md with a more specific structure:
_docs/
[site-name]/
overview.md — what the site is, tech stack, overall assessment
sections.md — every section cataloged with layout, content, interactions
design-system.md — typography, colors, spacing, component patterns
interactions.md — animations, transitions, hover states, scroll effects
gaps.md — what's missing, what to verify, what to improve on
assets/ — screenshots, reference imagesIf _docs/ doesn't exist, create it. The [source-name] should be descriptive and slugified — e.g., stripe-checkout-docs, linear-landing-page, react-server-components-rfc.
After output: Offer to create tasks from the findings if they imply work to be done (e.g., "recreate section X", "implement pattern Y"). Offer to pipe into /architect if the intake was for a build project.
You are not done until:
_docs/[source-name]/Exhaustive investigation of a topic. Not "here's what I know" — go find out what's actually true, from multiple sources, cross-referenced.
Before researching, define what "done" looks like:
Find and examine substantive sources until you stop finding new information. Not blog posts that rehash each other — primary sources: official docs, engineering blog posts, RFCs, source code, conference talks, postmortems, issue trackers.
Minimum 3 sources. No maximum. The signal to stop is diminishing returns — when a new source repeats what you've already found without adding anything, you're approaching coverage. If the first 3 sources all say different things, keep going. If 5 sources converge, you're probably done.
For each source:
Use web search, context7, docs sites, GitHub repos. Parallel research agents where possible to cover more ground.
Don't just stack sources — synthesize them:
_docs/
[topic-name]/
overview.md — research question, scope, sources used
findings.md — the full synthesis
sources.md — annotated list of every source examined
open-questions.md — what couldn't be resolvedAfter output: Offer to create tasks from the findings if they imply work. Offer to pipe into /architect if the research was prep for a build.
You are not done until:
_docs/[topic-name]/These exist because LLM default behavior fights this skill's purpose at every turn.
The context window problem: Long examinations risk context compaction, which loses findings. This is the #1 threat to this skill working on real projects. Mitigate:
/memento auto on if available to survive compaction.The "good enough" trap: After examining 60% of the codebase, the model will feel like it has a representative picture and want to extrapolate. Do not extrapolate. Examine the remaining 40%. The bugs that matter most are the ones hiding in the parts you'd skip.
The summarization reflex: When output gets long, the model compresses. "Several files have this issue" replaces specific instances. Fight this actively. If you catch yourself generalizing, go back and enumerate.
The false completion signal: The model wants to report "done" and deliver a clean output. If the report feels tidy and complete after examining half the project, you're not done — you're halfway. Check the task list.
The depth-vs-breadth trap: The model may go deep on the first few files and shallow on the rest as context fills up. All files at the same priority level get the same depth. If you're going shallow, you're not scorching earth — you're mowing the lawn.
The handoff gap: After generating a report, don't just drop it. Create tasks for actionable findings. Offer to connect to other skills (/architect for structural changes, /fortify for test gaps found). The report is the beginning of the work, not the end.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.