shepherd

An open-source project maintainer assistant for Python, machine-learning, computer-vision, and AI projects. It focuses on contributors, issues, pull requests, and releases.

In plain words
What is it for?
Use it to triage GitHub issues and pull requests, draft contributor replies, coordinate releases, apply semantic versioning, and prepare changelog entries.
Why use it?
It helps maintainers handle community work consistently while keeping project quality, contributor experience, and long-term health in view.

Agent

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 agents/borda/ai-rig/shepherd
Clone the repo
git clone --depth 1 https://github.com/Borda/AI-Rig
Per session 100 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,359 The whole file, excluding the scripts and references it only reads on demand.
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.00100 $0.04359
Opus 5 $0.00050 $0.02180
Sonnet 5 $0.00020 $0.00872
Haiku 4.5 $0.00010 $0.00436

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

Security

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.

plugins/cc_oss/agents/shepherd.md · 315 lines

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 (requires oss plugin)
  • 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.md globally 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.

Read the full file on GitHub · 315 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. 2d ago First seen · 315 lines · 100 tokens per session scan A cdf462845213

Subscribe to this mod's changes

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.

Related

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…

microsoft/apm · 74 tokens

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.

jabrena/plinth · 38 tokens

plinth-java-coder

Implementation specialist for Java projects. Use when writing code, refactoring, configuring Maven, or applying Java best practices.

jabrena/plinth · 29 tokens

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…

JayCRL/MobileVC · 429 tokens

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.

fusengine/agents · 38 tokens

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…

qwerfunch/cladding · 75 tokens