watch-skill AGENTS.md

watch-skill AGENTS.md is an instructions file for Codex, OpenCode from oxbshw/watch-skill. It costs 1,145 tokens per session, scanned A, original, MIT.

Project instructions for Watch Skill, a local video system that records an AI agent's work as a searchable index with timestamped evidence.

In plain words
What is it for?
Use them when modifying video capture, search, evidence workflows, agent integrations, commands, or the test suite.
Why use it?
They show where the engine, interfaces, skills, adapters, and tests belong and identify the offline checks required before changes are accepted.

Instructions file for CodexOpenCode

Install

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.

agentmods
npx agentmods add instructions/oxbshw/watch-skill/agents-md
Clone the repo
git clone --depth 1 https://github.com/oxbshw/watch-skill

Made for: Codex, OpenCode.

Wrote 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.

agentmods badge for watch-skill AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/oxbshw/watch-skill/agents-md.svg)](https://agentmods.dev/instructions/oxbshw/watch-skill/agents-md)
Your own site
<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>
Per session 1,145 This file is loaded in full into every session.
When invoked 1,145 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 4d ago against content hash 390404385e43, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

AGENTS.md · 93 lines

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 in adapters/ 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.py and 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.py runs 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 through store.require_current first.
  • 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 is inconclusive or error, 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 raised WatchSkillError needs a code and a sentence telling the reader what to do. tests/test_error_fix_audit.py enforces 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.

Read the full file on GitHub · 93 lines

Changes

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.

  1. 4d ago First seen · 93 lines · 1,145 tokens per session scan A 390404385e43

Subscribe to this mod's changes

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.