Claude Code orchestration: project agents, skills and workflows for tiered delegation #935

Closed
opened 2026-09-29 15:28:23 +00:00 by claude-bot · 1 comment
Collaborator

What: commit a Claude Code setup to the repo so an Opus 5.5 orchestrator can hand volume work down to cheaper tiers (Sonnet 5.5 at medium/low effort, Haiku 4.5 at low), with this repo's rules built into each delegate.

Why: today every delegate is a generic global agent with no effort setting, so it runs at the session's xhigh default. The global agents also still describe an older model lineup and iac-repo conventions. The long recipes (local CI matrix, render check, CI log triage, dev deploy) live only in memory notes, so every delegate re-derives them and runs into the same gotchas.

Approach:

  • .claude/agents/: qb-implementer, qb-frontend (Sonnet, medium); qb-render-check, qb-preflight (Sonnet, low); qb-test-runner, qb-ci-triage (Haiku, low).
  • .claude/skills/: /qb-test, /qb-ci-log, /qb-render, /qb-preflight (forked onto cheap agents), /qb-deploy-dev (manual only).
  • .claude/workflows/: /qb-verify (full local CI matrix in parallel), /qb-build-slice (implement → test → review → fix), /qb-review (review by dimension, then verify each finding).
  • Shared .claude/settings.json with the read-only allowlist these need; personal and one-off entries move to settings.local.json. .gitignore un-ignores only these paths.
  • Housekeeping (local, not committed): remove a plaintext credential from the old local allowlist, and prune merged agent worktrees.
  • Separately in iac-repo: refresh the global delegate-* agents (current models, effort per tier).
**What:** commit a Claude Code setup to the repo so an Opus 5.5 orchestrator can hand volume work down to cheaper tiers (Sonnet 5.5 at medium/low effort, Haiku 4.5 at low), with this repo's rules built into each delegate. **Why:** today every delegate is a generic global agent with no `effort` setting, so it runs at the session's `xhigh` default. The global agents also still describe an older model lineup and iac-repo conventions. The long recipes (local CI matrix, render check, CI log triage, dev deploy) live only in memory notes, so every delegate re-derives them and runs into the same gotchas. **Approach:** - `.claude/agents/`: qb-implementer, qb-frontend (Sonnet, medium); qb-render-check, qb-preflight (Sonnet, low); qb-test-runner, qb-ci-triage (Haiku, low). - `.claude/skills/`: /qb-test, /qb-ci-log, /qb-render, /qb-preflight (forked onto cheap agents), /qb-deploy-dev (manual only). - `.claude/workflows/`: /qb-verify (full local CI matrix in parallel), /qb-build-slice (implement → test → review → fix), /qb-review (review by dimension, then verify each finding). - Shared `.claude/settings.json` with the read-only allowlist these need; personal and one-off entries move to `settings.local.json`. `.gitignore` un-ignores only these paths. - Housekeeping (local, not committed): remove a plaintext credential from the old local allowlist, and prune merged agent worktrees. - Separately in iac-repo: refresh the global delegate-* agents (current models, effort per tier).
Author
Collaborator

Implemented in PR #936 (commit e52779d7).

Done:

  • 6 agents, 5 skills, 3 workflows and a shared settings.json, as described in the PR.
  • All five qb-test recipes were run exactly as written:
    • lint: 803/803
    • checks: 2/2
    • bot: 690/691
    • backend: 5865/5878
    • frontend: 2750/2751
  • The workflow scripts pass node --check, but I haven't run them as workflows yet.
  • Housekeeping (local only):
    • Removed a plaintext credential from the old local allowlist. That allowlist now lives in settings.local.json.
    • Removed 137 merged, clean agent worktrees and 13 empty stray directories. One is kept: explore/wide-layouts, which has uncommitted work.
  • In iac-repo, branch claude-config/delegate-effort-tiers (86f7450):
    • The global delegate-* agents now set effort per tier (haiku low, sonnet medium, opus/fable high).
    • The model wording is updated.
    • The global CLAUDE.md now says to prefer project specialists.

Follow-ups:

  • The backend suite now takes about 18 minutes (~5,900 tests). pytest-xdist with a database per worker would cut that sharply; it's worth its own issue.
  • The built-app path in /qb-render (a temporary Playwright spec against journeys-up) is described but hasn't been exercised yet.
  • Project agents load at session start, so a new session is needed before they appear.
Implemented in PR #936 (commit e52779d7). **Done:** - 6 agents, 5 skills, 3 workflows and a shared `settings.json`, as described in the PR. - All five `qb-test` recipes were run exactly as written: - lint: 803/803 - checks: 2/2 - bot: 690/691 - backend: 5865/5878 - frontend: 2750/2751 - The workflow scripts pass `node --check`, but I haven't run them as workflows yet. - Housekeeping (local only): - Removed a plaintext credential from the old local allowlist. That allowlist now lives in `settings.local.json`. - Removed 137 merged, clean agent worktrees and 13 empty stray directories. One is kept: `explore/wide-layouts`, which has uncommitted work. - In iac-repo, branch `claude-config/delegate-effort-tiers` (86f7450): - The global `delegate-*` agents now set effort per tier (haiku low, sonnet medium, opus/fable high). - The model wording is updated. - The global CLAUDE.md now says to prefer project specialists. **Follow-ups:** - The backend suite now takes about 18 minutes (~5,900 tests). pytest-xdist with a database per worker would cut that sharply; it's worth its own issue. - The built-app path in `/qb-render` (a temporary Playwright spec against `journeys-up`) is described but hasn't been exercised yet. - Project agents load at session start, so a new session is needed before they appear.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#935
No description provided.