New to Claude Skills? Learn how to install them →

mastra-ai on GitHub

Herdr Manager Query

Free

Efficiently query and manage Herdr Review and Work Manager data.

Get this skill

Free · Opens the source repo

What Herdr Manager Query does

Herdr Manager Query is a specialized skill designed for developers and designers who need to interact with the Herdr Review and Work Manager systems. This skill utilizes the herdr-kit plugin to provide a reliable and authoritative source for querying review and work data without the complexities of GitHub or other inventory systems. By activating this skill, users can request reviews, manage pull requests (PRs), and access detailed information about their workspaces and review states.

The skill operates in a read-only mode, ensuring that the integrity of the data is maintained. Users can query the manager inventory to retrieve information about their latest reviews, authored PRs, and the current state of their work. The skill's querying capabilities are robust, allowing users to filter through the inventory for actionable items based on specific criteria such as review status, CI state, and activity freshness. This helps streamline the workflow by prioritizing tasks that require immediate attention.

One of the key features of this skill is its ability to explicitly materialize remote-only Review Manager records when the user confirms the target repository and PR. This ensures that users can accurately manage their review tasks without the risk of creating or altering Git worktrees inadvertently. The skill also provides detailed recommendations for what to work on next, based on the user's involvement and the current state of various PRs and work items. This prioritization is based on actionable review work, allowing users to focus on smaller, manageable tasks first.

Herdr Manager Query is ideal for teams and individuals who rely on the Herdr system for managing code reviews and work items. By providing a clear interface and structured data access, this skill enhances productivity and ensures that users can make informed decisions about their development work.

When to use it

Use this skill when you need to access and manage Herdr review and work data efficiently without relying on direct GitHub interactions.

When not to use it

This skill is not suitable for tasks requiring direct manipulation of Git repositories or when detailed write operations are needed.

What you can build with it

Querying Review Status

Use this skill to quickly retrieve the current status of your open reviews and PRs, ensuring you stay updated on your responsibilities.

Prioritizing Work Items

Leverage the skill to get actionable recommendations for what to work on next based on your involvement and the state of various tasks.

Materializing Remote Records

When you need to materialize remote-only Review Manager records, this skill ensures that you confirm targets accurately before proceeding.

How to install Herdr Manager Query

View source

1. Install with the skills CLI

npx skills add mastra-ai/mastra/herdr-manager-query --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by mastra-ai

Herdr Manager Query

Use the enabled herdr-kit plugin as the authoritative repository-independent source for Review Manager and Work Manager data.

Activate this skill for requested reviews, authored PRs, managed checkouts, Herdr workspaces, manager review/CI/activity/freshness/cleanup state, work recommendations, or explicit Review Manager materialization.

Safety and source of truth

  • Querying and recommending are read-only.
  • The manager inventory is authoritative. Never substitute direct GitHub/gh, current-directory Git, TUI scraping, raw manager state files, or another inventory.
  • If discovery, capability negotiation, query execution, JSON parsing, schema validation, or a relevant source reports an error, stop and report the exact problem. Never fall back.
  • Never synchronize, dematerialize, clean up, create a Git worktree directly, or materialize a Work Manager record.
  • The only permitted mutation is explicit, user-confirmed materialization of authoritative remote-only Review Manager records through the plugin's public CLI.
  • Treat protocol and schema versions as compatibility boundaries. Do not guess around unsupported versions.

Discover the installed interface

Resolve the enabled plugin root through Herdr, not from the current repository:

plugin_file=$(mktemp)
if ! herdr plugin list --plugin herdr-kit --json > "$plugin_file"; then
    exit 1
fi
if ! plugin_root=$(python3 - "$plugin_file" <<'PY'
import json, sys
plugins = json.load(open(sys.argv[1]))["result"]["plugins"]
plugin = next((p for p in plugins if p.get("plugin_id") == "herdr-kit"), None)
if not plugin or not plugin.get("enabled") or not plugin.get("plugin_root"):
    raise SystemExit("Enabled herdr-kit plugin root is unavailable")
print(plugin["plugin_root"])
PY
); then
    exit 1
fi
manager_cli="$plugin_root/herdr-kit"

Negotiate capabilities before any query or mutation:

capabilities_file=$(mktemp)
"$manager_cli" capabilities > "$capabilities_file"
python3 - "$capabilities_file" <<'PY'
import json, sys
p = json.load(open(sys.argv[1]))
if p.get("protocol_version") != 1:
    raise SystemExit(f"Unsupported herdr-kit protocol: {p.get('protocol_version')}")
if not p.get("operations", {}).get("manager_query", {}).get("available"):
    raise SystemExit("herdr-kit manager query is unavailable")
PY

Query workflow

Write output to a temporary file so large JSON is never passed through shell command substitution:

