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 bks-lab/open-bridge --skill bridge-auditgit clone --depth 1 https://github.com/bks-lab/open-bridgeWrote 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/bks-lab/open-bridge/bridge-audit)<a href="https://agentmods.dev/skills/bks-lab/open-bridge/bridge-audit"><img src="https://agentmods.dev/badge/skills/bks-lab/open-bridge/bridge-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/bks-lab/open-bridge/bridge-audit"><img src="https://agentmods.dev/badge/skills/bks-lab/open-bridge/bridge-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.00076 | $0.03114 |
| Opus 5.5 | $0.00030 | $0.01246 |
| Sonnet 5.5 | $0.00015 | $0.00623 |
| Haiku 4.5 | $0.00008 | $0.00311 |
Grade A, and why
bridge-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 today.
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 — 194 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Bridge Audit — Drift Detection
bridge-audit is the systematic version of "let me re-read the README
and see what doesn't match anymore". It runs 16 categorical checks
against the current repo state and returns a stratified report.
Check 16 runs the repository's own checkers (scripts/check-*.py,
validate-*.py, measure-context.py) through
scripts/run-checkers.py and carries every red one into the report:
an instance whose CI never runs meets those checkers nowhere else.
Check 9 only runs with --cross-repo (it fetches sister-repo trunks);
Check 10 (agent-identity health), Check 11 (gate-shaped memory),
Check 12 (config-driven CORE skills), Check 13 (user-level skill
shadowing), Check 14 (skill learnings pairing), Check 15 (question
map) and Check 16 (checkers) always run.
Read the referenced file ONLY when triggered.
Arguments
| Argument | Effect | Default |
|---|---|---|
(none) |
Full audit, all checks | — |
--check <name> |
Run only one check (license / skill-tree / protocol-count / renames / xrefs / scopes / routing-sot / typos / agent-identity / memory-gate / config-driven / skill-shadowing / skill-learnings / question-map / checkers) | all |
--cross-repo |
Also clone configured upstreams and compare README/AGENTS for divergence | false |
--strict-oss |
When run on an OSS variant: flag hardcoded internal vocabulary (delegates to bridge-leak-check) |
false |
--fix |
Where unambiguous, apply the suggested fix | false (advisory only) |
--no-history |
Skip writing the post-run JSON to work/_learning/audit-history/ |
history written by default if learning.enabled |
--no-recurring-scan |
Skip the trend-detection step that auto-generates proposals for recurring findings | scan runs by default |
The Checks
| # | Check | What it compares | Severity hint |
|---|---|---|---|
| 1 | License consistency | README badge ↔ LICENSE file ↔ README footer ↔ CLAUDE.md license claim ↔ MEMORY mentions | P0 if any disagree |
| 2 | Skill-tree truth | README skill table/tree ↔ AGENTS.md skill table ↔ skills/*/SKILL.md actual |
P1 |
| 3 | Standing-order count | "N standing orders" claims ↔ protocols/standing-orders/*.md count (excluding _template.md, README.md) |
P1 |
| 4 | Renamed-everywhere | data/renames.yaml old-name greps in tracked content (excluding listed exceptions) |
P1 |
| 5 | Cross-reference validity | Markdown [text](path) and `path` references resolve to existing files |
P2 |
| 6 | Scope coverage | Group A: skills/*/SKILL.md have explicit scope: under metadata: (metadata.scope); .claude/agents/*.md have explicit top-level scope: (P2); rules/*.md scope is REQUIRED + hard-gated by validate-bridge.py (P1). Group B: every identity/{mandants,accounts,personas}/*.yaml + workflow/{contexts,projects}/*.yaml + infra/{remotes,channels}/*.yaml has the required top-level scope: (P1 — schema-enforced, routing-critical) |
P1/P2 |
| 7 | Routing-SoT conflicts | Multiple files claim authoritative status for the same routing domain (heuristic: same path appears in multiple "source of truth" tables with different rules) | P2 |
| 8 | Typo lint | Bridge-corpus typo patterns from data/typo-patterns.yaml |
P3 |
| 9 | Skill-tree sync coverage (--cross-repo only) |
Local skills/*/ scope ↔ each upstream's skills/ directory listing — forward-drops + reverse-leaks |
P1 (P0 if outstanding >2 sync windows) |
| 10 | Agent-identity health | identity/agent/SOUL.md present + ≤80 lines / ≤4 KB · IDENTITY.md present · both carry valid frontmatter (schema_version/type/scope/last_updated) |
P1 if SOUL.md missing, else P2 |
| 11 | Gate-shaped memory without a rules/ home |
Memory files whose body uses gate language (imperative + always/never/immer/nie, or "when X → do Y" routing) but have NO corresponding rule in rules/ (core/bks/user) — a behavioral rule trapped in the private store. Also runs the index lint, the fact-coverage count and the session-link count (memory-location.py check, links) |
P2 (index lint P1, unreachable facts P2, dead session links P3) |
| 12 | Config-driven CORE skills | scope: core skill files (SKILL.md + references/) that hardcode instance specifics — org/project IDs, tracker queries, persona names, pipeline IDs, absolute instance paths — instead of reading them from bridge-config.yaml / workflow/ / infra/ / identity/ (CLAUDE.md § Generic CORE Skills) |
P2 |
| 13 | User-level skill shadowing | ~/.claude/skills/ (resolved) ↔ this repo's skills/ — the user level overrides the project level, so a pointer at a Bridge repo silently serves one instance's skills to every other instance (AGENTS.md § Skills). Both directions: this instance shadowing others, and others shadowing this one (with diff -rq drift per colliding name). Also reports scripts that resolve the path as a filesystem location |
P0 if own skills are shadowed or instance-bound skills (scope org or user) leak machine-wide, else P1 |
| 14 | Skill learnings pairing | python3 scripts/check-skill-learnings.py: a skill with LEARNINGS.md but no routing block in SKILL.md, a routing block without a journal, or an undated journal heading (docs/skill-learnings.md) |
P2 |
| 15 | Question map | python3 scripts/check-where-things-live.py: a row of docs/where-things-live.md or the instance's work/where-things-live.md that is a topic instead of a question, a link or #section that does not resolve, or a question asked twice |
P2 |
| 16 | Checkers | python3 skills/bridge-audit/scripts/run-checkers.py --json: every scripts/check-*.py, scripts/validate-*.py and scripts/measure-context.py the tree carries, run bare as CI runs them; each non-zero exit or timeout is one finding, the checker's last line as its detail |
P1 for validators, the budget and secret checks, else P2 |
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- today Changed · +5 lines eb98889cc4ba
- 3d ago Changed · +1 lines 71b3d7404f03
- 9d ago Changed af290c26321e
- 28d ago Changed · -7 lines · -91 tokens per session 146520a099e2
- 1mo ago Changed · +3 lines 41646b532e45
- 1mo ago Changed · +18 lines 119f54d08ca4
- 1mo ago First seen · 174 lines · 167 tokens per session scan A 65e95ca28430
bridge-audit is a skill published in the GitHub repository bks-lab/open-bridge (13 stars, last pushed today), licensed MIT. It adds 76 tokens to every session and 3,114 once invoked, about $0.0003 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 skills, from other repositories
langsmith-tracing
LangSmith tracing and debugging setup for LLM applications. Configure observability, capture traces, and enable debugging for LangChain/LangGraph agents.
ci-troubleshoot
Diagnose failed GitHub Actions runs for pi-agent-dashboard: the 11-file workflow taxonomy, affected-test selection, the release pipeline, known failure modes, and how to read gh run logs and retrigger jobs. Use when a CI run is red, a release is stuck, a workflow won't dispatch, or you need to know which workflow does…
node-inspect-debugger
See runtime state a console.log cannot reach — set real breakpoints, step, and dump the scope chain of a paused Node/TypeScript process. Use on "set a breakpoint", "inspect runtime state", "console.log isn't enough", "step through this", "what's in this closure at runtime", "attach a debugger". Not a logging or…
performance-optimization
Measure-first performance work. Use on triggers like "it's slow", "profile this", "optimize perf", "fix the bottleneck", "improve load time / Core Web Vitals", or when a measured regression needs fixing. Enforces measure-before-optimize. Fills a perf gap not covered by existing project skills. Not a build/ship…
behavior-contract
Bug condition/postcondition formalization as testable Behavior Contracts. Defines invariants that must be preserved across fixes.
systematic-debugging
Root-cause a bug already in front of you, instead of guessing at fixes. Use on triggers like "root cause this", "why is this failing", "debug systematically", "this test is flaky", "it works locally but not in CI", or when a fix attempt has already failed once. Enforces a phased evidence-first process before any code…