The public library of OpenSOP SOPs. An SOP is a
shareable process definition — a .sop.json file you can pull and run with
the local-first opensop CLI. No server required.
opensop pull <author>/<slug>@<sha>
opensop run <author>/<slug>@<sha> --input key=value
Always pin @<sha> to a commit SHA. Without it you get the latest commit on
the default branch, which may not be the version anyone verified.
Read the SOP before you run it. Never auto-run a freshly pulled SOP.
SOPs can contain shell steps that execute arbitrary code. Open
<author>/<slug>/<slug>.sop.json and <author>/<slug>/AGENTS.md and read
them — every time, even on an SOP you've run before, because the version
may have changed.
The repo root is the library root — there is no SOPs/ wrapper directory.
<author>/<slug>/
<slug>.sop.json the process — the only executable artifact
AGENTS.md the only file an agent needs to read
RUNS.md the verification log
opensop pull <author>/<slug> resolves to
<author>/<slug>/<slug>.sop.json at the repo root.
Every SOP declares its effects — anything sent, spent, published, or otherwise irreversible — in the process file, repeated in AGENTS.md, and repeated again in the header of its GitHub Discussion.
Nothing publishes below 10 consecutive passing real runs, logged in
RUNS.md. A failing run breaks the streak; the count restarts at zero.
One SOP, one canonical GitHub Discussion, created at publish and titled with the SOP slug. That's where SOPs are shared, discussed, and reported on — not in ad hoc issues or PR comments.
These two words mean different things here and are never used interchangeably:
- Verified — the maintainers ran it 10 times. This is the publishing bar.
- Proven — someone other than the author reported it worked for them.
An SOP can be verified without being proven. Look at both before you trust it with real credentials.
Open an issue — see CONTRIBUTING.md. Do not just complain in the discussion; a complaint with no linked issue does not produce a fix.
See CONTRIBUTING.md and the skeleton in
_template/.