Borrowing it
Nothing to install: this file belongs to derio-net/super-fr. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/derio-net/super-fr/main/AGENTS.mdgit clone --depth 1 https://github.com/derio-net/super-frWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/derio-net/super-fr/agents-md)<a href="https://agentmods.dev/instructions/derio-net/super-fr/agents-md"><img src="https://agentmods.dev/badge/instructions/derio-net/super-fr/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/derio-net/super-fr/agents-md"><img src="https://agentmods.dev/badge/instructions/derio-net/super-fr/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.13360 | $0.13360 |
| Opus 5.5 | $0.05344 | $0.05344 |
| Sonnet 5.5 | $0.02672 | $0.02672 |
| Haiku 4.5 | $0.01336 | $0.01336 |
Grade A, and why
super-fr AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 732 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent instructions — super-fr
Internal working notes for agents maintaining this repo (super-fr itself,
not a repo that merely installs it). User-facing rules the plugin ships to
consumer repos live in plugins/super-fr/rules/; this file is for agents
changing super-fr's own source. Claude Code reads this via CLAUDE.md's
@AGENTS.md import; OpenCode reads it directly plus opencode.json's
instructions array (.opencode/instructions/*.md — generated, see below).
Repo shape
uv workspace monorepo, version lockstepped across every manifest (see
"Release / version bumping"). packages/:
fr— the CLI/engine: plan-as-folder model, GitHub tracking (render → observe → diff → apply, single mutation path inapply.py, dry-run by default), isolation lifecycle. Entrypointfr = "fr.cli:app".fr journal(fr/journal/,commands/journal_cmd.py) — scope-keyed (spec|plan|debug) durable run-state underdocs/superpowers/journals/{specs,plans,debug}/(one subdir per scope so the tree is glanceable; archived toimplemented/journals/<scope>/).add(create-only on--id— re-adding an existing id fails loudly and directs the caller toresolve) /resolve(appends a RESOLUTION RECORD closing a finding — fixed | refuted | deferred, the last needing--tracked-by <issue>; append-only, so the original entry is never rewritten) /render(raw, feeds PR bodies) /check(fail-closed on findings whose effective state — the fold of every record naming them, last one wins — is still open).fr plan createseeds a plan journal; parsing never depends on one (back-compat), and a journal with no resolution records folds to exactly what it did beforeresolveexisted. fr-goal & fr-debugging write it as they run. The matrix's counterpart verb isfr acceptance set-status(in-place, besideadd): a registry of CURRENT state, deliberately not a log.fr models(fr/models.py,commands/models_cmd.py) —tier → modelbindings (~/.config/fr/models.yaml, repo override > user) for fr-goal subagent dispatch;PhaseHeader.tieris the harness-neutral hint.fr.bindings(fr/bindings/, 2026-10-06 specmodel-binding-churn) — whether a bound model is still SERVED, besidefr/models.py(which stays the config layer).catalogue.pyparsesopencode models --verbosefor lineage and price (never itsstatus) and keeps last-known snapshots;probe.pyasks the provider live (live/dead/unknown;deadonly on positive provider evidence) and caches verdicts for 6 h;choose.pyis pure — R4's family → tier → hint rules andis_autonomous, the one bound fr may act on unasked;health.py'scheck_bindingsis the one report every caller reads;wording.pythe one substitution line and journal decision body. The cache lives under$HOME/.cache/fr/models/(FR_MODELS_CACHE_DIRoverrides). Only OpenCode is probed:prober_for(the one factory, and the name tests monkeypatch) givesNoneelsewhere, which reportsunprobed. Callers:fr models set/check,fr run start's notice, the gated brief'sdead_bindings/binding_offers, andrun_cmd._guard_dispatch_binding, which checks the exact tier both dispatch paths open and substitutes a dead USER binding autonomously (journal decision first, then the binding, restored on failure) or refuses.- fr-goal subagent execution (2026-07-22 spec): fr-goal dispatches each
phase to the
plugins/super-fr/agents/fr-phase-executoragent (serial, shared workspace);scripts/ensure-phase-executor-allowlist.sh(called by install.sh) allowlists it in the org agent-worktree hook, else fr-goal falls back to inline. fr/workflow(2026-08-14 spec,workflow-shapes-and-workitem-dispatch) — the shape axis:model.py(WorkflowManifest/Stepschema,parse_manifest),resolve.py(repo > shipped resolution —fr run start's real call site),check.py(fr workflow check: duplicate ids, danglingneeds, cycles, unknown capabilities),artifacts.py(REPO_TRACKED_ARTIFACTS/IMPLIED_INPUTS_BY_UNIT/required_inputs— the vocabulary reachability derives from),reachability.py(path-level "is this onorigin/HEAD", no item type —fr_dispatch's item-level gate calls into it, never the reverse),shapes.py(FR_GOAL_PHASE_DISPATCH— the default phase-granularity shapefr apply/the bridge still dispatch against; not yet resolved from a real manifest end to end, see the acceptance matrix).fr.capabilities(CAPABILITIES, the closed setrequires:validates against) is a sibling offr/workflow, not inside it;fr_dispatch.capabilitiesis a two-line re-export kept for import back-compat.fr/verification(2026-10-06 spec,verification-strategies) — how a change is proven:model.py(StrategyManifest, closed placeholders),resolve.py(repo > env > wheel > marketplace, same order as workflows),check.py(fr verification check),spec_section.py(the spec's## Verificationgrammar, a prose-only section counts as none),effective.py(effective_strategy/is_post_merge, the ONE place a row's strategy is decided, in R7's order),rows.py, andwalk.py(fr verification walk: install through the repo's.fr/candidate-installinto a tmp prefix, smoke, each row's scenario, a log bound to the run, strategy, manifest hash and code tree;fr/run/observed.py's allowlist decides which walk commanddeliverwill witness).commands/verification_cmd.pyalso ownsprerelease(theprerelease.ymldispatch). The matrix rows carryverify,scenario,issues,harnessesandwalks(fr/acceptance/walks.py; matrix kind 4, record kind 8). Author-facing doc:docs/verification-strategies.md; this repo's own contract and scenarios are.fr/candidate-installandtests/scenarios/, run in CI bytests/integration/test_scenarios.py.fr/run— the durable cursor (docs/superpowers/runs/<run-id>.yaml, git-tracked), driven byfr run {start,adopt,status,advance,resolve,check,cost}(model.py'sRunState/StepRecord,commands/run_cmd.py).advanceexecutes akind: clistep directly and never akind: agentone — it emits a dispatch brief instead;resolveis the only way anagentstep's cursor moves pastrunning.costprints a run's cost per step and model from its usage file (fr/run/cost.py; run 7 moved every figure out of the cursor — the v5/v6 shape is frozen asfr.run.legacy.RunStateV6);deliver's derivedproportionalityevidence runsfr plan proportionality(fr/proportionality.py).plugins/super-fr/workflows/ships the manifests this resolves (fr-goal.yaml, the pipeline/fr-goalitself now narrates); a repo may override one wholesale underdocs/superpowers/workflows/<name>.yaml. Shipped manifests are NOT mirrored to OpenCode/Hermes like skills/rules are —fr runis a CLI surface every harness drives the same way, not a per-harness prompt.fr/run/liveness.py(2026-09-20 unit-record-unification §4.G, gh#518) is the ONE definition of "idle" — a run that is advanceable with nobody working on it:is_idle(pure) behindfr run check --idle(exit 3), plus--stalled-after(reported, never failed). It also owns the three predicatesadvanceshares with it (gate_pending,next_step_id,hold_on). Two adapters call that CLI and re-derive nothing:plugins/super-fr/hooks/fr-run-idle-guard.sh(Claude CodeStop— BLOCKS; always exits 0, deliberately noset -e, because exit 2 from a Stop hook is itself a block andfrexits 2 on every refusal) andpackages/fr-opencode-plugin/src/idle.ts(session.idleon 2.0.32,session.execution.succeededon 2.1.x — CONTINUES; live-proven 2026-10-23, soenforced). Both act at most once per runposition.fr/tracker— the tracker protocol (model.py'sTrackerProtocolTrackedItem, a structural stand-in forWorkItemsofrnever importsfr_dispatch;github.py'sGithubTrackeris the one concrete adapter). No second adapter exists yet — protocol-level only.
fr.harness(2026-09-18 spec,harness-parity-matrix) — a fourth closed vocabulary, sibling tofr/workflowandfr.capabilities: the shippedparity.yaml(src/fr/harness/parity.yaml, loaded viaimportlib.resources, never mirrored — it ships inside thefrwheel like any other package data) declares which enforcement/interaction surface is wired on which harness;observe.pyreads the real registration files (hooks.json,.hermes/config.snippet.yaml,fr-opencode-plugin's marker comments) independently of the declaration, andcheck.pyis the only bridge between the two. CLI:fr harness parity(commands/harness_cmd.py).prose.py'sscan_proseis the sibling tool/argument-neutrality scanner (TOOL_VOCABULARY,ARGUMENT_VOCABULARY) over skill, agent and rule prose.fr/triage(2026-09-21 spec,fr-triage) — backlog triage, split into a deterministic engine (fr triage {collect,check,render},commands/triage_cmd.py) and a thin skill (plugins/super-fr/skills/fr-triage/) that holds only the judgement discipline. The split is forced: the OpenCode/Hermes mirrors copy onlySKILL.md, so a script bundled beside a skill never reaches them — only thefrwheel reaches every harness. State lives in the scope's state directory, the workspace's.fr/triage-state/<scope>/or$HOME/.cache/fr/triage/<scope>/outside a clone (owner--repoorowner, lowercased;--diroverrides; a scope with a state repo is synced withrefs/heads/fr-triage/<scope-id>bytriage_cmd.resolve_state_dir, 2026-10-07 cloud-triage spec):facts.json(collect),judgements.yaml(the agent's, shape in spec §3.D),triage.html(render). It is never committed by default, so it is NOT an artifact kind. This repo keeps a durable copy of its own scope's inputs and history (judgements, origins, subsystems, snapshots, the architecture fragments' sources) indocs/triage/, moved bydocs/triage/sync.sh export|import; the cache stays the working copy (seedocs/triage/README.md).collect.py'sForgeprotocol (one implementation,ClientForgeover the forge adapter) is the one place a second forge lands — that backend's adapter implementing the reads, not an edit to the collector.triageis infr.artifacts.trigger.READ_ONLY_COMMANDS(it never touches a registered artifact), so the migration gate never refuses it.checkalways exits 0; its core sets are unranked (issues and PRs), settled, orphaned (the key names no repo collect read — the only set safe to act on without the forge) and unreachable (the forge would not show the issue, the repo was skipped, or the key was judged after the last collect). A DELETED issue is unreachable, not orphaned: collect views every judged key in a collected repo, so its failure is always recorded. The last set, stale dispatch, arrived with batches: anfr:in-progressissue whose batch marker comment is older thanstale_dispatch_days, with no PR. Batches (2026-09-25 spec,triage-batches):fr triage batch {list,create,edit,cancel,suggest,dispatch,merge,drive}(commands/triage_batch_cmd.py) turn a group of judged issues into one fr-goal run with one PR.judgements.yamlcarriesbatches:with engine-appendedevents(fr reads schemas 1–12 and writes 12, see the waves paragraph below) andfacts.jsonschema 8 (open-PR join withfiles/head_oid,batch_prs, per-repoconfigfrom the target repo's.fr/triage.yaml). The engine isfr/triage/batch.py(stages, open-batch rule, the one writer, the §3.F merge order),batch_dispatch.py(brief, marker comment),batch_version.py(reservations) andbatch_merge.py(reconcile, refusals, execution).dispatch,mergeandcancelwrite the forge only with--yes, only through theGhClientadapter (§3.J; glab/tea raiseUnsupportedForgeOperation, gh#611); git runs only infr/triage/gitseam.py, which a tripwire keeps apart from the forge ban that globs everybatch*module.triage_batch_cmd.pyisfr's secondfind_spec-guarded soft point intofr_dispatch(test_import_direction.py_SOFT_POINTS). The board's decision views (2026-10-02 specwave-driver, I):views.pyis pure (needs_you,next_up,preselected_waveover a driverSnapshotbuilt from facts alone, so the board anddrive_passread the same inputs),snapshot.pystores/diffs the per-render snapshots (render.pyreads no clock; the command passes it),components.pyholds the colour tokens, the phone gutter and the onetabs()component.Judgement.kindandJudgements.featuresload on any schema;checkhas anunplacedset. Origins and the architecture page (same spec, E and F):fr triage origins {collect,check,render}(origins.py; classification is thefr-originsskill's) andfr triage architecture render(architecture.py): the snapshot timeline, measured sections (line counts via thegitseamls-tree/showat eachsubsystems.yamlref), then authoredarchitecture/fragments in manifest order. Waves and the driver (2026-10-02 spec,wave-driver): judgements schema 3 addswave/afterper batch and thepost_merge/closeoutevents; schema 7 adds auditedreplacementattempt/success/failure events that never change dispatch age or lifecycle; 8 addsclaim_taken, which makes a taken member's claim owed (gh#1120); 9 the merge-train events; 10 the collected close-out (closeouts:,closeout_handback,closeout_hold, exit-gates R15/R27); current writers stamp 12 (read 1–12), adding recovery ownership/session audit metadata; 11 addedarchive_conflict(merge-truth R12).fr triage batch replaceowns scope then pane locks, checkpoints and cross-store repair, never replaying uncertain submission;driveruns waves to completion.batch_drive.pyis the pure pass (aSnapshotin, orderedmerge,closeout,archive,dispatch,blocked,warnactions out; nofr_dispatch, no git, no process, the clock passed in); the command re-collects facts each pass (triage_cmd.collect_into), executes throughdispatch_batch/merge_ready, fast-forwards and runs the repo'spost_mergeargument list throughgitseam.Checkout, and starts each close-out as aunit="run"item withpayload.kind: closeout. Adrive.lock(pid, start time) refuses a second driver.fr/usage(2026-09-25 spec,lean-cost-aware-process§5.A) — what a session or run cost, and on what, reconstructed from the harness's own records:readers/(one per harness — Claude Code transcripts, OpenCode and Hermes SQLite opened read-only — each returning aUsageRecordand NEVER raising: a failure isunavailable, never a record of zeros),classify.py(pure(tool, command|path) -> activity),rollup.py(the harness's dollars split by fixed price ratios across activities and cursor step windows, plus turns),render.py(table / one HTML page,—for every missing figure). CLI:fr usage collect|report|backfill|compare(commands/usage_cmd.py;compare—usage/compare.py, 2026-10-06 speccost-evidence§F — is the before/after tool: two sets of runs, selected by ISO date/timestamp or run id, over committed usage files, cursors of every version and plan journals; phases from the plan folder,--stepsfor the main session's per-step figures; pure engine, read-only,—for any missing input); the cache lives under$HOME/.cache/fr/usage/, sousageis inREAD_ONLY_COMMANDS(backfillonly writes archive files: it creates missing ones and prices sessions an archived one captured while they were still open, gh#756). Driver skill:fr-audit. Dollars always come from the harness; fr invents no list price. §5.B persists it:file.pyis theusageartifact kind (docs/superpowers/usage/<run-id>.yaml, one capture per host, host labelh-<sha256(run+hostname)[:8]>, an ALLOWLIST projection — never amodel_dumpof a record, which holds raw commands and paths),capture.pywrites it atresolve --step deliver, a new host's first resolve andfr archive(never failing the step),backfill.pyfills archived runs. Host-side rule (fr/isolation/where.py):fr run/fr usageexecute on the harness host —fr isolation execrefuses them in devcontainer mode, and therun/usagegroups refuse in-process on a devcontainer-mode workspace (target: devcontainermarker + container evidence), never on a host-worktree pod or an external marker.fr/debt(2026-10-11 spec,debt-engine) — what a repo owes, as oneDebtReport(model.py;schema_version: 1, frozen).engine.compute(repo_root, *, forge, now, stale_days)is pure given the forge and the clock: acceptance fromload_matrix(an unreadable matrix isavailable: false, never zero), plans fromfr.closeout.plan_sweep(archivable with merge age fromgit logon the default ref, stale when the plan dir, its run branch and its PR'supdatedAtare all older thanstale_days), and owed items folded byfold_owed(OwedSources), one per key (spec:,plan:,row:,issue:), precedence journal > row > plan > issue (a new source is oneOwedSourcesfield and oneOWED_PRECEDENCEentry).debt_total()is the one definition of zero debt.render.pyhastext,markdown(markers<!-- fr-technical-debt -->and base64fr-debt-figures) andparse_figures;forge.pyadaptsGhClientto the engine'sDebtForgeprotocol..fr/debt.yamltakes one key,stale_days. CLI:fr debt [--json] [--stale-days N] [--offline](commands/debt_cmd.py), read-only, sodebtis inREAD_ONLY_COMMANDS;fr acceptance digestre-renders the report's Acceptance section.DEBT_STATUSES(acceptance/model.py) is the one status setopen_rows, status and the digest count.fr/record(2026-09-25 spec,lean-cost-aware-process§5.C) — step records: one YAML per agent step atdocs/superpowers/runs/<run-id>.records/<step>[__<item>].yaml(artifact kindrecord, transient: committed while the step runs, deleted by the resolve that applies it).model.py(StepRecord;allowed_sectionsreads the step'semits:—journal:<scope>,plan:ticks,acceptance, the tokens infr.workflow.artifacts),apply.py(apply_record— THE one bookkeeping write path: validate against the manifest and disk, build every write in memory, write atomically, runfr run resolve's own gates in process viarun_cmd.resolve_in_process, restore every byte on a refusal, commit once, one line),template.py(the pre-filled record in the dispatch brief'srecordkey andfr pickup, or "record in progress"),pr_body.py(deliverrenderspr-body.mdand refuses a live PR missing a required section, read viafr.gh.view_pr_body),gates.py(the refactor gate, moved here fromfr plan self-review). CLI:fr run resolve --record;fr journal add/resolve,fr plan edit --tick/--complete-phaseandfr acceptance add/set-statusbuild one-entry records through the same engine.- Cloud triage (2026-10-07 spec,
cloud-triage) — the wave driver and its workers in Claude Code cloud sessions.fr.forgeapiresolves the one host settingforge.api: rest | graphql(FR_FORGE_API, else~/.config/fr/forge.yaml, elsegraphql); underrest,fr/real_ghrestclient.py(RealGhRestClient) is the GitHub client, REST routes only, because the cloud proxy refuses GraphQL.fr/triage/state_ref.pykeeps a scope's durable state on the orphan branchrefs/heads/fr-triage/<scope-id>(the cloud git proxy writes onlyrefs/heads/*; fetch before read, reading the legacyrefs/fr/triage/<scope-id>when the branch is absent; compare-and-swap push after every change, a push the remote refuses only a warning after a command's own work);privacy.pyis the guard (leak_risk) that refuses a private repo's issue in a scope whose state repo is public, and every push;lease.pythe one driver per scope;driver.pythe driver adapter (host|cloud: runner, refusals,post_merge),fr triage drive pass|recordits cloud entry;drift.pythe pure version-drift planner (re-homes, the driver's self-update).fr.cloud(fr cloud doctor|setup-script) checks a cloud session's prerequisites and appends one remedy block to the failures they explain, only whenCLAUDE_CODE_REMOTE=true.fr.agents+fr/artifacts/agents_kind.pyare theagentsartifact kind:.claude/agents/fr-{spec-reviewer,phase-executor}.mdrendered from the wheel copy (scripts/sync-agents-data.py, tripwiretest_tripwire_agents_data.py, whose sha pin makes an agent edit move the kind's version) byfr init agents. Operator doc:docs/cloud-setup.md. fr/ops(2026-10-22 spec,fr-ops) — a plan's manual operations as typed, checkable, runnable records.model.py(Op, strict;LegacyOp, the# manual-operationstep-block reader),load.py(ops.yamlplus step blocks plus the.fr/ops.yamlrunbook;plan_has_ops, whichfr.verification.exitreads to adddevopsto a run's gates),engine.py(status/orderover an injected runner),apply.py,attest.py,evidence.py(opplan-journal entries,recorded_close),trust.py(R19: the operator's grant, OUTSIDE the repo),probe.py/mask.py(minimal-env, bounded probes; every reason sanitised),profile.py(ops: trueprofiles),helpers.py(seal/secret/clip/scratch),holds.py(what still holds a devops gate, by recorded evidence) andgate.py, the DevOps stage's sequencer: eight stages as data over host/workspace/forge/prompt ports, its state host-side (HostGateState); the ops workspace is PR-controlled, so an op closes there only by its live status and a journal closure or Test Plan outcome only when added on the ops branch after the recorded head. CLI:fr ops {status,apply,attest,trust,seal,secret,clip,scratch,gate}(commands/ops_cmd.py,commands/ops_gate_cmd.py); the whole group is gated by the artifact trigger. Everypython -m frfr starts runs with-P(no cwd on sys.path). Driver skill:fr-devops-gate; author doc:docs/ops.md.
fr-dispatch— runner-agnostic protocol/tick framework. Runners register via thefr.runnersentry-point group, not by editing this package.work_item.py(WorkItem, theitem_id/parent_ididentity grammar) anditem_graph.py(build_items— the one item builder for all three decomposition units,run/phase/spec) are the dispatch-cutover core;reachability.pyis the item-level gate wrappingfr.workflow.reachability.fr-vk,fr-cncd— runner adapters (vk,cncd) implementing that protocol.fr-cncdis real but predates its own README/CLAUDE mentions — don't assume tables inREADME.mdare exhaustive; checkpackages/*/pyproject.tomlandplugins/super-fr/skills/against prose before trusting a list.fr-herdr— theherdrrunner (entry pointfr.runners: herdr), managed OpenCode lifecycle/restart adapter as well as Claude resume. Host-local descriptors/locks live infr_herdr.managed, safe input infr_herdr.opencode. Operator notes:docs/herdr-control-sessions.md,packages/fr-herdr/README.md. OptionalSessionReplacersupports in-place Claude/OpenCode and model-only fresh replacement. Pending checkpoints exclude restart until explicit repair; installed synthetic scenarios are not evidence of the operator-owned live walk. Explicit absent-sourcebatch replace --recoverusesfr_herdr.recoveryand global pane/tab/agent joins, pre-allocation server/item/source-keyed intent, a new herdr pane and observed session identity. Repair never allocates or sends input. Recovery HOLD overrides conflict/unfinished continuation on reconstruction and managed restart; the disposable actual-client walk is post-merge Tester. It was the first to takeunit="run"work:fr triage batch dispatchbuilds it throughfr_dispatch.registry.load_runner'sfrom_env()and it opens a herdr tab, starts the harness on the batch's model and submits the brief. It never importsfr.triage, andfrnever imports it (test_import_direction.py);fr_dispatch.testingholds the reusable run-unit contract it passes.fr-claude-cloud— theclaude-cloudrunner (entry pointfr.runners: claude-cloud): a mailbox, not a backend. Every session action becomes a request in the scope's state (requests.yaml,sessions.yaml) that the cloud driver's agent executes with its session tools and records back (fr triage drive record); re-homing is its restart. Likefr-herdr, it never importsfr.triage.fr-opencode-plugin— the one non-Python package: TypeScript/Bun, an OpenCode 2.x plugin definition (export default { id, setup }; 1.x is not supported) porting the Claude Code hooks: the edit gate and the whole-line shell gate (fr-isolation-guard) onexecute.before, the merged-PR push guard, the pipeline sentinel, session bind/unbind, the acceptance nag, the idle nudge, thefrbinary pin, the child-session claim, and a TUI status line (src/tui/). Each ported hook carries a// super-fr-parity:markerfr harness parityreads.install.shdelivers it as ONE plugin directory (scripts/deliver-opencode-plugin.sh). Excluded from the uv workspace (pyproject.toml's[tool.uv.workspace].exclude) and has its ownpackage.json/version, souv run pytestdoes not cover it — but it IS wired into CI, as theopencode-plugin-testjob (bun test). Run that locally insidepackages/fr-opencode-plugin/if you touch it.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed · +1 lines · +27 tokens per session a244402b35bc
- 7d ago Changed · +24 lines · +573 tokens per session 2a040312ea0d
- 11d ago Changed · +6 lines · +96 tokens per session 5554535e7a58
- 15d ago Changed · +33 lines · +670 tokens per session e41b1a3aa5f0
- 16d ago Changed · +29 lines · +659 tokens per session d8ca67f345f3
- 19d ago Changed · +10 lines · +184 tokens per session c625268a8c25
- 20d ago Changed · +39 lines · +870 tokens per session 139d3aee664b
- 23d ago Changed · +61 lines · +1,213 tokens per session 7166756598dd
- 24d ago Changed · +2 lines · +46 tokens per session 30ca33930ccd
- 25d ago First seen · 527 lines · 9,022 tokens per session scan A acbab53c41df
super-fr AGENTS.md is an instructions file published in the GitHub repository derio-net/super-fr (2 stars, last pushed today), licensed MIT. It adds 13,360 tokens to every session, about $0.0534 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.