data_file=$(mktemp)
"$manager_cli" manager query > "$data_file"
python3 - "$data_file" <<'PY'
import json, sys
p = json.load(open(sys.argv[1]))
if p.get("protocol_version") != 1:
    raise SystemExit(f"Unsupported manager protocol: {p.get('protocol_version')}")
inventory = p.get("inventory", {})
if inventory.get("schema_version") != 1:
    raise SystemExit(f"Unsupported manager inventory schema: {inventory.get('schema_version')}")
errors = inventory.get("summary", {}).get("errors", [])
if errors:
    raise SystemExit("Manager inventory error: " + "; ".join(map(str, errors)))
print(json.dumps(inventory.get("summary", {}), indent=2))
PY

Filter inventory.items locally. Every item identifies its source manager and includes repository/PR identity, state, checkout location, Herdr state, reviews, CI, activity, freshness, changes, and cleanup data. Review records additionally include head_sha, materialization.target_path, and PR diff statistics under diff.

For Review Manager records, use the structured review metadata when reasoning about initial reviews and follow-up work:

  • reviews.your_latest_review_at and reviews.your_latest_review_sha identify the user's latest submitted review and reviewed commit.
  • reviews.events provides submitted review events with actors, states, timestamps, commit SHAs, and compact bodies.
  • reviews.comments and reviews.unresolved_threads provide available comment and unresolved-discussion timing. Compare each item's timestamp with reviews.your_latest_review_at: only later items are follow-up feedback, and the result remains unknown when either timestamp is unavailable.
  • reviews.commits_since_your_review identifies commits submitted after the user's latest review.
  • Compare event timestamps rather than assuming PR-wide activity_at occurred after the user's review. A missing timestamp or event remains unknown.

Treat missing values as unknown, never as favorable defaults.

Recommendation workflow

When asked what to review or work on next, rank only records returned by the authoritative query.

Prioritize:

  1. Open Review Manager PRs where the user is requested or has participated and still has actionable review work.
  2. Within similarly actionable reviews, smaller quick wins by fewer diff.changed_files and lower diff.total_changes; then recent activity and passing CI.
  3. Open Work Manager items with actionable author follow-up, review, CI, or local development work.
  4. Fresh, unblocked records with a clear next action and safe checkout state.

Deprioritize cleanup-only, merged/closed/completed, stale/unavailable, blocked, or locally hazardous records. Do not treat missing diff metadata as a small PR.

For each recommendation include repository/PR, title, source manager, rationale and size, review/CI state, remote-only versus materialized state, Herdr state, warnings, and a concrete next action.

remote only does not prove whether a record was never materialized or later dematerialized unless inventory evidence distinguishes it.

Explicit Review Manager materialization

Materialize only after the authoritative query identifies manager: "review", location: "remote only" records and the user explicitly confirms the exact repository/PR targets. A current user message that unambiguously requests those exact targets counts as confirmation; otherwise ask first.

Before asking, show for each target:

  • repository and PR number/title;
  • immutable manager key;
  • current head_sha;
  • materialization.target_path;
  • relevant freshness, eligibility, checkout, or collision warnings.

Freeze the confirmed key and head SHA in a request file. Never refresh or silently replace a confirmed head:

request_file=$(mktemp)
cat > "$request_file" <<'JSON'
{"schema_version":1,"items":[{"key":"OWNER/REPO#NUMBER","head_sha":"CONFIRMED_HEAD_SHA"}]}
JSON
result_file=$(mktemp)
"$manager_cli" review materialize --request "$request_file" > "$result_file"
python3 - "$result_file" <<'PY'
import json, sys
p = json.load(open(sys.argv[1]))
if p.get("protocol_version") != 1 or p.get("schema_version") != 1:
    raise SystemExit("Unsupported materialization result schema")
print(json.dumps(p, indent=2))
PY

For several confirmed reviews, include all items in the same request. The public CLI validates every item against authoritative current inventory before mutation, rejects stale heads, delegates fresh eligibility/head/repository/path safety to Review Manager, continues after individual failures, and returns structured per-item outcomes.

Success is reported only after the CLI re-queries authoritative manager state and verifies the record is materialized with a checkout path. The backend creates the canonical review worktree and opens/focuses its Herdr workspace. No Sync All is required.

Report every result exactly. Never retry a stale/failed item with a changed head without showing the new inventory state and obtaining fresh user confirmation. Never fall back to manual Git worktree creation.

Response guidance

  • Answer the specific question; do not dump the inventory unless requested.
  • Clearly distinguish Review Manager from Work Manager records.
  • Include repository and PR number for PR-backed items.
  • Call out remote-only, closed Herdr workspace, dirty/unpushed changes, stale metadata, blocking CI/reviews, and cleanup warnings.
  • Explain uncertainty and ranking tradeoffs instead of inventing context.

Frequently asked questions about Herdr Manager Query

Similar skills