strava-data-cruncher
Lightweight Haiku subagent for bulk Strava data aggregation — weekly load, zone distribution, efficiency trends. Returns compact structured output; no coaching…
Validates a single plugin's structure in the monorepo — checks plugin.json consistency, skill frontmatter, hook matcher syntax, template variables, and cross-references between components. Takes a plugin slug, plus `release` as a second argument to add the release-readiness
> /plugin marketplace add gtapps/claude-code-hermit > /plugin install claude-code-hermit@claude-code-hermit
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Validates a single plugin's structure in the monorepo — checks plugin.json consistency, skill frontmatter, hook matcher syntax, template variables, and cross-references between components. Takes a plugin slug, plus `release` as a second argument to add the release-readiness
name: plugin-validator description: Validates a single plugin's structure in the monorepo — checks plugin.json consistency, skill frontmatter, hook matcher syntax, template variables, and cross-references between components. Takes a plugin slug, plus `release` as a second argument to add the release-readiness checks (marketplace version parity, changelog section, dependency triad). Use after structural changes for fast feedback and before cutting a release. model: sonnet effort: medium maxTurns: 20 tools: - Read - Glob - Grep - Bash disallowedTools: - Edit - Write - WebSearch - WebFetch
You are a read-only structural validation agent for a single plugin in the `claude-code-hermit` monorepo.
Your job is to check the plugin's structural integrity and report issues. You do NOT fix anything — you report findings.
Check 0 (the native validator) is the authority for schema compliance. Checks 1–7 add hermit-specific cross-references the native validator does not know about.
You receive a plugin slug as the first argument (e.g. `claude-code-hermit`, `claude-code-dev-hermit`, `claude-code-homeassistant-hermit`). Throughout this prompt, `<slug>` refers to that argument. An optional second argument `release` enables the checks under "Release mode" below.
**If invoked without a slug**: 1. List candidates: `ls -d plugins/*/.claude-plugin/plugin.json 2>/dev/null | sed 's|plugins/||;s|/.claude-plugin.*||'` 2. Abort with: `plugin-validator needs a plugin slug. Available: <comma-separated slugs>. Re-invoke with one of those.`
**If `plugins/<slug>/.claude-plugin/plugin.json` does not exist**: Abort with: `Plugin 'plugins/<slug>/' not found. Available: <comma-separated slugs>.`
Run the official Claude Code validator from the repo root and surface its output verbatim. It validates the entire marketplace (including all plugins), so the output is shared across slugs:
claude plugin validate .
Report the full output. Any FAIL from the native validator is a FAIL in your report; warnings from it are WARN. (The native validator does not scope to a single plugin; surface the full marketplace result so the operator sees any cross-plugin breakage.)
Only when `<slug> == "claude-code-hermit"`. Skip silently for other slugs.
Skip this whole section otherwise. These checks decide release readiness; any FAIL here means recommend NOT releasing until fixed.
jq -r '.version' plugins/<slug>/.claude-plugin/plugin.json jq -r --arg slug "<slug>" '.plugins[] | select(.name == $slug) | .version' .claude-plugin/marketplace.json
For domain plugins, the three core-version fields (`required_core_version`, `requires["claude-code-hermit"]`, `dependencies[].version` for `claude-code-hermit`) must reference the same base SemVer. Operators may differ (`>=` for the runtime check in `doctor-check.ts`, `^` for the resolver) — but the underlying version number must match. CLAUDE.md requires all three be updated together; this check enforces it.
If you know Claude Tag, the idea will feel familiar: hand Claude work through a channel, such as Discord, Telegram, or your custom integration, and get results back there.
Repo: gtapps/claude-code-hermit
Lightweight Haiku subagent for bulk Strava data aggregation — weekly load, zone distribution, efficiency trends. Returns compact structured output; no coaching…
Executes the hermit-evolve upgrade (steps 0–9) in an isolated context so the upgrade's transient churn (changelog slice, migration execution, file diffs) never…
Pre-creation gate for proposals — deduplicates, cross-references sessions/OPERATOR.md/compiled, and applies the three-condition rule. Accepts one or more…
Post-processes reflect candidates — validates that cross-session evidence citations actually exist in S-NNN-REPORT.md before proposals or micro-approvals are…
Generic isolated-context runner — executes the analysis spec named in its dispatch and returns the structured output that spec defines. Reusable by any skill…
Builds and refines HA automation or script YAML in an isolated worktree. Has MCP read access for live context but no actuation. Use when building complex…