@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.
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +113 -113
- package/dist/.next/app-path-routes-manifest.json +27 -27
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/prerender-manifest.json +6 -6
- package/dist/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/compute/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/insights/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/related-works/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/settings/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +1 -1
- package/dist/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin/companies/new.html +1 -1
- package/dist/.next/server/app/admin/companies/new.rsc +1 -1
- package/dist/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin/companies.html +1 -1
- package/dist/.next/server/app/admin/companies.rsc +1 -1
- package/dist/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin.html +1 -1
- package/dist/.next/server/app/admin.rsc +1 -1
- package/dist/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/stats/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-gpus/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-nodes/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-nodes/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-pools/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-pools/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/documents/[uuid]/images/[filename]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/documents/[uuid]/images/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/dependencies/[dependsOnRunUuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/evaluate-criteria/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/registry/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/progress/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/request-plan/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/reset/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/review/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/start/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/onboarding/status/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/agent-activity/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/baselines/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/[designUuid]/validate/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/summary/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-runs/dependencies/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-runs/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiments/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/github/branches/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/[workUuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/auto-search/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/auto-search/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/deep-research/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/deep-research/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/research-questions/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/refresh/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/trigger/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/review/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/settings/integrations/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/ssh-config/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/index.html +1 -1
- package/dist/.next/server/app/index.rsc +1 -1
- package/dist/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/admin.html +1 -1
- package/dist/.next/server/app/login/admin.rsc +1 -1
- package/dist/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/callback.html +1 -1
- package/dist/.next/server/app/login/callback.rsc +1 -1
- package/dist/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/silent-refresh.html +1 -1
- package/dist/.next/server/app/login/silent-refresh.rsc +1 -1
- package/dist/.next/server/app/login.html +1 -1
- package/dist/.next/server/app/login.rsc +1 -1
- package/dist/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/research-projects/new.html +1 -1
- package/dist/.next/server/app/research-projects/new.rsc +1 -1
- package/dist/.next/server/app/research-projects.html +1 -1
- package/dist/.next/server/app/research-projects.rsc +1 -1
- package/dist/.next/server/app/settings.html +1 -1
- package/dist/.next/server/app/settings.rsc +1 -1
- package/dist/.next/server/app-paths-manifest.json +27 -27
- package/dist/.next/server/middleware-manifest.json +1 -1
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/pages-manifest.json +1 -1
- package/package.json +4 -2
- package/dist/public/skill/SKILL.md +0 -200
- package/dist/public/skill/aris-synapse-sync/SKILL.md +0 -368
- package/dist/public/skill/package.json +0 -79
- package/dist/public/skill/references/00-common-tools.md +0 -253
- package/dist/public/skill/references/01-setup.md +0 -251
- package/dist/public/skill/references/02-pm-workflow.md +0 -584
- package/dist/public/skill/references/03-developer-workflow.md +0 -325
- package/dist/public/skill/references/04-admin-workflow.md +0 -328
- package/dist/public/skill/references/06-claude-code-agent-teams.md +0 -233
- package/dist/public/synapse-plugin/.claude-plugin/plugin.json +0 -20
- package/dist/public/synapse-plugin/.mcp.json +0 -11
- package/dist/public/synapse-plugin/bin/on-post-create-experiment.sh +0 -61
- package/dist/public/synapse-plugin/bin/on-post-submit-results.sh +0 -56
- package/dist/public/synapse-plugin/bin/on-pre-enter-plan.sh +0 -26
- package/dist/public/synapse-plugin/bin/on-pre-exit-plan.sh +0 -22
- package/dist/public/synapse-plugin/bin/on-pre-spawn-agent.sh +0 -64
- package/dist/public/synapse-plugin/bin/on-session-end.sh +0 -39
- package/dist/public/synapse-plugin/bin/on-session-start.sh +0 -284
- package/dist/public/synapse-plugin/bin/on-subagent-start.sh +0 -233
- package/dist/public/synapse-plugin/bin/on-subagent-stop.sh +0 -80
- package/dist/public/synapse-plugin/bin/on-task-completed.sh +0 -66
- package/dist/public/synapse-plugin/bin/on-teammate-idle.sh +0 -47
- package/dist/public/synapse-plugin/bin/on-user-prompt.sh +0 -57
- package/dist/public/synapse-plugin/bin/synapse-api.sh +0 -387
- package/dist/public/synapse-plugin/bin/test-syntax.sh +0 -85
- package/dist/public/synapse-plugin/hooks/hooks.json +0 -125
- package/dist/public/synapse-plugin/skills/autonomy/SKILL.md +0 -177
- package/dist/public/synapse-plugin/skills/experiments/SKILL.md +0 -135
- package/dist/public/synapse-plugin/skills/research/SKILL.md +0 -58
- package/dist/public/synapse-plugin/skills/sessions/SKILL.md +0 -176
- package/dist/public/synapse-plugin/skills/setup/SKILL.md +0 -108
- package/dist/public/synapse-plugin/skills/synapse/SKILL.md +0 -145
- package/dist/public/synapse-plugin/skills/synapse/package.json +0 -49
- package/dist/public/synapse-plugin/skills/synapse/references/00-common-tools.md +0 -144
- package/dist/public/synapse-plugin/skills/synapse/references/01-setup.md +0 -130
- package/dist/public/synapse-plugin/skills/synapse/references/02-research-workflow.md +0 -145
- package/dist/public/synapse-plugin/skills/synapse/references/03-experiment-workflow.md +0 -319
- package/dist/public/synapse-plugin/skills/synapse/references/04-autonomous-loop.md +0 -223
- package/dist/public/synapse-plugin/skills/synapse/references/05-session-sub-agent.md +0 -253
- /package/dist/.next/static/{CTg26EE4IkxbdY0E6xEiL → VlyiqgSt6DSLuCX7rlcKa}/_buildManifest.js +0 -0
- /package/dist/.next/static/{CTg26EE4IkxbdY0E6xEiL → VlyiqgSt6DSLuCX7rlcKa}/_ssgManifest.js +0 -0
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"hooks": {
|
|
3
|
-
"SessionStart": [
|
|
4
|
-
{
|
|
5
|
-
"matcher": "startup|resume|compact",
|
|
6
|
-
"hooks": [
|
|
7
|
-
{
|
|
8
|
-
"type": "command",
|
|
9
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-session-start.sh"
|
|
10
|
-
}
|
|
11
|
-
]
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
"UserPromptSubmit": [
|
|
15
|
-
{
|
|
16
|
-
"hooks": [
|
|
17
|
-
{
|
|
18
|
-
"type": "command",
|
|
19
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-user-prompt.sh"
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"PreToolUse": [
|
|
25
|
-
{
|
|
26
|
-
"matcher": "EnterPlanMode",
|
|
27
|
-
"hooks": [
|
|
28
|
-
{
|
|
29
|
-
"type": "command",
|
|
30
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-pre-enter-plan.sh"
|
|
31
|
-
}
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"matcher": "ExitPlanMode",
|
|
36
|
-
"hooks": [
|
|
37
|
-
{
|
|
38
|
-
"type": "command",
|
|
39
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-pre-exit-plan.sh"
|
|
40
|
-
}
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"matcher": "Task",
|
|
45
|
-
"hooks": [
|
|
46
|
-
{
|
|
47
|
-
"type": "command",
|
|
48
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-pre-spawn-agent.sh"
|
|
49
|
-
}
|
|
50
|
-
]
|
|
51
|
-
}
|
|
52
|
-
],
|
|
53
|
-
"PostToolUse": [
|
|
54
|
-
{
|
|
55
|
-
"matcher": "mcp__synapse__synapse_submit_experiment_results|synapse_submit_experiment_results",
|
|
56
|
-
"hooks": [
|
|
57
|
-
{
|
|
58
|
-
"type": "command",
|
|
59
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-post-submit-results.sh"
|
|
60
|
-
}
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"matcher": "mcp__synapse__synapse_create_experiment|synapse_create_experiment",
|
|
65
|
-
"hooks": [
|
|
66
|
-
{
|
|
67
|
-
"type": "command",
|
|
68
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-post-create-experiment.sh"
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
}
|
|
72
|
-
],
|
|
73
|
-
"SubagentStart": [
|
|
74
|
-
{
|
|
75
|
-
"hooks": [
|
|
76
|
-
{
|
|
77
|
-
"type": "command",
|
|
78
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-subagent-start.sh"
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
],
|
|
83
|
-
"SubagentStop": [
|
|
84
|
-
{
|
|
85
|
-
"hooks": [
|
|
86
|
-
{
|
|
87
|
-
"type": "command",
|
|
88
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-subagent-stop.sh"
|
|
89
|
-
}
|
|
90
|
-
]
|
|
91
|
-
}
|
|
92
|
-
],
|
|
93
|
-
"TeammateIdle": [
|
|
94
|
-
{
|
|
95
|
-
"hooks": [
|
|
96
|
-
{
|
|
97
|
-
"type": "command",
|
|
98
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-teammate-idle.sh",
|
|
99
|
-
"async": true
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
],
|
|
104
|
-
"TaskCompleted": [
|
|
105
|
-
{
|
|
106
|
-
"hooks": [
|
|
107
|
-
{
|
|
108
|
-
"type": "command",
|
|
109
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-task-completed.sh"
|
|
110
|
-
}
|
|
111
|
-
]
|
|
112
|
-
}
|
|
113
|
-
],
|
|
114
|
-
"SessionEnd": [
|
|
115
|
-
{
|
|
116
|
-
"hooks": [
|
|
117
|
-
{
|
|
118
|
-
"type": "command",
|
|
119
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/bin/on-session-end.sh"
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
}
|
|
123
|
-
]
|
|
124
|
-
}
|
|
125
|
-
}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: autonomy
|
|
3
|
-
description: Drive the Claude Code-client autonomous research loop — analyze project state, propose the next experiment, dispatch sub-agents to execute it, and iterate.
|
|
4
|
-
license: AGPL-3.0
|
|
5
|
-
metadata:
|
|
6
|
-
author: Vincentwei1021
|
|
7
|
-
version: "0.6.1"
|
|
8
|
-
category: research
|
|
9
|
-
mcp_server: synapse
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Autonomy Skill
|
|
13
|
-
|
|
14
|
-
Use this skill when the user asks the Claude Code agent to drive research autonomously on a Synapse project: propose the next experiment, dispatch it, analyze the result, and repeat.
|
|
15
|
-
|
|
16
|
-
This is the **CC-client autonomous loop**. It does not depend on the server-side `autonomousLoopEnabled` flag (that flag is for realtime-transport agents). The loop runs entirely inside the current Claude Code session: the main agent is the orchestrator, and sub-agents spawned via the Task tool are auto-enrolled by the plugin's `SubagentStart` hook.
|
|
17
|
-
|
|
18
|
-
## Default Mode
|
|
19
|
-
|
|
20
|
-
**Full auto** by default. When the user says "turn on autonomous loop", "run until done", or similar, assume full auto unless they say otherwise:
|
|
21
|
-
|
|
22
|
-
- New experiment proposals are created as `pending_start` and immediately dispatched to sub-agents for execution.
|
|
23
|
-
- The main agent does not wait for human approval between iterations.
|
|
24
|
-
- The user can stop the loop at any time by interrupting the session; the main agent should also stop voluntarily once stop conditions (below) are met.
|
|
25
|
-
|
|
26
|
-
If the user explicitly asks for "human review before each experiment", switch to **review mode**: proposals land as `pending_review` and the loop pauses until they are approved externally.
|
|
27
|
-
|
|
28
|
-
## Full-Auto Lives In This Session Only
|
|
29
|
-
|
|
30
|
-
Full-auto mode for the CC-client autonomous loop is opted in **verbally** ("turn on autonomous loop", "full auto", "run until done") and lives only in the main agent's current session context. It does **not** flip the server-side `autonomousLoopEnabled` / `autonomousLoopMode` fields, and it does not write any state to Synapse.
|
|
31
|
-
|
|
32
|
-
Full-auto is a one-way track. The only exits are:
|
|
33
|
-
|
|
34
|
-
- The user explicitly says stop (or interrupts the session).
|
|
35
|
-
- A hard external error makes progress impossible (compute exhausted, MCP failure, network partition that cannot be recovered).
|
|
36
|
-
|
|
37
|
-
Self-review **never** pauses full-auto. Sub-agent timeouts in self-review do not pause full-auto. Advisory issues raised by self-review do not pause full-auto. The main agent applies a single revision pass when feasible and continues. Whatever the main agent decides, it must be reflected in the `reviewNote` of the resulting `synapse_review_experiment` call (see template below).
|
|
38
|
-
|
|
39
|
-
## Prompt Boundary
|
|
40
|
-
|
|
41
|
-
Stay inside this skill when the work is about:
|
|
42
|
-
- reviewing the project state after experiments finish
|
|
43
|
-
- deciding whether to propose the next experiment or wait for in-flight work
|
|
44
|
-
- dispatching sub-agents to execute `pending_start` experiments
|
|
45
|
-
- maintaining a rolling synthesis via `synapse_save_project_synthesis`
|
|
46
|
-
- detecting stop conditions and exiting cleanly
|
|
47
|
-
|
|
48
|
-
Hand off to:
|
|
49
|
-
- **[experiments](../experiments/SKILL.md)** for the inner execution logic of one experiment (the sub-agent operates there)
|
|
50
|
-
- **[research](../research/SKILL.md)** when the loop decides it needs new literature before the next experiment
|
|
51
|
-
- **[sessions](../sessions/SKILL.md)** for how sub-agent sessions and heartbeats are auto-managed
|
|
52
|
-
|
|
53
|
-
## Before Starting The Loop
|
|
54
|
-
|
|
55
|
-
1. `synapse_checkin()` to refresh identity and current assignments.
|
|
56
|
-
2. `synapse_get_project_full_context({ researchProjectUuid })` to load brief, evaluation methods, past experiments, latest synthesis, and compute availability.
|
|
57
|
-
3. Confirm with the user:
|
|
58
|
-
- target project UUID
|
|
59
|
-
- mode (`full_auto` default, or `review`)
|
|
60
|
-
- optional budgets: `maxIterations`, `maxExperimentsProposed`, `maxComputeHours`
|
|
61
|
-
4. If the project has no completed experiments, do not enter the loop cold. Offer the foundational path first (data prep + baseline + eval script — see **[experiments](../experiments/SKILL.md)**), then start the loop once the baseline is in place.
|
|
62
|
-
|
|
63
|
-
## Iteration Procedure
|
|
64
|
-
|
|
65
|
-
Each iteration of the loop follows the same shape. The main agent runs this until a stop condition triggers.
|
|
66
|
-
|
|
67
|
-
1. **Refresh project state**
|
|
68
|
-
- `synapse_get_project_full_context({ researchProjectUuid })`
|
|
69
|
-
- `synapse_get_assigned_experiments({ researchProjectUuid, statuses: ["pending_start", "in_progress"] })`
|
|
70
|
-
|
|
71
|
-
2. **Decide what this iteration should do**
|
|
72
|
-
- If any experiment is `in_progress`, the loop should **monitor**, not propose. Poll `synapse_get_experiment` for each running experiment, write a progress note to the user, and yield back so the next user turn re-enters the loop.
|
|
73
|
-
- If any experiment is `pending_start` (and mode is `full_auto`), **dispatch** it: spawn a Task-tool sub-agent with the experiment UUID in its prompt. The `SubagentStart` hook auto-injects the session UUID and execution workflow; the main agent does not need to call `synapse_create_session`.
|
|
74
|
-
- If the queue is empty and there are completed experiments to digest, **synthesize** first: read the current `project_synthesis` document via `synapse_get_documents({ type: "project_synthesis" })` + `synapse_get_document`, and update it with `synapse_save_project_synthesis` only if new results add something the existing synthesis does not already cover.
|
|
75
|
-
- If the queue is empty and synthesis is current, **propose** the next experiment with `synapse_propose_experiment`. One independent run per proposal — split comparisons, ablations, and parameter sweeps into separate proposals.
|
|
76
|
-
|
|
77
|
-
3. **Respect compute reality**
|
|
78
|
-
- Before proposing, check availability with `synapse_list_compute_nodes({ researchProjectUuid, onlyAvailable: true })`. Do not over-propose concurrent experiments beyond what available GPUs can run.
|
|
79
|
-
- If the project has a `computePoolUuid`, reservations must stay inside that pool.
|
|
80
|
-
|
|
81
|
-
4. **Log the decision**
|
|
82
|
-
- Add a short `synapse_add_comment({ targetType: "research_project", ... })` summarizing what this iteration decided and why. This gives the human a readable audit trail in the UI.
|
|
83
|
-
|
|
84
|
-
5. **Check stop conditions**, then either return control to the user (normal case) or immediately re-run step 1 if the user asked for tight, unattended iteration within a single turn.
|
|
85
|
-
|
|
86
|
-
## Self-Review Before `synapse_propose_experiment`
|
|
87
|
-
|
|
88
|
-
Before calling `synapse_propose_experiment`, spawn a `Task` sub-agent to self-review the proposal text (motivation, hypothesis, method, success criteria, compute fit) against the project context and evaluation methods. Self-review is in-session only — it does **not** write to Synapse. Refine the proposal text based on the verdict, then call `synapse_propose_experiment`.
|
|
89
|
-
|
|
90
|
-
The same applies after `synapse_create_experiment` lands a draft inside the loop: self-review the draft via a sub-agent, revise, then push to `pending_review` and (in full-auto) auto-approve.
|
|
91
|
-
|
|
92
|
-
## Monitor-Not-Executor
|
|
93
|
-
|
|
94
|
-
The main agent does **not** SSH into GPU nodes, does **not** run training loops, and does **not** call `synapse_start_experiment` itself (unless the user explicitly tells it to run an experiment inline with no sub-agent). Its job is:
|
|
95
|
-
|
|
96
|
-
- read state → decide → dispatch → monitor → synthesize → propose → repeat.
|
|
97
|
-
|
|
98
|
-
All execution work — `synapse_start_experiment`, `synapse_get_node_access_bundle`, SSH, training, `synapse_report_experiment_progress`, `synapse_submit_experiment_results` — happens inside sub-agents. Spawn one Task sub-agent per `pending_start` experiment. Each sub-agent receives its session UUID and the full experiment workflow automatically via the `SubagentStart` hook.
|
|
99
|
-
|
|
100
|
-
## Proposal Quality
|
|
101
|
-
|
|
102
|
-
A good proposal includes:
|
|
103
|
-
- **Motivation** — what previous result or gap this addresses
|
|
104
|
-
- **Hypothesis** — what you expect to learn
|
|
105
|
-
- **Method** — enough detail that a sub-agent can execute without further prompting
|
|
106
|
-
- **Success criteria** — how the result will be judged against the project's evaluation method
|
|
107
|
-
- **Compute fit** — realistic given current availability
|
|
108
|
-
|
|
109
|
-
Bad proposals to avoid:
|
|
110
|
-
- bundling multiple runs into one card
|
|
111
|
-
- re-running something already completed
|
|
112
|
-
- ignoring the project's stated evaluation methods
|
|
113
|
-
- proposing work the available compute pool cannot support
|
|
114
|
-
|
|
115
|
-
## Stop Conditions
|
|
116
|
-
|
|
117
|
-
Exit the loop and report back to the user when any of these hold:
|
|
118
|
-
|
|
119
|
-
- `maxIterations` reached (default: ask the user up front)
|
|
120
|
-
- `maxExperimentsProposed` reached
|
|
121
|
-
- `maxComputeHours` used across this loop's runs
|
|
122
|
-
- synthesis has not materially changed for K consecutive iterations (no-progress detection)
|
|
123
|
-
- the user interrupts or explicitly says "stop"
|
|
124
|
-
- all research questions are `completed` and there is no promising direction left
|
|
125
|
-
- compute pool is exhausted and no experiment is making forward progress
|
|
126
|
-
|
|
127
|
-
On exit, summarize what was run, what was learned, the current state of the synthesis document, and any recommended follow-ups for a human.
|
|
128
|
-
|
|
129
|
-
## Auto-Approve `reviewNote` Template (CC Full-Auto Only)
|
|
130
|
-
|
|
131
|
-
When the main agent auto-approves a draft after a successful self-review:
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
synapse_review_experiment({
|
|
135
|
-
experimentUuid,
|
|
136
|
-
decision: "approved",
|
|
137
|
-
reviewNote: "Full-auto session authorized by <ownerName> at <ISO time>. Self-review pass: <key points>.",
|
|
138
|
-
})
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
When self-review failed or timed out, use:
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
reviewNote: "Full-auto session authorized by <ownerName> at <ISO time>. Self-review skipped: <reason>."
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Either way, full-auto continues — the `reviewNote` is the audit truth.
|
|
148
|
-
|
|
149
|
-
## Mutual Exclusion With The Server-Side Loop
|
|
150
|
-
|
|
151
|
-
If `synapse_get_research_project` shows the project already has `autonomousLoopEnabled = true` and a loop agent assigned on the realtime side, do not also run the CC-client loop against it. Warn the user and either defer, or ask them to disable the server-side loop first — running both will double-dispatch proposals and reservations.
|
|
152
|
-
|
|
153
|
-
## Typical Turn
|
|
154
|
-
|
|
155
|
-
```
|
|
156
|
-
synapse_checkin()
|
|
157
|
-
synapse_get_project_full_context({ researchProjectUuid })
|
|
158
|
-
synapse_get_assigned_experiments({ researchProjectUuid, statuses: ["pending_start", "in_progress"] })
|
|
159
|
-
|
|
160
|
-
# Monitor in-flight experiments if any
|
|
161
|
-
# Else dispatch pending_start via Task sub-agents
|
|
162
|
-
# Else synthesize if new results need analysis
|
|
163
|
-
# Else propose next experiment
|
|
164
|
-
|
|
165
|
-
synapse_add_comment({
|
|
166
|
-
targetType: "research_project",
|
|
167
|
-
targetUuid: "<projectUuid>",
|
|
168
|
-
content: "Iteration N — dispatched experiment <uuid> / proposed <title> / no-op (synthesis current)"
|
|
169
|
-
})
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## Reference
|
|
173
|
-
|
|
174
|
-
- **[Autonomous loop reference](../synapse/references/04-autonomous-loop.md)**
|
|
175
|
-
- **[Experiments skill](../experiments/SKILL.md)**
|
|
176
|
-
- **[Sessions skill](../sessions/SKILL.md)**
|
|
177
|
-
- **[Common tools](../synapse/references/00-common-tools.md)**
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: experiments
|
|
3
|
-
description: Plan, revise, execute, and report Synapse experiments, including compute access and result submission.
|
|
4
|
-
license: AGPL-3.0
|
|
5
|
-
metadata:
|
|
6
|
-
author: Vincentwei1021
|
|
7
|
-
version: "0.6.1"
|
|
8
|
-
category: research
|
|
9
|
-
mcp_server: synapse
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Experiments Skill
|
|
13
|
-
|
|
14
|
-
Use this skill for the experiment stage: drafting plans, revising returned experiments, running approved work, using compute, and submitting results.
|
|
15
|
-
|
|
16
|
-
## Prompt Boundary
|
|
17
|
-
|
|
18
|
-
Stay inside this skill when the work is about:
|
|
19
|
-
- creating a brand-new experiment from scratch
|
|
20
|
-
- `draft`, `pending_review`, `pending_start`, `in_progress`, or `completed` experiments
|
|
21
|
-
- plan authoring or revision based on reviewer feedback
|
|
22
|
-
- reserving GPUs and starting workloads
|
|
23
|
-
- reporting progress and saving results
|
|
24
|
-
- writing experiment result reports
|
|
25
|
-
|
|
26
|
-
Hand off to:
|
|
27
|
-
- **[research](../research/SKILL.md)** for literature and deep research
|
|
28
|
-
- **[autonomy](../autonomy/SKILL.md)** to drive the CC-client autonomous loop when there is nothing to execute and you need to propose the next experiment
|
|
29
|
-
- **[sessions](../sessions/SKILL.md)** when running multiple experiments in parallel via sub-agents
|
|
30
|
-
|
|
31
|
-
## Empty-Assignment Onboarding
|
|
32
|
-
|
|
33
|
-
If `synapse_get_assigned_experiments` returns empty, do not idle. Ask the user which path:
|
|
34
|
-
|
|
35
|
-
1. **Execute an approved experiment** — list `pending_start` experiments in the project with `synapse_get_project_full_context` and ask which to start.
|
|
36
|
-
2. **Flesh out a quick idea** — call `synapse_get_project_full_context`, then draft a plan with `synapse_create_experiment` (defaults to `draft`; run a self-review sub-agent before pushing to `pending_review` per the "Create → Self-Review → Pending Review → Verbal Approve" section below).
|
|
37
|
-
3. **Create the foundational experiment** — if the project has no completed experiments, offer the foundational template below.
|
|
38
|
-
4. **Enter the autonomous loop** — hand off to **[autonomy](../autonomy/SKILL.md)** to propose and auto-dispatch the next experiment.
|
|
39
|
-
|
|
40
|
-
## Create → Self-Review → Pending Review → Verbal Approve
|
|
41
|
-
|
|
42
|
-
Every agent-created experiment goes through this sequence before reaching `pending_review`.
|
|
43
|
-
|
|
44
|
-
1. `synapse_create_experiment(...)` — defaults to `draft`. The PostToolUse hook will remind you to run self-review next.
|
|
45
|
-
2. Spawn a self-review sub-agent with the `Task` tool. Use a prompt similar to:
|
|
46
|
-
```
|
|
47
|
-
Self-review experiment <experimentUuid> for project <projectUuid>.
|
|
48
|
-
Call synapse_get_experiment to read the plan. Then evaluate against the project's evaluationMethods:
|
|
49
|
-
- Is the objective specific and measurable?
|
|
50
|
-
- Is the methodology sound and reproducible?
|
|
51
|
-
- Do the success criteria align with the project's evaluation methods?
|
|
52
|
-
- Is the compute budget realistic given current availability (synapse_list_compute_nodes)?
|
|
53
|
-
Return a short verdict: "pass" or a bulleted list of concrete revisions.
|
|
54
|
-
Do NOT write back to Synapse — your verdict is consumed in-session by the main agent.
|
|
55
|
-
```
|
|
56
|
-
3. If the verdict surfaces issues, apply revisions with `synapse_update_experiment_plan({ experimentUuid, ... })`.
|
|
57
|
-
4. `synapse_update_experiment_status({ experimentUuid, status: "pending_review" })` to push the draft into review.
|
|
58
|
-
5. Present the self-review summary and the plan summary to the user in the terminal. Wait for a verbal answer.
|
|
59
|
-
6. **On verbal approve:**
|
|
60
|
-
```
|
|
61
|
-
synapse_review_experiment({
|
|
62
|
-
experimentUuid,
|
|
63
|
-
decision: "approved",
|
|
64
|
-
reviewNote: 'User verbally approved in terminal: "<exact words>"',
|
|
65
|
-
})
|
|
66
|
-
```
|
|
67
|
-
That call atomically transitions to `pending_start`, writes the activity, and emits `task_assigned` so execution can begin.
|
|
68
|
-
7. **On verbal reject:** summarize the user's revision request in second-person Chinese, including a quoted phrase from the user, and pass it as `reviewNote`:
|
|
69
|
-
```
|
|
70
|
-
synapse_review_experiment({
|
|
71
|
-
experimentUuid,
|
|
72
|
-
decision: "rejected",
|
|
73
|
-
reviewNote: '用户口头要求修改:…(原话:"…")',
|
|
74
|
-
})
|
|
75
|
-
```
|
|
76
|
-
The review tool writes the comment and emits `experiment_revision_requested` automatically — **do not** also call `synapse_add_comment`.
|
|
77
|
-
8. After a reject, the experiment is back in `draft`. Revise per feedback, run self-review again, then resubmit to `pending_review`.
|
|
78
|
-
9. **Full-auto mode** (set verbally via the `autonomy` skill, lives only in the current CC session): after step 4, skip steps 5–8 and immediately call `synapse_review_experiment` with the fixed full-auto template:
|
|
79
|
-
```
|
|
80
|
-
reviewNote: 'Full-auto session authorized by <ownerName> at <ISO time>. Self-review pass: <key points>.'
|
|
81
|
-
```
|
|
82
|
-
If self-review timed out or errored: `'Self-review skipped: <reason>.'`. Full-auto **never pauses** on advisory self-review output — it only exits on user-stop or hard external errors.
|
|
83
|
-
|
|
84
|
-
The `synapse_review_experiment` tool requires `admin` or `pi_agent` role. To run verbal-approve flows on Claude Code, configure the CC agent with one of those roles.
|
|
85
|
-
|
|
86
|
-
## Foundational First Experiment
|
|
87
|
-
|
|
88
|
-
If the project has no completed experiments yet, the first experiment is not a normal research run — it is the project's baseline infrastructure. Drive it through three bundled deliverables before any comparison work:
|
|
89
|
-
|
|
90
|
-
1. **Data preparation** — normalize the raw dataset into a single canonical format every future experiment will consume. Keep the prep scripts under the project's repo (if one is configured via `synapse_get_repo_access`).
|
|
91
|
-
2. **Baseline run** — execute the simplest reasonable approach end-to-end and record its metrics with `synapse_submit_experiment_results`, so subsequent experiments have something to beat.
|
|
92
|
-
3. **Evaluation script** — implement the canonical eval harness future experiments will call. Commit alongside data prep.
|
|
93
|
-
|
|
94
|
-
If the project has a repo, commit all three onto the base branch (or a per-experiment branch merged back). Every subsequent experiment branches from that base so it inherits prep + eval automatically.
|
|
95
|
-
|
|
96
|
-
## Typical Flow
|
|
97
|
-
|
|
98
|
-
1. `synapse_checkin()` — refresh identity and assignments
|
|
99
|
-
2. Author or fetch the experiment
|
|
100
|
-
- New plan: `synapse_create_experiment(...)` (defaults to `draft`; run a self-review sub-agent and revise before pushing to `pending_review` per the section below)
|
|
101
|
-
- Existing assignment: `synapse_get_assigned_experiments()` then `synapse_get_experiment({ experimentUuid })`
|
|
102
|
-
3. If drafting or revising: `synapse_update_experiment_status({ status: "draft", liveStatus: "writing" })` + `synapse_update_experiment_plan(...)`, then `synapse_update_experiment_status({ status: "pending_review" })`
|
|
103
|
-
4. Before execution: `synapse_list_compute_nodes({ onlyAvailable: true, researchProjectUuid })`
|
|
104
|
-
5. Reserve compute: optional `synapse_reserve_gpus(...)` or inline via `synapse_start_experiment({ gpuUuids })`
|
|
105
|
-
6. `synapse_start_experiment({ experimentUuid, workingNotes })` — moves to `in_progress`
|
|
106
|
-
7. If remote compute: `synapse_get_node_access_bundle({ experimentUuid, nodeUuid })`, write the returned `privateKeyPemBase64` to a local PEM, `chmod 600`, SSH with the returned host/user/port
|
|
107
|
-
8. If repo-backed: `synapse_get_repo_access` → clone → branch from the experiment's base branch (commit + push back to this repo at the end is mandatory)
|
|
108
|
-
9. Run the workload in a persistent remote shell (`tmux`/`screen`) with unbuffered output (`python -u …` or `PYTHONUNBUFFERED=1`) so logs never stall a tool call
|
|
109
|
-
10. Report progress with `synapse_report_experiment_progress` at milestones — `phase` ∈ `setup` | `training` | `evaluation` | `analysis`; `liveStatus` ∈ `checking_resources` | `queuing` | `running`
|
|
110
|
-
11. For long runs (>30 min), schedule periodic progress updates (cron on the remote node, or the main agent polling and calling `synapse_report_experiment_progress` on a timer) so the card never looks dead
|
|
111
|
-
12. Commit code/artifacts to the experiment branch or base branch; capture the commit SHA
|
|
112
|
-
13. Finish with `synapse_submit_experiment_results({ outcome, experimentResults, branch, commitSha })` — `outcome` ∈ `success` | `failure` | `inconclusive`; on failure include the error and partial results
|
|
113
|
-
14. **Always** follow `synapse_submit_experiment_results` with `synapse_save_experiment_report({ experimentUuid, title, content })` — write a full markdown writeup (objective, methodology, results, analysis, charts where relevant). Do **not** post the report as a comment, and do **not** treat this step as optional even for `failure` / `inconclusive` runs
|
|
114
|
-
15. If revising per reviewer feedback, read the full thread first with `synapse_get_comments({ targetType: "experiment", targetUuid })` before editing the plan
|
|
115
|
-
|
|
116
|
-
## Core Rules
|
|
117
|
-
|
|
118
|
-
- **Never assume a server-local SSH key path exists.** Always fetch the access bundle and write the PEM locally.
|
|
119
|
-
- **One independent run per experiment card.** Do not bundle comparison runs, ablations, or parameter sweeps into a single experiment — create multiple cards.
|
|
120
|
-
- **Match the project description's language.** If the project brief is in Chinese, write the plan, progress, and report in Chinese.
|
|
121
|
-
- **If the project is repo-backed, you must commit back.** Whenever `synapse_get_repo_access` returns a configured repo, all experiment code, configs, and meaningful artifacts must be committed and pushed to that repo (on the experiment branch or merged to base), and the resulting `branch` + `commitSha` must be passed to `synapse_submit_experiment_results`. Local-only runs without a commit are not acceptable when a repo exists.
|
|
122
|
-
- **Always save an experiment report after submitting results.** Every `synapse_submit_experiment_results` call must be immediately followed by `synapse_save_experiment_report({ experimentUuid, title, content })` with a full markdown writeup. This applies to `success`, `failure`, and `inconclusive` outcomes alike.
|
|
123
|
-
- **Split plan / execution / report tools.** Use `synapse_update_experiment_plan` for plan edits, `synapse_report_experiment_progress` for live status, `synapse_submit_experiment_results` for completion, and `synapse_save_experiment_report` for the dedicated report. Do not substitute with comments.
|
|
124
|
-
- **Revision stays durable.** When a reviewer sends an experiment back, flip to `draft`, revise, then move it back to `pending_review`; leave a reply via `synapse_add_comment` using `@[name](actorType:uuid)` format to notify the reviewer.
|
|
125
|
-
- **Failures are data.** An experiment that crashes or shows a regression is still a valid submission: set `outcome: "failure"` (or `"inconclusive"`) and write up what happened in `experimentResults` and the report.
|
|
126
|
-
|
|
127
|
-
## Running Multiple Experiments In Parallel
|
|
128
|
-
|
|
129
|
-
When the user wants to execute several `pending_start` experiments at the same time, the main agent should monitor and dispatch rather than run workloads itself. Spawn one Task-tool sub-agent per experiment UUID — the plugin's `SubagentStart` hook auto-creates a Synapse session and injects the full execution workflow. The main agent then polls with `synapse_get_assigned_experiments({ statuses: ["in_progress", "completed"] })` and `synapse_get_experiment` to track progress. See **[sessions](../sessions/SKILL.md)** for the full pattern.
|
|
130
|
-
|
|
131
|
-
## Reference
|
|
132
|
-
|
|
133
|
-
- **[Experiment workflow reference](../synapse/references/03-experiment-workflow.md)**
|
|
134
|
-
- **[Common tools](../synapse/references/00-common-tools.md)**
|
|
135
|
-
- **[Plugin hooks and parallel execution](../synapse/references/05-session-sub-agent.md)**
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: research
|
|
3
|
-
description: Work on Synapse pre-experiment research: project context, research questions, literature search, related works, and deep research reports.
|
|
4
|
-
license: AGPL-3.0
|
|
5
|
-
metadata:
|
|
6
|
-
author: Vincentwei1021
|
|
7
|
-
version: "0.6.1"
|
|
8
|
-
category: research
|
|
9
|
-
mcp_server: synapse
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Research Skill
|
|
13
|
-
|
|
14
|
-
Use this skill for the pre-experiment stage: understanding project context, developing research questions, grounding work in literature, and producing deep research outputs.
|
|
15
|
-
|
|
16
|
-
## Prompt Boundary
|
|
17
|
-
|
|
18
|
-
Stay inside this skill when the work is about:
|
|
19
|
-
- reading project context and framing the problem
|
|
20
|
-
- creating or progressing research questions
|
|
21
|
-
- searching papers and reading them progressively
|
|
22
|
-
- curating `RelatedWork`
|
|
23
|
-
- writing or updating a deep research report
|
|
24
|
-
|
|
25
|
-
Hand off to:
|
|
26
|
-
- **[experiments](../experiments/SKILL.md)** once the work becomes experiment planning or execution
|
|
27
|
-
- **[autonomy](../autonomy/SKILL.md)** to drive the CC-client autonomous loop when you are choosing the next experiment yourself
|
|
28
|
-
|
|
29
|
-
## Empty-Project Onboarding
|
|
30
|
-
|
|
31
|
-
If `synapse_get_research_questions` and `synapse_get_related_works` both return empty for the active project, do not guess a direction. Ask the user:
|
|
32
|
-
|
|
33
|
-
1. **List existing literature** — does the user already have related works elsewhere that should be imported first?
|
|
34
|
-
2. **Search new literature** — run `synapse_search_papers` against an initial topic phrase supplied by the user, and curate results with `synapse_add_related_work`.
|
|
35
|
-
3. **Draft a research question** — create the first `ResearchQuestion` with `synapse_create_research_question` so later experiments have a framing to attach to.
|
|
36
|
-
4. **Generate a deep research report** — once some related works exist, run the progressive-read flow below and save the synthesis with `synapse_save_deep_research_report`.
|
|
37
|
-
|
|
38
|
-
Offer example invocations (with the project UUID filled in) so the user can pick one. Do not skip ahead to experiment planning from this skill.
|
|
39
|
-
|
|
40
|
-
## Typical Flow
|
|
41
|
-
|
|
42
|
-
1. `synapse_checkin()`
|
|
43
|
-
2. `synapse_get_research_project()` or `synapse_get_project_full_context()`
|
|
44
|
-
3. `synapse_get_research_questions()` or create/claim a question
|
|
45
|
-
4. `synapse_search_papers()` and inspect papers with `brief` / `head` / `section` / `full`
|
|
46
|
-
5. `synapse_add_related_work()` for durable project memory
|
|
47
|
-
6. `synapse_save_deep_research_report()` when synthesizing findings (organize thematically, not paper-by-paper; cite specific methods/results; match the project description's language)
|
|
48
|
-
7. `synapse_add_comment()` on the research question or project artifacts when reasoning should be durable
|
|
49
|
-
8. If the task originated from a Synapse-triggered deep research or auto search, finish with `synapse_complete_task({ taskType: "deep_research" | "auto_search" })`
|
|
50
|
-
|
|
51
|
-
## Core Rule
|
|
52
|
-
|
|
53
|
-
Do not drift into experiment execution from this skill. Once you are drafting a runnable experiment plan, switch to **[experiments](../experiments/SKILL.md)**.
|
|
54
|
-
|
|
55
|
-
## Reference
|
|
56
|
-
|
|
57
|
-
- **[Research workflow reference](../synapse/references/02-research-workflow.md)**
|
|
58
|
-
- **[Common tools](../synapse/references/00-common-tools.md)**
|