{
  "markdown": "# popper-probe\n\n**A research companion that tries to prove your hypotheses wrong.**\n\nMost thinking tools help you build a case. This one helps you break it.\n\nInspired by Karl Popper, `popper-probe` is a Claude Code skill for\nresearchers. Bring a fuzzy idea or a half-formed claim, point it at the\npapers you've been reading, and it will:\n\n- sharpen the claim into something *risky* enough to be wrong,\n- name the observations that would refute it,\n- flag the hedges and ad-hoc rescues you didn't notice you were making.\n\nOver time it keeps a markdown ledger of your hypotheses, the evidence\nfor and against, and the moments you should have changed your mind.\n\n## Install\n\nIn any Claude Code session:\n\n```\n/plugin marketplace add mashathepotato/popper-probe\n/plugin install popper-probe@popper\n```\n\nThat installs `popper-probe` at the user level — available in every project,\nnot just one. Restart Claude Code (or `/reload-plugins`) and you're done.\n\nTo pull updates later:\n\n```\n/plugin marketplace update popper\n```\n\n## Use it\n\nStart any Claude Code session and describe something hypothesis-shaped:\n\n> *\"I think X causes Y. Here are the papers I've been reading: refs/a.pdf, refs/b.pdf\"*\n\n`popper-probe` will run an adversarial-but-constructive Popperian dialogue\n(optional state-of-the-art orientation, then operational restatement,\nfalsifier, test design, distinctiveness) and write a structured\n`hypothesis.md` to `popper-corpus/<slug>/` in your working directory.\n\nYou can validate any hypothesis file against the schema with:\n\n```\npython3 scripts/validate_hypothesis.py popper-corpus/<slug>/hypothesis.md\n```\n\n## How it works\n\n```mermaid\nflowchart TD\n    Start([User describes a hypothesis]) --> Q0{Uncertainty<br/>signals?}\n    Q0 -->|yes| P0[Probe 0 — SoTA orientation<br/>foundations + user papers + opt-in web]\n    Q0 -->|no| P1\n    P0 --> P1[Probe 1 — Restate operationally]\n    P1 -->|operational| P2[Probe 2 — Name the falsifier]\n    P1 -.->|cannot operationalize| FAIL[FAILED gate<br/>status: unfalsifiable<br/>Diagnostic written]\n    P2 -->|got falsifier| P3[Probe 3 — Test design<br/>+ literature pass on user papers]\n    P2 -.->|none nameable| FAIL\n    P3 --> P4[Probe 4 — Distinctiveness<br/>light, optional]\n    P4 --> PASS[PASSED gate<br/>status: active]\n    PASS --> Write[Draft inline → user approves →<br/>write popper-corpus/&lt;slug&gt;/hypothesis.md]\n    FAIL --> Write\n    Write --> Validate([Optional: validate_hypothesis.py])\n```\n\nSee [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) for static structure\nand data-flow diagrams.\n\n## Status\n\nV1 — the intake skill. Corpus tooling, observation logging, and audits\nfollow in subsequent phases.\n\n## Reference\n\n- Canonical example output:\n  [`docs/examples/popper-corpus/pea-plants-music-biomass/`](docs/examples/popper-corpus/pea-plants-music-biomass/)\n- Design spec:\n  [`docs/superpowers/specs/2026-05-11-popper-probe-intake-design.md`](docs/superpowers/specs/2026-05-11-popper-probe-intake-design.md)\n- Implementation plan:\n  [`docs/superpowers/plans/2026-05-11-popper-probe-intake-plan.md`](docs/superpowers/plans/2026-05-11-popper-probe-intake-plan.md)\n- Vision for the full companion:\n  [`context/overview.md`](context/overview.md)\n\n",
  "bytes": 3211,
  "sha": "94299d05de2ad85c92ca2996ee784a1d2a96b33fd350f43fa501763edb0f13c7",
  "repo_slug": "mashathepotato/popper-probe",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_mashathepotato_popper_probe_popper_probe_eb1d4be0/readme"
}