Available agents & skills
The Hydra pipeline is built from four agents (containerised personas with scoped permissions) plus a large catalogue of skills (reusable workflows invoked as slash-commands inside Claude Code). This page catalogs both.
π‘ Skills live in two repos. Hydra's own
.claude/skills/ships the pipeline-side workflow (opsx-, hydra-gate-, team-, test-, journeydoc-, utilities). Theconcurrentie-analyserepo ships the upstream research and app-pipeline catalogue (specter-, tender-, ecosystem-, app-, swc-).
Pipeline agentsβ
The four containerised personas that move a change from ready-to-build through code-review, security-review, and a binary apply gate to a draft PR ready for one human approval. Each agent runs in its own ephemeral container with scoped permissions and a single responsibility β see hydra/agents/README.md for the directory layout and per-agent purpose.md / behavior.md / constraints.md.
| Persona | Slug | Role | Container | Model | Turns |
|---|---|---|---|---|---|
| Al Gorithm | al-gorithm | Builder β implements the change against the OpenSpec proposal, pushes a feature branch early, opens a draft PR | hydra-builder | opus | 200 |
| Juan Claude van Damme | juan-claude-van-damme | Code Reviewer β reviews PR, posts findings, has fix authority (ADR-013 no-loop policy) | hydra-reviewer | sonnet | 200 |
| Clyde Barcode | clyde-barcode | Security Reviewer β SAST analysis, posts findings, has fix authority | hydra-security | sonnet | 150 |
| Axel PliΓ©r | axel-plier | Applier β binary go/no-go gate after both reviewers, no fix authority | hydra-applier | sonnet | 20 |
Shared config lives in agents/base.yaml; each agent's config.yaml extends it kustomize-style.
Hydra skills (hydra/.claude/skills/)β
OpenSpec workflow β opsx-*β
The day-to-day flow for spec-driven development. The canonical chain:
/opsx-new β /opsx-ff or /opsx-continue β /opsx-plan-to-issues β /opsx-apply β /opsx-verify β /opsx-archive
| Skill | Purpose |
|---|---|
/opsx-new | Scaffold a new change proposal (openspec/changes/{slug}/) |
/opsx-ff | Fast-forward β write proposal + spec delta + tasks in one pass |
/opsx-continue | Resume an in-flight proposal where you left off |
/opsx-plan-to-issues | Convert tasks.md into GitHub issues with proper labels |
/opsx-apply | Implement one task end-to-end |
/opsx-apply-loop | Loop /opsx-apply over remaining tasks |
/opsx-verify | Validate the implementation matches the spec delta |
/opsx-archive | Promote changes/{slug}/ β specs/ and close the proposal |
/opsx-onboard | Bootstrap an existing repo into the openspec workflow |
/opsx-explore | Read-only exploration of a codebase to inform a proposal |
/opsx-pipeline | Run a full pipeline locally (build β review β apply) |
/opsx-coverage-scan | Audit annotation coverage on an app |
/opsx-annotate | Add x-openregister-* annotations to existing schemas |
/opsx-reverse-spec | Produce a spec delta from clusters of un-annotated code |
/opsx-sync | Sync spec deltas between hydra-specs and per-app openspec/ |
/opsx-bulk-archive | Archive multiple completed changes in one pass |
Quality gates β hydra-gate-*β
Mechanical checks that run inside the Builder/Reviewer containers before/after each pass. Used by the pipeline itself, but also runnable locally to pre-empt feedback:
hydra-gates (umbrella) plus individual gates:
hydra-gate-admin-router, hydra-gate-composer-audit, hydra-gate-forbidden-patterns, hydra-gate-initial-state, hydra-gate-modal-isolation, hydra-gate-nc-input-labels, hydra-gate-no-admin-idor, hydra-gate-orphan-auth, hydra-gate-route-auth, hydra-gate-semantic-auth, hydra-gate-spdx, hydra-gate-stub-scan, hydra-gate-unsafe-auth-resolver
Team agents β team-*β
Per-discipline reviewers / counsels you can invoke directly when you want a single point of view (rather than running the full pipeline).
| Skill | Role |
|---|---|
team-architect | System design, ADR fit, cross-spec consistency |
team-backend | PHP / API / DB review |
team-frontend | Vue / nextcloud-vue / a11y |
team-po | Product owner β user value, scope fit |
team-qa | Test plan, edge cases, regression risk |
team-reviewer | General PR reviewer counterpart to juan-claude-van-damme |
team-sm | Scrum master β process, sprint health |
Testing & journey docsβ
| Skill | Purpose |
|---|---|
test-accessibility | Axe-Core + WCAG AA sweep |
test-api | Newman-based API contract tests |
test-app | App-scoped Playwright run |
test-counsel | Orchestrates parallel test runs across multiple personas |
test-functional | Functional regression sweep |
test-performance | Lighthouse / load-time checks |
test-persona-annemarie, -fatima, -henk, -janwillem | Persona-driven flows (each persona file in hydra/personas/) |
journeydoc-init | Scaffold the journeydoc Playwright + Docusaurus capture setup |
journeydoc-add-story | Add a new tutorial-page capture spec |
journeydoc-instrument | Add data-testid instrumentation to existing components |
Utilitiesβ
create-pr, clean-env, feature-counsel, local-run, persistence-audit, report-out, review-pr, skill-creator, sync-docs.
Concurrentie-analyse skills (concurrentie-analyse/.claude/skills/)β
The upstream research and app-pipeline side β feeds proposals back into Hydra.
| Group | Skills | Purpose |
|---|---|---|
| App pipeline | app-create, app-design, app-explore, app-pipeline | Scaffold and explore new apps from intelligence-DB findings |
| Research β Specter | specter-analyze-docs, specter-competitive-alert, specter-concept, specter-harvest, specter-pipeline, specter-prepare-context, specter-research-app, specter-sync | The Specter intelligence pipeline (tender + competitor harvest β cluster β spec) |
| Tender | tender-scan, tender-status, tender-gap-report | Operate on intelligence.db for tender coverage |
| Ecosystem | ecosystem-investigate, ecosystem-propose-app | Find ecosystem gaps and draft proposals for new apps |
| Software catalogue | swc-test, swc-update | Sync the public software catalogue |
| Misc | intelligence-update, readiness-report | DB maintenance + readiness reporting |
User personasβ
Personas are non-agent β they're test subjects representing real user archetypes the testing skills drive flows against:
| File | Persona |
|---|---|
annemarie-de-vries.md | Public-sector caseworker β Henk's manager's manager |
fatima-el-amrani.md | Front-line municipal officer, multilingual |
henk-bakker.md | Senior caseworker, sceptical of new tools |
janwillem-van-der-berg.md | IT architect, evaluates platform fit |
mark-visser.md | Developer onboarding the platform |
noor-yilmaz.md | Citizen-side user submitting forms |
priya-ganpat.md | Compliance officer, ISO / privacy lens |
sem-de-jong.md | Product manager, prioritisation lens |
Full persona files live in hydra/personas/.
Going deeperβ
- Each skill is its own folder under
.claude/skills/<name>/with aSKILL.md(the instruction prompt the agent runs) plus optionalexamples/,references/,templates/,assets/. See Writing skills and the Skill checklist. - Skill maturity levels (L1βL7) describe how much evaluation backs each skill. The Skill evaluation page documents the L5+ workflow with
evals.jsonbaselines. - Skills are invokable via
Skill: <name>inside Claude Code or as/<name>slash-commands. The harness also publishes them to sub-agents through theAgenttool.