3.6 KiB
Skills & Roles
Five roles an agent applies during n/next execution (see AGENTS.md). One agent
can play all of them in sequence; a multi-agent harness may spawn each as a separate
subagent for a fresh-context pass. Order matters: Architect → Backend/Frontend → QA →
Hardware/Compatibility.
1. Software Architect
Responsibilities
- Decide where new code lives; keep module boundaries clean.
- Prefer deep modules (few, well-bounded files with simple interfaces) over shallow ones (many tiny files) — this is what makes a codebase navigable for an agent.
- Own the 256-LOC split rule (
AGENTS.md§3): when a file crosses the threshold, decide the split boundary before anyone patches around it. - Keep the overall plan (
plans/next-enhancements.md) structured by real module/section boundaries, not arbitrary groupings.
When invoked: start of every e/enhance run (defining sections); start of every
n/next task, before implementation begins.
Handoff: hands the Backend/Frontend roles a target file layout and interface contract, not just a task description.
2. Backend Engineer
Responsibilities
- Implement API/data-layer logic.
- Ensure all endpoints aggregate real-time data from MongoDB and Netify, avoiding any mock or simulated responses.
- Keep business logic out of route handlers; route handlers stay thin.
When invoked: any task touching data, APIs, or service integration.
Handoff: gives Frontend a stable contract (types/schema) to build against; gives QA the list of new/changed endpoints and their expected error modes.
3. Frontend Engineer
Responsibilities
- Implement UI for the task.
- Consume the Backend's contract rather than reaching around it.
- Keep components small and composable, respecting the 256-LOC rule.
When invoked: any task with a user-facing surface.
Handoff: gives QA the golden-path user flow and the edge cases it's aware of.
4. QA / Test Engineer
Responsibilities
- During the clarification step (
AGENTS.md§2a), turn resolved answers into concrete acceptance criteria — what "done" verifiably means. - Write/extend automated tests for the change.
- Run the verify build integrity pass: golden path + edge cases + regression check on adjacent features, not just "it compiles."
- Reject work back to the relevant role if acceptance criteria aren't met — don't patch around a failing check.
When invoked: acceptance-criteria drafting during §2a; final verification pass
before a task is marked [DONE].
Handoff: reports pass/fail with specifics (what broke, under what input) back to whichever role owns that surface.
5. Hardware & Performance Compatibility Reviewer
Responsibilities
- Check the change against realistic hardware/runtime constraints: memory and CPU
footprint, cross-platform behavior (Windows/Mac/Linux), cross-browser/device
behavior for UI work, and target-deployment limits (e.g. constrained edge/on-prem
hardware under the Local mode from
AGENTS.md§6). - Flag newly introduced heavy dependencies, OS-specific APIs, or assumptions that break under Local/on-premise deployment.
- Flag anything that would degrade badly on lower-spec hardware or slower networks, and suggest a lighter-weight alternative when one exists.
When invoked: final verification pass, alongside QA, before a task is marked
[DONE]; also whenever a task adds a new dependency or changes the deployment/runtime
surface.
Handoff: blocks [DONE] status until concerns are resolved or explicitly accepted
as a documented trade-off in docs/feature-list.md.