Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/rjwalters/kicad-toolsnpx agentmods add skills/rjwalters/kicad-tools/repo-org-policyWrote 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/rjwalters/kicad-tools/repo-org-policy)<a href="https://agentmods.dev/skills/rjwalters/kicad-tools/repo-org-policy"><img src="https://agentmods.dev/badge/skills/rjwalters/kicad-tools/repo-org-policy/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/rjwalters/kicad-tools/repo-org-policy"><img src="https://agentmods.dev/badge/skills/rjwalters/kicad-tools/repo-org-policy.svg" alt="Reviewed on agentmods" width="80" 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.00024 | $0.03651 |
| Opus 5.5 | $0.00010 | $0.01460 |
| Sonnet 5.5 | $0.00005 | $0.00730 |
| Haiku 4.5 | $0.00002 | $0.00365 |
Grade A, and why
repo-org-policy 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 8d 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 — 287 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Codex form of the
/repo:org-policycommand. Other commands appear as$repo-<verb>skills. Helper scripts and.claude/paths below are relative to the repository root and exist when the Claude Code surface is installed alongside this one.
$repo-org-policy — Organization Preferences
Manage an organization's policy from any of its client repositories. The authoritative files live in rjwalters/repo, on its default branch:
policies/default.json: shared defaults.policies/organizations/<lowercase-owner>.json: optional owner overrides.
Objects merge recursively; arrays and scalar values replace the shared value. Use the same convention for a personal GitHub account. Change preferences in the canonical source, then redeploy; organization copies and client installs are not independent sources of truth.
Usage
$repo-org-policy # Preview source, effective policy, and org drift
$repo-org-policy --check # Same read-only report
$repo-org-policy --install # Preview, then publish the authorized policy PR
$repo-org-policy --install --repo OWNER/PROJECT
The deterministic implementation is scripts/repo/repo-org-policy.py in the
source checkout, installed to .claude/skills/repo/scripts/repo-org-policy.py.
It needs Python 3.9+, git, and authenticated gh. It always uses github.com;
other forges are unsupported. A local source checkout is not required on the
client: the helper fetches canonical JSON at one immutable GitHub commit.
Preview and publish
- Derive the client owner from
origin, or use an explicitly supplied--repo OWNER/PROJECT. Display the target OWNER/.github: this operation affects shared organization policy, not just the invoking repository. - Run the helper's
plancommand. For--check, omit--outputand stop after the report. An absent/inaccessible target is not proof that creation is needed; verify access first. The helper does that disambiguation itself (see "Absent versus inaccessible target" below) and reports which case its evidence favors — read its verdict rather than re-deriving it by hand, and treat acannot tell which/inconclusiveverdict as "still unverified". If creating.githubis intended, establish public/private visibility and use--create-repository public|private. Shared policy contains no credentials. A public preset is easiest to reuse across public and private clients; private presets require appropriate app access and cannot be consumed from public repositories — so--create-repository privateis refused when the invoking client is public, rather than producing anextendsreference that fails at Renovate runtime. When the client's own visibility cannot be read, the helper warns instead of refusing; confirm it by hand before continuing. - For an install, save a plan at a new temporary path. Show its complete diff,
source revision, target, and repository creation/visibility if applicable.
Use existing authorization when it covers that target and these changes;
otherwise request approval of this concrete plan. Do not repeatedly ask for
steps already authorized.
--installnever authorizes unrelated settings, app installation, or migrating every client repository. - Apply that saved plan with
--yes. It rechecks source and target before any mutation. A changed source or target requires a fresh preview. It preserves unrelated files, creates a separate branch, and opens a policy PR. A retry reuses an unchanged existing branch/PR; it never force-pushes. If repository creation succeeded but publishing failed, report that partial result and generate a fresh plan before continuing. - Report the PR URL and whether it is merged. The policy becomes active on
the default branch after merge; opening a PR is not an installed policy.
Follow the repository's normal merge workflow when merging is authorized.
applycloses its own output with the next command for the invoking client ($repo-deps --install) and whether the organization PR still has to merge first — include that line in the report, and do not substitute a hand-written clientrenovate.jsonfor it (that skips Dependabot reconciliation,ignorePathsfor installer-owned roots, and security-PR ownership). The same closing line appears on a no-op apply, saying no organization PR is pending. - When the provider is the opt-in
renovate(not the Dependabot default; see #655), everyplanandapplyinvocation also prints a Renovate GitHub App installation line (see "Renovate App installation check" below) — include it verbatim in the final report. A Dependabot policy needs no App, so no such line is printed. For Renovate, a published/merged policy proves nothing about whether the App that reads it is actually installed on the target organization/user; treat "policy published" and "policy published, app NOT installed" as distinct outcomes, not the same success.
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.
- 8d ago First seen · 287 lines · 24 tokens per session scan A d6b36061d148
repo-org-policy is a skill published in the GitHub repository rjwalters/kicad-tools (73 stars, last pushed yesterday), licensed MIT. It adds 24 tokens to every session and 3,651 once invoked, about $0.0001 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-11-01.
repo-org-policy compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| repo-org-policyrjwalters/kicad-tools | Skill | 73 | yesterday | MIT | A | 24 | Claude Code, Codex |
| imagegenopenai/codex | Skill | 134k | today | Apache-2.0 | A | 113 | Codex |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | 2d ago | MIT | A | 200 | Claude Code, Codex |
| playwright-climicrosoft/playwright | Skill | 100k | today | Apache-2.0 | A | 19 | Claude Code |
| browser-automationopenclaw/openclaw | Skill | 394k | today | MIT | A | 36 | Claude Code |
| systematic-debuggingobra/superpowers | Skill | 315k | 5d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 95 | Claude Code |