@starlein/paperclip-plugin-company-wizard 0.3.23 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README.md +18 -13
- package/dist/manifest.js +1 -6
- package/dist/manifest.js.map +2 -2
- package/dist/ui/index.css +3 -0
- package/dist/ui/index.css.map +2 -2
- package/dist/ui/index.js +59 -30
- package/dist/ui/index.js.map +3 -3
- package/dist/worker.js +315 -86
- package/dist/worker.js.map +3 -3
- package/package.json +1 -1
- package/templates/ai-wizard/config-format.md +4 -4
- package/templates/ai-wizard/interview-system.md +3 -3
- package/templates/ai-wizard/single-shot-system.md +3 -3
- package/templates/bootstrap-instructions.md +3 -3
- package/templates/modules/architecture-plan/agents/ui-designer/skills/design-system.md +1 -1
- package/templates/modules/auto-assign/agents/ceo/heartbeat-section.md +2 -8
- package/templates/modules/auto-assign/agents/product-owner/heartbeat-section.md +2 -9
- package/templates/modules/auto-assign/module.meta.json +1 -1
- package/templates/modules/auto-assign/skills/auto-assign.md +18 -15
- package/templates/modules/backlog/agents/ceo/heartbeat-section.md +2 -9
- package/templates/modules/backlog/agents/product-owner/heartbeat-section.md +2 -14
- package/templates/modules/backlog/module.meta.json +1 -1
- package/templates/modules/backlog/skills/backlog-health.md +20 -21
- package/templates/modules/codebase-onboarding/skills/codebase-audit.md +29 -30
- package/templates/modules/github-repo/agents/engineer/skills/git-workflow.md +11 -7
- package/templates/modules/github-repo/docs/git-workflow.md +10 -6
- package/templates/modules/hiring-review/skills/hiring-review.md +40 -16
- package/templates/modules/market-analysis/agents/ux-researcher/skills/market-analysis.md +1 -1
- package/templates/modules/pr-review/README.md +13 -13
- package/templates/modules/pr-review/agents/code-reviewer/skills/code-review.md +16 -21
- package/templates/modules/pr-review/agents/devops/skills/infra-review.md +1 -1
- package/templates/modules/pr-review/agents/engineer/skills/pr-workflow.md +17 -11
- package/templates/modules/pr-review/agents/product-owner/skills/product-review.md +1 -1
- package/templates/modules/pr-review/agents/qa/skills/qa-review.md +40 -19
- package/templates/modules/pr-review/agents/security-engineer/skills/pr-security-review.md +27 -0
- package/templates/modules/pr-review/agents/ui-designer/skills/design-review.md +1 -1
- package/templates/modules/pr-review/agents/ux-researcher/skills/ux-review.md +1 -1
- package/templates/modules/pr-review/docs/pr-conventions.md +35 -23
- package/templates/modules/pr-review/module.meta.json +4 -3
- package/templates/modules/stall-detection/README.md +8 -8
- package/templates/modules/stall-detection/agents/ceo/heartbeat-section.md +2 -11
- package/templates/modules/stall-detection/agents/ceo/skills/stall-detection.md +22 -13
- package/templates/modules/stall-detection/module.meta.json +1 -1
- package/templates/modules/triage/skills/issue-triage.md +20 -33
- package/templates/roles/audio-designer/HEARTBEAT.md +37 -21
- package/templates/roles/ceo/HEARTBEAT.md +34 -56
- package/templates/roles/cmo/HEARTBEAT.md +37 -21
- package/templates/roles/code-reviewer/AGENTS.md +1 -1
- package/templates/roles/code-reviewer/HEARTBEAT.md +39 -19
- package/templates/roles/cto/HEARTBEAT.md +33 -25
- package/templates/roles/customer-success/HEARTBEAT.md +39 -19
- package/templates/roles/devops/HEARTBEAT.md +36 -25
- package/templates/roles/engineer/AGENTS.md +27 -9
- package/templates/roles/engineer/HEARTBEAT.md +35 -21
- package/templates/roles/game-artist/HEARTBEAT.md +37 -21
- package/templates/roles/game-designer/HEARTBEAT.md +37 -21
- package/templates/roles/level-designer/HEARTBEAT.md +37 -21
- package/templates/roles/product-owner/AGENTS.md +24 -8
- package/templates/roles/product-owner/HEARTBEAT.md +37 -19
- package/templates/roles/qa/AGENTS.md +26 -11
- package/templates/roles/qa/HEARTBEAT.md +37 -21
- package/templates/roles/security-engineer/AGENTS.md +21 -23
- package/templates/roles/security-engineer/HEARTBEAT.md +39 -19
- package/templates/roles/technical-writer/HEARTBEAT.md +39 -18
- package/templates/roles/ui-designer/AGENTS.md +26 -9
- package/templates/roles/ui-designer/HEARTBEAT.md +37 -21
- package/templates/roles/ux-researcher/HEARTBEAT.md +37 -21
|
@@ -1,37 +1,53 @@
|
|
|
1
|
-
# HEARTBEAT.md -- Audio Designer Heartbeat
|
|
1
|
+
# HEARTBEAT.md -- Audio Designer Heartbeat Checklist
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Run this checklist on every heartbeat. The Paperclip skill is the source of truth for board coordination; this file records the current expected flow and role-local reminders.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`.
|
|
5
|
+
## 1. Identity and Wake Context
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
- `GET /api/agents/me` -- confirm your id, role, companyId, budget, and chain of command.
|
|
8
|
+
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`, `PAPERCLIP_APPROVAL_ID`.
|
|
9
|
+
- If the wake reason is approval/review/routine, treat that object as the active assignment.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
- Prioritize `in_progress` first, then `todo`.
|
|
11
|
+
## 2. Get Assigned Work
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
- Prefer `GET /api/agents/me/inbox-lite` for your actionable inbox.
|
|
14
|
+
- If `PAPERCLIP_TASK_ID` is set and belongs to you, prioritize it.
|
|
15
|
+
- Otherwise work assigned issues only. Never look for random unassigned work during a normal heartbeat.
|
|
16
|
+
- Include `todo`, `in_progress`, `in_review`, and review/approval tasks surfaced by the inbox. Skip blocked work unless you can unblock it.
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
- Never retry a 409 -- that task belongs to someone else.
|
|
17
|
-
- Do the work. Update status and comment when done.
|
|
18
|
-
- When creating audio assets, place them in the project's `assets/audio/` directory following naming conventions.
|
|
18
|
+
## 3. Load Execution Context
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
- For the chosen issue, call `GET /api/issues/{id}/heartbeat-context` before changing state.
|
|
21
|
+
- Inspect status, parent/children, project/goal, labels, comments, documents, work products, `blockedByIssueIds`, `executionPolicy`, and current execution state.
|
|
22
|
+
- Respect pause/cancel, budget, sandbox, and approval gates. Do not bypass executionPolicy review or approval stages.
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
- Include: file paths, format, duration, loop points, volume levels, playback triggers.
|
|
24
|
-
- Provide integration notes: when to play, how to layer, any spatial/positional audio needs.
|
|
24
|
+
## 4. Checkout and Work
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
- Checkout before mutating work: `POST /api/issues/{id}/checkout` with the expected current status when the API supports `expectedStatuses`.
|
|
27
|
+
- Never retry a 409; that issue belongs to another active run.
|
|
28
|
+
- Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested.
|
|
29
|
+
- Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling.
|
|
30
|
+
- Mark true dependencies with `blockedByIssueIds` instead of free-text blockers.
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
## 5. Evidence, Work Products, and Handover
|
|
33
|
+
|
|
34
|
+
- Record real verification: commands, test results, screenshots, reviewed artifacts, or explicit "not run" rationale.
|
|
35
|
+
- Upload or attach user-inspectable outputs as work products/artifacts/documents; local filesystem paths alone are not enough.
|
|
36
|
+
- Use issue documents for long plans, specs, QA reports, security reviews, or hiring drafts; comments should summarize and link.
|
|
37
|
+
- Handoffs should use assignment/status/executionPolicy and a concrete next action. Do not rely on generic @-mentions.
|
|
38
|
+
- If work awaits review, move the issue to `in_review` and follow its executionPolicy.
|
|
39
|
+
|
|
40
|
+
## 6. Exit
|
|
41
|
+
|
|
42
|
+
- Always comment before exiting any issue you touched: status, evidence, blockers, work products, and next action.
|
|
43
|
+
- If the issue used an isolated execution workspace/worktree, close it before final disposition: read `currentExecutionWorkspace.id` from `heartbeat-context`, check `GET /api/execution-workspaces/{id}/close-readiness`, then archive with `PATCH /api/execution-workspaces/{id}` `{ "status": "archived" }` after commits/PRs are merged and the tree is clean. If close-readiness or cleanup is blocked, do not mark `done`; leave the issue `blocked`/`in_review` with the exact cleanup blocker and next owner.
|
|
44
|
+
- If no assigned work, valid approval/review, or routine-run exists, exit cleanly without scanning unrelated unassigned work.
|
|
30
45
|
|
|
31
46
|
## Rules
|
|
32
47
|
|
|
33
48
|
- Always use the Paperclip skill for coordination.
|
|
34
|
-
- Always include `X-Paperclip-Run-Id`
|
|
35
|
-
-
|
|
49
|
+
- Always include `X-Paperclip-Run-Id` on mutating API calls when available.
|
|
50
|
+
- Keep comments concise markdown: status line + bullets + links.
|
|
51
|
+
- Never expose secrets, credentials, private customer data, or hidden chain-of-thought in comments or artifacts.
|
|
36
52
|
|
|
37
53
|
<!-- Module heartbeat sections are inserted above this line during assembly -->
|
|
@@ -1,75 +1,53 @@
|
|
|
1
|
-
# HEARTBEAT.md --
|
|
1
|
+
# HEARTBEAT.md -- Ceo Heartbeat Checklist
|
|
2
2
|
|
|
3
|
-
Run this checklist on every heartbeat.
|
|
3
|
+
Run this checklist on every heartbeat. The Paperclip skill is the source of truth for board coordination; this file records the current expected flow and role-local reminders.
|
|
4
4
|
|
|
5
|
-
## 1. Identity and Context
|
|
5
|
+
## 1. Identity and Wake Context
|
|
6
6
|
|
|
7
|
-
- `GET /api/agents/me` -- confirm your id, role, budget,
|
|
8
|
-
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`.
|
|
7
|
+
- `GET /api/agents/me` -- confirm your id, role, companyId, budget, and chain of command.
|
|
8
|
+
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`, `PAPERCLIP_APPROVAL_ID`.
|
|
9
|
+
- If the wake reason is approval/review/routine, treat that object as the active assignment.
|
|
9
10
|
|
|
10
|
-
## 2.
|
|
11
|
+
## 2. Get Assigned Work
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
5. **Record progress updates** in the daily notes.
|
|
13
|
+
- Prefer `GET /api/agents/me/inbox-lite` for your actionable inbox.
|
|
14
|
+
- If `PAPERCLIP_TASK_ID` is set and belongs to you, prioritize it.
|
|
15
|
+
- Otherwise work assigned issues only. Never look for random unassigned work during a normal heartbeat.
|
|
16
|
+
- Include `todo`, `in_progress`, `in_review`, and review/approval tasks surfaced by the inbox. Skip blocked work unless you can unblock it.
|
|
17
17
|
|
|
18
|
-
## 3.
|
|
18
|
+
## 3. Load Execution Context
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
- For the chosen issue, call `GET /api/issues/{id}/heartbeat-context` before changing state.
|
|
21
|
+
- Inspect status, parent/children, project/goal, labels, comments, documents, work products, `blockedByIssueIds`, `executionPolicy`, and current execution state.
|
|
22
|
+
- Respect pause/cancel, budget, sandbox, and approval gates. Do not bypass executionPolicy review or approval stages.
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
- Close resolved issues or comment on what remains open.
|
|
24
|
+
## 4. Checkout and Work
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
- Checkout before mutating work: `POST /api/issues/{id}/checkout` with the expected current status when the API supports `expectedStatuses`.
|
|
27
|
+
- Never retry a 409; that issue belongs to another active run.
|
|
28
|
+
- Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested.
|
|
29
|
+
- Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling.
|
|
30
|
+
- Mark true dependencies with `blockedByIssueIds` instead of free-text blockers.
|
|
26
31
|
|
|
27
|
-
|
|
28
|
-
- Prioritize: `in_progress` first, then `todo`. Skip `blocked` unless you can unblock it.
|
|
29
|
-
- If there is already an active run on an `in_progress` task, just move on to the next thing.
|
|
30
|
-
- If `PAPERCLIP_TASK_ID` is set and assigned to you, prioritize that task.
|
|
32
|
+
## 5. Evidence, Work Products, and Handover
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
- Record real verification: commands, test results, screenshots, reviewed artifacts, or explicit "not run" rationale.
|
|
35
|
+
- Upload or attach user-inspectable outputs as work products/artifacts/documents; local filesystem paths alone are not enough.
|
|
36
|
+
- Use issue documents for long plans, specs, QA reports, security reviews, or hiring drafts; comments should summarize and link.
|
|
37
|
+
- Handoffs should use assignment/status/executionPolicy and a concrete next action. Do not rely on generic @-mentions.
|
|
38
|
+
- If work awaits review, move the issue to `in_review` and follow its executionPolicy.
|
|
33
39
|
|
|
34
|
-
|
|
35
|
-
- Never retry a 409 -- that task belongs to someone else.
|
|
36
|
-
- Do the work. Update status and comment when done.
|
|
40
|
+
## 6. Exit
|
|
37
41
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
- Create subissues only for independent work slices; avoid splitting tightly coupled implementation across sibling subissues.
|
|
42
|
-
- Use `paperclip-create-agent` skill when hiring new agents.
|
|
43
|
-
- Assign work to the right agent for the job.
|
|
44
|
-
|
|
45
|
-
## 7. Fact Extraction
|
|
46
|
-
|
|
47
|
-
1. Check for new conversations since last extraction.
|
|
48
|
-
2. Extract durable facts to the relevant entity in `$AGENT_HOME/life/` (PARA).
|
|
49
|
-
3. Update `$AGENT_HOME/memory/YYYY-MM-DD.md` with timeline entries.
|
|
50
|
-
4. Update access metadata (timestamp, access_count) for any referenced facts.
|
|
51
|
-
|
|
52
|
-
## 8. Exit
|
|
53
|
-
|
|
54
|
-
- Comment on any in_progress work before exiting.
|
|
55
|
-
- If no assignments and no valid mention-handoff, exit cleanly.
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## CEO Responsibilities
|
|
60
|
-
|
|
61
|
-
- **Strategic direction**: Set goals and priorities aligned with the company mission.
|
|
62
|
-
- **Hiring**: Spin up new agents when capacity is needed.
|
|
63
|
-
- **Unblocking**: Escalate or resolve blockers for reports.
|
|
64
|
-
- **Budget awareness**: Above 80% spend, focus only on critical tasks.
|
|
65
|
-
- **Never look for unassigned work** -- only work on what is assigned to you.
|
|
66
|
-
- **Never cancel cross-team tasks** -- reassign to the relevant manager with a comment.
|
|
42
|
+
- Always comment before exiting any issue you touched: status, evidence, blockers, work products, and next action.
|
|
43
|
+
- If the issue used an isolated execution workspace/worktree, close it before final disposition: read `currentExecutionWorkspace.id` from `heartbeat-context`, check `GET /api/execution-workspaces/{id}/close-readiness`, then archive with `PATCH /api/execution-workspaces/{id}` `{ "status": "archived" }` after commits/PRs are merged and the tree is clean. If close-readiness or cleanup is blocked, do not mark `done`; leave the issue `blocked`/`in_review` with the exact cleanup blocker and next owner.
|
|
44
|
+
- If no assigned work, valid approval/review, or routine-run exists, exit cleanly without scanning unrelated unassigned work.
|
|
67
45
|
|
|
68
46
|
## Rules
|
|
69
47
|
|
|
70
48
|
- Always use the Paperclip skill for coordination.
|
|
71
|
-
- Always include `X-Paperclip-Run-Id`
|
|
72
|
-
-
|
|
73
|
-
-
|
|
49
|
+
- Always include `X-Paperclip-Run-Id` on mutating API calls when available.
|
|
50
|
+
- Keep comments concise markdown: status line + bullets + links.
|
|
51
|
+
- Never expose secrets, credentials, private customer data, or hidden chain-of-thought in comments or artifacts.
|
|
74
52
|
|
|
75
53
|
<!-- Module heartbeat sections are inserted above this line during assembly -->
|
|
@@ -1,37 +1,53 @@
|
|
|
1
|
-
# HEARTBEAT.md --
|
|
1
|
+
# HEARTBEAT.md -- Cmo Heartbeat Checklist
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Run this checklist on every heartbeat. The Paperclip skill is the source of truth for board coordination; this file records the current expected flow and role-local reminders.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`.
|
|
5
|
+
## 1. Identity and Wake Context
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
- `GET /api/agents/me` -- confirm your id, role, companyId, budget, and chain of command.
|
|
8
|
+
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`, `PAPERCLIP_APPROVAL_ID`.
|
|
9
|
+
- If the wake reason is approval/review/routine, treat that object as the active assignment.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
- Prioritize `in_progress` first, then `todo`.
|
|
11
|
+
## 2. Get Assigned Work
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
- Prefer `GET /api/agents/me/inbox-lite` for your actionable inbox.
|
|
14
|
+
- If `PAPERCLIP_TASK_ID` is set and belongs to you, prioritize it.
|
|
15
|
+
- Otherwise work assigned issues only. Never look for random unassigned work during a normal heartbeat.
|
|
16
|
+
- Include `todo`, `in_progress`, `in_review`, and review/approval tasks surfaced by the inbox. Skip blocked work unless you can unblock it.
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
- Never retry a 409 -- that task belongs to someone else.
|
|
17
|
-
- Do the work. Update status and comment when done.
|
|
18
|
-
- When producing marketing deliverables, write them as markdown documents in the project workspace.
|
|
18
|
+
## 3. Load Execution Context
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
- For the chosen issue, call `GET /api/issues/{id}/heartbeat-context` before changing state.
|
|
21
|
+
- Inspect status, parent/children, project/goal, labels, comments, documents, work products, `blockedByIssueIds`, `executionPolicy`, and current execution state.
|
|
22
|
+
- Respect pause/cancel, budget, sandbox, and approval gates. Do not bypass executionPolicy review or approval stages.
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
- Include links to deliverable files in your comment.
|
|
24
|
-
- Update issue status appropriately.
|
|
24
|
+
## 4. Checkout and Work
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
- Checkout before mutating work: `POST /api/issues/{id}/checkout` with the expected current status when the API supports `expectedStatuses`.
|
|
27
|
+
- Never retry a 409; that issue belongs to another active run.
|
|
28
|
+
- Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested.
|
|
29
|
+
- Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling.
|
|
30
|
+
- Mark true dependencies with `blockedByIssueIds` instead of free-text blockers.
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
## 5. Evidence, Work Products, and Handover
|
|
33
|
+
|
|
34
|
+
- Record real verification: commands, test results, screenshots, reviewed artifacts, or explicit "not run" rationale.
|
|
35
|
+
- Upload or attach user-inspectable outputs as work products/artifacts/documents; local filesystem paths alone are not enough.
|
|
36
|
+
- Use issue documents for long plans, specs, QA reports, security reviews, or hiring drafts; comments should summarize and link.
|
|
37
|
+
- Handoffs should use assignment/status/executionPolicy and a concrete next action. Do not rely on generic @-mentions.
|
|
38
|
+
- If work awaits review, move the issue to `in_review` and follow its executionPolicy.
|
|
39
|
+
|
|
40
|
+
## 6. Exit
|
|
41
|
+
|
|
42
|
+
- Always comment before exiting any issue you touched: status, evidence, blockers, work products, and next action.
|
|
43
|
+
- If the issue used an isolated execution workspace/worktree, close it before final disposition: read `currentExecutionWorkspace.id` from `heartbeat-context`, check `GET /api/execution-workspaces/{id}/close-readiness`, then archive with `PATCH /api/execution-workspaces/{id}` `{ "status": "archived" }` after commits/PRs are merged and the tree is clean. If close-readiness or cleanup is blocked, do not mark `done`; leave the issue `blocked`/`in_review` with the exact cleanup blocker and next owner.
|
|
44
|
+
- If no assigned work, valid approval/review, or routine-run exists, exit cleanly without scanning unrelated unassigned work.
|
|
30
45
|
|
|
31
46
|
## Rules
|
|
32
47
|
|
|
33
48
|
- Always use the Paperclip skill for coordination.
|
|
34
|
-
- Always include `X-Paperclip-Run-Id`
|
|
35
|
-
-
|
|
49
|
+
- Always include `X-Paperclip-Run-Id` on mutating API calls when available.
|
|
50
|
+
- Keep comments concise markdown: status line + bullets + links.
|
|
51
|
+
- Never expose secrets, credentials, private customer data, or hidden chain-of-thought in comments or artifacts.
|
|
36
52
|
|
|
37
53
|
<!-- Module heartbeat sections are inserted above this line during assembly -->
|
|
@@ -15,7 +15,7 @@ You report to the CEO.
|
|
|
15
15
|
- **Security**: Any injection, XSS, credential exposure, or OWASP risks?
|
|
16
16
|
- **Style**: Consistent with existing codebase patterns?
|
|
17
17
|
- **Simplicity**: Is there unnecessary complexity? Could it be simpler?
|
|
18
|
-
6. Post your review
|
|
18
|
+
6. Post your review as **advisory** feedback: write it to a Markdown file (start with a heading, e.g. `## 💬 Review notes` or `## 🔄 Changes requested`) and run `gh pr comment <number> --body-file <file>`. Never inline `--body "..."` — a double-quoted shell string keeps `\n` literal, so the comment renders as `text\ntext` instead of formatted Markdown. Your review does not gate the merge — that gate is QA + CI (and the Security Engineer on security-relevant changes); do not submit a GitHub-native approving review, since all agents share one GitHub account.
|
|
19
19
|
7. Post your verdict on the originating issue.
|
|
20
20
|
8. Mark your issue as `done`.
|
|
21
21
|
|
|
@@ -1,33 +1,53 @@
|
|
|
1
|
-
# HEARTBEAT.md -- Code Reviewer Heartbeat
|
|
1
|
+
# HEARTBEAT.md -- Code Reviewer Heartbeat Checklist
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Run this checklist on every heartbeat. The Paperclip skill is the source of truth for board coordination; this file records the current expected flow and role-local reminders.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`.
|
|
5
|
+
## 1. Identity and Wake Context
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
- `GET /api/agents/me` -- confirm your id, role, companyId, budget, and chain of command.
|
|
8
|
+
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`, `PAPERCLIP_APPROVAL_ID`.
|
|
9
|
+
- If the wake reason is approval/review/routine, treat that object as the active assignment.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
- Prioritize `in_progress` first, then `todo`.
|
|
11
|
+
## 2. Get Assigned Work
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
- Prefer `GET /api/agents/me/inbox-lite` for your actionable inbox.
|
|
14
|
+
- If `PAPERCLIP_TASK_ID` is set and belongs to you, prioritize it.
|
|
15
|
+
- Otherwise work assigned issues only. Never look for random unassigned work during a normal heartbeat.
|
|
16
|
+
- Include `todo`, `in_progress`, `in_review`, and review/approval tasks surfaced by the inbox. Skip blocked work unless you can unblock it.
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
- Read issue comments for PR link.
|
|
17
|
-
- Fetch diff: `gh pr diff <number>`.
|
|
18
|
-
- Review for correctness, security, style, simplicity.
|
|
19
|
-
- Post review via `gh pr review`.
|
|
20
|
-
- Comment verdict on the originating issue.
|
|
21
|
-
- Mark issue done.
|
|
18
|
+
## 3. Load Execution Context
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
- For the chosen issue, call `GET /api/issues/{id}/heartbeat-context` before changing state.
|
|
21
|
+
- Inspect status, parent/children, project/goal, labels, comments, documents, work products, `blockedByIssueIds`, `executionPolicy`, and current execution state.
|
|
22
|
+
- Respect pause/cancel, budget, sandbox, and approval gates. Do not bypass executionPolicy review or approval stages.
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
## 4. Checkout and Work
|
|
25
|
+
|
|
26
|
+
- Checkout before mutating work: `POST /api/issues/{id}/checkout` with the expected current status when the API supports `expectedStatuses`.
|
|
27
|
+
- Never retry a 409; that issue belongs to another active run.
|
|
28
|
+
- Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested.
|
|
29
|
+
- Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling.
|
|
30
|
+
- Mark true dependencies with `blockedByIssueIds` instead of free-text blockers.
|
|
31
|
+
|
|
32
|
+
## 5. Evidence, Work Products, and Handover
|
|
33
|
+
|
|
34
|
+
- Record real verification: commands, test results, screenshots, reviewed artifacts, or explicit "not run" rationale.
|
|
35
|
+
- Upload or attach user-inspectable outputs as work products/artifacts/documents; local filesystem paths alone are not enough.
|
|
36
|
+
- Use issue documents for long plans, specs, QA reports, security reviews, or hiring drafts; comments should summarize and link.
|
|
37
|
+
- Handoffs should use assignment/status/executionPolicy and a concrete next action. Do not rely on generic @-mentions.
|
|
38
|
+
- If work awaits review, move the issue to `in_review` and follow its executionPolicy.
|
|
39
|
+
|
|
40
|
+
## 6. Exit
|
|
41
|
+
|
|
42
|
+
- Always comment before exiting any issue you touched: status, evidence, blockers, work products, and next action.
|
|
43
|
+
- If the issue used an isolated execution workspace/worktree, close it before final disposition: read `currentExecutionWorkspace.id` from `heartbeat-context`, check `GET /api/execution-workspaces/{id}/close-readiness`, then archive with `PATCH /api/execution-workspaces/{id}` `{ "status": "archived" }` after commits/PRs are merged and the tree is clean. If close-readiness or cleanup is blocked, do not mark `done`; leave the issue `blocked`/`in_review` with the exact cleanup blocker and next owner.
|
|
44
|
+
- If no assigned work, valid approval/review, or routine-run exists, exit cleanly without scanning unrelated unassigned work.
|
|
26
45
|
|
|
27
46
|
## Rules
|
|
28
47
|
|
|
29
48
|
- Always use the Paperclip skill for coordination.
|
|
30
|
-
- Always include `X-Paperclip-Run-Id`
|
|
31
|
-
-
|
|
49
|
+
- Always include `X-Paperclip-Run-Id` on mutating API calls when available.
|
|
50
|
+
- Keep comments concise markdown: status line + bullets + links.
|
|
51
|
+
- Never expose secrets, credentials, private customer data, or hidden chain-of-thought in comments or artifacts.
|
|
32
52
|
|
|
33
53
|
<!-- Module heartbeat sections are inserted above this line during assembly -->
|
|
@@ -1,45 +1,53 @@
|
|
|
1
|
-
# HEARTBEAT.md --
|
|
1
|
+
# HEARTBEAT.md -- Cto Heartbeat Checklist
|
|
2
2
|
|
|
3
|
-
Run this checklist on every heartbeat.
|
|
3
|
+
Run this checklist on every heartbeat. The Paperclip skill is the source of truth for board coordination; this file records the current expected flow and role-local reminders.
|
|
4
4
|
|
|
5
|
-
## 1. Identity and Context
|
|
5
|
+
## 1. Identity and Wake Context
|
|
6
6
|
|
|
7
|
-
- `GET /api/agents/me` -- confirm your id, role, companyId.
|
|
8
|
-
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`.
|
|
7
|
+
- `GET /api/agents/me` -- confirm your id, role, companyId, budget, and chain of command.
|
|
8
|
+
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`, `PAPERCLIP_APPROVAL_ID`.
|
|
9
|
+
- If the wake reason is approval/review/routine, treat that object as the active assignment.
|
|
9
10
|
|
|
10
|
-
## 2. Get
|
|
11
|
+
## 2. Get Assigned Work
|
|
11
12
|
|
|
12
|
-
- `GET /api/
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
13
|
+
- Prefer `GET /api/agents/me/inbox-lite` for your actionable inbox.
|
|
14
|
+
- If `PAPERCLIP_TASK_ID` is set and belongs to you, prioritize it.
|
|
15
|
+
- Otherwise work assigned issues only. Never look for random unassigned work during a normal heartbeat.
|
|
16
|
+
- Include `todo`, `in_progress`, `in_review`, and review/approval tasks surfaced by the inbox. Skip blocked work unless you can unblock it.
|
|
16
17
|
|
|
17
|
-
## 3.
|
|
18
|
+
## 3. Load Execution Context
|
|
18
19
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
20
|
+
- For the chosen issue, call `GET /api/issues/{id}/heartbeat-context` before changing state.
|
|
21
|
+
- Inspect status, parent/children, project/goal, labels, comments, documents, work products, `blockedByIssueIds`, `executionPolicy`, and current execution state.
|
|
22
|
+
- Respect pause/cancel, budget, sandbox, and approval gates. Do not bypass executionPolicy review or approval stages.
|
|
22
23
|
|
|
23
|
-
## 4.
|
|
24
|
+
## 4. Checkout and Work
|
|
24
25
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
26
|
+
- Checkout before mutating work: `POST /api/issues/{id}/checkout` with the expected current status when the API supports `expectedStatuses`.
|
|
27
|
+
- Never retry a 409; that issue belongs to another active run.
|
|
28
|
+
- Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested.
|
|
29
|
+
- Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling.
|
|
30
|
+
- Mark true dependencies with `blockedByIssueIds` instead of free-text blockers.
|
|
28
31
|
|
|
29
|
-
## 5. Handover
|
|
32
|
+
## 5. Evidence, Work Products, and Handover
|
|
30
33
|
|
|
31
|
-
-
|
|
32
|
-
-
|
|
34
|
+
- Record real verification: commands, test results, screenshots, reviewed artifacts, or explicit "not run" rationale.
|
|
35
|
+
- Upload or attach user-inspectable outputs as work products/artifacts/documents; local filesystem paths alone are not enough.
|
|
36
|
+
- Use issue documents for long plans, specs, QA reports, security reviews, or hiring drafts; comments should summarize and link.
|
|
37
|
+
- Handoffs should use assignment/status/executionPolicy and a concrete next action. Do not rely on generic @-mentions.
|
|
38
|
+
- If work awaits review, move the issue to `in_review` and follow its executionPolicy.
|
|
33
39
|
|
|
34
40
|
## 6. Exit
|
|
35
41
|
|
|
36
|
-
-
|
|
37
|
-
- If
|
|
42
|
+
- Always comment before exiting any issue you touched: status, evidence, blockers, work products, and next action.
|
|
43
|
+
- If the issue used an isolated execution workspace/worktree, close it before final disposition: read `currentExecutionWorkspace.id` from `heartbeat-context`, check `GET /api/execution-workspaces/{id}/close-readiness`, then archive with `PATCH /api/execution-workspaces/{id}` `{ "status": "archived" }` after commits/PRs are merged and the tree is clean. If close-readiness or cleanup is blocked, do not mark `done`; leave the issue `blocked`/`in_review` with the exact cleanup blocker and next owner.
|
|
44
|
+
- If no assigned work, valid approval/review, or routine-run exists, exit cleanly without scanning unrelated unassigned work.
|
|
38
45
|
|
|
39
46
|
## Rules
|
|
40
47
|
|
|
41
48
|
- Always use the Paperclip skill for coordination.
|
|
42
|
-
- Always include `X-Paperclip-Run-Id`
|
|
43
|
-
-
|
|
49
|
+
- Always include `X-Paperclip-Run-Id` on mutating API calls when available.
|
|
50
|
+
- Keep comments concise markdown: status line + bullets + links.
|
|
51
|
+
- Never expose secrets, credentials, private customer data, or hidden chain-of-thought in comments or artifacts.
|
|
44
52
|
|
|
45
53
|
<!-- Module heartbeat sections are inserted above this line during assembly -->
|
|
@@ -1,33 +1,53 @@
|
|
|
1
|
-
# HEARTBEAT.md -- Customer Success
|
|
1
|
+
# HEARTBEAT.md -- Customer Success Heartbeat Checklist
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Run this checklist on every heartbeat. The Paperclip skill is the source of truth for board coordination; this file records the current expected flow and role-local reminders.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`.
|
|
5
|
+
## 1. Identity and Wake Context
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
- `GET /api/agents/me` -- confirm your id, role, companyId, budget, and chain of command.
|
|
8
|
+
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`, `PAPERCLIP_APPROVAL_ID`.
|
|
9
|
+
- If the wake reason is approval/review/routine, treat that object as the active assignment.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
- Prioritize `in_progress` first, then `todo`.
|
|
11
|
+
## 2. Get Assigned Work
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
- Prefer `GET /api/agents/me/inbox-lite` for your actionable inbox.
|
|
14
|
+
- If `PAPERCLIP_TASK_ID` is set and belongs to you, prioritize it.
|
|
15
|
+
- Otherwise work assigned issues only. Never look for random unassigned work during a normal heartbeat.
|
|
16
|
+
- Include `todo`, `in_progress`, `in_review`, and review/approval tasks surfaced by the inbox. Skip blocked work unless you can unblock it.
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
- Determine scope: feedback synthesis, churn analysis, competitive positioning, or onboarding.
|
|
17
|
-
- Gather and analyze customer data.
|
|
18
|
-
- Document findings and recommendations.
|
|
19
|
-
- Create follow-up issues for product/engineering as needed.
|
|
20
|
-
- Comment results on the originating issue.
|
|
21
|
-
- Mark issue done.
|
|
18
|
+
## 3. Load Execution Context
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
- For the chosen issue, call `GET /api/issues/{id}/heartbeat-context` before changing state.
|
|
21
|
+
- Inspect status, parent/children, project/goal, labels, comments, documents, work products, `blockedByIssueIds`, `executionPolicy`, and current execution state.
|
|
22
|
+
- Respect pause/cancel, budget, sandbox, and approval gates. Do not bypass executionPolicy review or approval stages.
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
## 4. Checkout and Work
|
|
25
|
+
|
|
26
|
+
- Checkout before mutating work: `POST /api/issues/{id}/checkout` with the expected current status when the API supports `expectedStatuses`.
|
|
27
|
+
- Never retry a 409; that issue belongs to another active run.
|
|
28
|
+
- Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested.
|
|
29
|
+
- Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling.
|
|
30
|
+
- Mark true dependencies with `blockedByIssueIds` instead of free-text blockers.
|
|
31
|
+
|
|
32
|
+
## 5. Evidence, Work Products, and Handover
|
|
33
|
+
|
|
34
|
+
- Record real verification: commands, test results, screenshots, reviewed artifacts, or explicit "not run" rationale.
|
|
35
|
+
- Upload or attach user-inspectable outputs as work products/artifacts/documents; local filesystem paths alone are not enough.
|
|
36
|
+
- Use issue documents for long plans, specs, QA reports, security reviews, or hiring drafts; comments should summarize and link.
|
|
37
|
+
- Handoffs should use assignment/status/executionPolicy and a concrete next action. Do not rely on generic @-mentions.
|
|
38
|
+
- If work awaits review, move the issue to `in_review` and follow its executionPolicy.
|
|
39
|
+
|
|
40
|
+
## 6. Exit
|
|
41
|
+
|
|
42
|
+
- Always comment before exiting any issue you touched: status, evidence, blockers, work products, and next action.
|
|
43
|
+
- If the issue used an isolated execution workspace/worktree, close it before final disposition: read `currentExecutionWorkspace.id` from `heartbeat-context`, check `GET /api/execution-workspaces/{id}/close-readiness`, then archive with `PATCH /api/execution-workspaces/{id}` `{ "status": "archived" }` after commits/PRs are merged and the tree is clean. If close-readiness or cleanup is blocked, do not mark `done`; leave the issue `blocked`/`in_review` with the exact cleanup blocker and next owner.
|
|
44
|
+
- If no assigned work, valid approval/review, or routine-run exists, exit cleanly without scanning unrelated unassigned work.
|
|
26
45
|
|
|
27
46
|
## Rules
|
|
28
47
|
|
|
29
48
|
- Always use the Paperclip skill for coordination.
|
|
30
|
-
- Always include `X-Paperclip-Run-Id`
|
|
31
|
-
-
|
|
49
|
+
- Always include `X-Paperclip-Run-Id` on mutating API calls when available.
|
|
50
|
+
- Keep comments concise markdown: status line + bullets + links.
|
|
51
|
+
- Never expose secrets, credentials, private customer data, or hidden chain-of-thought in comments or artifacts.
|
|
32
52
|
|
|
33
53
|
<!-- Module heartbeat sections are inserted above this line during assembly -->
|
|
@@ -1,42 +1,53 @@
|
|
|
1
|
-
# HEARTBEAT.md --
|
|
1
|
+
# HEARTBEAT.md -- Devops Heartbeat Checklist
|
|
2
2
|
|
|
3
|
-
Run this checklist on every heartbeat.
|
|
3
|
+
Run this checklist on every heartbeat. The Paperclip skill is the source of truth for board coordination; this file records the current expected flow and role-local reminders.
|
|
4
4
|
|
|
5
|
-
## 1. Identity and Context
|
|
5
|
+
## 1. Identity and Wake Context
|
|
6
6
|
|
|
7
|
-
- `GET /api/agents/me` -- confirm your id, role, companyId.
|
|
8
|
-
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`.
|
|
7
|
+
- `GET /api/agents/me` -- confirm your id, role, companyId, budget, and chain of command.
|
|
8
|
+
- Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`, `PAPERCLIP_APPROVAL_ID`.
|
|
9
|
+
- If the wake reason is approval/review/routine, treat that object as the active assignment.
|
|
9
10
|
|
|
10
|
-
## 2. Get
|
|
11
|
+
## 2. Get Assigned Work
|
|
11
12
|
|
|
12
|
-
- `GET /api/
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
13
|
+
- Prefer `GET /api/agents/me/inbox-lite` for your actionable inbox.
|
|
14
|
+
- If `PAPERCLIP_TASK_ID` is set and belongs to you, prioritize it.
|
|
15
|
+
- Otherwise work assigned issues only. Never look for random unassigned work during a normal heartbeat.
|
|
16
|
+
- Include `todo`, `in_progress`, `in_review`, and review/approval tasks surfaced by the inbox. Skip blocked work unless you can unblock it.
|
|
16
17
|
|
|
17
|
-
## 3.
|
|
18
|
+
## 3. Load Execution Context
|
|
18
19
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
- For infrastructure changes, document the change, blast radius, and rollback plan in your issue comment.
|
|
20
|
+
- For the chosen issue, call `GET /api/issues/{id}/heartbeat-context` before changing state.
|
|
21
|
+
- Inspect status, parent/children, project/goal, labels, comments, documents, work products, `blockedByIssueIds`, `executionPolicy`, and current execution state.
|
|
22
|
+
- Respect pause/cancel, budget, sandbox, and approval gates. Do not bypass executionPolicy review or approval stages.
|
|
23
23
|
|
|
24
|
-
## 4.
|
|
24
|
+
## 4. Checkout and Work
|
|
25
25
|
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
26
|
+
- Checkout before mutating work: `POST /api/issues/{id}/checkout` with the expected current status when the API supports `expectedStatuses`.
|
|
27
|
+
- Never retry a 409; that issue belongs to another active run.
|
|
28
|
+
- Start actionable work in the same heartbeat; do not stop at a plan unless planning was requested.
|
|
29
|
+
- Leave durable progress with a clear next action. Use child issues for long or parallel delegated work instead of polling.
|
|
30
|
+
- Mark true dependencies with `blockedByIssueIds` instead of free-text blockers.
|
|
29
31
|
|
|
30
|
-
## 5.
|
|
32
|
+
## 5. Evidence, Work Products, and Handover
|
|
31
33
|
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
+
- Record real verification: commands, test results, screenshots, reviewed artifacts, or explicit "not run" rationale.
|
|
35
|
+
- Upload or attach user-inspectable outputs as work products/artifacts/documents; local filesystem paths alone are not enough.
|
|
36
|
+
- Use issue documents for long plans, specs, QA reports, security reviews, or hiring drafts; comments should summarize and link.
|
|
37
|
+
- Handoffs should use assignment/status/executionPolicy and a concrete next action. Do not rely on generic @-mentions.
|
|
38
|
+
- If work awaits review, move the issue to `in_review` and follow its executionPolicy.
|
|
39
|
+
|
|
40
|
+
## 6. Exit
|
|
41
|
+
|
|
42
|
+
- Always comment before exiting any issue you touched: status, evidence, blockers, work products, and next action.
|
|
43
|
+
- If the issue used an isolated execution workspace/worktree, close it before final disposition: read `currentExecutionWorkspace.id` from `heartbeat-context`, check `GET /api/execution-workspaces/{id}/close-readiness`, then archive with `PATCH /api/execution-workspaces/{id}` `{ "status": "archived" }` after commits/PRs are merged and the tree is clean. If close-readiness or cleanup is blocked, do not mark `done`; leave the issue `blocked`/`in_review` with the exact cleanup blocker and next owner.
|
|
44
|
+
- If no assigned work, valid approval/review, or routine-run exists, exit cleanly without scanning unrelated unassigned work.
|
|
34
45
|
|
|
35
46
|
## Rules
|
|
36
47
|
|
|
37
48
|
- Always use the Paperclip skill for coordination.
|
|
38
|
-
- Always include `X-Paperclip-Run-Id`
|
|
39
|
-
-
|
|
40
|
-
- Never
|
|
49
|
+
- Always include `X-Paperclip-Run-Id` on mutating API calls when available.
|
|
50
|
+
- Keep comments concise markdown: status line + bullets + links.
|
|
51
|
+
- Never expose secrets, credentials, private customer data, or hidden chain-of-thought in comments or artifacts.
|
|
41
52
|
|
|
42
53
|
<!-- Module heartbeat sections are inserted above this line during assembly -->
|