skills/paperclip-create-agent/references/draft-review-checklist.md
Walk this checklist before submitting any agent-hires request. Fix each item that does not pass — do not submit a draft with open failures.
Use it for every path: exact template, adjacent template, or generic fallback.
name, role, and title are set and consistent with each otherAGENTS.md names the agent, the role, and the company in the first sentencereportsTo) resolves to a real in-company agent idAGENTS.md states the same reporting line in prosecapabilities is one concrete sentence about what the agent does — not a vague "assists with X"AGENTS.md names what the agent owns end-to-endcapabilities plus the role charter can tell in 30 seconds what this agent is forAGENTS.md states the comment-on-every-touch ruleAGENTS.md states the "leave a clear next action" ruleAGENTS.md covers how to mark work blocked with owner + actionAGENTS.md covers handoff to reviewer or manager on completionAGENTS.md includes the Paperclip execution contract verbatim:
Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested. Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling. Mark blocked work with owner and action. Respect budget, pause/cancel, approval gates, and company boundaries.
AGENTS.md describes what a good deliverable looks like for this role[UXDesigner](/PAP/agents/uxdesigner)[SecurityEngineer](/PAP/agents/securityengineer)[QA](/PAP/agents/qa)icon is set to one of /llms/agent-icons.txt and fits the rolesourceIssueId (or sourceIssueIds) is set when the hire was triggered by an issuedesiredSkills lists only skills that already exist in the company library, or will be installed first via the company-skills workflow/llms/agent-configuration/<adapter>.txtinstructionsBundle.files["AGENTS.md"] and do not set adapterConfig.promptTemplate or bootstrapPromptTemplate{{companyName}}, {{managerTitle}}, {{issuePrefix}}, and any URL stubs are replaced with real valuesadapterConfig, instructionsBundle, or any legacy prompt field; prefer environment-injected credentials or scoped skillsdesiredSkills or adapter settings that expand external-system access, browser/network reach, filesystem scope, or secret-handling capability are individually justified in the hire commentruntimeConfig.heartbeat.enabled is false unless the role genuinely needs scheduled recurring work AND intervalSec is justified in the hire commentAGENTS.md explicitly names anything the role must never do (external posts, shared infra changes, destructive ops without approval)AGENTS.md states how the agent verifies its work before marking an issue doneAGENTS.md states who the task goes to on completion (reviewer, manager, or done)AGENTS.md ends with the "always update your task with a comment" ruleAGENTS.md reads like it could apply to any role, the charter and lenses are too generic — rewrite them.desiredSkills list or an open-ended adapter config usually means "just in case" access. Trim to what the charter needs.desiredSkills must be called out explicitly in the hire comment.sourceIssueId, icon, or a resolvable reporting line is hard to audit later.{{companyName}}, {{managerTitle}}, and URL stubs in a submitted draft are the most common rejected-hire defect — grep the draft for {{ before submitting.