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 instructions/oxbshw/watch-skill/agents-mdgit clone --depth 1 https://github.com/oxbshw/watch-skillWrote 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/oxbshw/watch-skill/agents-md)<a href="https://agentmods.dev/instructions/oxbshw/watch-skill/agents-md"><img src="https://agentmods.dev/badge/instructions/oxbshw/watch-skill/agents-md.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 | $0.01145 | $0.01145 |
| Opus 5 | $0.00573 | $0.00573 |
| Sonnet 5 | $0.00229 | $0.00229 |
| Haiku 4.5 | $0.00114 | $0.00114 |
Grade A, and why
watch-skill 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 4d 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 — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Working on Watch Skill
Read this before changing anything. It is the short version of CONTRIBUTING.md and the rules in docs/DECISIONS.md.
What this project is
A local-first video layer for AI agents. It turns video into a persistent, searchable index with timestamped evidence, and closes a capture → critique → fix → proof loop over an agent's own work. Python 3.11+, MIT.
Layout
| Path | What lives there |
|---|---|
src/watch_skill/ |
The engine. All logic. |
src/watch_skill/surfaces/ |
MCP, CLI, REST. Thin wrappers only. |
skills/ |
The ten agent skills. Canonical location — the skills CLI reads it. |
commands/ |
Slash commands for the Claude Code plugin. |
adapters/ |
Framework and harness adapters. No engine logic. |
tests/ |
Mirrors the src/ layout. |
docs/agents/ |
One page per supported agent, each with an honest status. |
Commands
uv sync --extra all # full dev environment
uv run pytest -m "not network" # the offline suite — must be green
uv run ruff check . # lint
uv run watch-skill doctor # check the binaries the engine needs
Tests marked network hit the real internet and are excluded from the merge
gate. Do not add network calls to the offline suite.
Rules that are not negotiable
- The engine is agent-agnostic. No harness-specific branching in
src/watch_skill/. That belongs inadapters/or a skill. - Surfaces stay thin. MCP, CLI, and REST wrap the same functions. A behaviour that exists in one and not the others is a bug.
- Every bug fix ships a regression test, and the test must fail against the old code. Verify that; do not assume it.
- Index changes are forward migrations. Never rewrite history in the schema; add a migration.
- MCP tool names are a contract. Renaming one breaks every configured agent. Add, don't rename.
- Privacy invariants are tested in
tests/test_privacy.pyand listed in SECURITY.md. The video never leaves the machine; no cookies or logins; cloud speech-to-text is opt-in. Breaking one is a security bug. - Every network or provider boundary asks the policy first. Call
policy.guard_egress(...)before the request is built and before a key is read. Constructing a provider client and going around it is a security bug, not a shortcut.tests/test_policy.pyruns the engine with every provider key set and asserts offline mode leaks nothing. - Identity is the bytes. Never key an artifact off a source string. New
content is a new revision (
watch_skill.identity); a source string resolves through the alias table. A read that presents stored artifacts as current evidence goes throughstore.require_currentfirst. - Absent evidence is never a pass. No frames, no OCR, an unreachable
model, a timed-out check — all
inconclusive. If you add a code path that can end in a verdict, the failure branch isinconclusiveorerror, and it ships with a test that proves it. - Say "proof" only when required deterministic checks passed and the attestation verifies. Otherwise it is evidence, a before/after comparison, or an advisory visual verdict. Never describe a hash as a signature.
- Errors carry a
fix. Every raisedWatchSkillErrorneeds a code and a sentence telling the reader what to do.tests/test_error_fix_audit.pyenforces it. - Claims are checked. Prices live in a dated
prices.json; benchmark numbers come from a recorded run; an agent page says whether it was machine-tested or only doc-verified. Do not write a claim you have not verified, and do not upgrade a status you did not earn.
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.
- 4d ago First seen · 93 lines · 1,145 tokens per session scan A 390404385e43
watch-skill AGENTS.md is an instructions file published in the GitHub repository oxbshw/watch-skill (330 stars, last pushed today), licensed MIT. It adds 1,145 tokens to every session, about $0.0057 per session on Opus 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 instructions, from other repositories
video-probe-mcp AGENTS.md
AGENTS.md instructions for dvnc-labs/video-probe-mcp, covering agents.md — build spec for a narrow mcp server artifact, doctrine (non-negotiable), what you edit vs keep, fill src/index.ts and gates (ci runs these).
openscreen AGENTS.md
AGENTS.md instructions for getopenscreen/openscreen, covering agents.md, setup commands, development principles, project layout and code style.
mcp-steroid CLAUDE.md
Claude Code instructions for jonnyzzz/mcp-steroid, covering claude.md, agents.md, design philosophy, recursive context lookup (do this before sub-folder work), sub-folder guides and must do.
vibeframe AGENTS.md
Instructions for vericontext/vibeframe, covering agents.md, repository shape, commands, cli shape and agent workflow rules.
leclap CLAUDE.md
Instructions for heristop/leclap: This repository's agent guidance lives in AGENTS.md — read it first; it is the single source of truth for structure, commands, and conventions.
anywidget-mcp AGENTS.md
Instructions for peter-gy/anywidget-mcp, covering anywidget-mcp, commands, architecture, dependency rule and state invariant.