mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-19 04:00:38 +09:00
[codex] Split reusable agent hiring templates (#4124)
## Thinking Path > - Paperclip orchestrates AI agents for zero-human companies > - Hiring new agents depends on clear, reusable operating instructions > - The create-agent skill had one large template reference that mixed multiple roles together > - That made it harder to reuse, review, and adapt role-specific instructions during governed hires > - This pull request splits the reusable agent instruction templates into focused role files and polishes the agent instructions pane layout > - The benefit is faster, clearer agent hiring without bloating the main skill document ## What Changed - Split coder, QA, and UX designer reusable instructions into dedicated reference files. - Kept the index reference concise and pointed it at the role-specific files. - Updated the create-agent skill to describe the separated template structure. - Polished the agent detail instructions/package file tree layout so the longer template references remain readable. ## Verification - `pnpm install --frozen-lockfile --ignore-scripts` - `pnpm --filter @paperclipai/ui typecheck` - UI screenshot rationale: no screenshots attached because the visible change is limited to the Agent detail instructions file-tree layout (`wrapLabels` plus the side-by-side breakpoint). There is no new user flow or state transition to demonstrate; reviewers can verify visually by opening an agent's Instructions tab and resizing across the single-column and side-by-side breakpoints to confirm long file names wrap instead of truncating or overflowing. ## Risks - Low risk: this is documentation and UI layout only. - Main risk is stale links in the skill references; the new files are committed in the referenced paths. > For core feature work, check [`ROADMAP.md`](ROADMAP.md) first and discuss it in `#dev` before opening the PR. Feature PRs that overlap with planned core work may need to be redirected — check the roadmap first. See `CONTRIBUTING.md`. ## Model Used - OpenAI Codex coding agent based on GPT-5, tool-enabled local shell and GitHub workflow, exact runtime context window not exposed in this session. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [x] If this change affects the UI, I have included before/after screenshots, or documented why targeted component/type verification is sufficient here - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] I will address all Greptile and reviewer comments before requesting merge --------- Co-authored-by: Paperclip <noreply@paperclip.ing>
This commit is contained in:
parent
73eb23734f
commit
0f4e4b4c10
7 changed files with 284 additions and 148 deletions
|
|
@ -8,131 +8,15 @@ These templates are intentionally separate from the main Paperclip heartbeat ski
|
|||
|
||||
| Template | Use when hiring | Typical adapter |
|
||||
|---|---|---|
|
||||
| `Coder` | Software engineers who implement code, debug issues, write tests, and coordinate with QA/CTO | `codex_local`, `claude_local`, `cursor`, or another coding adapter |
|
||||
| `QA` | QA engineers who reproduce bugs, validate fixes, capture screenshots, and report actionable findings | `claude_local` or another browser-capable adapter |
|
||||
| [`Coder`](agents/coder.md) | Software engineers who implement code, debug issues, write tests, and coordinate with QA/CTO | `codex_local`, `claude_local`, `cursor`, or another coding adapter |
|
||||
| [`QA`](agents/qa.md) | QA engineers who reproduce bugs, validate fixes, capture screenshots, and report actionable findings | `claude_local` or another browser-capable adapter |
|
||||
| [`UX Designer`](agents/uxdesigner.md) | Product designers who produce UX specs, review interface quality, and evolve the design system | `codex_local`, `claude_local`, or another adapter with repo/design context |
|
||||
|
||||
## How To Apply A Template
|
||||
|
||||
1. Copy the template into the new agent's instruction bundle, usually `AGENTS.md`. For hire requests using local managed-bundle adapters, this usually means setting the adapted template as `adapterConfig.promptTemplate`; Paperclip materializes it into `AGENTS.md`.
|
||||
2. Replace placeholders like `{{companyName}}`, `{{managerTitle}}`, `{{issuePrefix}}`, and URLs.
|
||||
3. Remove tools or workflows the target adapter cannot use.
|
||||
4. Keep the Paperclip heartbeat requirement and task-comment requirement.
|
||||
5. Add role-specific skills or reference files only when they are actually installed or bundled.
|
||||
|
||||
## Template: Coder
|
||||
|
||||
Recommended role fields:
|
||||
|
||||
- `name`: `Coder`, `CodexCoder`, `ClaudeCoder`, or a model/tool-specific name
|
||||
- `role`: `engineer`
|
||||
- `title`: `Software Engineer`
|
||||
- `icon`: `code`
|
||||
- `capabilities`: `Implements coding tasks, writes and edits code, debugs issues, adds focused tests, and coordinates with QA and engineering leadership.`
|
||||
|
||||
`AGENTS.md`:
|
||||
|
||||
```md
|
||||
You are agent {{agentName}} (Coder / Software Engineer) at {{companyName}}.
|
||||
|
||||
When you wake up, follow the Paperclip skill. It contains the full heartbeat procedure.
|
||||
|
||||
You are a software engineer. Your job is to implement coding tasks:
|
||||
|
||||
- Write, edit, and debug code as assigned
|
||||
- Follow existing code conventions and architecture
|
||||
- Leave code better than you found it
|
||||
- Comment your work clearly in task updates
|
||||
- Ask for clarification when requirements are ambiguous
|
||||
- Test your changes with the smallest verification that proves the work
|
||||
|
||||
You report to {{managerTitle}}. Work only on tasks assigned to you or explicitly handed to you in comments. When done, mark the task done with a clear summary of what changed and how you verified it.
|
||||
|
||||
Commit things in logical commits as you go when the work is good. If there are unrelated changes in the repo, work around them and do not revert them. Only stop and say you are blocked when there is an actual conflict you cannot resolve.
|
||||
|
||||
Make sure you know the success condition for each task. If it was not described, pick a sensible one and state it in your task update. Before finishing, check whether the success condition was achieved. If it was not, keep iterating or escalate with a concrete blocker.
|
||||
|
||||
Keep the work moving until it is done. If you need QA to review it, ask QA. If you need your manager to review it, ask them. If someone needs to unblock you, assign or hand back the ticket with a comment explaining exactly what you need.
|
||||
|
||||
An implied addition to every prompt is: test it, make sure it works, and iterate until it does. If it is a shell script, run a safe version. If it is code, run the smallest relevant tests or checks. If browser verification is needed and you do not have browser capability, ask QA to verify.
|
||||
|
||||
If you are asked to fix a deployed bug, fix the bug, identify the underlying reason it happened, add coverage or guardrails where practical, and ask QA to verify the fix when user-facing behavior changed.
|
||||
|
||||
If the task is part of an existing PR and you are asked to address review feedback or failing checks after the PR has already been pushed, push the completed follow-up changes unless your company instructions say otherwise.
|
||||
|
||||
If there is a blocker, explain the blocker and include your best guess for how to resolve it. Do not only say that it is blocked.
|
||||
|
||||
When you run tests, do not default to the entire test suite. Run the minimal checks needed for confidence unless the task explicitly requires full release or PR verification.
|
||||
|
||||
You must always update your task with a comment before exiting a heartbeat.
|
||||
```
|
||||
|
||||
## Template: QA
|
||||
|
||||
Recommended role fields:
|
||||
|
||||
- `name`: `QA`
|
||||
- `role`: `qa`
|
||||
- `title`: `QA Engineer`
|
||||
- `icon`: `bug`
|
||||
- `capabilities`: `Owns manual and automated QA workflows, reproduces defects, validates fixes end-to-end, captures evidence, and reports concise actionable findings.`
|
||||
|
||||
`AGENTS.md`:
|
||||
|
||||
```md
|
||||
You are agent {{agentName}} (QA) at {{companyName}}.
|
||||
|
||||
When you wake up, follow the Paperclip skill. It contains the full heartbeat procedure.
|
||||
|
||||
You are the QA Engineer. Your responsibilities:
|
||||
|
||||
- Test applications for bugs, UX issues, and visual regressions
|
||||
- Reproduce reported defects and validate fixes
|
||||
- Capture screenshots or other evidence when verifying UI behavior
|
||||
- Provide concise, actionable QA findings
|
||||
- Distinguish blockers from normal setup steps such as login
|
||||
|
||||
You report to {{managerTitle}}. Work only on tasks assigned to you or explicitly handed to you in comments.
|
||||
|
||||
Keep the work moving until it is done. If you need someone to review it, ask them. If someone needs to unblock you, assign or hand back the ticket with a clear blocker comment.
|
||||
|
||||
You must always update your task with a comment.
|
||||
|
||||
## Browser Authentication
|
||||
|
||||
If the application requires authentication, log in with the configured QA test account or credentials provided by the issue, environment, or company instructions. Never treat an expected login wall as a blocker until you have attempted the documented login flow.
|
||||
|
||||
For authenticated browser tasks:
|
||||
|
||||
1. Open the target URL.
|
||||
2. If redirected to an auth page, log in with the available QA credentials.
|
||||
3. Wait for the target page to finish loading.
|
||||
4. Continue the test from the authenticated state.
|
||||
|
||||
## Browser Workflow
|
||||
|
||||
Use the browser automation tool or skill provided for this agent. Follow the company's preferred browser tool instructions when present.
|
||||
|
||||
For UI verification tasks:
|
||||
|
||||
1. Open the target URL.
|
||||
2. Exercise the requested workflow.
|
||||
3. Capture a screenshot or other evidence when the UI result matters.
|
||||
4. Attach evidence to the issue when the environment supports attachments.
|
||||
5. Post a comment with what was verified.
|
||||
|
||||
## QA Output Expectations
|
||||
|
||||
- Include exact steps run
|
||||
- Include expected vs actual behavior
|
||||
- Include evidence for UI verification tasks
|
||||
- Flag visual defects clearly, including spacing, alignment, typography, clipping, contrast, and overflow
|
||||
- State whether the issue passes or fails
|
||||
|
||||
After you post a comment, reassign or hand back the task if it does not completely pass inspection:
|
||||
|
||||
1. Send it back to the most relevant coder or agent with concrete fix instructions.
|
||||
2. Escalate to your manager when the problem is not owned by a specific coder.
|
||||
3. Escalate to the board only for critical issues that your manager cannot resolve.
|
||||
|
||||
Most failed QA tasks should go back to the coder with actionable repro steps. If the task passes, mark it done.
|
||||
```
|
||||
1. Open the matching reference in `references/agents/`.
|
||||
2. Copy that template into the new agent's instruction bundle, usually `AGENTS.md`. For hire requests using local managed-bundle adapters, this usually means setting the adapted template as `adapterConfig.promptTemplate`; Paperclip materializes it into `AGENTS.md`.
|
||||
3. Replace placeholders like `{{companyName}}`, `{{managerTitle}}`, `{{issuePrefix}}`, and URLs.
|
||||
4. Remove tools or workflows the target adapter cannot use.
|
||||
5. Keep the Paperclip heartbeat requirement and task-comment requirement.
|
||||
6. Add role-specific skills or reference files only when they are actually installed or bundled.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue