@bendyline/gilde 0.1.57 → 0.1.59
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/data/craftbook-templates/ba/backup-routine/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/craftbook.json +0 -16
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/test.json +7 -10
- package/data/craftbook-templates/co/content-deck/versions/1.2.4/craftbook.json +4 -4
- package/data/craftbook-templates/co/content-deck/versions/1.2.4/test.json +3 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/craftbook.json +4 -4
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/test.json +3 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/test.json +3 -6
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/test.json +6 -9
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.3/test.json +7 -10
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/test.json +9 -11
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/craftbook.json +0 -16
- package/data/craftbook-templates/mo/morning-report/versions/1.0.3/test.json +14 -17
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.4/craftbook.json +314 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.4/test.json +89 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/test.json +12 -15
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/test.json +9 -12
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.10/craftbook.json +581 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.10/test.json +240 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/test.json +3 -6
- package/data/craftbook-templates/pr/practice-session/versions/1.0.3/test.json +6 -9
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/craftbook.json +0 -8
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/test.json +8 -11
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/test.json +8 -11
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/test.json +9 -11
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/re/report-pdf/versions/1.1.4/craftbook.json +315 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.4/test.json +101 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.4/craftbook.json +386 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.4/test.json +242 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/test.json +9 -12
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/test.json +15 -18
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/craftbook.json +0 -8
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/test.json +13 -16
- package/data/toolsets/do/docblocks/versions/2.6.0/manifest.json +95 -0
- package/data/toolsets/index.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "research-to-document",
|
|
3
|
+
"name": "Word Document from Content or Research",
|
|
4
|
+
"description": "Produce a real Word document from supplied notes, existing workspace content, or a research question. The workflow locks the audience and document structure, inventories the provided evidence (and researches only when the user actually asked for new research), writes the complete source as {{sourceOutputPath}}, then uses the pre-authorized DocBlocks toolset to convert directly to DOCX, preview the pages, and save {{workPath}}/report.docx in the artifacts drawer. PDF can be emitted in the same conversion call when requested.\n\nPlain Markdown is the source of truth. DocBlocks needs no validation preflight: convert_document reports diagnostics and preview_document supplies visual evidence. Never call the removed validate_document tool, hand-assemble OOXML, or substitute HTML for a requested DOCX.\n\nWorking files under {{workPath}}/, reviews/, and reports/ live in the project artifacts drawer and must be read and written with the artifact tools. User-facing source files remain in the workspace.\n\nPreview review checks content and available rendered evidence. Reconstructed Office/PDF views do not prove native layout; a media thumbnail does not prove full playback. The final handoff states these review limits.",
|
|
5
|
+
"entryStepId": "scope",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"create a word document",
|
|
8
|
+
"make a docx",
|
|
9
|
+
"export this as docx",
|
|
10
|
+
"turn this content into a word document",
|
|
11
|
+
"research and write a document",
|
|
12
|
+
"research this and put it in word",
|
|
13
|
+
"write a cited briefing document"
|
|
14
|
+
],
|
|
15
|
+
"toolsets": [
|
|
16
|
+
{
|
|
17
|
+
"toolsetId": "docblocks",
|
|
18
|
+
"sourceId": "bundled",
|
|
19
|
+
"autoAllow": true,
|
|
20
|
+
"reason": "convert {{sourceOutputPath}} directly to DOCX or PDF, preview pages, and save the finished document without a prompt per call"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"paramSchema": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"workPath": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "Working folder",
|
|
29
|
+
"description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
|
|
30
|
+
"default": "{{task.dir}}"
|
|
31
|
+
},
|
|
32
|
+
"sourceOutputPath": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"title": "Editable source path",
|
|
35
|
+
"description": "Workspace-relative Markdown source path. The default keeps each task separate; choose an existing path only when intentionally revising it.",
|
|
36
|
+
"default": "documents/task-{{task.num}}/report.md"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"steps": [
|
|
41
|
+
{
|
|
42
|
+
"id": "scope",
|
|
43
|
+
"name": "Scope the document",
|
|
44
|
+
"description": "Lock audience, source boundary, structure, requested formats, and acceptance criteria.",
|
|
45
|
+
"prompt": "Scope the document before writing. 1. State the audience, purpose, and decision/takeaway. 2. Inventory the supplied content and named workspace files. Decide whether the user asked for new research; if not, explicitly prohibit adding outside facts. 3. Lock the section order, citation style when relevant, and whether the durable output is DOCX only or DOCX plus PDF. 4. Identify tables, figures, and existing media assets that must survive conversion. 5. Write acceptance criteria covering source fidelity, section coverage, citations when needed, readable page layout, and real saved binary files in artifacts. Write {{workPath}}/scope.md and call write_task_note with the source boundary, section count, and target formats.\n\nStore `{{workPath}}/scope.md` in the artifacts drawer with `write_artifact`, then verify it with `read_artifact`; do not write this working file to the workspace.\n\nRead an exact workspace DOCX, PPTX, PDF, or XLSX source with `read_doc_as_markdown`; use `read_file` for text or Markdown. Keep the original file path in citations. Never interpret binary bytes as text or substitute a similarly named file.",
|
|
46
|
+
"suggestedRole": "planner",
|
|
47
|
+
"advanceWhen": {
|
|
48
|
+
"file": "{{workPath}}/scope.md",
|
|
49
|
+
"minBytes": 1,
|
|
50
|
+
"sniff": "nonempty",
|
|
51
|
+
"artifact": true
|
|
52
|
+
},
|
|
53
|
+
"gate": {
|
|
54
|
+
"at": "completion",
|
|
55
|
+
"checks": [
|
|
56
|
+
{
|
|
57
|
+
"kind": "minBytes",
|
|
58
|
+
"file": "{{workPath}}/scope.md",
|
|
59
|
+
"bytes": 180,
|
|
60
|
+
"artifact": true
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"kind": "sniff",
|
|
64
|
+
"file": "{{workPath}}/scope.md",
|
|
65
|
+
"sniff": "nonempty",
|
|
66
|
+
"artifact": true
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"onReject": "scope",
|
|
70
|
+
"maxAttempts": 3
|
|
71
|
+
},
|
|
72
|
+
"next": "sources",
|
|
73
|
+
"toolPolicy": {
|
|
74
|
+
"disallowToolsets": [
|
|
75
|
+
"docblocks"
|
|
76
|
+
],
|
|
77
|
+
"disallowBuiltinToolsets": [
|
|
78
|
+
"ai-apps",
|
|
79
|
+
"archives",
|
|
80
|
+
"audio",
|
|
81
|
+
"browser-automation",
|
|
82
|
+
"code-execution",
|
|
83
|
+
"craftbooks",
|
|
84
|
+
"data-tables",
|
|
85
|
+
"entity-intel",
|
|
86
|
+
"git",
|
|
87
|
+
"image-intel",
|
|
88
|
+
"images",
|
|
89
|
+
"role-delegation",
|
|
90
|
+
"role-delegation-escalation",
|
|
91
|
+
"security-intel",
|
|
92
|
+
"team-management",
|
|
93
|
+
"videos",
|
|
94
|
+
"web",
|
|
95
|
+
"workspace-fs-write"
|
|
96
|
+
],
|
|
97
|
+
"outputMedium": "artifact",
|
|
98
|
+
"additionalOutputMedia": [
|
|
99
|
+
"task-note"
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "sources",
|
|
105
|
+
"name": "Prepare the source log",
|
|
106
|
+
"description": "Record supplied sources and gather new evidence only when research was requested.",
|
|
107
|
+
"prompt": "Prepare {{workPath}}/sources.md to the boundary in {{workPath}}/scope.md. If the user supplied the content and did not ask for research, list each supplied file or message section and the facts it contributes; do not browse or add outside claims. If new research was requested, gather credible sources, record title/publisher/date/URL or workspace path, extract only the facts relevant to the outline, and cross-check consequential claims. Assign stable citation keys when citations are required. Mark unsupported gaps rather than guessing. Call write_task_note with the source count and unresolved gaps.\n\nOpen `{{workPath}}/scope.md`, `{{workPath}}/sources.md` from the artifacts drawer with `read_artifact` before working.\n\nRead an exact workspace DOCX, PPTX, PDF, or XLSX source with `read_doc_as_markdown`; use `read_file` for text or Markdown. Keep the original file path in citations. Never interpret binary bytes as text or substitute a similarly named file.\n\nStore `{{workPath}}/sources.md` with `write_artifact` and verify it with `read_artifact` before advancing.",
|
|
108
|
+
"suggestedRole": "researcher",
|
|
109
|
+
"consumes": [
|
|
110
|
+
{
|
|
111
|
+
"file": "{{workPath}}/scope.md",
|
|
112
|
+
"artifact": true
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"advanceWhen": {
|
|
116
|
+
"file": "{{workPath}}/sources.md",
|
|
117
|
+
"minBytes": 1,
|
|
118
|
+
"sniff": "nonempty",
|
|
119
|
+
"artifact": true
|
|
120
|
+
},
|
|
121
|
+
"gate": {
|
|
122
|
+
"at": "completion",
|
|
123
|
+
"checks": [
|
|
124
|
+
{
|
|
125
|
+
"kind": "minBytes",
|
|
126
|
+
"file": "{{workPath}}/sources.md",
|
|
127
|
+
"bytes": 160,
|
|
128
|
+
"artifact": true
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"kind": "sniff",
|
|
132
|
+
"file": "{{workPath}}/sources.md",
|
|
133
|
+
"sniff": "nonempty",
|
|
134
|
+
"artifact": true
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"onReject": "sources",
|
|
138
|
+
"maxAttempts": 3
|
|
139
|
+
},
|
|
140
|
+
"next": "write",
|
|
141
|
+
"toolPolicy": {
|
|
142
|
+
"disallowToolsets": [
|
|
143
|
+
"docblocks"
|
|
144
|
+
],
|
|
145
|
+
"disallowBuiltinToolsets": [
|
|
146
|
+
"ai-apps",
|
|
147
|
+
"archives",
|
|
148
|
+
"audio",
|
|
149
|
+
"browser-automation",
|
|
150
|
+
"code-execution",
|
|
151
|
+
"craftbooks",
|
|
152
|
+
"data-tables",
|
|
153
|
+
"entity-intel",
|
|
154
|
+
"git",
|
|
155
|
+
"image-intel",
|
|
156
|
+
"images",
|
|
157
|
+
"role-delegation",
|
|
158
|
+
"role-delegation-escalation",
|
|
159
|
+
"security-intel",
|
|
160
|
+
"team-management",
|
|
161
|
+
"videos",
|
|
162
|
+
"workspace-fs-write"
|
|
163
|
+
],
|
|
164
|
+
"outputMedium": "artifact",
|
|
165
|
+
"additionalOutputMedia": [
|
|
166
|
+
"task-note"
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "write",
|
|
172
|
+
"name": "Write the Markdown document",
|
|
173
|
+
"description": "Write the complete {{sourceOutputPath}} source from the locked outline and source log.",
|
|
174
|
+
"prompt": "Write {{sourceOutputPath}} as the complete document source. 1. Follow {{workPath}}/scope.md section order exactly, starting with one H1 title and a concise opening summary. 2. Use clear H2/H3 sections and real prose grounded only in {{workPath}}/sources.md. 3. Use Markdown tables for structured comparisons and existing workspace images only when the scope calls for them; add meaningful alt text, captions, and in-prose references. 4. Cite claims with the locked style and include references when research was requested. 5. End with the requested conclusion, recommendation, or next steps. 6. Check every content criterion before advancing. Do not create DOCX XML, HTML, or base64. Call write_task_note with the path, word count, and section count.\n\nOpen `{{workPath}}/scope.md`, `{{workPath}}/sources.md` from the artifacts drawer with `read_artifact` before working.",
|
|
175
|
+
"suggestedRole": "copywriter",
|
|
176
|
+
"consumes": [
|
|
177
|
+
{
|
|
178
|
+
"file": "{{workPath}}/scope.md",
|
|
179
|
+
"artifact": true
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"file": "{{workPath}}/sources.md",
|
|
183
|
+
"artifact": true
|
|
184
|
+
}
|
|
185
|
+
],
|
|
186
|
+
"advanceWhen": {
|
|
187
|
+
"file": "{{sourceOutputPath}}",
|
|
188
|
+
"minBytes": 1,
|
|
189
|
+
"sniff": "nonempty"
|
|
190
|
+
},
|
|
191
|
+
"gate": {
|
|
192
|
+
"at": "completion",
|
|
193
|
+
"checks": [
|
|
194
|
+
{
|
|
195
|
+
"kind": "minBytes",
|
|
196
|
+
"file": "{{sourceOutputPath}}",
|
|
197
|
+
"bytes": 1000
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"kind": "contains",
|
|
201
|
+
"file": "{{sourceOutputPath}}",
|
|
202
|
+
"pattern": "(?:^|\\n)#\\s+\\S",
|
|
203
|
+
"label": "an H1 document title"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"kind": "contains",
|
|
207
|
+
"file": "{{sourceOutputPath}}",
|
|
208
|
+
"pattern": "(?:^|\\n)##\\s+\\S",
|
|
209
|
+
"label": "at least one document section"
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
"onReject": "write",
|
|
213
|
+
"maxAttempts": 4
|
|
214
|
+
},
|
|
215
|
+
"next": "publish",
|
|
216
|
+
"toolPolicy": {
|
|
217
|
+
"disallowToolsets": [
|
|
218
|
+
"docblocks"
|
|
219
|
+
],
|
|
220
|
+
"disallowBuiltinToolsets": [
|
|
221
|
+
"ai-apps",
|
|
222
|
+
"archives",
|
|
223
|
+
"audio",
|
|
224
|
+
"browser-automation",
|
|
225
|
+
"code-execution",
|
|
226
|
+
"craftbooks",
|
|
227
|
+
"data-tables",
|
|
228
|
+
"entity-intel",
|
|
229
|
+
"git",
|
|
230
|
+
"image-intel",
|
|
231
|
+
"images",
|
|
232
|
+
"role-delegation",
|
|
233
|
+
"role-delegation-escalation",
|
|
234
|
+
"security-intel",
|
|
235
|
+
"team-management",
|
|
236
|
+
"videos",
|
|
237
|
+
"web"
|
|
238
|
+
],
|
|
239
|
+
"outputMedium": "workspace",
|
|
240
|
+
"additionalOutputMedia": [
|
|
241
|
+
"task-note"
|
|
242
|
+
]
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"id": "publish",
|
|
247
|
+
"name": "Publish the Word document",
|
|
248
|
+
"description": "Convert the approved source, inspect and preview it, and save the real binary deliverables with review evidence.",
|
|
249
|
+
"prompt": "Publish the approved Markdown as real binary files. 1. Call `list_roots` to identify the read-enabled workspace root and write-enabled artifacts root. If no write root exists, record the blocker. Read `{{workPath}}/scope.md` from the artifacts drawer with `read_artifact` and the approved `{{sourceOutputPath}}` from the workspace with `read_file`. 2. Call `convert_document` with source `{ \"kind\": \"file\", \"rootId\": <workspace root id>, \"path\": \"{{sourceOutputPath}}\" }` and `autoTemplates: true`. Use a DOCX target with `fidelity: \"editable-native\"` and the document title. Include a PDF target in the same call only when scope.md requests it, then preview and save that PDF too at `{{workPath}}/report.pdf`. Ordinary Markdown works with defaults; use discovery only to answer a specific style requirement. 3. Use each returned artifact URI with `inspect_document` and `preview_document`, passing source `{ \"kind\": \"artifact\", \"uri\": <returned URI> }`. Review content, tables, and any reported diagnostics; request at most four preview items at a time and paginate. Interpret `previewBasis` accurately. Office/PDF `reconstructed-import` previews show normalized content sections, not native pagination, fonts, clipping, or page breaks. Review all available sections with pagination and record this native-layout limit. Do not call these native page images or invent a native page count. An accurately disclosed preview limit alone does not fail content and saved-file checks. If content or source structure fails, write precise gaps to task notes and call `advance_task_step` with next `\"write\"`; do not edit the source during this publishing step. 4. Call `save_artifact` for `{{workPath}}/report.docx` using the artifacts root and `ifExists: \"error\"`. For an existing output, inspect that saved file and use its `sourceSha256` as `expectedSha256` with `ifExists: \"replace\"`. Use only URIs returned by this session; reopen earlier saved binaries through file sources. Finally, write a task note with saved paths, hashes, available counts, diagnostics, preview basis, and review limits, then advance to evaluate. Never substitute HTML, renamed Markdown, or hand-written XML for the requested binary files.",
|
|
250
|
+
"suggestedRole": "copywriter",
|
|
251
|
+
"consumes": [
|
|
252
|
+
{
|
|
253
|
+
"file": "{{workPath}}/scope.md",
|
|
254
|
+
"artifact": true
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"file": "{{sourceOutputPath}}"
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
"advanceWhen": {
|
|
261
|
+
"file": "{{workPath}}/report.docx",
|
|
262
|
+
"minBytes": 1,
|
|
263
|
+
"artifact": true
|
|
264
|
+
},
|
|
265
|
+
"gate": {
|
|
266
|
+
"at": "completion",
|
|
267
|
+
"checks": [
|
|
268
|
+
{
|
|
269
|
+
"kind": "minBytes",
|
|
270
|
+
"file": "{{workPath}}/report.docx",
|
|
271
|
+
"bytes": 1000,
|
|
272
|
+
"artifact": true
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
"onReject": "publish",
|
|
276
|
+
"maxAttempts": 4
|
|
277
|
+
},
|
|
278
|
+
"next": "evaluate",
|
|
279
|
+
"toolPolicy": {
|
|
280
|
+
"disallowBuiltinToolsets": [
|
|
281
|
+
"ai-apps",
|
|
282
|
+
"archives",
|
|
283
|
+
"audio",
|
|
284
|
+
"browser-automation",
|
|
285
|
+
"code-execution",
|
|
286
|
+
"craftbooks",
|
|
287
|
+
"data-tables",
|
|
288
|
+
"entity-intel",
|
|
289
|
+
"git",
|
|
290
|
+
"image-intel",
|
|
291
|
+
"images",
|
|
292
|
+
"role-delegation",
|
|
293
|
+
"role-delegation-escalation",
|
|
294
|
+
"security-intel",
|
|
295
|
+
"team-management",
|
|
296
|
+
"videos",
|
|
297
|
+
"web",
|
|
298
|
+
"workspace-fs-write"
|
|
299
|
+
],
|
|
300
|
+
"outputMedium": "artifact",
|
|
301
|
+
"additionalOutputMedia": [
|
|
302
|
+
"task-note"
|
|
303
|
+
]
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"id": "evaluate",
|
|
308
|
+
"name": "Evaluate",
|
|
309
|
+
"description": "Review saved-file integrity and content fidelity; document the limits of reconstructed or first-frame previews.",
|
|
310
|
+
"prompt": "Read `{{workPath}}/scope.md` from the artifacts drawer with `read_artifact` and the approved `{{sourceOutputPath}}` from the workspace with `read_file`. Read prior review/publishing evidence with `read_task_notes`. Call `list_roots` and reopen each saved binary in `{{workPath}}/report.docx` with `inspect_document` and `preview_document`, using source `{ \"kind\": \"file\", \"rootId\": <artifacts root id>, \"path\": <saved path> }`. Artifact URIs from another session are not reusable. Confirm the binary opens, the supplied facts and requested content are preserved, section order and tables follow the approved source, and citations/next actions remain present. Check `{{workPath}}/report.pdf` too when scope.md requests PDF. Interpret `previewBasis` accurately. Office/PDF `reconstructed-import` previews show normalized content sections, not native pagination, fonts, clipping, or page breaks. Review all available sections with pagination and record this native-layout limit. Do not call these native page images or invent a native page count. An accurately disclosed preview limit alone does not fail content and saved-file checks. Write PASS/FAIL per verifiable content and saved-file criterion, name exact gaps, and state any native-layout or playback property that remains unverified. If these checks pass, route to `finish`; for content/structure failures route to `write`; for conversion/save/copy failures with the source still approved route to `publish`. Never claim an unmet criterion passed. After three unproductive loops, record DONE_WITH_CONCERNS and the remaining gaps. On PASS, call `advance_task_step` with next: \"finish\". Use next: \"write\" only for an identified source-content failure, or next: \"publish\" for an identified conversion/save failure.",
|
|
311
|
+
"suggestedRole": "reviewer",
|
|
312
|
+
"consumes": [
|
|
313
|
+
{
|
|
314
|
+
"file": "{{workPath}}/scope.md",
|
|
315
|
+
"artifact": true
|
|
316
|
+
}
|
|
317
|
+
],
|
|
318
|
+
"next": "finish",
|
|
319
|
+
"toolPolicy": {
|
|
320
|
+
"disallowBuiltinToolsets": [
|
|
321
|
+
"ai-apps",
|
|
322
|
+
"archives",
|
|
323
|
+
"audio",
|
|
324
|
+
"browser-automation",
|
|
325
|
+
"code-execution",
|
|
326
|
+
"craftbooks",
|
|
327
|
+
"data-tables",
|
|
328
|
+
"entity-intel",
|
|
329
|
+
"git",
|
|
330
|
+
"image-intel",
|
|
331
|
+
"images",
|
|
332
|
+
"role-delegation",
|
|
333
|
+
"role-delegation-escalation",
|
|
334
|
+
"security-intel",
|
|
335
|
+
"team-management",
|
|
336
|
+
"videos",
|
|
337
|
+
"web",
|
|
338
|
+
"workspace-fs-write"
|
|
339
|
+
],
|
|
340
|
+
"outputMedium": "task-note"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"id": "finish",
|
|
345
|
+
"name": "Finish",
|
|
346
|
+
"description": "Deliver the saved files with the recorded review evidence and limits.",
|
|
347
|
+
"prompt": "Read the review evidence with `read_task_notes`. Write a concise DONE summary naming the editable Markdown source `{{sourceOutputPath}}` and the saved deliverables `{{workPath}}/report.docx`. Include available native counts and the preview basis, and carry forward any native-layout or playback properties that remain unverified. Do not open binary files with `read_artifact` or claim an unavailable check passed.",
|
|
348
|
+
"suggestedRole": "copywriter",
|
|
349
|
+
"consumes": [
|
|
350
|
+
{
|
|
351
|
+
"file": "{{sourceOutputPath}}"
|
|
352
|
+
}
|
|
353
|
+
],
|
|
354
|
+
"terminal": true,
|
|
355
|
+
"toolPolicy": {
|
|
356
|
+
"disallowToolsets": [
|
|
357
|
+
"docblocks"
|
|
358
|
+
],
|
|
359
|
+
"disallowBuiltinToolsets": [
|
|
360
|
+
"ai-apps",
|
|
361
|
+
"archives",
|
|
362
|
+
"audio",
|
|
363
|
+
"browser-automation",
|
|
364
|
+
"code-execution",
|
|
365
|
+
"craftbooks",
|
|
366
|
+
"data-tables",
|
|
367
|
+
"entity-intel",
|
|
368
|
+
"git",
|
|
369
|
+
"image-intel",
|
|
370
|
+
"images",
|
|
371
|
+
"role-delegation",
|
|
372
|
+
"role-delegation-escalation",
|
|
373
|
+
"security-intel",
|
|
374
|
+
"team-management",
|
|
375
|
+
"videos",
|
|
376
|
+
"web",
|
|
377
|
+
"workspace-fs-write"
|
|
378
|
+
],
|
|
379
|
+
"outputMedium": "task-note"
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
],
|
|
383
|
+
"version": "1.2.4",
|
|
384
|
+
"releasedAt": "2026-09-07T01:00:00Z",
|
|
385
|
+
"minGezelVersion": "1.26233"
|
|
386
|
+
}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Word Document DocBlocks artifact-surface eval",
|
|
4
|
+
"objective": "Verify the research-to-document craftbook carries a reviewed Markdown source all the way to a real editable DOCX in the ARTIFACTS drawer via the DocBlocks convert / preview / save workflow — the surface and tool family powerpoint-deck's workspace-copy route does not cover.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"external",
|
|
7
|
+
"documents"
|
|
8
|
+
],
|
|
9
|
+
"prompt": "Read `source/brief.md` and publish a Word document.\n\n1. Write the complete document source to `documents/eval/report.md`: a title, executive summary, compact metrics table, findings, and next actions. Do not create HTML or document XML by hand.\n2. Publish it with the pre-authorized DocBlocks tools. Call `list_roots` to find the read-enabled workspace root and the write-enabled artifacts root. Use `autoTemplates: true`; consult `get_authoring_context` only if exact authoring guidance is needed. Then `convert_document` to DOCX, `preview_document` to confirm it rendered, and `save_artifact` to persist it to `tasks/eval/report.docx` in the artifacts drawer.\n\nThe finished deliverable is the real DOCX at `tasks/eval/report.docx` in the artifacts drawer. Markdown, HTML, or hand-built OOXML written to that path is not a substitute.",
|
|
10
|
+
"setup": {
|
|
11
|
+
"projectName": "Word Document from Content Eval",
|
|
12
|
+
"about": "The reviewed source is Markdown and is converted to an editable DOCX by DocBlocks. The finished document lands in the project ARTIFACTS drawer, not the workspace.",
|
|
13
|
+
"missionObjectives": "Create a complete, source-grounded documents/eval/report.md, then convert and save it as a real artifacts-drawer tasks/eval/report.docx through the DocBlocks template route.",
|
|
14
|
+
"files": [
|
|
15
|
+
{
|
|
16
|
+
"path": "source/brief.md",
|
|
17
|
+
"content": "# Boreal Desk Returns Pilot\n\nAudience: operations leaders.\n\nFacts:\n- Pilot coverage: 18 SKUs.\n- Median first response improved from 18 hours to 6 hours.\n- Preventable refund leakage fell from 14.2% to 8.9%.\n- Top unresolved complaint: status silence after photo submission.\n- Next actions: automated status emails, barcode-exception training, weekly Finance exception export.\n\nDo not invent other metrics."
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"worker": {
|
|
21
|
+
"name": "Jules",
|
|
22
|
+
"role": "Copywriter"
|
|
23
|
+
},
|
|
24
|
+
"craftbookParams": {
|
|
25
|
+
"workPath": "tasks/eval",
|
|
26
|
+
"sourceOutputPath": "documents/eval/report.md"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"mocks": [
|
|
30
|
+
{
|
|
31
|
+
"kind": "mcp",
|
|
32
|
+
"id": "docblocks",
|
|
33
|
+
"toolsetId": "docblocks",
|
|
34
|
+
"description": "Deterministic fake DocBlocks MCP for template selection, DOCX conversion, preview, and artifact-drawer saving.",
|
|
35
|
+
"tools": [
|
|
36
|
+
{
|
|
37
|
+
"name": "list_roots",
|
|
38
|
+
"description": "List the workspace read root and artifacts write root.",
|
|
39
|
+
"resultTemplate": {
|
|
40
|
+
"roots": [
|
|
41
|
+
{
|
|
42
|
+
"id": "workspace",
|
|
43
|
+
"name": "workspace",
|
|
44
|
+
"capabilities": [
|
|
45
|
+
"read"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "artifacts",
|
|
50
|
+
"name": "artifacts",
|
|
51
|
+
"capabilities": [
|
|
52
|
+
"read",
|
|
53
|
+
"write"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "get_authoring_context",
|
|
61
|
+
"description": "Return optional DOCX authoring guidance.",
|
|
62
|
+
"resultTemplate": {
|
|
63
|
+
"targetFormat": "docx",
|
|
64
|
+
"guidance": "Content-first Markdown; one H1 title, H2 sections, real tables."
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "list_templates",
|
|
69
|
+
"description": "List the document templates available for DOCX conversion.",
|
|
70
|
+
"resultTemplate": {
|
|
71
|
+
"templates": [
|
|
72
|
+
{
|
|
73
|
+
"id": "briefing-report",
|
|
74
|
+
"label": "Briefing report",
|
|
75
|
+
"formats": [
|
|
76
|
+
"docx",
|
|
77
|
+
"pdf"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "one-pager",
|
|
82
|
+
"label": "Executive one-pager",
|
|
83
|
+
"formats": [
|
|
84
|
+
"docx"
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "slide-notes",
|
|
89
|
+
"label": "Slide notes",
|
|
90
|
+
"formats": [
|
|
91
|
+
"pptx"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "describe_template",
|
|
99
|
+
"description": "Describe a template's expected sections and styles.",
|
|
100
|
+
"resultTemplate": {
|
|
101
|
+
"id": "briefing-report",
|
|
102
|
+
"sections": [
|
|
103
|
+
"Title",
|
|
104
|
+
"Executive summary",
|
|
105
|
+
"Metrics",
|
|
106
|
+
"Findings",
|
|
107
|
+
"Next actions"
|
|
108
|
+
],
|
|
109
|
+
"styles": {
|
|
110
|
+
"heading": "Heading 1",
|
|
111
|
+
"table": "Grid Table 4"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "convert_document",
|
|
117
|
+
"description": "Convert approved Markdown to a deterministic DOCX artifact URI.",
|
|
118
|
+
"resultTemplate": {
|
|
119
|
+
"artifacts": [
|
|
120
|
+
{
|
|
121
|
+
"format": "docx",
|
|
122
|
+
"uri": "mock://docblocks/report.docx",
|
|
123
|
+
"sha256": "3333333333333333333333333333333333333333333333333333333333333333"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"diagnostics": []
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "preview_document",
|
|
131
|
+
"description": "Return deterministic page-preview evidence.",
|
|
132
|
+
"resultTemplate": {
|
|
133
|
+
"pages": 4,
|
|
134
|
+
"overflow": false,
|
|
135
|
+
"missingStyles": [],
|
|
136
|
+
"previewed": true
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "save_artifact",
|
|
141
|
+
"description": "Save the converted DOCX into the project artifacts drawer.",
|
|
142
|
+
"resultTemplate": {
|
|
143
|
+
"ok": true,
|
|
144
|
+
"bytes": 2100,
|
|
145
|
+
"sha256": "4444444444444444444444444444444444444444444444444444444444444444"
|
|
146
|
+
},
|
|
147
|
+
"writeFixture": {
|
|
148
|
+
"surface": "artifact",
|
|
149
|
+
"pathArgument": "destination.path",
|
|
150
|
+
"fixture": "minimal-docx"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"success": {
|
|
157
|
+
"summary": "documents/eval/report.md is a complete source-grounded Markdown document, and artifacts/report.docx is a real ZIP-shaped DOCX produced through the DocBlocks template route rather than written by hand.",
|
|
158
|
+
"deliverables": [
|
|
159
|
+
{
|
|
160
|
+
"path": "documents/eval/report.md",
|
|
161
|
+
"kind": "markdown-report",
|
|
162
|
+
"minBytes": 1000,
|
|
163
|
+
"checks": [
|
|
164
|
+
{
|
|
165
|
+
"kind": "contains",
|
|
166
|
+
"file": "documents/eval/report.md",
|
|
167
|
+
"pattern": "(?:^|\\n)#\\s+.+",
|
|
168
|
+
"flags": "m"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"kind": "contains",
|
|
172
|
+
"file": "documents/eval/report.md",
|
|
173
|
+
"pattern": "executive summary",
|
|
174
|
+
"flags": "i"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"kind": "contains",
|
|
178
|
+
"file": "documents/eval/report.md",
|
|
179
|
+
"pattern": "18\\s+SKUs|18\\s+hours|6\\s+hours|14\\.2%|8\\.9%",
|
|
180
|
+
"flags": "i"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"kind": "contains",
|
|
184
|
+
"file": "documents/eval/report.md",
|
|
185
|
+
"pattern": "automated status emails|barcode-exception training|weekly Finance exception export",
|
|
186
|
+
"flags": "i"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"kind": "notContains",
|
|
190
|
+
"file": "documents/eval/report.md",
|
|
191
|
+
"pattern": "<html|<style|word/document\\.xml|base64",
|
|
192
|
+
"flags": "i"
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"mocks": [
|
|
198
|
+
{
|
|
199
|
+
"service": "docblocks",
|
|
200
|
+
"requiredTools": [
|
|
201
|
+
"list_roots",
|
|
202
|
+
"convert_document",
|
|
203
|
+
"preview_document",
|
|
204
|
+
"save_artifact"
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
"checks": [
|
|
209
|
+
{
|
|
210
|
+
"kind": "binaryDocument",
|
|
211
|
+
"file": "tasks/eval/report.docx",
|
|
212
|
+
"artifact": true,
|
|
213
|
+
"minBytes": 800
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
"rubric": {
|
|
218
|
+
"artifact": {
|
|
219
|
+
"path": "documents/eval/report.md",
|
|
220
|
+
"kind": "markdown"
|
|
221
|
+
},
|
|
222
|
+
"axes": [
|
|
223
|
+
{
|
|
224
|
+
"name": "grounding",
|
|
225
|
+
"description": "Every metric and action comes from the seeded brief."
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "structure",
|
|
229
|
+
"description": "The source has a usable title, summary, sections, table, and next actions."
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "convertibility",
|
|
233
|
+
"description": "The Markdown is complete enough for direct DocBlocks DOCX conversion without HTML or XML."
|
|
234
|
+
}
|
|
235
|
+
]
|
|
236
|
+
},
|
|
237
|
+
"qualityFocus": [
|
|
238
|
+
"Markdown source quality",
|
|
239
|
+
"DOCX readiness",
|
|
240
|
+
"no HTML or OOXML intermediary"
|
|
241
|
+
]
|
|
242
|
+
}
|