|
| 1 | +# Agent harness |
| 2 | + |
| 3 | +This directory makes the template **agent-manageable** with Claude Code. It ships skills, subagents, |
| 4 | +workflows, and a permission allowlist for the recurring maintenance jobs this project needs. |
| 5 | + |
| 6 | +Because the template is consumed as a **rolling master** (forks/seeds track branches, not releases), |
| 7 | +keeping the harness *in the repo* means projects seeded from it **inherit agent-driven management for |
| 8 | +free**. Existing projects copy `.claude/` once (see |
| 9 | +[CONTRIBUTING.md → Agent harness](../CONTRIBUTING.md#agent-harness)). |
| 10 | + |
| 11 | +## Contents |
| 12 | + |
| 13 | +| Path | What | |
| 14 | +| --- | --- | |
| 15 | +| [`settings.json`](settings.json) | Allowlist for the read-mostly `make` / `docker` / `git` / `gh` / `composer validate` calls these jobs use, to cut permission prompts. **`make:*` is allowed intentionally** — `make` is this project's primary interface (it includes `make clean`, so review destructive runs). | |
| 16 | +| `skills/` | User-invokable runbooks (`/<name>`) wrapping existing `make` targets | |
| 17 | +| `agents/` | Subagent definitions used by the skills/workflows | |
| 18 | +| `workflows/` | Deterministic multi-step Workflow scripts for the heavy jobs | |
| 19 | + |
| 20 | +## Skills (`/<name>`) |
| 21 | + |
| 22 | +- [`review-app-triage`](skills/review-app-triage/SKILL.md) — read pipeline + Behat/Lighthouse/watchdog |
| 23 | + output and localize failures. |
| 24 | +- [`drupal-upgrade`](skills/drupal-upgrade/SKILL.md) — execute the |
| 25 | + [upgrade runbook](../docs/upgrading.md) (D10 → 11 → 12). |
| 26 | +- [`dep-bump`](skills/dep-bump/SKILL.md) — bump a dependency; NewRelic agent is the first-class case. |
| 27 | +- [`backlog-grooming`](skills/backlog-grooming/SKILL.md) — triage open PRs/issues, regenerate |
| 28 | + [docs/backlog.md](../docs/backlog.md). |
| 29 | +- [`observability-up`](skills/observability-up/SKILL.md) — bring the logs/traces stack up and print the |
| 30 | + Grafana URL. |
| 31 | + |
| 32 | +## Agents |
| 33 | + |
| 34 | +- [`upgrade-validator`](agents/upgrade-validator.md) — runs `upgradestatusval` + `drupalrectorval`, |
| 35 | + reports blockers (read/much-analysis). |
| 36 | +- [`ci-log-analyzer`](agents/ci-log-analyzer.md) — read-only triage of CI / container logs. |
| 37 | +- [`dep-bumper`](agents/dep-bumper.md) — edits a single dependency pin and validates. |
| 38 | + |
| 39 | +## Workflows |
| 40 | + |
| 41 | +Run via the Workflow tool (or `/workflows`). Opt-in — they only run when invoked. |
| 42 | + |
| 43 | +- [`drupal-upgrade.workflow.js`](workflows/drupal-upgrade.workflow.js) — bump → remove dropped modules |
| 44 | + → rector → `upgrade_status` → iterate, in an isolated worktree. |
| 45 | +- [`newrelic-bump.workflow.js`](workflows/newrelic-bump.workflow.js) — bump the pinned NewRelic agent |
| 46 | + version and validate. |
| 47 | + |
| 48 | +## Conventions |
| 49 | + |
| 50 | +- Project context lives in this repo's [`CLAUDE.md`](../CLAUDE.md) and [`docs/`](../docs/). The |
| 51 | + parent-directory `CLAUDE.md` (a "Plasma" doc) is **unrelated** — don't rely on it here. |
| 52 | +- Skills wrap **existing `make` targets** rather than reimplementing logic; keep that contract so the |
| 53 | + harness stays correct as the Makefile evolves. |
| 54 | +- Heavy/parallel jobs run in **git worktrees** (see [parallel-environments.md](../docs/parallel-environments.md)) |
| 55 | + so multiple branches can build at once without colliding. |
0 commit comments