Add DevOps, Frontend-QA, Dev-QA, DevOps-QA agent configs #100
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/claude-custom!100
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "99-agent-specialization-configs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Deploy domain-specialized agent configs for the 6-to-9 agent model split. Adds DevOps execution agent, three domain-specific QA agents (Frontend-QA, Dev-QA, DevOps-QA), narrows Dev-Backend to exclude IaC, and deprecates the generalist QA agent.
Changes
agents/devops.md— New DevOps execution agent config (Terraform/Salt/k8s/ArgoCD/Helm, worktree isolation, tofu constraints, secrets pipeline awareness)agents/frontend-qa.md— New Frontend-QA expert reviewer (a11y, perf, responsive, UX, Impeccable compliance; read-only with block-write-tools.sh hook)agents/dev-qa.md— New Backend Dev-QA expert reviewer (PEP, OWASP, SQLAlchemy, test coverage, DORA process audit; read-only with block-write-tools.sh hook)agents/devops-qa.md— New DevOps-QA expert reviewer (TF state, k8s security, ArgoCD, Salt, CNPG; read-only with block-write-tools.sh hook)agents/dev-backend.md— Narrowed scope: removed IaC, now Python/FastAPI/SQLAlchemy only, added constraint against writing Terraform/Salt/k8sagents/qa.md->agents/qa.md.deprecated— Generalist QA replaced by three domain specialistsschemas/agent-spawn-requirements.json— Registered all 4 new agent types with appropriate spawn gate patternssettings.json— Updated SubagentStart matcher to include devops, frontend-qa, dev-qa, devops-qaTest Plan
Review Checklist
Related
plan-pal-e-agency(traceability)Closes #99
PR #100 Review
BLOCKERS
1.
inject-subagent-context.shdoes not handle any of the new agent typesThe SubagentStart matcher in
settings.jsonwas correctly updated to includedevops|frontend-qa|dev-qa|devops-qa, and the hook is invoked. However, the hook itself (hooks/inject-subagent-context.sh) was NOT updated. Itscasestatement only handles three types:All four new agent types (
devops,frontend-qa,dev-qa,devops-qa) fall through to the*wildcard and receive zero context injection. This also affects the pre-existingdev-backendanddev-frontendtypes from PR #96 -- they have the same gap.The context injection includes critical guidance like "You MUST NOT use Write, Edit, or Bash tools" for QA agents. Without it, the QA agents rely solely on their
.mdfrontmatterdisallowedToolsand PreToolUse hook, which is defense-in-depth but the context injection is a declared part of the enforcement architecture.The hook needs
caseentries for at minimum:devops(execution agent context)frontend-qa|dev-qa|devops-qa(read-only QA context with tool restrictions)dev-backend|dev-frontend(existing gap from PR #96)This is a blocker because the hook update is listed as a deliverable scope item -- the SubagentStart matcher was updated in
settings.jsonbut the hook it routes to was not updated to match.NITS
qatype still active in spawn schema:agent-spawn-requirements.jsonretains theqatype entry, and the SubagentStart matcher still includesqa. Sinceqa.mdwas renamed toqa.md.deprecated, spawning aqaagent will fail (no config file found) or fall back to unknown behavior. Consider either removingqafrom the schema or adding a note that it is deprecated. Not blocking -- the deprecation is documented in the PR body.betty-sue.md stale agent references:
agents/betty-sue.mdline 73-75 referencesagent-devandagent-qain its Related section. These are now deprecated names. Should reference the new specialized agents. Non-blocking since this file is not in the PR scope, but worth a follow-up issue.Impeccable with capital I:
frontend-qa.mddescription says "Impeccable compliance" with a capital I. This reads like a branded term (which may be intentional for the Impeccable design system). If intentional, fine. If not, lowercase it.SOP COMPLIANCE
99-agent-specialization-configsreferences issue #99)plan-pal-e-agency(traceability)Closes #99present in PR bodyagent-devops,agent-dev-qa,agent-frontend-qa,agent-devops-qa) -- these notes must exist in pal-e-docs or the agents will fail on first instruction. Cannot verify from this repo.PROCESS OBSERVATIONS
qa.md. Good template discipline.dev-backend.mdanddev-frontend.mdstructure well. Thetofu planPR template requirement is a good domain-specific addition.dev-backend.mdnarrowing (removing IaC, adding constraint against Terraform/Salt/k8s) cleanly complements the new DevOps agent. No overlap in declared scope.qapattern.VERDICT: NOT APPROVED
One blocker: the
inject-subagent-context.shhook must be updated to handle the four new agent types (and ideally the two pre-existing types from PR #96 that also fall through). The SubagentStart matcher routes to the hook, but the hook silently drops the new types.PR #100 Review (Re-review)
Previous review found a blocker:
inject-subagent-context.shdid not handle the four new agent types, meaning they would silently get no context injection. A fix was pushed to the same branch. This re-review verifies the fix and checks for remaining issues.BLOCKER FIX ASSESSMENT
Fixed. The
inject-subagent-context.shcase statement now correctly routes:qa|frontend-qa|dev-qa|devops-qato the QA context branch (line 19)dev|dev-backend|dev-frontend|devopsto the dev context branch (line 22)All four new agent types will receive context injection as intended. The fix is correct and complete.
BLOCKERS
None.
NITS
Context injection points specialized agents to generic profile slugs. The QA branch injects
get_note(slug="agent-qa")for all QA variants, but each new agent's own.mdconfig correctly references its specific slug (e.g.,agent-dev-qa,agent-frontend-qa,agent-devops-qa). Same for devops gettingagent-devinstead ofagent-devops. Not a functional problem -- the agent's own config file has the correct slug and takes precedence -- but it means theadditionalContextstring is slightly misleading for specialized agents. Consider parameterizing the slug in a follow-up.Spawn schema description drift for
dev-backend. Line 17 ofagent-spawn-requirements.jsonstill says"Backend dev -- Python, FastAPI, IaC, MCP servers"but this PR narroweddev-backend.mdto explicitly exclude IaC. The schema description is stale. (Inherited from PR #96, not introduced here -- but this PR touches the schema file and could have fixed it.)Nine changed files is at the upper boundary of review comfort. The PR is well-scoped (all agent configs + supporting infra), but future PRs of this nature could consider splitting execution agents and QA agents into separate PRs for easier review.
SOP COMPLIANCE
99-agent-specialization-configsreferences issue #99plan-pal-e-agencyCloses #99present in PR bodydisallowedTools: Write, Edit, BashAND theblock-write-tools.shhook (defense in depth)isolation: worktreeand tofu constraintsrequired_patternssettings.jsonlists all agent typesVERDICT: APPROVED