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 skills add PlamenTSV/plamen --skill fork-choice-auditgit clone --depth 1 https://github.com/PlamenTSV/plamenWrote 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/plamentsv/plamen/fork-choice-audit)<a href="https://agentmods.dev/skills/plamentsv/plamen/fork-choice-audit"><img src="https://agentmods.dev/badge/skills/plamentsv/plamen/fork-choice-audit/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/skills/plamentsv/plamen/fork-choice-audit"><img src="https://agentmods.dev/badge/skills/plamentsv/plamen/fork-choice-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00051 | $0.02870 |
| Opus 5.5 | $0.00020 | $0.01148 |
| Sonnet 5.5 | $0.00010 | $0.00574 |
| Haiku 4.5 | $0.00005 | $0.00287 |
Grade A, and why
fork-choice-audit 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 1mo 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 — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Injectable Skill: Fork Choice Audit
L1 trigger:
L1_PATTERN=trueAND (fork_choice/ORghost/ORlmd/ORconsensus/tendermint/ORfork.rsORchoice.rsdetected in recon subsystem map) Inject Into:depth-consensus-invariantLanguage: Go and Rust Finding prefix:[FC-N]Status: v0.1 draft, Round 4 exemplars pending
Orchestrator Decomposition Guide
- Section 1, 2: depth-consensus-invariant (rule correctness)
- Section 3: depth-edge-case (equivocation + duplicate handling)
- Section 4: depth-state-trace (reorg state consistency)
When This Skill Activates
Recon identifies a fork-choice module. This skill applies whether the protocol uses LMD-GHOST (Ethereum beacon chain), longest-chain (Bitcoin, pre-merge Ethereum), Tendermint locking (Cosmos), or a custom fork-choice rule.
1. Identify the Rule
Before auditing, determine which rule is implemented. Extract from spec docs and code:
| Rule | Signature | Key invariants |
|---|---|---|
| LMD-GHOST | "latest message driven — greedy heaviest observed subtree" | Each validator's latest attestation contributes to a subtree weight; choose heaviest |
| Casper FFG + LMD-GHOST (Ethereum) | LMD-GHOST bounded by finalized checkpoints | Never revert past justified/finalized checkpoint |
| Tendermint BFT | Round-based, locking on 2/3+ prevotes | Locked validator cannot vote for conflicting proposal in same round |
| Nakamoto longest-chain | Heaviest accumulated work | Chain with most work wins; stale blocks discarded |
| HotStuff / Aptos / Sui | 3-phase: prepare, precommit, commit | No two conflicting QCs at the same view |
Write the identified rule into the finding header so reviewers know which invariants apply.
2. Rule-Specific Invariants
2a. LMD-GHOST
- Heaviest subtree monotonicity: adding an attestation can only increase (never decrease) the subtree weight
- Latest-message tie-break: if two children have equal weight, tie-break is deterministic (typically lower root hash)
- Boundary with finality: fork choice never selects a block that would require reverting a finalized block
- Slot vs block: a slot can have zero, one, or multiple proposed blocks; fork choice must handle the missing-block case
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.
- 1mo ago First seen · 175 lines · 51 tokens per session scan A e17925a35c79
fork-choice-audit is a skill published in the GitHub repository PlamenTSV/plamen (309 stars, last pushed 1mo ago), licensed MIT. It adds 51 tokens to every session and 2,870 once invoked, about $0.0002 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-30.
Other skills, from other repositories
trading-solana
Trade tokens on Solana DEXes - Jupiter, Raydium, Orca, Meteora, Pump.fun.
public
For agents: This document explains how to integrate with Clodds APIs.
pumpfun
Pump.fun - Complete Solana memecoin launchpad. Discovery, trending, gainers, losers, token data all work without a key. Trading requires SOLANAPRIVATEKEY.
bags
Bags.fm - Complete Solana token launchpad with creator monetization.
dex
Cross-chain DEX market intelligence - trending tokens, gainers, losers, volume, stats across all chains and protocols.
drift-sdk
Drift Protocol perpetual futures trading on Solana (direct SDK).