agentleFS
jeremymcsjeremymcs/skills/falsify-project/SKILL.md

falsify-project

Skill8 starsChanged 6 months agoMITView on GitHub

Audit a project, repo, app, or site by assuming its documented claims are false until disproven through code inspection, tests, builds, runtime checks, and contradiction hunting. Use when the user wants an adversarial validation that attempts to disprove README, ADR, PRD, roadmap, or marketing claims before accepting the project as working.

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. About 0 are common, 14 are distinctive, and 2 are 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.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when the user wants adversarial project verification.

    line 10
  2. Distinctive:

    Default stance: every README, ADR, PRD, roadmap, issue, and UI claim is untrusted until evidence proves it.

    line 12
  3. Distinctive:

    Read docs, manifests, visible UI copy, examples, scripts, tests, issue templates, and recent commits.

    line 17
  4. Distinctive:

    Do not treat architecture docs, product docs, or TODOs as evidence that something works.

    line 19
  5. Distinctive:

    Prefer direct contradiction: missing code paths, dead links, failing commands, placeholder implementations, mock-only flows, skipped tests, …

    line 22
  6. Very specific:

    Use search for TODO, FIXME, mock, stub, placeholder, skip, only, throw new Error, disabled code, fake data, and missing environment …

    line 26
  7. Distinctive:

    Follow the primary workflows end to end through the implementation.

    line 27
  8. Distinctive:

    Run setup, lint, typecheck, test, build, smoke, and start commands that the repo advertises or makes available.

    line 29
  9. Distinctive:

    If the app/site can run, exercise the claimed primary user flows through browser automation, HTTP requests, CLI commands, or direct runtime …

    line 30
  10. Distinctive:

    Put validated claims after the failure analysis.

    line 40
  11. Distinctive:

    Start from distrust. Do not summarize docs as if they are true.

    line 95
  12. Very specific:

    Do not validate by absence of evidence.

    line 97
  13. Distinctive:

    Do not hide environment blockers, skipped tests, missing secrets, or unavailable services.

    line 98
  14. Distinctive:

    Do not create issues, PRs, or fixes unless the user explicitly asks.

    line 99
  15. Distinctive:

    If the repo is too large to inspect exhaustively, state the sampling strategy and residual risk.

    line 100
  16. Distinctive:

    Prefer concrete file paths, commands, screenshots, HTTP responses, test failures, and runtime observations over opinions.

    line 101

≈ “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

Falsify Project

Use this skill when the user wants adversarial project verification.

Default stance: every README, ADR, PRD, roadmap, issue, and UI claim is untrusted until evidence proves it.

Workflow

  1. Extract claims.
    • Read docs, manifests, visible UI copy, examples, scripts, tests, issue templates, and recent commits.
    • Convert claims into falsifiable statements such as "users can sign in", "the app deploys", "the API persists records", or "tests cover the core workflow".
    • Do not treat architecture docs, product docs, or TODOs as evidence that something works.
  2. Build a disproof plan.
    • For each important claim, identify the fastest way to prove it false.
    • Prefer direct contradiction: missing code paths, dead links, failing commands, placeholder implementations, mock-only flows, skipped tests, unhandled errors, missing persistence, broken setup, inaccessible UI, or non-working integrations.
    • Rank claims by user impact and centrality to the project.
  3. Inspect the whole project at a practical level.
    • Map entrypoints, routes, commands, domain logic, data storage, API boundaries, auth, integrations, tests, config, deployment, and docs.
    • Use search for TODO, FIXME, mock, stub, placeholder, skip, only, throw new Error, disabled code, fake data, and missing environment variables.
    • Follow the primary workflows end to end through the implementation.
  4. Run falsification checks.
    • Run setup, lint, typecheck, test, build, smoke, and start commands that the repo advertises or makes available.
    • If the app/site can run, exercise the claimed primary user flows through browser automation, HTTP requests, CLI commands, or direct runtime checks.
    • Record exact failures and the command, URL, screen, or code path that exposed them.
  5. Decide claim status.
    • Disproven: evidence shows the claim is false.
    • Unproven: not enough evidence to validate the claim.
    • Partially proven: a narrow version works, but the full claim does not.
    • Validated: repeated code/runtime evidence supports the claim and no attempted disproof succeeded.
    • Validation is allowed only after serious contradiction checks fail.
  6. Produce the report.
    • Lead with disproven and unproven claims.
    • Put validated claims after the failure analysis.
    • Give next steps that would convert disproven/unproven claims into validated behavior.

Report Format

## Falsification Report

Overall status: Broken | Mostly broken | Partially working | Mostly working | Validated

Confidence: High | Medium | Low

### Claims tested

| Claim | Status | Disproof attempt | Evidence |
| --- | --- | --- | --- |
| Claim text | Disproven/Unproven/Partially proven/Validated | What was tried to break it | File, command, response, or observation |

### Disproven claims

1. Claim
   - Disproof evidence:
   - Impact:
   - Required fix:

### Unproven or partial claims

1. Claim
   - Missing evidence:
   - Risk:
   - Required verification:

### Validated claims

- Claim: evidence that survived disproof attempts.

### Commands and checks run

```bash
commands that were run
```

### Next steps to make the project true

1. Highest priority fix or verification step
2. Next priority fix or verification step
3. Next priority fix or verification step

### Limits of this audit

- Anything that could not be accessed, run, inspected, or falsified.

Guardrails

  • Start from distrust. Do not summarize docs as if they are true.
  • Disprove before validating. The report must show attempted contradiction for important claims.
  • Do not validate by absence of evidence. If a claim cannot be tested, mark it Unproven.
  • Do not hide environment blockers, skipped tests, missing secrets, or unavailable services.
  • Do not create issues, PRs, or fixes unless the user explicitly asks.
  • If the repo is too large to inspect exhaustively, state the sampling strategy and residual risk.
  • Prefer concrete file paths, commands, screenshots, HTTP responses, test failures, and runtime observations over opinions.

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.