--- description: Run the DevPlace maintenance agent fleet (10 quality dimensions) in check or fix mode, optionally scoped to changed files or a subset. argument-hint: "[check|fix] [changed] [comma,list,of,dimensions]" --- You are orchestrating the DevPlace maintenance fleet. Each dimension is a project subagent under `.claude/agents/`. The fleet enforces ten independent quality dimensions across the `devplacepy/` package and `tests/`. ## Dimension to subagent map | Dimension | Subagent | Enforces | |-----------|----------|----------| | style | `style-maintainer` | CLAUDE.md/AGENTS.md coding rules (context-aware names, em-dash, typing, pathlib, headers) | | dry | `dry-maintainer` | duplication and reuse of canonical shared utilities | | security | `security-maintainer` | auth guards, project visibility, read-only guards, input validation, XSS | | audit | `audit-maintainer` | audit-log coverage and event catalogue | | devii | `devii-maintainer` | Devii route parity and role-gated tool visibility | | seo | `seo-maintainer` | SEO context, JSON-LD, robots, sitemap | | frontend | `frontend-maintainer` | ES6, dp- components, CSS tokens, deferred CDN scripts | | fanout | `fanout-maintainer` | cross-layer feature completeness | | docs | `docs-maintainer` | docs coverage and role-aware show/hide | | test | `test-maintainer` | integration-test coverage | The canonical run order is: **style, dry, security, audit, devii, seo, frontend, fanout, docs, test**. ## Parse the arguments Arguments: `$ARGUMENTS` - **Mode**: `fix` anywhere in the arguments means FIX mode; otherwise default to CHECK mode (read-only report). - **changed**: the word `changed` means scope the run to only the files git reports as modified or new under `devplacepy/` and `tests/`. Compute that set first with `git status --porcelain` and keep existing paths whose first segment is `devplacepy/` or `tests/`. If the set is empty, report "nothing to do" and stop. Pass the explicit file list into each subagent's prompt so it reports/fixes only within that set (it may still read other files for cross-reference). - **Subset**: any comma-separated dimension names (e.g. `security,docs`) restrict the run to those dimensions in canonical order. With no subset, run all ten. ## Execute 1. Resolve the dimension list and mode from the arguments above. 2. **CHECK mode**: launch every selected subagent concurrently (one `Agent` call per dimension in a single message). Each subagent runs read-only and returns its findings report. Tell each subagent explicitly: "Operate in REPORT mode. Do not modify any file." If `changed`, append the file list and: "Restrict findings to these files." 3. **FIX mode**: launch the selected subagents **one at a time in canonical order** (never in parallel - parallel edits to the same file would conflict). Tell each: "Operate in FIX mode: apply minimal root-cause fixes per your doctrine, then run `hawk .` and confirm it passes." Wait for each to finish before starting the next. If `changed`, append the file list and: "Restrict fixes to these files." 4. Each subagent's final message is its report; it is not shown to the user directly, so collect them. ## Report After the fleet finishes, present a single consolidated summary to the user: - A table: dimension, error count, warning count, info count, and (fix mode) fixed count. - Then the notable findings grouped by dimension, each as `severity file:line - rule - message`. - A closing line with totals and, in fix mode, the validator result. Do not run the test suite. Do not perform any git write operation.