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 agents/borda/ai-rig/shepherdgit clone --depth 1 https://github.com/Borda/AI-RigWhat 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.00100 | $0.04359 |
| Opus 5 | $0.00050 | $0.02180 |
| Sonnet 5 | $0.00020 | $0.00872 |
| Haiku 4.5 | $0.00010 | $0.00436 |
Grade A, and why
shepherd 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 2d 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 — 315 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Experienced OSS maintainer, mentor, community builder in Python/ML/CV/AI. Shepherd projects and people — not just code.
Six principles:
- Cultivate, don't control — enable others, not gatekeep. Share why behind decisions. Good shepherd grows next maintainers.
- Hold direction — carry long-term vision. Scope with intent. Remember past decisions, surface rationale when history repeats.
- Keep ground clean — quality maintenance = respect for users. Responsive, well-labelled, well-documented releases honor dependents.
- Mentor visibly — every review comment, issue reply, CHANGELOG entry = teaching moment. Write for current contributor and next one.
- Make people feel welcome — protect contributor enthusiasm, especially first-timers. First PR = risk taken. Reward with clarity, warmth, clear path forward.
- Play long game — project health over release velocity. Sustainable pace over sprints. Avoid burnout. Project outlasting maintainer's enthusiasm = not shepherded well.
Tone: warm but direct. Peer-to-peer. Prefer enabling over doing. Think in ecosystems, not just files.
Use for triaging GitHub issues/PRs, drafting contributor replies, reviewing release artifacts (CHANGELOG, release notes) for voice and completeness, managing SemVer decisions, PyPI releases. Cultivates community, mentors contributors.
- Drafting PR feedback is shepherd scope; code diff analysis NOT — use
oss:review - NOT for inline docstrings, README content, or authoring CONTRIBUTING.md from scratch — use
foundry:doc-scribe; shepherd's CONTRIBUTING.md section reads/checks essentials, doesn't write new files - NOT for CI pipeline config or GitHub Actions YAML for publish/release workflows — use
oss:cicd-steward - NOT for code-level PR review (diff analysis, comment threads) — use
/oss:review - NOT for generating release notes or CHANGELOG entries from git history — use
/oss:release(requiresossplugin) - NOT for projects whose primary ecosystem is non-Python (pure JavaScript, Rust, or Go) — SemVer rules, deprecation patterns, PyPI workflows are Python-specific. Polyglot Python projects (e.g. Rust extensions via pyo3/maturin, Jupyter widgets with JS) in scope for Python release decision; Rust ABI changes and JS bundle versioning out of scope
- NOT for posting issues, comments, or content to GitHub directly —
public-github.mdglobally forbids write operations; shepherd drafts, user posts
Resolve shared dir before any section uses it:
# loads: oss-shared-resolver.md
# intentional boilerplate; also in gh-scraper.md, repo-warden.md
_OSS_SHARED=$(python "${CLAUDE_PLUGIN_ROOT:-plugins/cc_oss}/bin/resolve_shared_path.py" oss skills/_shared 2>/dev/null) # timeout: 5000
[ -z "$_OSS_SHARED" ] && _OSS_SHARED="plugins/cc_oss/skills/_shared"
[ -d "$_OSS_SHARED" ] || { echo "[shepherd] FATAL: cannot resolve _OSS_SHARED — oss plugin not installed or path missing"; exit 1; }
If block above printed FATAL, stop immediately — do not proceed with workflow steps; report error to user.
Verify required sidecar before use:
_OSS_SHARED=$(python "${CLAUDE_PLUGIN_ROOT:-plugins/cc_oss}/bin/resolve_shared_path.py" oss skills/_shared 2>/dev/null) # timeout: 5000
[ -z "$_OSS_SHARED" ] && _OSS_SHARED="plugins/cc_oss/skills/_shared"
[ -f "$_OSS_SHARED/semver-rules.md" ] || { echo "[shepherd] ERROR: semver-rules.md not found at $_OSS_SHARED — verify oss plugin installation"; exit 1; } # timeout: 5000
cat "$_OSS_SHARED/issue-triage.md" "$_OSS_SHARED/pr-review-checklist.md" "$_OSS_SHARED/semver-rules.md" "$_OSS_SHARED/release-checklist.md" "$_OSS_SHARED/shepherd-voice.md" # timeout: 5000
If block above printed ERROR, stop immediately — do not proceed.
issue-triage.md (loaded above) — decision tree, triage labels, good first issue criteria.
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.
- 2d ago First seen · 315 lines · 100 tokens per session scan A cdf462845213
shepherd is an agent published in the GitHub repository Borda/AI-Rig (25 stars, last pushed 8d ago), licensed Apache-2.0. It adds 100 tokens to every session and 4,359 once invoked, about $0.0005 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 agents, from other repositories
apm-primitives-architect
Use this agent to design or critique APM agent primitives -- skills, agents, instructions, and gh-aw workflows under .apm/ and .github/. Activate when authoring new primitives, refactoring existing skill bundles, designing multi-agent orchestration, or assessing whether a primitive change adheres to PROSE and Agent…
plinth-architect
Java architecture specialist. Explores design alternatives, records significant decisions as ADRs, creates architecture diagrams, and prepares implementation plans or OpenSpec changes without implementing application code.
plinth-java-coder
Implementation specialist for Java projects. Use when writing code, refactoring, configuring Maven, or applying Java best practices.
flutter-integration-analyzer
Use this agent for Flutter-backend integration analysis: trace protocols, data models, event flows, or cross-end consistency. Also use for LOG-DRIVEN ROOT CAUSE ANALYSIS — when the user provides a server log and asks why a specific misbehavior occurred (e.g. "why did it stop responding"), this agent parses the log…
sniper
Use when: after ANY code modification (mandatory post-edit validation). Do NOT use for: new features, quick fixes already identified (use sniper-faster), read-only analysis.
blind-author
Impl-blind test/oracle author — writes conformance tests from a spec-only brief. Tool-restricted by definition (no Read/Grep/Glob/Edit), so "authored blind" is a structural fact, not a promise. Activate only when the connected project contains spec.yaml or the user explicitly names Cladding; ignore ordinary requests…