Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/william-london/ownframework-loop/of-loop-specnpx skills add william-london/ownframework-loop --skill of-loop-specgit clone --depth 1 https://github.com/william-london/ownframework-loopWrote 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/skills/william-london/ownframework-loop/of-loop-spec)<a href="https://agentmods.dev/skills/william-london/ownframework-loop/of-loop-spec"><img src="https://agentmods.dev/badge/skills/william-london/ownframework-loop/of-loop-spec.svg" alt="Measured on agentmods" 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.00030 | $0.01761 |
| Opus 5 | $0.00015 | $0.00881 |
| Sonnet 5 | $0.00006 | $0.00352 |
| Haiku 4.5 | $0.00003 | $0.00176 |
Grade B, and why
spec scanned grade B with 1 finding 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 2d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
Claude settings (including `~/.claude/settings.json`); a specific model How it starts
The opening of the file, as written. The whole thing — 155 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OwnFramework Loop - spec
This skill is a host adapter over the deterministic ofloop core.
Rules
- Never approve your own packet.
- Never write STATE.json, APPROVAL.json, REVIEW_VERDICT.json, event logs, or lock files directly.
- Never manufacture the TTY confirmation token.
- Never add push, merge, deploy, publish, send, payment, or unrelated remote authority.
New specification (normal flow)
- Confirm the working directory is the target Git repository.
- Resolve repository identity BEFORE creating the run:
- inspect configured Git remotes;
- decide the packet classification from actual current state, not intended future state;
local_onlymeans no configured remote;- when a private GitHub review surface is part of the project, create/configure it, push the intended baseline, prove local/remote parity, and use
github_privatebeforeofloop spec new; - do not mint a local-only run and add a remote afterward.
- Inspect only enough repository context to draft an accurate bounded packet.
- Use ofloop spec new "" to create the run.
- Draft WORK_PACKET.md using the repository schema and packet conventions.
Declare portable
capabilitiesfor host/tool needs instead of embedding machine paths or manually reconstructing tool-specific network topology (for exampletoolchain.python,package.uv,browser.playwright.chromium). Userunner_profileonly as a trusted profile NAME when the mission needs an operator-commissioned model/effort policy; packets never carry raw Claude flags. Always writerunner_profileexplicitly in newly authored current packets. Usedefaultonly when the operator intentionally accepts no Loop model pin: the commissioned runner environment may select the model (for example throughANTHROPIC_MODEL), otherwise the provider default applies. The commissioned Claude runner does not reread interactive user/project/local Claude settings (including~/.claude/settings.json); a specific model belongs in a trusted named runner profile, while provider endpoint/auth belongs in the private commissioned service environment. Usenetwork_read_allowlistonly for packet-specific extra read hosts not already supplied by a capability contract. Never add a broad wildcard, scheme, port, path, publish endpoint, daemon socket, or unrelated host. Before enqueue, runofloop capabilities probeto inspect the host andofloop capabilities preflight <repo> <capability>...for the exact requested set. If a requested ordinary capability is unavailable, provision or commission it on the host or revise the packet before execution; do not widen HOME/PATH or fall back to unsandboxed execution. Privilegedcontainer.docker/local.http-serviceadditionally require the operator-owned canary commissioning flow. - For PROGRAM packets with checkpoint-specific outcomes, keep the complete
mission acceptance contract at top level and assign it deterministically
with each checkpoint's
acceptance_criterion_ids. If any checkpoint uses scoped AC ids, every checkpoint must declare a non-empty list and the union must cover every top-level AC id. Do not usenot_applicablefor future checkpoint criteria merely to satisfy coverage. - Validate the packet shape with the supported validator.
- Return to the operator:
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.
- 2d ago Changed · +30 lines scan A → B 06e7c1aa5c58
- 5d ago First seen · 125 lines · 30 tokens per session scan A 378309c043fc
spec is a skill published in the GitHub repository william-london/ownframework-loop (0 stars, last pushed 3d ago), licensed Apache-2.0. It adds 30 tokens to every session and 1,761 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
printing-press-output-review
Internal sub-skill: agentic review of a printed CLI's sampled command output for plausibility issues that rule-based checks can't encode (substring-match relevance, format bugs, silent source drops, ranking failures). Invoked via the Skill tool by main printing-press SKILL.md (Phase 4.85) and printing-press-polish…
systemic-issue-triage
Trigger: new issue, bug report, triage, backlog, issue flood, community report, root cause, dead-end, blocked user. Attack issues by root class, never one-by-one; fixes must shrink the system, not grow it.
issue-root-resolution
Trigger: root audit, atacar la raíz, issue roots, backlog roots, mechanism map, deletion-driven fix, resolver issues de raíz, close outdated issues. Audit and resolve issue clusters by verified root cause.
rdd-defect-workflow
Trigger: RDD, receipt-driven development, review authority, receipt/lineage, correction/recovery, delivery gate/kill switch, bounded review defects. Guide work.
review-loop
Run the adversarial verification loop — implement, then hand the change to a fresh checker that did not write it, fix what it finds, and re-dispatch until APPROVE. Use before claiming any behavioural change is done, and on requests like "review loop", "adversarial review", "independent review", "get this verified"…
semgrep-rule-creator
Creates custom Semgrep rules for detecting security vulnerabilities, bug patterns, and code patterns. Use when writing Semgrep rules or building custom static analysis detections.