@juancr11/sibu 0.15.1 → 0.17.0
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/bin/modules/skill-selection-management/stop-managing-file/handler.js +2 -8
- package/bin/modules/sync-review/action-prompt.js +14 -1
- package/bin/modules/sync-review/handler.js +54 -7
- package/bin/modules/sync-review/index.js +1 -0
- package/bin/modules/sync-review/sync-preview.js +4 -4
- package/bin/modules/sync-review/unsupported-agent-cleanup.js +57 -0
- package/bin/modules/template-catalog-rendering/index.js +1 -1
- package/bin/modules/template-catalog-rendering/templates.js +83 -4
- package/bin/modules/workflow-mutation-readiness/workflow-mutation-readiness.js +9 -0
- package/bin/modules/workflow-target-planning/catalog.js +140 -26
- package/bin/modules/workflow-target-planning/index.js +2 -2
- package/bin/modules/workflow-target-planning/workflow-targets.js +42 -9
- package/package.json +1 -1
- package/templates/.claude/agents/github-exporter.md +18 -0
- package/templates/.claude/agents/notion-exporter.md +18 -0
- package/templates/.claude/agents/sibu-implementation-executor.md +30 -0
- package/templates/.claude/agents/sibu-implementation-planner.md +30 -0
- package/templates/.claude/settings.json +16 -0
- package/templates/.codex/agents/github-exporter.toml +20 -0
- package/templates/.codex/agents/notion-exporter.toml +20 -0
- package/templates/.codex/agents/sibu-implementation-executor.toml +30 -0
- package/templates/.codex/agents/sibu-implementation-planner.toml +30 -0
- package/templates/.codex/hooks.json +17 -0
- package/templates/.gemini/agents/github-exporter.md +18 -0
- package/templates/.gemini/agents/notion-exporter.md +18 -0
- package/templates/.gemini/agents/sibu-implementation-executor.md +30 -0
- package/templates/.gemini/agents/sibu-implementation-planner.md +30 -0
- package/templates/.gemini/settings.json +17 -0
- package/templates/AGENTS.md +5 -5
- package/templates/manifest.json +162 -22
- package/templates/skills/ai-implementation-executor-toolbox/SKILL.md +78 -0
- package/templates/skills/ai-implementation-plan-executor/SKILL.md +64 -108
- package/templates/skills/ai-implementation-planner/SKILL.md +55 -138
- package/templates/skills/ai-implementation-planner-toolbox/SKILL.md +78 -0
- package/templates/skills/business-domain-model-writer/SKILL.md +313 -0
- package/templates/skills/capabilities-map-writer/SKILL.md +271 -0
- package/templates/skills/deep-module-map-writer/SKILL.md +50 -14
- package/templates/skills/export-to-github/SKILL.md +36 -1
- package/templates/skills/export-to-notion/SKILL.md +36 -1
- package/templates/skills/feature-brief-writer/SKILL.md +72 -32
- package/templates/skills/technical-design-writer/SKILL.md +10 -10
- package/templates/skills/ux-expert/SKILL.md +62 -17
|
@@ -5,7 +5,6 @@ export const MANDATORY_SKILLS = [
|
|
|
5
5
|
codex: '.agents/skills/clean-code/SKILL.md',
|
|
6
6
|
gemini: '.agents/skills/clean-code/SKILL.md',
|
|
7
7
|
claude: '.agents/skills/clean-code/SKILL.md',
|
|
8
|
-
windsurf: '.agents/skills/clean-code/SKILL.md',
|
|
9
8
|
},
|
|
10
9
|
},
|
|
11
10
|
{
|
|
@@ -14,7 +13,22 @@ export const MANDATORY_SKILLS = [
|
|
|
14
13
|
codex: '.agents/skills/product-vision-writer/SKILL.md',
|
|
15
14
|
gemini: '.agents/skills/product-vision-writer/SKILL.md',
|
|
16
15
|
claude: '.agents/skills/product-vision-writer/SKILL.md',
|
|
17
|
-
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
templateRelativePath: 'skills/business-domain-model-writer/SKILL.md',
|
|
20
|
+
targetRelativePathsByAgent: {
|
|
21
|
+
codex: '.agents/skills/business-domain-model-writer/SKILL.md',
|
|
22
|
+
gemini: '.agents/skills/business-domain-model-writer/SKILL.md',
|
|
23
|
+
claude: '.agents/skills/business-domain-model-writer/SKILL.md',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
templateRelativePath: 'skills/capabilities-map-writer/SKILL.md',
|
|
28
|
+
targetRelativePathsByAgent: {
|
|
29
|
+
codex: '.agents/skills/capabilities-map-writer/SKILL.md',
|
|
30
|
+
gemini: '.agents/skills/capabilities-map-writer/SKILL.md',
|
|
31
|
+
claude: '.agents/skills/capabilities-map-writer/SKILL.md',
|
|
18
32
|
},
|
|
19
33
|
},
|
|
20
34
|
{
|
|
@@ -23,7 +37,6 @@ export const MANDATORY_SKILLS = [
|
|
|
23
37
|
codex: '.agents/skills/deep-module-map-writer/SKILL.md',
|
|
24
38
|
gemini: '.agents/skills/deep-module-map-writer/SKILL.md',
|
|
25
39
|
claude: '.agents/skills/deep-module-map-writer/SKILL.md',
|
|
26
|
-
windsurf: '.agents/skills/deep-module-map-writer/SKILL.md',
|
|
27
40
|
},
|
|
28
41
|
},
|
|
29
42
|
{
|
|
@@ -32,7 +45,6 @@ export const MANDATORY_SKILLS = [
|
|
|
32
45
|
codex: '.agents/skills/feature-brief-writer/SKILL.md',
|
|
33
46
|
gemini: '.agents/skills/feature-brief-writer/SKILL.md',
|
|
34
47
|
claude: '.agents/skills/feature-brief-writer/SKILL.md',
|
|
35
|
-
windsurf: '.agents/skills/feature-brief-writer/SKILL.md',
|
|
36
48
|
},
|
|
37
49
|
},
|
|
38
50
|
{
|
|
@@ -41,7 +53,6 @@ export const MANDATORY_SKILLS = [
|
|
|
41
53
|
codex: '.agents/skills/technical-design-writer/SKILL.md',
|
|
42
54
|
gemini: '.agents/skills/technical-design-writer/SKILL.md',
|
|
43
55
|
claude: '.agents/skills/technical-design-writer/SKILL.md',
|
|
44
|
-
windsurf: '.agents/skills/technical-design-writer/SKILL.md',
|
|
45
56
|
},
|
|
46
57
|
},
|
|
47
58
|
{
|
|
@@ -50,7 +61,6 @@ export const MANDATORY_SKILLS = [
|
|
|
50
61
|
codex: '.agents/skills/scrum-master-planner/SKILL.md',
|
|
51
62
|
gemini: '.agents/skills/scrum-master-planner/SKILL.md',
|
|
52
63
|
claude: '.agents/skills/scrum-master-planner/SKILL.md',
|
|
53
|
-
windsurf: '.agents/skills/scrum-master-planner/SKILL.md',
|
|
54
64
|
},
|
|
55
65
|
},
|
|
56
66
|
{
|
|
@@ -59,7 +69,38 @@ export const MANDATORY_SKILLS = [
|
|
|
59
69
|
codex: '.agents/skills/ai-implementation-planner/SKILL.md',
|
|
60
70
|
gemini: '.agents/skills/ai-implementation-planner/SKILL.md',
|
|
61
71
|
claude: '.agents/skills/ai-implementation-planner/SKILL.md',
|
|
62
|
-
|
|
72
|
+
},
|
|
73
|
+
supplementalTargetsByAgent: {
|
|
74
|
+
codex: [
|
|
75
|
+
{
|
|
76
|
+
templateRelativePath: 'skills/ai-implementation-planner-toolbox/SKILL.md',
|
|
77
|
+
targetRelativePath: '.agents/skills/ai-implementation-planner-toolbox/SKILL.md',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
templateRelativePath: '.codex/agents/sibu-implementation-planner.toml',
|
|
81
|
+
targetRelativePath: '.codex/agents/sibu-implementation-planner.toml',
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
gemini: [
|
|
85
|
+
{
|
|
86
|
+
templateRelativePath: 'skills/ai-implementation-planner-toolbox/SKILL.md',
|
|
87
|
+
targetRelativePath: '.agents/skills/ai-implementation-planner-toolbox/SKILL.md',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
templateRelativePath: '.gemini/agents/sibu-implementation-planner.md',
|
|
91
|
+
targetRelativePath: '.gemini/agents/sibu-implementation-planner.md',
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
claude: [
|
|
95
|
+
{
|
|
96
|
+
templateRelativePath: 'skills/ai-implementation-planner-toolbox/SKILL.md',
|
|
97
|
+
targetRelativePath: '.agents/skills/ai-implementation-planner-toolbox/SKILL.md',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
templateRelativePath: '.claude/agents/sibu-implementation-planner.md',
|
|
101
|
+
targetRelativePath: '.claude/agents/sibu-implementation-planner.md',
|
|
102
|
+
},
|
|
103
|
+
],
|
|
63
104
|
},
|
|
64
105
|
},
|
|
65
106
|
{
|
|
@@ -68,7 +109,38 @@ export const MANDATORY_SKILLS = [
|
|
|
68
109
|
codex: '.agents/skills/ai-implementation-plan-executor/SKILL.md',
|
|
69
110
|
gemini: '.agents/skills/ai-implementation-plan-executor/SKILL.md',
|
|
70
111
|
claude: '.agents/skills/ai-implementation-plan-executor/SKILL.md',
|
|
71
|
-
|
|
112
|
+
},
|
|
113
|
+
supplementalTargetsByAgent: {
|
|
114
|
+
codex: [
|
|
115
|
+
{
|
|
116
|
+
templateRelativePath: 'skills/ai-implementation-executor-toolbox/SKILL.md',
|
|
117
|
+
targetRelativePath: '.agents/skills/ai-implementation-executor-toolbox/SKILL.md',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
templateRelativePath: '.codex/agents/sibu-implementation-executor.toml',
|
|
121
|
+
targetRelativePath: '.codex/agents/sibu-implementation-executor.toml',
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
gemini: [
|
|
125
|
+
{
|
|
126
|
+
templateRelativePath: 'skills/ai-implementation-executor-toolbox/SKILL.md',
|
|
127
|
+
targetRelativePath: '.agents/skills/ai-implementation-executor-toolbox/SKILL.md',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
templateRelativePath: '.gemini/agents/sibu-implementation-executor.md',
|
|
131
|
+
targetRelativePath: '.gemini/agents/sibu-implementation-executor.md',
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
claude: [
|
|
135
|
+
{
|
|
136
|
+
templateRelativePath: 'skills/ai-implementation-executor-toolbox/SKILL.md',
|
|
137
|
+
targetRelativePath: '.agents/skills/ai-implementation-executor-toolbox/SKILL.md',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
templateRelativePath: '.claude/agents/sibu-implementation-executor.md',
|
|
141
|
+
targetRelativePath: '.claude/agents/sibu-implementation-executor.md',
|
|
142
|
+
},
|
|
143
|
+
],
|
|
72
144
|
},
|
|
73
145
|
},
|
|
74
146
|
{
|
|
@@ -77,10 +149,26 @@ export const MANDATORY_SKILLS = [
|
|
|
77
149
|
codex: '.agents/skills/feature-idea-capture/SKILL.md',
|
|
78
150
|
gemini: '.agents/skills/feature-idea-capture/SKILL.md',
|
|
79
151
|
claude: '.agents/skills/feature-idea-capture/SKILL.md',
|
|
80
|
-
windsurf: '.agents/skills/feature-idea-capture/SKILL.md',
|
|
81
152
|
},
|
|
82
153
|
},
|
|
83
154
|
];
|
|
155
|
+
export const SESSION_START_HOOKS = [
|
|
156
|
+
{
|
|
157
|
+
agentId: 'codex',
|
|
158
|
+
templateRelativePath: '.codex/hooks.json',
|
|
159
|
+
targetRelativePath: '.codex/hooks.json',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
agentId: 'gemini',
|
|
163
|
+
templateRelativePath: '.gemini/settings.json',
|
|
164
|
+
targetRelativePath: '.gemini/settings.json',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
agentId: 'claude',
|
|
168
|
+
templateRelativePath: '.claude/settings.json',
|
|
169
|
+
targetRelativePath: '.claude/settings.json',
|
|
170
|
+
},
|
|
171
|
+
];
|
|
84
172
|
export const SELECTABLE_LANGUAGE_SKILLS = [
|
|
85
173
|
{
|
|
86
174
|
id: 'typescript',
|
|
@@ -92,7 +180,6 @@ export const SELECTABLE_LANGUAGE_SKILLS = [
|
|
|
92
180
|
codex: '.agents/skills/typescript/SKILL.md',
|
|
93
181
|
gemini: '.agents/skills/typescript/SKILL.md',
|
|
94
182
|
claude: '.agents/skills/typescript/SKILL.md',
|
|
95
|
-
windsurf: '.agents/skills/typescript/SKILL.md',
|
|
96
183
|
},
|
|
97
184
|
},
|
|
98
185
|
{
|
|
@@ -105,7 +192,6 @@ export const SELECTABLE_LANGUAGE_SKILLS = [
|
|
|
105
192
|
codex: '.agents/skills/golang/SKILL.md',
|
|
106
193
|
gemini: '.agents/skills/golang/SKILL.md',
|
|
107
194
|
claude: '.agents/skills/golang/SKILL.md',
|
|
108
|
-
windsurf: '.agents/skills/golang/SKILL.md',
|
|
109
195
|
},
|
|
110
196
|
},
|
|
111
197
|
];
|
|
@@ -120,7 +206,6 @@ export const SELECTABLE_DATABASE_SKILLS = [
|
|
|
120
206
|
codex: '.agents/skills/postgresql-expert/SKILL.md',
|
|
121
207
|
gemini: '.agents/skills/postgresql-expert/SKILL.md',
|
|
122
208
|
claude: '.agents/skills/postgresql-expert/SKILL.md',
|
|
123
|
-
windsurf: '.agents/skills/postgresql-expert/SKILL.md',
|
|
124
209
|
},
|
|
125
210
|
},
|
|
126
211
|
];
|
|
@@ -135,7 +220,6 @@ export const SELECTABLE_FRAMEWORK_SKILLS = [
|
|
|
135
220
|
codex: '.agents/skills/react/SKILL.md',
|
|
136
221
|
gemini: '.agents/skills/react/SKILL.md',
|
|
137
222
|
claude: '.agents/skills/react/SKILL.md',
|
|
138
|
-
windsurf: '.agents/skills/react/SKILL.md',
|
|
139
223
|
},
|
|
140
224
|
},
|
|
141
225
|
{
|
|
@@ -148,7 +232,6 @@ export const SELECTABLE_FRAMEWORK_SKILLS = [
|
|
|
148
232
|
codex: '.agents/skills/nextjs/SKILL.md',
|
|
149
233
|
gemini: '.agents/skills/nextjs/SKILL.md',
|
|
150
234
|
claude: '.agents/skills/nextjs/SKILL.md',
|
|
151
|
-
windsurf: '.agents/skills/nextjs/SKILL.md',
|
|
152
235
|
},
|
|
153
236
|
},
|
|
154
237
|
];
|
|
@@ -163,7 +246,6 @@ export const SELECTABLE_ARCHITECTURE_SKILLS = [
|
|
|
163
246
|
codex: '.agents/skills/ddd-hexagonal/SKILL.md',
|
|
164
247
|
gemini: '.agents/skills/ddd-hexagonal/SKILL.md',
|
|
165
248
|
claude: '.agents/skills/ddd-hexagonal/SKILL.md',
|
|
166
|
-
windsurf: '.agents/skills/ddd-hexagonal/SKILL.md',
|
|
167
249
|
},
|
|
168
250
|
},
|
|
169
251
|
{
|
|
@@ -176,7 +258,6 @@ export const SELECTABLE_ARCHITECTURE_SKILLS = [
|
|
|
176
258
|
codex: '.agents/skills/command-pattern/SKILL.md',
|
|
177
259
|
gemini: '.agents/skills/command-pattern/SKILL.md',
|
|
178
260
|
claude: '.agents/skills/command-pattern/SKILL.md',
|
|
179
|
-
windsurf: '.agents/skills/command-pattern/SKILL.md',
|
|
180
261
|
},
|
|
181
262
|
},
|
|
182
263
|
{
|
|
@@ -189,7 +270,6 @@ export const SELECTABLE_ARCHITECTURE_SKILLS = [
|
|
|
189
270
|
codex: '.agents/skills/layered-architecture/SKILL.md',
|
|
190
271
|
gemini: '.agents/skills/layered-architecture/SKILL.md',
|
|
191
272
|
claude: '.agents/skills/layered-architecture/SKILL.md',
|
|
192
|
-
windsurf: '.agents/skills/layered-architecture/SKILL.md',
|
|
193
273
|
},
|
|
194
274
|
},
|
|
195
275
|
];
|
|
@@ -204,7 +284,6 @@ export const SELECTABLE_WORKFLOW_SKILLS = [
|
|
|
204
284
|
codex: '.agents/skills/ai-prompt-engineer-master/SKILL.md',
|
|
205
285
|
gemini: '.agents/skills/ai-prompt-engineer-master/SKILL.md',
|
|
206
286
|
claude: '.agents/skills/ai-prompt-engineer-master/SKILL.md',
|
|
207
|
-
windsurf: '.agents/skills/ai-prompt-engineer-master/SKILL.md',
|
|
208
287
|
},
|
|
209
288
|
},
|
|
210
289
|
{
|
|
@@ -217,7 +296,6 @@ export const SELECTABLE_WORKFLOW_SKILLS = [
|
|
|
217
296
|
codex: '.agents/skills/ux-expert/SKILL.md',
|
|
218
297
|
gemini: '.agents/skills/ux-expert/SKILL.md',
|
|
219
298
|
claude: '.agents/skills/ux-expert/SKILL.md',
|
|
220
|
-
windsurf: '.agents/skills/ux-expert/SKILL.md',
|
|
221
299
|
},
|
|
222
300
|
},
|
|
223
301
|
{
|
|
@@ -230,7 +308,26 @@ export const SELECTABLE_WORKFLOW_SKILLS = [
|
|
|
230
308
|
codex: '.agents/skills/export-to-github/SKILL.md',
|
|
231
309
|
gemini: '.agents/skills/export-to-github/SKILL.md',
|
|
232
310
|
claude: '.agents/skills/export-to-github/SKILL.md',
|
|
233
|
-
|
|
311
|
+
},
|
|
312
|
+
supplementalTargetsByAgent: {
|
|
313
|
+
codex: [
|
|
314
|
+
{
|
|
315
|
+
templateRelativePath: '.codex/agents/github-exporter.toml',
|
|
316
|
+
targetRelativePath: '.codex/agents/github-exporter.toml',
|
|
317
|
+
},
|
|
318
|
+
],
|
|
319
|
+
gemini: [
|
|
320
|
+
{
|
|
321
|
+
templateRelativePath: '.gemini/agents/github-exporter.md',
|
|
322
|
+
targetRelativePath: '.gemini/agents/github-exporter.md',
|
|
323
|
+
},
|
|
324
|
+
],
|
|
325
|
+
claude: [
|
|
326
|
+
{
|
|
327
|
+
templateRelativePath: '.claude/agents/github-exporter.md',
|
|
328
|
+
targetRelativePath: '.claude/agents/github-exporter.md',
|
|
329
|
+
},
|
|
330
|
+
],
|
|
234
331
|
},
|
|
235
332
|
},
|
|
236
333
|
{
|
|
@@ -243,7 +340,26 @@ export const SELECTABLE_WORKFLOW_SKILLS = [
|
|
|
243
340
|
codex: '.agents/skills/export-to-notion/SKILL.md',
|
|
244
341
|
gemini: '.agents/skills/export-to-notion/SKILL.md',
|
|
245
342
|
claude: '.agents/skills/export-to-notion/SKILL.md',
|
|
246
|
-
|
|
343
|
+
},
|
|
344
|
+
supplementalTargetsByAgent: {
|
|
345
|
+
codex: [
|
|
346
|
+
{
|
|
347
|
+
templateRelativePath: '.codex/agents/notion-exporter.toml',
|
|
348
|
+
targetRelativePath: '.codex/agents/notion-exporter.toml',
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
gemini: [
|
|
352
|
+
{
|
|
353
|
+
templateRelativePath: '.gemini/agents/notion-exporter.md',
|
|
354
|
+
targetRelativePath: '.gemini/agents/notion-exporter.md',
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
claude: [
|
|
358
|
+
{
|
|
359
|
+
templateRelativePath: '.claude/agents/notion-exporter.md',
|
|
360
|
+
targetRelativePath: '.claude/agents/notion-exporter.md',
|
|
361
|
+
},
|
|
362
|
+
],
|
|
247
363
|
},
|
|
248
364
|
},
|
|
249
365
|
];
|
|
@@ -295,6 +411,7 @@ export const SUPPORTED_AGENTS = [
|
|
|
295
411
|
description: 'Create .codex/config.toml pointing Codex to AGENTS.md',
|
|
296
412
|
targetRelativePath: '.codex/config.toml',
|
|
297
413
|
templateRelativePath: '.codex/config.toml',
|
|
414
|
+
supportsForegroundWorkers: true,
|
|
298
415
|
},
|
|
299
416
|
{
|
|
300
417
|
id: 'gemini',
|
|
@@ -302,6 +419,7 @@ export const SUPPORTED_AGENTS = [
|
|
|
302
419
|
description: 'Create GEMINI.md that delegates to AGENTS.md',
|
|
303
420
|
targetRelativePath: 'GEMINI.md',
|
|
304
421
|
templateRelativePath: 'GEMINI.md',
|
|
422
|
+
supportsForegroundWorkers: true,
|
|
305
423
|
},
|
|
306
424
|
{
|
|
307
425
|
id: 'claude',
|
|
@@ -309,11 +427,7 @@ export const SUPPORTED_AGENTS = [
|
|
|
309
427
|
description: 'Create CLAUDE.md that delegates to AGENTS.md',
|
|
310
428
|
targetRelativePath: 'CLAUDE.md',
|
|
311
429
|
templateRelativePath: 'CLAUDE.md',
|
|
312
|
-
|
|
313
|
-
{
|
|
314
|
-
id: 'windsurf',
|
|
315
|
-
name: 'Windsurf',
|
|
316
|
-
description: 'Use root AGENTS.md and shared .agents/skills/ discovery',
|
|
430
|
+
supportsForegroundWorkers: true,
|
|
317
431
|
},
|
|
318
432
|
];
|
|
319
433
|
export function resolveSelectableMcpServerById(serverId) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { MANDATORY_SKILLS, SELECTABLE_ARCHITECTURE_SKILLS, SELECTABLE_DATABASE_SKILLS, SELECTABLE_FRAMEWORK_SKILLS, SELECTABLE_LANGUAGE_SKILLS, SELECTABLE_MCP_SERVERS, SELECTABLE_WORKFLOW_SKILLS, SUPPORTED_AGENTS, getMcpServersRequiredByWorkflowSkills, getWorkflowSkillsImpliedByMcpServers, resolveSelectableMcpServerById, resolveSelectableSkillById, } from './catalog.js';
|
|
2
|
-
export { getSelectedAgentsFromState, getSelectedArchitectureSkillFromState, getSelectedDatabaseSkillsFromState, getSelectedFrameworkSkillsFromState, getSelectedLanguageSkillsFromState, getSelectedMcpServersFromState, getSelectedMcpTargetsForAgents, getSelectedSkillTargetsForAgents, getSelectedWorkflowSkillsFromState, getWorkflowTargets, renderMissingWorkflowFiles, writeSibuState, } from './workflow-targets.js';
|
|
1
|
+
export { MANDATORY_SKILLS, SELECTABLE_ARCHITECTURE_SKILLS, SELECTABLE_DATABASE_SKILLS, SELECTABLE_FRAMEWORK_SKILLS, SELECTABLE_LANGUAGE_SKILLS, SELECTABLE_MCP_SERVERS, SELECTABLE_WORKFLOW_SKILLS, SESSION_START_HOOKS, SUPPORTED_AGENTS, getMcpServersRequiredByWorkflowSkills, getWorkflowSkillsImpliedByMcpServers, resolveSelectableMcpServerById, resolveSelectableSkillById, } from './catalog.js';
|
|
2
|
+
export { getSelectedAgentsFromState, getSelectedArchitectureSkillFromState, getSelectedDatabaseSkillsFromState, getSelectedFrameworkSkillsFromState, getSelectedLanguageSkillsFromState, getSelectedMcpServersFromState, getSelectedMcpTargetsForAgents, getSelectedSkillTargetsForAgents, getSelectedWorkflowSkillsFromState, getSkillTargetsForAgents, getWorkflowTargets, renderMissingWorkflowFiles, writeSibuState, } from './workflow-targets.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { SIBU_VERSION } from '../version-advisory/index.js';
|
|
4
|
-
import { MANDATORY_SKILLS, SELECTABLE_ARCHITECTURE_SKILLS, SELECTABLE_DATABASE_SKILLS, SELECTABLE_FRAMEWORK_SKILLS, SELECTABLE_LANGUAGE_SKILLS, SELECTABLE_MCP_SERVERS, SELECTABLE_WORKFLOW_SKILLS, SUPPORTED_AGENTS, } from './index.js';
|
|
4
|
+
import { MANDATORY_SKILLS, SELECTABLE_ARCHITECTURE_SKILLS, SELECTABLE_DATABASE_SKILLS, SELECTABLE_FRAMEWORK_SKILLS, SELECTABLE_LANGUAGE_SKILLS, SELECTABLE_MCP_SERVERS, SELECTABLE_WORKFLOW_SKILLS, SESSION_START_HOOKS, SUPPORTED_AGENTS, } from './index.js';
|
|
5
5
|
import { sha256 } from '../../shared/hash.js';
|
|
6
6
|
import { removeUndefinedFields } from '../../shared/object.js';
|
|
7
7
|
import { readExistingState } from '../workflow-state-registry/index.js';
|
|
8
|
-
import { getTemplateVersion, readTemplate, readTemplateManifest, renderMcpConfig, renderSkillRouting } from '../template-catalog-rendering/index.js';
|
|
8
|
+
import { getTemplateVersion, readTemplate, readTemplateManifest, renderMcpConfig, renderSkillRouting, renderWorkerToolboxRoutingPlaceholders } from '../template-catalog-rendering/index.js';
|
|
9
9
|
export function getSelectedLanguageSkillsFromState(state) {
|
|
10
10
|
return SELECTABLE_LANGUAGE_SKILLS.filter((skill) => state.selectedLanguageSkills?.includes(skill.id));
|
|
11
11
|
}
|
|
@@ -36,18 +36,36 @@ export function getSelectedSkillTargetsForAgents(selectedAgents, selectedLanguag
|
|
|
36
36
|
];
|
|
37
37
|
for (const agent of selectedAgents) {
|
|
38
38
|
for (const skill of selectedSkills) {
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
continue;
|
|
39
|
+
for (const skillTarget of getSkillTargetsForAgent(skill, agent.id)) {
|
|
40
|
+
skillTargets.set(skillTarget.targetRelativePath, skillTarget);
|
|
42
41
|
}
|
|
43
|
-
skillTargets.set(targetRelativePath, {
|
|
44
|
-
targetRelativePath,
|
|
45
|
-
templateRelativePath: skill.templateRelativePath,
|
|
46
|
-
});
|
|
47
42
|
}
|
|
48
43
|
}
|
|
49
44
|
return [...skillTargets.values()];
|
|
50
45
|
}
|
|
46
|
+
export function getSkillTargetsForAgents(skill, selectedAgents) {
|
|
47
|
+
const skillTargets = new Map();
|
|
48
|
+
for (const agent of selectedAgents) {
|
|
49
|
+
for (const skillTarget of getSkillTargetsForAgent(skill, agent.id)) {
|
|
50
|
+
skillTargets.set(skillTarget.targetRelativePath, skillTarget);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return [...skillTargets.values()];
|
|
54
|
+
}
|
|
55
|
+
function getSkillTargetsForAgent(skill, agentId) {
|
|
56
|
+
const targets = [];
|
|
57
|
+
const targetRelativePath = skill.targetRelativePathsByAgent[agentId];
|
|
58
|
+
if (targetRelativePath) {
|
|
59
|
+
targets.push({
|
|
60
|
+
targetRelativePath,
|
|
61
|
+
templateRelativePath: skill.templateRelativePath,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
for (const supplementalTarget of skill.supplementalTargetsByAgent?.[agentId] ?? []) {
|
|
65
|
+
targets.push(supplementalTarget);
|
|
66
|
+
}
|
|
67
|
+
return targets;
|
|
68
|
+
}
|
|
51
69
|
export function getSelectedMcpTargetsForAgents(selectedAgents, selectedMcpServers) {
|
|
52
70
|
if (selectedMcpServers.length === 0) {
|
|
53
71
|
return [];
|
|
@@ -83,6 +101,13 @@ export function getSelectedMcpTargetsForAgents(selectedAgents, selectedMcpServer
|
|
|
83
101
|
return [];
|
|
84
102
|
});
|
|
85
103
|
}
|
|
104
|
+
function getSessionStartHookTargetsForAgents(selectedAgents) {
|
|
105
|
+
const selectedAgentIds = new Set(selectedAgents.map((agent) => agent.id));
|
|
106
|
+
return SESSION_START_HOOKS.filter((hookTemplate) => selectedAgentIds.has(hookTemplate.agentId)).map((hookTemplate) => ({
|
|
107
|
+
targetRelativePath: hookTemplate.targetRelativePath,
|
|
108
|
+
templateRelativePath: hookTemplate.templateRelativePath,
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
86
111
|
export function getWorkflowTargets(rootPath, selectedAgents, selectedLanguageSkills = [], selectedFrameworkSkills = [], selectedArchitectureSkill, selectedWorkflowSkills = [], selectedDatabaseSkills = [], selectedMcpServers = []) {
|
|
87
112
|
const targets = [
|
|
88
113
|
{
|
|
@@ -113,6 +138,13 @@ export function getWorkflowTargets(rootPath, selectedAgents, selectedLanguageSki
|
|
|
113
138
|
requiresProjectOverview: false,
|
|
114
139
|
targetKind: 'skill',
|
|
115
140
|
})),
|
|
141
|
+
...getSessionStartHookTargetsForAgents(selectedAgents).map((hookTarget) => ({
|
|
142
|
+
label: hookTarget.targetRelativePath,
|
|
143
|
+
targetPath: path.join(rootPath, hookTarget.targetRelativePath),
|
|
144
|
+
templateRelativePath: hookTarget.templateRelativePath,
|
|
145
|
+
requiresProjectOverview: false,
|
|
146
|
+
targetKind: 'agent-support',
|
|
147
|
+
})),
|
|
116
148
|
];
|
|
117
149
|
for (const mcpTarget of getSelectedMcpTargetsForAgents(selectedAgents, selectedMcpServers)) {
|
|
118
150
|
const targetPath = path.join(rootPath, mcpTarget.targetRelativePath);
|
|
@@ -151,6 +183,7 @@ export function renderMissingWorkflowFiles({ missingTargets, overview, selectedL
|
|
|
151
183
|
contents = contents.replace('{{PROJECT_OVERVIEW}}', overview.trim());
|
|
152
184
|
}
|
|
153
185
|
contents = renderSkillRouting(contents, selectedLanguageSkills, selectedFrameworkSkills, selectedArchitectureSkill, selectedWorkflowSkills, selectedDatabaseSkills);
|
|
186
|
+
contents = renderWorkerToolboxRoutingPlaceholders(contents, selectedLanguageSkills, selectedFrameworkSkills, selectedArchitectureSkill, selectedWorkflowSkills, selectedDatabaseSkills);
|
|
154
187
|
return {
|
|
155
188
|
label: target.label,
|
|
156
189
|
targetPath: target.targetPath,
|
package/package.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: github-exporter
|
|
3
|
+
description: Exports Sibu feature epics and user stories to GitHub issues with narrow task context and no local repository writes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the GitHub exporter sub-agent for Sibu-managed workflows.
|
|
7
|
+
|
|
8
|
+
Use only the specific export packet from the main agent: feature slug or explicit planning artifact paths, target repository resolved from the current repo, the no-local-write rule, and the expected final output format. Do not rely on or request the main agent's full conversation context.
|
|
9
|
+
|
|
10
|
+
Scope:
|
|
11
|
+
- Export only local Epic briefs and User Story Markdown files for the requested feature.
|
|
12
|
+
- Read local Markdown files as source of truth.
|
|
13
|
+
- Write only to GitHub issues and native sub-issue relationships.
|
|
14
|
+
- Ask for explicit opt-in before creating or modifying GitHub issues or sub-issues.
|
|
15
|
+
- Do not modify local repository files or write GitHub URLs back into Markdown by default.
|
|
16
|
+
- Return concise created issue URLs or numbers, sub-issue relationship results, and any errors.
|
|
17
|
+
|
|
18
|
+
If issue creation, issue ID access, native sub-issue mutation, or target repository resolution is unavailable, fail clearly and do not fall back to labels, loose links, projects, or checklists.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: notion-exporter
|
|
3
|
+
description: Exports Sibu feature documentation to Notion with narrow task context and no local repository writes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the Notion exporter sub-agent for Sibu-managed workflows.
|
|
7
|
+
|
|
8
|
+
Use only the specific export packet from the main agent: feature slug or explicit source paths, Notion destination details, the no-local-write rule, and the expected final output format. Do not rely on or request the main agent's full conversation context.
|
|
9
|
+
|
|
10
|
+
Scope:
|
|
11
|
+
- Export only allowed feature documentation artifacts: feature brief, UX design, and technical design.
|
|
12
|
+
- Read local Markdown files as source of truth.
|
|
13
|
+
- Write only to Notion.
|
|
14
|
+
- Ask for explicit opt-in before creating or modifying Notion pages.
|
|
15
|
+
- Do not modify local repository files or write Notion URLs back into Markdown by default.
|
|
16
|
+
- Return concise created or updated Notion URLs and any errors.
|
|
17
|
+
|
|
18
|
+
If required Notion MCP capabilities, destination details, or source files are missing, fail clearly instead of inventing content or destinations.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sibu-implementation-executor
|
|
3
|
+
description: Executes one Sibu story plan in a fresh, bounded context using the executor toolbox skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the Sibu implementation executor worker.
|
|
7
|
+
|
|
8
|
+
Communication mode: use light verbose mode for all progress updates and final reporting.
|
|
9
|
+
|
|
10
|
+
Light verbose mode rules:
|
|
11
|
+
- Show the plan once at the beginning, with at most 5 bullets.
|
|
12
|
+
- Announce only major phase changes.
|
|
13
|
+
- Mention skills or tools only when first used.
|
|
14
|
+
- Do not explain obvious file reads.
|
|
15
|
+
- Summarize batches of work instead of every action.
|
|
16
|
+
- Report decisions, not thought processes.
|
|
17
|
+
- Show only test failures and final test results.
|
|
18
|
+
- Give a concise final summary that satisfies the worker's required final output format.
|
|
19
|
+
|
|
20
|
+
Use only the narrow executor packet from the main agent. Do not rely on or request the main agent's full conversation context.
|
|
21
|
+
|
|
22
|
+
The packet must include exactly one User Story path or one story-local `.impl_plan/` folder, required source artifact paths, the executor toolbox skill path, required and optional skill paths, distilled constraints, approval and commit rules, and the expected final output format. If required packet fields are missing or ambiguous, stop and ask the main agent for the missing packet fields.
|
|
23
|
+
|
|
24
|
+
Before execution:
|
|
25
|
+
- Read and follow the executor toolbox skill from the packet.
|
|
26
|
+
- Read required skill files listed in the packet, including clean-code.
|
|
27
|
+
- Read optional installed skill files only when relevant to the story, step files, source artifacts, or touched files.
|
|
28
|
+
- Treat distilled constraints as binding for this task.
|
|
29
|
+
|
|
30
|
+
Execute exactly one story plan. You may edit the local working tree and run validation. Never approve your own work, write approval metadata, run git commit, run git stash, or run git reset.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sibu-implementation-planner
|
|
3
|
+
description: Plans one Sibu User Story in a fresh, bounded context using the planner toolbox skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the Sibu implementation planner worker.
|
|
7
|
+
|
|
8
|
+
Communication mode: use light verbose mode for all progress updates and final reporting.
|
|
9
|
+
|
|
10
|
+
Light verbose mode rules:
|
|
11
|
+
- Show the plan once at the beginning, with at most 5 bullets.
|
|
12
|
+
- Announce only major phase changes.
|
|
13
|
+
- Mention skills or tools only when first used.
|
|
14
|
+
- Do not explain obvious file reads.
|
|
15
|
+
- Summarize batches of work instead of every action.
|
|
16
|
+
- Report decisions, not thought processes.
|
|
17
|
+
- Show only test failures and final test results.
|
|
18
|
+
- Give a concise final summary that satisfies the worker's required final output format.
|
|
19
|
+
|
|
20
|
+
Use only the narrow planner packet from the main agent. Do not rely on or request the main agent's full conversation context.
|
|
21
|
+
|
|
22
|
+
The packet must include exactly one User Story path, required source artifact paths, the planner toolbox skill path, required and optional skill paths, distilled constraints, and the expected final output format. If required packet fields are missing or ambiguous, stop and ask the main agent for the missing packet fields.
|
|
23
|
+
|
|
24
|
+
Before planning:
|
|
25
|
+
- Read and follow the planner toolbox skill from the packet.
|
|
26
|
+
- Read required skill files listed in the packet, including clean-code.
|
|
27
|
+
- Read optional installed skill files only when relevant to the story or source artifacts.
|
|
28
|
+
- Treat distilled constraints as binding for this task.
|
|
29
|
+
|
|
30
|
+
Plan exactly one story. Write only story-local implementation plan files. Never write production code or unrelated artifacts.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "startup",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "sh -lc 'if latest=$(npm view @juancr11/sibu version 2>/dev/null); then echo \"Sibu latest version: $latest\"; else echo \"Sibu version check unavailable; continuing to sibu doctor.\"; fi; sibu doctor || true'",
|
|
10
|
+
"timeout": 60
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name = "github-exporter"
|
|
2
|
+
description = "Exports Sibu feature epics and user stories to GitHub issues with narrow task context and no local repository writes."
|
|
3
|
+
|
|
4
|
+
developer_instructions = """
|
|
5
|
+
You are the GitHub exporter sub-agent for Sibu-managed workflows.
|
|
6
|
+
|
|
7
|
+
Use only the specific export packet from the main agent: feature slug or explicit planning artifact paths, target repository resolved from the current repo, the no-local-write rule, and the expected final output format. Do not rely on or request the main agent's full conversation context.
|
|
8
|
+
|
|
9
|
+
If the export packet is missing required source paths, destination details, mutation approval state, or expected output format, stop and ask the main agent for the missing packet. Do not infer missing export inputs from broader conversation history.
|
|
10
|
+
|
|
11
|
+
Scope:
|
|
12
|
+
- Export only local Epic briefs and User Story Markdown files for the requested feature.
|
|
13
|
+
- Read local Markdown files as source of truth.
|
|
14
|
+
- Write only to GitHub issues and native sub-issue relationships.
|
|
15
|
+
- Ask for explicit opt-in before creating or modifying GitHub issues or sub-issues.
|
|
16
|
+
- Do not modify local repository files or write GitHub URLs back into Markdown by default.
|
|
17
|
+
- Return concise created issue URLs or numbers, sub-issue relationship results, and any errors.
|
|
18
|
+
|
|
19
|
+
If issue creation, issue ID access, native sub-issue mutation, or target repository resolution is unavailable, fail clearly and do not fall back to labels, loose links, projects, or checklists.
|
|
20
|
+
"""
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name = "notion-exporter"
|
|
2
|
+
description = "Exports Sibu feature documentation to Notion with narrow task context and no local repository writes."
|
|
3
|
+
|
|
4
|
+
developer_instructions = """
|
|
5
|
+
You are the Notion exporter sub-agent for Sibu-managed workflows.
|
|
6
|
+
|
|
7
|
+
Use only the specific export packet from the main agent: feature slug or explicit source paths, Notion destination details, the no-local-write rule, and the expected final output format. Do not rely on or request the main agent's full conversation context.
|
|
8
|
+
|
|
9
|
+
If the export packet is missing required source paths, destination details, mutation approval state, or expected output format, stop and ask the main agent for the missing packet. Do not infer missing export inputs from broader conversation history.
|
|
10
|
+
|
|
11
|
+
Scope:
|
|
12
|
+
- Export only allowed feature documentation artifacts: feature brief, UX design, and technical design.
|
|
13
|
+
- Read local Markdown files as source of truth.
|
|
14
|
+
- Write only to Notion.
|
|
15
|
+
- Ask for explicit opt-in before creating or modifying Notion pages.
|
|
16
|
+
- Do not modify local repository files or write Notion URLs back into Markdown by default.
|
|
17
|
+
- Return concise created or updated Notion URLs and any errors.
|
|
18
|
+
|
|
19
|
+
If required Notion MCP capabilities, destination details, or source files are missing, fail clearly instead of inventing content or destinations.
|
|
20
|
+
"""
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name = "sibu-implementation-executor"
|
|
2
|
+
description = "Executes one Sibu story plan in a fresh, bounded context using the executor toolbox skill."
|
|
3
|
+
|
|
4
|
+
developer_instructions = """
|
|
5
|
+
You are the Sibu implementation executor worker.
|
|
6
|
+
|
|
7
|
+
Communication mode: use light verbose mode for all progress updates and final reporting.
|
|
8
|
+
|
|
9
|
+
Light verbose mode rules:
|
|
10
|
+
- Show the plan once at the beginning, with at most 5 bullets.
|
|
11
|
+
- Announce only major phase changes.
|
|
12
|
+
- Mention skills or tools only when first used.
|
|
13
|
+
- Do not explain obvious file reads.
|
|
14
|
+
- Summarize batches of work instead of every action.
|
|
15
|
+
- Report decisions, not thought processes.
|
|
16
|
+
- Show only test failures and final test results.
|
|
17
|
+
- Give a concise final summary that satisfies the worker's required final output format.
|
|
18
|
+
|
|
19
|
+
Use only the narrow executor packet from the main agent. Do not rely on or request the main agent's full conversation context.
|
|
20
|
+
|
|
21
|
+
The packet must include exactly one User Story path or one story-local `.impl_plan/` folder, required source artifact paths, the executor toolbox skill path, required and optional skill paths, distilled constraints, approval and commit rules, and the expected final output format. If required packet fields are missing or ambiguous, stop and ask the main agent for the missing packet fields.
|
|
22
|
+
|
|
23
|
+
Before execution:
|
|
24
|
+
- Read and follow the executor toolbox skill from the packet.
|
|
25
|
+
- Read required skill files listed in the packet, including clean-code.
|
|
26
|
+
- Read optional installed skill files only when relevant to the story, step files, source artifacts, or touched files.
|
|
27
|
+
- Treat distilled constraints as binding for this task.
|
|
28
|
+
|
|
29
|
+
Execute exactly one story plan. You may edit the local working tree and run validation. Never approve your own work, write approval metadata, run git commit, run git stash, or run git reset.
|
|
30
|
+
"""
|