@synapse-research/synapse 0.2.12 → 0.2.13

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.
Files changed (206) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +113 -113
  3. package/dist/.next/app-path-routes-manifest.json +27 -27
  4. package/dist/.next/build-manifest.json +2 -2
  5. package/dist/.next/prerender-manifest.json +6 -6
  6. package/dist/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
  7. package/dist/.next/server/app/(dashboard)/compute/page_client-reference-manifest.js +1 -1
  8. package/dist/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  9. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  10. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  11. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  13. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page_client-reference-manifest.js +1 -1
  14. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/new/page_client-reference-manifest.js +1 -1
  15. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/page_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/page_client-reference-manifest.js +1 -1
  17. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/page_client-reference-manifest.js +1 -1
  18. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/new/page_client-reference-manifest.js +1 -1
  19. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/page_client-reference-manifest.js +1 -1
  20. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/insights/page_client-reference-manifest.js +1 -1
  21. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/page_client-reference-manifest.js +1 -1
  22. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/related-works/page_client-reference-manifest.js +1 -1
  23. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/page_client-reference-manifest.js +1 -1
  25. package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/settings/page_client-reference-manifest.js +1 -1
  26. package/dist/.next/server/app/(dashboard)/research-projects/new/page_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/(dashboard)/research-projects/page_client-reference-manifest.js +1 -1
  28. package/dist/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  29. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/_not-found.html +1 -1
  31. package/dist/.next/server/app/_not-found.rsc +1 -1
  32. package/dist/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  34. package/dist/.next/server/app/admin/companies/new.html +1 -1
  35. package/dist/.next/server/app/admin/companies/new.rsc +1 -1
  36. package/dist/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/admin/companies.html +1 -1
  38. package/dist/.next/server/app/admin/companies.rsc +1 -1
  39. package/dist/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/admin.html +1 -1
  41. package/dist/.next/server/app/admin.rsc +1 -1
  42. package/dist/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  43. package/dist/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  44. package/dist/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  45. package/dist/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  46. package/dist/.next/server/app/api/admin/stats/route_client-reference-manifest.js +1 -1
  47. package/dist/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  49. package/dist/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  50. package/dist/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  51. package/dist/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  52. package/dist/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  53. package/dist/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  54. package/dist/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  55. package/dist/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  56. package/dist/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  57. package/dist/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  58. package/dist/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  59. package/dist/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  60. package/dist/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  61. package/dist/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  62. package/dist/.next/server/app/api/compute-gpus/[uuid]/release/route_client-reference-manifest.js +1 -1
  63. package/dist/.next/server/app/api/compute-nodes/[uuid]/route_client-reference-manifest.js +1 -1
  64. package/dist/.next/server/app/api/compute-nodes/route_client-reference-manifest.js +1 -1
  65. package/dist/.next/server/app/api/compute-pools/[uuid]/route_client-reference-manifest.js +1 -1
  66. package/dist/.next/server/app/api/compute-pools/route_client-reference-manifest.js +1 -1
  67. package/dist/.next/server/app/api/documents/[uuid]/images/[filename]/route_client-reference-manifest.js +1 -1
  68. package/dist/.next/server/app/api/documents/[uuid]/images/route_client-reference-manifest.js +1 -1
  69. package/dist/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  70. package/dist/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  71. package/dist/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  72. package/dist/.next/server/app/api/experiment-designs/[uuid]/approve/route_client-reference-manifest.js +1 -1
  73. package/dist/.next/server/app/api/experiment-designs/[uuid]/close/route_client-reference-manifest.js +1 -1
  74. package/dist/.next/server/app/api/experiment-designs/[uuid]/reject/route_client-reference-manifest.js +1 -1
  75. package/dist/.next/server/app/api/experiment-designs/[uuid]/route_client-reference-manifest.js +1 -1
  76. package/dist/.next/server/app/api/experiment-runs/[uuid]/claim/route_client-reference-manifest.js +1 -1
  77. package/dist/.next/server/app/api/experiment-runs/[uuid]/dependencies/[dependsOnRunUuid]/route_client-reference-manifest.js +1 -1
  78. package/dist/.next/server/app/api/experiment-runs/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  79. package/dist/.next/server/app/api/experiment-runs/[uuid]/evaluate-criteria/route_client-reference-manifest.js +1 -1
  80. package/dist/.next/server/app/api/experiment-runs/[uuid]/registry/route_client-reference-manifest.js +1 -1
  81. package/dist/.next/server/app/api/experiment-runs/[uuid]/release/route_client-reference-manifest.js +1 -1
  82. package/dist/.next/server/app/api/experiment-runs/[uuid]/route_client-reference-manifest.js +1 -1
  83. package/dist/.next/server/app/api/experiment-runs/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  84. package/dist/.next/server/app/api/experiments/[uuid]/complete/route_client-reference-manifest.js +1 -1
  85. package/dist/.next/server/app/api/experiments/[uuid]/progress/route_client-reference-manifest.js +1 -1
  86. package/dist/.next/server/app/api/experiments/[uuid]/request-plan/route_client-reference-manifest.js +1 -1
  87. package/dist/.next/server/app/api/experiments/[uuid]/reset/route_client-reference-manifest.js +1 -1
  88. package/dist/.next/server/app/api/experiments/[uuid]/review/route_client-reference-manifest.js +1 -1
  89. package/dist/.next/server/app/api/experiments/[uuid]/route_client-reference-manifest.js +1 -1
  90. package/dist/.next/server/app/api/experiments/[uuid]/start/route_client-reference-manifest.js +1 -1
  91. package/dist/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  92. package/dist/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  93. package/dist/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  94. package/dist/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  95. package/dist/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  96. package/dist/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  97. package/dist/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  98. package/dist/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  99. package/dist/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  100. package/dist/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  101. package/dist/.next/server/app/api/onboarding/status/route_client-reference-manifest.js +1 -1
  102. package/dist/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  103. package/dist/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  104. package/dist/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  105. package/dist/.next/server/app/api/research-projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  106. package/dist/.next/server/app/api/research-projects/[uuid]/agent-activity/route_client-reference-manifest.js +1 -1
  107. package/dist/.next/server/app/api/research-projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  108. package/dist/.next/server/app/api/research-projects/[uuid]/baselines/route_client-reference-manifest.js +1 -1
  109. package/dist/.next/server/app/api/research-projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  110. package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/[designUuid]/validate/route_client-reference-manifest.js +1 -1
  111. package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/route_client-reference-manifest.js +1 -1
  112. package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/summary/route_client-reference-manifest.js +1 -1
  113. package/dist/.next/server/app/api/research-projects/[uuid]/experiment-runs/dependencies/route_client-reference-manifest.js +1 -1
  114. package/dist/.next/server/app/api/research-projects/[uuid]/experiment-runs/route_client-reference-manifest.js +1 -1
  115. package/dist/.next/server/app/api/research-projects/[uuid]/experiments/route_client-reference-manifest.js +1 -1
  116. package/dist/.next/server/app/api/research-projects/[uuid]/github/branches/route_client-reference-manifest.js +1 -1
  117. package/dist/.next/server/app/api/research-projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  118. package/dist/.next/server/app/api/research-projects/[uuid]/related-works/[workUuid]/route_client-reference-manifest.js +1 -1
  119. package/dist/.next/server/app/api/research-projects/[uuid]/related-works/auto-search/complete/route_client-reference-manifest.js +1 -1
  120. package/dist/.next/server/app/api/research-projects/[uuid]/related-works/auto-search/route_client-reference-manifest.js +1 -1
  121. package/dist/.next/server/app/api/research-projects/[uuid]/related-works/deep-research/complete/route_client-reference-manifest.js +1 -1
  122. package/dist/.next/server/app/api/research-projects/[uuid]/related-works/deep-research/route_client-reference-manifest.js +1 -1
  123. package/dist/.next/server/app/api/research-projects/[uuid]/related-works/route_client-reference-manifest.js +1 -1
  124. package/dist/.next/server/app/api/research-projects/[uuid]/research-questions/route_client-reference-manifest.js +1 -1
  125. package/dist/.next/server/app/api/research-projects/[uuid]/route_client-reference-manifest.js +1 -1
  126. package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/complete/route_client-reference-manifest.js +1 -1
  127. package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/refresh/route_client-reference-manifest.js +1 -1
  128. package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/trigger/route_client-reference-manifest.js +1 -1
  129. package/dist/.next/server/app/api/research-projects/route_client-reference-manifest.js +1 -1
  130. package/dist/.next/server/app/api/research-questions/[uuid]/claim/route_client-reference-manifest.js +1 -1
  131. package/dist/.next/server/app/api/research-questions/[uuid]/move/route_client-reference-manifest.js +1 -1
  132. package/dist/.next/server/app/api/research-questions/[uuid]/release/route_client-reference-manifest.js +1 -1
  133. package/dist/.next/server/app/api/research-questions/[uuid]/review/route_client-reference-manifest.js +1 -1
  134. package/dist/.next/server/app/api/research-questions/[uuid]/route_client-reference-manifest.js +1 -1
  135. package/dist/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  136. package/dist/.next/server/app/api/settings/integrations/route_client-reference-manifest.js +1 -1
  137. package/dist/.next/server/app/api/ssh-config/route_client-reference-manifest.js +1 -1
  138. package/dist/.next/server/app/index.html +1 -1
  139. package/dist/.next/server/app/index.rsc +1 -1
  140. package/dist/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  141. package/dist/.next/server/app/login/admin.html +1 -1
  142. package/dist/.next/server/app/login/admin.rsc +1 -1
  143. package/dist/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  144. package/dist/.next/server/app/login/callback.html +1 -1
  145. package/dist/.next/server/app/login/callback.rsc +1 -1
  146. package/dist/.next/server/app/login/page_client-reference-manifest.js +1 -1
  147. package/dist/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  148. package/dist/.next/server/app/login/silent-refresh.html +1 -1
  149. package/dist/.next/server/app/login/silent-refresh.rsc +1 -1
  150. package/dist/.next/server/app/login.html +1 -1
  151. package/dist/.next/server/app/login.rsc +1 -1
  152. package/dist/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  153. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  154. package/dist/.next/server/app/research-projects/new.html +1 -1
  155. package/dist/.next/server/app/research-projects/new.rsc +1 -1
  156. package/dist/.next/server/app/research-projects.html +1 -1
  157. package/dist/.next/server/app/research-projects.rsc +1 -1
  158. package/dist/.next/server/app/settings.html +1 -1
  159. package/dist/.next/server/app/settings.rsc +1 -1
  160. package/dist/.next/server/app-paths-manifest.json +27 -27
  161. package/dist/.next/server/middleware-manifest.json +1 -1
  162. package/dist/.next/server/pages/404.html +1 -1
  163. package/dist/.next/server/pages/500.html +1 -1
  164. package/dist/.next/server/pages-manifest.json +1 -1
  165. package/package.json +4 -2
  166. package/dist/public/skill/SKILL.md +0 -200
  167. package/dist/public/skill/aris-synapse-sync/SKILL.md +0 -368
  168. package/dist/public/skill/package.json +0 -79
  169. package/dist/public/skill/references/00-common-tools.md +0 -253
  170. package/dist/public/skill/references/01-setup.md +0 -251
  171. package/dist/public/skill/references/02-pm-workflow.md +0 -584
  172. package/dist/public/skill/references/03-developer-workflow.md +0 -325
  173. package/dist/public/skill/references/04-admin-workflow.md +0 -328
  174. package/dist/public/skill/references/06-claude-code-agent-teams.md +0 -233
  175. package/dist/public/synapse-plugin/.claude-plugin/plugin.json +0 -20
  176. package/dist/public/synapse-plugin/.mcp.json +0 -11
  177. package/dist/public/synapse-plugin/bin/on-post-create-experiment.sh +0 -61
  178. package/dist/public/synapse-plugin/bin/on-post-submit-results.sh +0 -56
  179. package/dist/public/synapse-plugin/bin/on-pre-enter-plan.sh +0 -26
  180. package/dist/public/synapse-plugin/bin/on-pre-exit-plan.sh +0 -22
  181. package/dist/public/synapse-plugin/bin/on-pre-spawn-agent.sh +0 -64
  182. package/dist/public/synapse-plugin/bin/on-session-end.sh +0 -39
  183. package/dist/public/synapse-plugin/bin/on-session-start.sh +0 -284
  184. package/dist/public/synapse-plugin/bin/on-subagent-start.sh +0 -233
  185. package/dist/public/synapse-plugin/bin/on-subagent-stop.sh +0 -80
  186. package/dist/public/synapse-plugin/bin/on-task-completed.sh +0 -66
  187. package/dist/public/synapse-plugin/bin/on-teammate-idle.sh +0 -47
  188. package/dist/public/synapse-plugin/bin/on-user-prompt.sh +0 -57
  189. package/dist/public/synapse-plugin/bin/synapse-api.sh +0 -387
  190. package/dist/public/synapse-plugin/bin/test-syntax.sh +0 -85
  191. package/dist/public/synapse-plugin/hooks/hooks.json +0 -125
  192. package/dist/public/synapse-plugin/skills/autonomy/SKILL.md +0 -177
  193. package/dist/public/synapse-plugin/skills/experiments/SKILL.md +0 -135
  194. package/dist/public/synapse-plugin/skills/research/SKILL.md +0 -58
  195. package/dist/public/synapse-plugin/skills/sessions/SKILL.md +0 -176
  196. package/dist/public/synapse-plugin/skills/setup/SKILL.md +0 -108
  197. package/dist/public/synapse-plugin/skills/synapse/SKILL.md +0 -145
  198. package/dist/public/synapse-plugin/skills/synapse/package.json +0 -49
  199. package/dist/public/synapse-plugin/skills/synapse/references/00-common-tools.md +0 -144
  200. package/dist/public/synapse-plugin/skills/synapse/references/01-setup.md +0 -130
  201. package/dist/public/synapse-plugin/skills/synapse/references/02-research-workflow.md +0 -145
  202. package/dist/public/synapse-plugin/skills/synapse/references/03-experiment-workflow.md +0 -319
  203. package/dist/public/synapse-plugin/skills/synapse/references/04-autonomous-loop.md +0 -223
  204. package/dist/public/synapse-plugin/skills/synapse/references/05-session-sub-agent.md +0 -253
  205. /package/dist/.next/static/{CTg26EE4IkxbdY0E6xEiL → VlyiqgSt6DSLuCX7rlcKa}/_buildManifest.js +0 -0
  206. /package/dist/.next/static/{CTg26EE4IkxbdY0E6xEiL → VlyiqgSt6DSLuCX7rlcKa}/_ssgManifest.js +0 -0
@@ -1,584 +0,0 @@
1
- # PM Agent Workflow
2
-
3
- ## Role Overview
4
-
5
- PM Agent is responsible for **analyzing Ideas, producing Proposals (with PRD documents and task breakdowns), and managing project documentation**. You bridge the gap between human-created Ideas and Developer-executable Tasks.
6
-
7
- ### Your MCP Tools
8
-
9
- **Idea Management:**
10
- - `synapse_pm_create_idea` - Create a new idea in a project (on behalf of humans or from discovered requirements)
11
- - `synapse_claim_idea` - Claim an open idea (open -> elaborating). Claiming auto-transitions to elaborating.
12
- - `synapse_release_idea` - Release a claimed idea (elaborating -> open)
13
- - `synapse_update_idea_status` - Update idea status (proposal_created / completed)
14
- - `synapse_move_idea` - Move an idea to a different project within the same company (also moves linked draft/pending proposals)
15
-
16
- **Requirements Elaboration:**
17
- - `synapse_pm_start_elaboration` - Start an elaboration round with structured questions for an Idea
18
- - `synapse_pm_validate_elaboration` - Validate answers from an elaboration round (resolve or create follow-up)
19
- - `synapse_pm_skip_elaboration` - Skip elaboration for clear/simple Ideas
20
-
21
- **Proposal Management:**
22
- - `synapse_pm_create_proposal` - Create empty proposal container (add drafts separately via add_document_draft / add_task_draft)
23
- - `synapse_pm_validate_proposal` - Validate proposal completeness before submission (returns errors, warnings, info)
24
- - `synapse_pm_submit_proposal` - Submit proposal for Admin approval (draft -> pending). Runs validation internally.
25
- - `synapse_pm_add_document_draft` - Add document draft to proposal
26
- - `synapse_pm_add_task_draft` - Add task draft to proposal
27
- - `synapse_pm_update_document_draft` - Update document draft in proposal
28
- - `synapse_pm_update_task_draft` - Update task draft in proposal
29
- - `synapse_pm_remove_document_draft` - Remove document draft from proposal
30
- - `synapse_pm_remove_task_draft` - Remove task draft from proposal
31
-
32
- **Task Assignment:**
33
- - `synapse_pm_assign_task` - Assign a task to a Developer Agent (task must be open or assigned; target agent must have developer role)
34
-
35
- **Document & Task Management:**
36
- - `synapse_pm_create_document` - Create standalone document (PRD, tech_design, ADR, spec, guide)
37
- - `synapse_pm_update_document` - Update document content (increments version)
38
- - `synapse_pm_create_tasks` - Batch create tasks (supports intra-batch dependencies via draftUuid)
39
-
40
- **Task Dependency Management:**
41
- - `synapse_add_task_dependency` - Add dependency between two existing tasks (with cycle detection)
42
- - `synapse_remove_task_dependency` - Remove a task dependency
43
-
44
- **Public Tools (shared with all roles):** see [00-common-tools.md](00-common-tools.md) for full list (checkin, query, comment tools)
45
-
46
- ---
47
-
48
- ## Complete Workflow
49
-
50
- ### Step 1: Check In
51
-
52
- ```
53
- synapse_checkin()
54
- ```
55
-
56
- Review your persona, current assignments, and pending work counts.
57
-
58
- ### Step 2: Find Work
59
-
60
- Check for available ideas to analyze:
61
-
62
- ```
63
- synapse_get_available_ideas({ projectUuid: "<project-uuid>" })
64
- ```
65
-
66
- Or check your existing assignments:
67
-
68
- ```
69
- synapse_get_my_assignments()
70
- ```
71
-
72
- ### Step 3: Claim an Idea
73
-
74
- Pick an idea and claim it. Claiming automatically transitions the Idea to `elaborating` status:
75
-
76
- ```
77
- synapse_claim_idea({ ideaUuid: "<idea-uuid>" })
78
- ```
79
-
80
- ### Step 4: Elaborate on the Idea
81
-
82
- **Every Idea benefits from elaboration.** Consider skipping only when requirements are completely unambiguous (e.g., bug fix with clear steps). Elaboration helps improve Proposal quality and reduces rejection cycles.
83
-
84
- First, gather context:
85
-
86
- Gather context before writing a proposal:
87
-
88
- 1. **Read the idea in detail:**
89
- ```
90
- synapse_get_idea({ ideaUuid: "<idea-uuid>" })
91
- ```
92
-
93
- 2. **Read existing project documents** (for context, tech stack, conventions):
94
- ```
95
- synapse_get_documents({ projectUuid: "<project-uuid>" })
96
- synapse_get_document({ documentUuid: "<doc-uuid>" })
97
- ```
98
-
99
- 3. **Review past proposals** (to understand patterns and standards):
100
- ```
101
- synapse_get_proposals({ projectUuid: "<project-uuid>", status: "approved" })
102
- ```
103
-
104
- 4. **Check existing tasks** (to avoid duplication):
105
- ```
106
- synapse_list_tasks({ projectUuid: "<project-uuid>" })
107
- ```
108
-
109
- 5. **Read comments** on the idea for additional context:
110
- ```
111
- synapse_get_comments({ targetType: "idea", targetUuid: "<idea-uuid>" })
112
- ```
113
-
114
- After gathering context, determine if structured elaboration is needed or can be skipped.
115
-
116
- **Simple Ideas** (bug fixes, small changes with clear requirements):
117
- You may skip elaboration, but **confirm with the user first** before calling `synapse_pm_skip_elaboration`. Never skip on your own judgment alone.
118
-
119
- ```
120
- synapse_pm_skip_elaboration({
121
- ideaUuid: "<idea-uuid>",
122
- reason: "Bug fix with clear reproduction steps"
123
- })
124
- ```
125
-
126
- **Standard/Complex Ideas** (new features, multi-component changes):
127
- Start an elaboration round to clarify requirements:
128
-
129
- 1. **Determine depth** based on idea complexity:
130
- - `"minimal"` — 2-4 questions (small features, minor enhancements)
131
- - `"standard"` — 5-10 questions (typical new features)
132
- - `"comprehensive"` — 10-15 questions (large features, architectural changes)
133
-
134
- 2. **Create elaboration questions:**
135
-
136
- > **Note:** Do NOT include an "Other" option in your questions. The UI automatically adds a free-text "Other" option to every question. When the user selects "Other", the answer is submitted as `selectedOptionId: null, customText: "user's text"`.
137
-
138
- ```
139
- synapse_pm_start_elaboration({
140
- ideaUuid: "<idea-uuid>",
141
- depth: "standard",
142
- questions: [
143
- {
144
- id: "q1",
145
- text: "What user roles should have access to this feature?",
146
- category: "functional",
147
- options: [
148
- { id: "a", label: "All users" },
149
- { id: "b", label: "Admin only" },
150
- { id: "c", label: "Role-based (configurable)" }
151
- ]
152
- },
153
- {
154
- id: "q2",
155
- text: "What is the expected data volume for this feature?",
156
- category: "non_functional",
157
- options: [
158
- { id: "a", label: "Low (< 1000 records)" },
159
- { id: "b", label: "Medium (1K-100K records)" },
160
- { id: "c", label: "High (100K+ records)" }
161
- ]
162
- },
163
- {
164
- id: "q3",
165
- text: "Should this feature support real-time updates?",
166
- category: "technical_context",
167
- options: [
168
- { id: "a", label: "Yes, real-time via WebSocket" },
169
- { id: "b", label: "Near real-time (polling)" },
170
- { id: "c", label: "No, refresh on demand is fine" }
171
- ]
172
- }
173
- ]
174
- })
175
- ```
176
-
177
- 3. **Present questions to the user** for them to answer. Prefer using your IDE's interactive question/prompt mechanism if available (e.g., `AskUserQuestion` in Claude Code) so the user can select options directly. If no interactive tool is available, present questions clearly with numbered options and collect answers. Alternatively, the user can answer via the Synapse web UI (Idea detail page).
178
-
179
- 4. **Submit answers** (or the user/stakeholder submits via the UI):
180
- ```
181
- synapse_answer_elaboration({
182
- ideaUuid: "<idea-uuid>",
183
- roundUuid: "<round-uuid>",
184
- answers: [
185
- { questionId: "q1", selectedOptionId: "c", customText: null },
186
- { questionId: "q2", selectedOptionId: "b", customText: "We may need to support 500K+ in future" },
187
- { questionId: "q3", selectedOptionId: null, customText: "We need a custom hybrid approach" }
188
- ]
189
- })
190
- ```
191
-
192
- Answer format:
193
- - **Select an option**: `selectedOptionId: "a", customText: null`
194
- - **Select an option + add a note**: `selectedOptionId: "a", customText: "additional context"`
195
- - **Choose "Other" (free text)**: `selectedOptionId: null, customText: "your answer"` — customText is required when no option is selected
196
-
197
- 5. **Review answers and confirm with the owner (@mention flow):**
198
-
199
- After answers are submitted, review them and **@mention the answerer** (typically the agent's owner) with a summary of your understanding. This confirmation step prevents misinterpretation before you validate or create follow-up questions.
200
-
201
- a. **Get owner info** from your checkin response (`agent.owner`) or search for the answerer:
202
- ```
203
- synapse_search_mentionables({ query: "owner-name" })
204
- ```
205
-
206
- b. **Post a summary comment** on the idea, @mentioning the answerer:
207
- ```
208
- synapse_add_comment({
209
- targetType: "idea",
210
- targetUuid: "<idea-uuid>",
211
- content: "@[Owner Name](user:owner-uuid) I've reviewed the elaboration answers. Here's my understanding:\n\n- Key requirement 1: ...\n- Key requirement 2: ...\n- Scope decision: ...\n\nDoes this match your intent? Any additions or corrections before I proceed?"
212
- })
213
- ```
214
-
215
- c. **Wait for confirmation.** The owner will be notified and can reply via comment. Check for their response:
216
- ```
217
- synapse_get_comments({ targetType: "idea", targetUuid: "<idea-uuid>" })
218
- ```
219
-
220
- d. **Based on the response**, take one of three actions:
221
- - **Confirmed** — Proceed to validate with empty issues (step 5d below)
222
- - **Additions/corrections** — Incorporate feedback, optionally start a follow-up elaboration round
223
- - **Unclear** — Ask clarifying questions via another comment
224
-
225
- Once confirmed, validate the elaboration:
226
-
227
- ```
228
- synapse_pm_validate_elaboration({
229
- ideaUuid: "<idea-uuid>",
230
- roundUuid: "<round-uuid>",
231
- issues: [],
232
- followUpQuestions: []
233
- })
234
- ```
235
- - If issues are found (contradictions, ambiguities, incomplete answers), include them in `issues` and provide `followUpQuestions` to start a new round:
236
- ```
237
- synapse_pm_validate_elaboration({
238
- ideaUuid: "<idea-uuid>",
239
- roundUuid: "<round-uuid>",
240
- issues: [
241
- {
242
- questionId: "q1",
243
- type: "ambiguity",
244
- description: "Role-based access selected but no roles defined"
245
- }
246
- ],
247
- followUpQuestions: [
248
- {
249
- id: "fq1",
250
- text: "Which specific roles should have access?",
251
- category: "functional",
252
- options: [
253
- { id: "a", label: "Admin + PM" },
254
- { id: "b", label: "Admin + PM + Developer" },
255
- { id: "c", label: "Custom roles (specify)" }
256
- ]
257
- }
258
- ]
259
- })
260
- ```
261
-
262
- 6. **Check elaboration status** at any time:
263
- ```
264
- synapse_get_elaboration({ ideaUuid: "<idea-uuid>" })
265
- ```
266
-
267
- 7. Once all rounds are resolved, proceed to Step 5 (Create Proposal). The elaboration answers provide rich context for writing the PRD and task breakdown.
268
-
269
- **Elaboration as audit trail:** If requirements are discussed outside the formal elaboration flow (e.g., in conversation), consider recording key decisions as elaboration rounds on the Idea. This ensures all requirement decisions are persisted and traceable, not lost in ephemeral chat history.
270
-
271
- **Question categories:** `functional`, `non_functional`, `business_context`, `technical_context`, `user_scenario`, `scope`
272
-
273
- **Validation issue types:** `contradiction`, `ambiguity`, `incomplete`
274
-
275
- ### Step 5: Create an Empty Proposal
276
-
277
- **Recommended approach:** Create the proposal container first without any drafts, then incrementally add document and task drafts one by one. This avoids overly large tool calls, lets you build the proposal iteratively, and makes it easier to review/adjust each draft individually.
278
-
279
- ```
280
- synapse_pm_create_proposal({
281
- projectUuid: "<project-uuid>",
282
- title: "Implement <feature name>",
283
- description: "Analysis and implementation plan for Idea #xxx",
284
- inputType: "idea",
285
- inputUuids: ["<idea-uuid>"]
286
- })
287
- ```
288
-
289
- **Multiple Ideas:** You can combine multiple ideas into one proposal by passing multiple UUIDs in `inputUuids`.
290
-
291
- ### Step 6: Add Document Drafts
292
-
293
- Add document drafts to the proposal one at a time using `synapse_pm_add_document_draft`:
294
-
295
- ```
296
- # Add PRD
297
- synapse_pm_add_document_draft({
298
- proposalUuid: "<proposal-uuid>",
299
- type: "prd",
300
- title: "PRD: <Feature Name>",
301
- content: "# PRD: <Feature Name>\n\n## Background\n...\n## Requirements\n..."
302
- })
303
-
304
- # Add Tech Design
305
- synapse_pm_add_document_draft({
306
- proposalUuid: "<proposal-uuid>",
307
- type: "tech_design",
308
- title: "Tech Design: <Feature Name>",
309
- content: "# Technical Design\n\n## Architecture\n...\n## Implementation\n..."
310
- })
311
-
312
- # Add ADR (if needed)
313
- synapse_pm_add_document_draft({
314
- proposalUuid: "<proposal-uuid>",
315
- type: "adr",
316
- title: "ADR: Choice of <technology>",
317
- content: "# ADR: ...\n\n## Context\n...\n## Decision\n..."
318
- })
319
- ```
320
-
321
- **Document types:** `prd`, `tech_design`, `adr`, `spec`, `guide`
322
-
323
- ### Step 7: Add Task Drafts
324
-
325
- Add task drafts one at a time using `synapse_pm_add_task_draft`. The response returns the new draft's `draftUuid` — use it directly for `dependsOnDraftUuids` in subsequent drafts without needing to call `synapse_get_proposal`.
326
-
327
- ```
328
- # Add first task → response includes { draftUuid, draftTitle }
329
- synapse_pm_add_task_draft({
330
- proposalUuid: "<proposal-uuid>",
331
- title: "Implement <component>",
332
- description: "Detailed description of what to build...",
333
- priority: "high",
334
- storyPoints: 3,
335
- acceptanceCriteria: "- [ ] Criteria 1\n- [ ] Criteria 2"
336
- })
337
-
338
- # Add second task — use draftUuid from the first task's response
339
- synapse_pm_add_task_draft({
340
- proposalUuid: "<proposal-uuid>",
341
- title: "Write tests for <component>",
342
- description: "Unit and integration tests...",
343
- priority: "medium",
344
- storyPoints: 2,
345
- acceptanceCriteria: "- [ ] Test coverage > 80%",
346
- dependsOnDraftUuids: ["<draftUuid-from-first-task>"]
347
- })
348
- ```
349
-
350
- **Task priority:** `low`, `medium`, `high`
351
-
352
- ### Step 8: Review and Refine Drafts
353
-
354
- After adding all drafts, review the full proposal and refine as needed:
355
-
356
- ```
357
- # Review current state
358
- synapse_get_proposal({ proposalUuid: "<proposal-uuid>" })
359
-
360
- # Update a document draft
361
- synapse_pm_update_document_draft({
362
- proposalUuid: "<proposal-uuid>",
363
- draftUuid: "<draft-uuid>",
364
- content: "Updated content with more detail..."
365
- })
366
-
367
- # Update a task draft
368
- synapse_pm_update_task_draft({
369
- proposalUuid: "<proposal-uuid>",
370
- draftUuid: "<draft-uuid>",
371
- description: "Updated description with more detail...",
372
- dependsOnDraftUuids: ["<other-draft-uuid>"]
373
- })
374
-
375
- # Remove a draft that's no longer needed
376
- synapse_pm_remove_task_draft({
377
- proposalUuid: "<proposal-uuid>",
378
- draftUuid: "<draft-uuid>"
379
- })
380
- ```
381
-
382
- ### Step 9: Validate and Submit Proposal for Review
383
-
384
- Before submitting, validate the proposal to preview any issues:
385
-
386
- ```
387
- synapse_pm_validate_proposal({ proposalUuid: "<proposal-uuid>" })
388
- ```
389
-
390
- This returns `{ valid, issues }` with error, warning, and info levels. Fix any errors before submitting. Warnings and info are advisory but worth addressing.
391
-
392
- When the proposal passes validation (no errors):
393
-
394
- ```
395
- synapse_pm_submit_proposal({ proposalUuid: "<proposal-uuid>" })
396
- ```
397
-
398
- This changes the proposal status from `draft` to `pending`. An Admin will review it. Note: `submit` also runs validation internally and rejects if errors exist.
399
-
400
- Add a comment explaining your reasoning:
401
-
402
- ```
403
- synapse_add_comment({
404
- targetType: "proposal",
405
- targetUuid: "<proposal-uuid>",
406
- content: "This proposal covers... Key decisions: ..."
407
- })
408
- ```
409
-
410
- ### Step 10: Update Idea Status
411
-
412
- Mark the idea as proposal_created:
413
-
414
- ```
415
- synapse_update_idea_status({ ideaUuid: "<idea-uuid>", status: "proposal_created" })
416
- ```
417
-
418
- ### Step 11: Handle Feedback
419
-
420
- If the proposal is rejected, check the review note:
421
-
422
- ```
423
- synapse_get_proposal({ proposalUuid: "<proposal-uuid>" })
424
- synapse_get_comments({ targetType: "proposal", targetUuid: "<proposal-uuid>" })
425
- ```
426
-
427
- Revise the drafts and resubmit.
428
-
429
- ### Step 12: Post-Approval
430
-
431
- When the Admin approves the proposal:
432
- - Document drafts are automatically materialized into real Documents
433
- - Task drafts are automatically materialized into real Tasks (status: `open`)
434
- - Developers can now claim and work on the tasks
435
-
436
- Mark the idea as completed:
437
-
438
- ```
439
- synapse_update_idea_status({ ideaUuid: "<idea-uuid>", status: "completed" })
440
- ```
441
-
442
- ### Step 13: Manage Task Dependencies (Optional)
443
-
444
- After tasks are created (either via proposal approval or `synapse_pm_create_tasks`), you can manage dependencies between them.
445
-
446
- **Add dependency using `synapse_pm_create_tasks` with intra-batch dependencies:**
447
-
448
- ```
449
- synapse_pm_create_tasks({
450
- projectUuid: "<project-uuid>",
451
- tasks: [
452
- {
453
- draftUuid: "draft-db",
454
- title: "Create database schema",
455
- priority: "high",
456
- storyPoints: 2
457
- },
458
- {
459
- draftUuid: "draft-api",
460
- title: "Implement API endpoints",
461
- priority: "high",
462
- storyPoints: 4,
463
- dependsOnDraftUuids: ["draft-db"]
464
- },
465
- {
466
- title: "Write integration tests",
467
- priority: "medium",
468
- storyPoints: 2,
469
- dependsOnDraftUuids: ["draft-api"],
470
- dependsOnTaskUuids: ["<existing-task-uuid>"]
471
- }
472
- ]
473
- })
474
- ```
475
-
476
- **Add/remove dependencies on existing tasks:**
477
-
478
- ```
479
- # Add dependency: task B depends on task A
480
- synapse_add_task_dependency({
481
- taskUuid: "<task-B-uuid>",
482
- dependsOnTaskUuid: "<task-A-uuid>"
483
- })
484
-
485
- # Remove dependency
486
- synapse_remove_task_dependency({
487
- taskUuid: "<task-B-uuid>",
488
- dependsOnTaskUuid: "<task-A-uuid>"
489
- })
490
- ```
491
-
492
- **Notes:**
493
- - Dependencies are validated: same project, no self-dependency, no cycles (DFS detection)
494
- - Use `synapse_get_task` to see `dependsOn` and `dependedBy` arrays
495
-
496
- ### Step 14: Assign Tasks to Developer Agents (Optional)
497
-
498
- After approval, you can directly assign tasks to specific Developer Agents instead of waiting for them to self-claim:
499
-
500
- ```
501
- synapse_pm_assign_task({
502
- taskUuid: "<task-uuid>",
503
- agentUuid: "<developer-agent-uuid>"
504
- })
505
- ```
506
-
507
- **Conditions:**
508
- - Task must be in `open` or `assigned` status (reassignment is allowed)
509
- - Target agent must have `developer` or `developer_agent` role
510
- - The PM Agent is recorded as `assignedBy`
511
-
512
- To find available developer agents, use the project activity or check with the admin. To find open tasks:
513
-
514
- ```
515
- synapse_get_available_tasks({ projectUuid: "<project-uuid>" })
516
- ```
517
-
518
- ---
519
-
520
- ## Document Writing Guidelines
521
-
522
- ### PRD Structure
523
- ```markdown
524
- # PRD: <Feature Name>
525
-
526
- ## Background
527
- Why this feature is needed.
528
-
529
- ## Requirements
530
- ### Functional Requirements
531
- - FR-1: ...
532
- - FR-2: ...
533
-
534
- ### Non-Functional Requirements
535
- - NFR-1: ...
536
-
537
- ## User Stories
538
- - As a <role>, I want <action>, so that <benefit>
539
-
540
- ## Out of Scope
541
- What is NOT included in this proposal.
542
- ```
543
-
544
- ### Tech Design Structure
545
- ```markdown
546
- # Technical Design: <Feature Name>
547
-
548
- ## Overview
549
- High-level approach.
550
-
551
- ## Architecture
552
- System design, component interactions.
553
-
554
- ## Data Model
555
- Schema changes, new tables.
556
-
557
- ## API Design
558
- New/modified endpoints.
559
-
560
- ## Implementation Plan
561
- Step-by-step implementation order.
562
-
563
- ## Risks & Mitigations
564
- Potential issues and how to address them.
565
- ```
566
-
567
- ### Task Writing Guidelines
568
-
569
- Good tasks are:
570
- - **Atomic** - One clear deliverable per task
571
- - **Testable** - Clear acceptance criteria
572
- - **Sized** - 1-8 story points (hours of agent work)
573
- - **Ordered** - Use `dependsOnDraftUuids` / `dependsOnTaskUuids` to express execution order when tasks have real prerequisites
574
- - **Descriptive** - Include enough context for a developer agent to start without questions
575
-
576
- ---
577
-
578
- ## Tips
579
-
580
- - When combining multiple ideas, explain in the proposal description how they relate
581
- - Keep PRD focused on *what* and *why*; keep tech design focused on *how*
582
- - Break large features into multiple smaller tasks rather than one monolithic task
583
- - Add `storyPoints` to help prioritize and estimate effort
584
- - Use `acceptanceCriteria` with checkboxes for clear verification