@spinabot/brigade 1.17.0 → 1.18.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/dist/agents/media-understanding/config.d.ts.map +1 -1
- package/dist/agents/media-understanding/config.js +1 -0
- package/dist/agents/media-understanding/config.js.map +1 -1
- package/dist/agents/tools/generate-speech-tool.d.ts +2 -2
- package/dist/agents/tools/generate-speech-tool.d.ts.map +1 -1
- package/dist/agents/tools/generate-speech-tool.js +31 -2
- package/dist/agents/tools/generate-speech-tool.js.map +1 -1
- package/dist/agents/tools/transcribe-audio-tool.d.ts +2 -2
- package/dist/agents/tools/transcribe-audio-tool.d.ts.map +1 -1
- package/dist/agents/tools/transcribe-audio-tool.js +29 -0
- package/dist/agents/tools/transcribe-audio-tool.js.map +1 -1
- package/dist/auth/auth-health.d.ts +51 -0
- package/dist/auth/auth-health.d.ts.map +1 -0
- package/dist/auth/auth-health.js +94 -0
- package/dist/auth/auth-health.js.map +1 -0
- package/dist/buildstamp.json +1 -1
- package/dist/cli/commands/auth.d.ts +24 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +300 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/connect.d.ts.map +1 -1
- package/dist/cli/commands/connect.js +7 -1
- package/dist/cli/commands/connect.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +29 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/exec-node.d.ts +37 -0
- package/dist/cli/commands/exec-node.d.ts.map +1 -0
- package/dist/cli/commands/exec-node.js +73 -0
- package/dist/cli/commands/exec-node.js.map +1 -0
- package/dist/cli/commands/gateway.d.ts.map +1 -1
- package/dist/cli/commands/gateway.js +14 -0
- package/dist/cli/commands/gateway.js.map +1 -1
- package/dist/cli/program/build-program.d.ts.map +1 -1
- package/dist/cli/program/build-program.js +52 -0
- package/dist/cli/program/build-program.js.map +1 -1
- package/dist/ui/onboarding.d.ts.map +1 -1
- package/dist/ui/onboarding.js +18 -3
- package/dist/ui/onboarding.js.map +1 -1
- package/package.json +4 -1
- package/skills/docx/SKILL.md +126 -0
- package/skills/pdf/SKILL.md +95 -0
- package/skills/xlsx/SKILL.md +94 -0
package/dist/ui/onboarding.js
CHANGED
|
@@ -981,12 +981,27 @@ async function ensureCliLogin(tui, authStorage, provider) {
|
|
|
981
981
|
expires: cred.expires ?? 0,
|
|
982
982
|
});
|
|
983
983
|
}
|
|
984
|
+
else if (provider.subscription) {
|
|
985
|
+
// The reused CLI login has NO refresh token (Claude Code didn't store one).
|
|
986
|
+
// Persisting it would create a credential that expires in a day or two and
|
|
987
|
+
// CAN'T auto-refresh — the silent 401 the operator hit. Since this provider
|
|
988
|
+
// supports a browser OAuth login (which DOES return a refresh token), steer
|
|
989
|
+
// there instead of saving a dead-end token. The caller falls through to
|
|
990
|
+
// `ensureSubscriptionLogin` when we return "other".
|
|
991
|
+
tui.addChild(new Text("", 0, 0));
|
|
992
|
+
tui.addChild(new Text(` ${brand.dim("This machine's login has no refresh token, so it would expire and couldn't refresh.")}`, 0, 0));
|
|
993
|
+
tui.addChild(new Text(` ${brand.dim("Doing a quick browser sign-in instead so the crew stays connected.")}`, 0, 0));
|
|
994
|
+
tui.requestRender();
|
|
995
|
+
await delay(1200);
|
|
996
|
+
return "other";
|
|
997
|
+
}
|
|
984
998
|
else {
|
|
999
|
+
// No OAuth fallback for this provider — keep the legacy token behaviour.
|
|
985
1000
|
// Durable store keeps the type:"token" shape (upsertTokenProfile). Mirror
|
|
986
1001
|
// it into Pi's in-memory store as type:"oauth" for shape-consistency with
|
|
987
|
-
// the refresh-capable path — a
|
|
988
|
-
//
|
|
989
|
-
//
|
|
1002
|
+
// the refresh-capable path — a credential with an access token but no
|
|
1003
|
+
// refresh token. expires:0 makes Pi treat the access token as expired and
|
|
1004
|
+
// refresh on first use when a refresh token later exists.
|
|
990
1005
|
upsertTokenProfile(DEFAULT_AGENT_ID, { provider: cred.provider, token: cred.token });
|
|
991
1006
|
// Pi's in-memory OAuthCredential requires a `refresh` string; this CLI
|
|
992
1007
|
// credential carries no refresh token, so seed "".
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/ui/onboarding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/ui/onboarding.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinabot/brigade",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Brigade — your personal AI crew",
|
|
5
5
|
"homepage": "https://brigade.spinabot.com",
|
|
6
6
|
"author": "Spinabot <hello@brigade-agent.ai>",
|
|
@@ -68,6 +68,9 @@
|
|
|
68
68
|
"dev:tsx": "tsx src/entry.ts",
|
|
69
69
|
"watch": "tsx --watch src/entry.ts",
|
|
70
70
|
"onboard": "node scripts/run-brigade.mjs onboard",
|
|
71
|
+
"login": "node scripts/run-brigade.mjs login",
|
|
72
|
+
"login:bin": "node brigade.mjs login",
|
|
73
|
+
"auth": "node scripts/run-brigade.mjs auth",
|
|
71
74
|
"onboard:bin": "node brigade.mjs onboard",
|
|
72
75
|
"onboard:watch": "tsx --watch src/entry.ts onboard",
|
|
73
76
|
"agent": "node scripts/run-brigade.mjs agent",
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docx
|
|
3
|
+
description: Create and edit Microsoft Word (.docx) documents to a professional standard — reports, proposals, contracts, letters, memos — with custom styles, multi-level lists, styled/merged tables, headers/footers, table of contents, hyperlinks, footnotes, tracked changes and comments. Use when the user asks Brigade to make, write, draft, fill, redline, or edit a Word document or .docx file.
|
|
4
|
+
metadata:
|
|
5
|
+
{
|
|
6
|
+
"brigade":
|
|
7
|
+
{
|
|
8
|
+
"emoji": "📝"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# docx — professional Word documents
|
|
14
|
+
|
|
15
|
+
Pick the lightest path that meets the need. **Never declare a document done without opening/validating the result at least once** (see *Verify*).
|
|
16
|
+
|
|
17
|
+
| Need | Path |
|
|
18
|
+
|------|------|
|
|
19
|
+
| Simple structured doc (headings, paragraphs, bullets, a basic table, an image) | **Path 1 — `make_document` tool** |
|
|
20
|
+
| Anything richer (custom styles, numbered/multi-level lists, merged/shaded table cells, headers/footers, TOC, hyperlinks, footnotes, inline bold/italic/color, tracked changes, comments) | **Path 2 — script the `docx` library via `brigade exec-node`** |
|
|
21
|
+
| Fill / redline an EXISTING branded `.docx` without disturbing its styling | **Path 3 — OOXML round-trip** |
|
|
22
|
+
| Markdown → branded Word inheriting a corporate template | **Path 4 — `pandoc` (optional)** |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Path 1 — quick structured doc (`make_document` tool)
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
make_document(format="docx", content={ title, sections:[{heading, level, paragraphs, bullets, table:{rows}, image:{path}}] })
|
|
30
|
+
```
|
|
31
|
+
Good for a fast first draft. It is deliberately limited (single-level bullets, string-only tables, no inline formatting). The moment you need more, go to Path 2 — don't fight the schema.
|
|
32
|
+
|
|
33
|
+
## Path 2 — full power: script the `docx` library
|
|
34
|
+
|
|
35
|
+
Brigade bundles the **`docx`** library (dolanmiu/docx). Write a CommonJS script and run it with **`brigade exec-node`**, which makes Brigade's bundled libraries `require()`-able from anywhere (no install):
|
|
36
|
+
|
|
37
|
+
1. `write` a file `gen.cjs`.
|
|
38
|
+
2. Run: `brigade exec-node gen.cjs`
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
// gen.cjs — illustrative; adapt to the content
|
|
42
|
+
const fs = require("node:fs");
|
|
43
|
+
const {
|
|
44
|
+
Document, Packer, Paragraph, TextRun, HeadingLevel, AlignmentType,
|
|
45
|
+
Table, TableRow, TableCell, WidthType, BorderStyle, ShadingType,
|
|
46
|
+
LevelFormat, Header, Footer, PageNumber, TableOfContents, ExternalHyperlink,
|
|
47
|
+
} = require("docx");
|
|
48
|
+
|
|
49
|
+
const doc = new Document({
|
|
50
|
+
styles: { default: { document: { run: { font: "Calibri", size: 22 } } }, // size is half-points (22 = 11pt)
|
|
51
|
+
paragraphStyles: [{ id: "Body", name: "Body", run: { size: 22 }, paragraph: { spacing: { after: 160 } } }] },
|
|
52
|
+
numbering: { config: [{ reference: "nums", levels: [{ level: 0, format: LevelFormat.DECIMAL, text: "%1.", alignment: AlignmentType.START }] }] },
|
|
53
|
+
sections: [{
|
|
54
|
+
properties: { page: { size: { width: 12240, height: 15840 } } }, // US Letter, in DXA (1440 = 1 inch)
|
|
55
|
+
headers: { default: new Header({ children: [new Paragraph("Acme Corp — Confidential")] }) },
|
|
56
|
+
footers: { default: new Footer({ children: [new Paragraph({ children: [new TextRun("Page "), new TextRun({ children: [PageNumber.CURRENT] })] })] }) },
|
|
57
|
+
children: [
|
|
58
|
+
new Paragraph({ text: "Q3 Business Review", heading: HeadingLevel.TITLE }),
|
|
59
|
+
new TableOfContents("Contents", { hyperlink: true, headingStyleRange: "1-3" }),
|
|
60
|
+
new Paragraph({ text: "Summary", heading: HeadingLevel.HEADING_1 }),
|
|
61
|
+
new Paragraph({ children: [ new TextRun("Revenue was "), new TextRun({ text: "$1.2M", bold: true }), new TextRun(" — up 18%.") ] }),
|
|
62
|
+
new Paragraph({ text: "First item", numbering: { reference: "nums", level: 0 } }),
|
|
63
|
+
new Paragraph({ children: [ new ExternalHyperlink({ children: [new TextRun({ text: "Full data", style: "Hyperlink" })], link: "https://example.com" }) ] }),
|
|
64
|
+
new Table({
|
|
65
|
+
columnWidths: [4680, 4680], // DXA, sum = content width
|
|
66
|
+
rows: [
|
|
67
|
+
new TableRow({ tableHeader: true, children: ["Metric","Value"].map((t) =>
|
|
68
|
+
new TableCell({ width: { size: 4680, type: WidthType.DXA }, shading: { type: ShadingType.CLEAR, fill: "D9E2F3" },
|
|
69
|
+
children: [new Paragraph({ children: [new TextRun({ text: t, bold: true })] })] })) }),
|
|
70
|
+
new TableRow({ children: ["Revenue","$1.2M"].map((t) =>
|
|
71
|
+
new TableCell({ width: { size: 4680, type: WidthType.DXA }, children: [new Paragraph(t)] })) }),
|
|
72
|
+
],
|
|
73
|
+
}),
|
|
74
|
+
],
|
|
75
|
+
}],
|
|
76
|
+
});
|
|
77
|
+
Packer.toBuffer(doc).then((buf) => { fs.writeFileSync(process.argv[2] || "out.docx", buf); console.log("wrote", process.argv[2] || "out.docx"); });
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The `docx` library also supports: footnotes (`FootnoteReferenceRun` + `footnotes`), comments, **tracked changes** (`InsertedTextRun`/`DeletedTextRun` with `author`/`date`), multi-section layouts, page breaks, columns, internal bookmarks, and images inside table cells. Read its API as needed — anything Word can express, this can author.
|
|
81
|
+
|
|
82
|
+
## Path 3 — fill / redline an EXISTING `.docx` (highest fidelity)
|
|
83
|
+
|
|
84
|
+
To fill a branded company template or surgically edit a real document **without regenerating it** (which would drop the theme), use the OOXML round-trip — unzip, edit the XML, rezip. For plain placeholder/text swaps the **`edit_document` tool** (`replace_text` / `fill_template` / `append`) already does exactly this and is the first choice.
|
|
85
|
+
|
|
86
|
+
For edits beyond text, script it via `brigade exec-node` with **`fflate`**:
|
|
87
|
+
|
|
88
|
+
```js
|
|
89
|
+
// edit.cjs — unzip → edit word/document.xml → rezip (styles/headers/theme untouched)
|
|
90
|
+
const fs = require("node:fs");
|
|
91
|
+
const { unzipSync, zipSync, strToU8, strFromU8 } = require("fflate");
|
|
92
|
+
const zip = unzipSync(fs.readFileSync(process.argv[2]));
|
|
93
|
+
let xml = strFromU8(zip["word/document.xml"]);
|
|
94
|
+
xml = xml.replaceAll("{{client}}", "Acme Corp"); // fill placeholders in <w:t> runs
|
|
95
|
+
zip["word/document.xml"] = strToU8(xml);
|
|
96
|
+
fs.writeFileSync(process.argv[3], zipSync(zip));
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Rules for raw OOXML edits:
|
|
100
|
+
- Safe: replacing text inside `<w:t>`; pointing a run/paragraph at an **already-defined** `styleId`; appending `<w:p>`/`<w:r>` that reference existing styles.
|
|
101
|
+
- **Do NOT** add a new part (image, hyperlink target, header) by hand — that also needs `[Content_Types].xml` + the matching `_rels/*.rels` updated atomically, or Word reports corruption. For those, regenerate with the `docx` library instead.
|
|
102
|
+
- Tracked changes are `<w:ins>`/`<w:del>` as *siblings* of `<w:r>` (never inside a run); copy the original `<w:rPr>` into the change runs; keep edits minimal so an "accept all" yields exactly the intended text. Author yourself as "Brigade".
|
|
103
|
+
|
|
104
|
+
## Path 4 — Markdown → branded Word (optional, needs `pandoc`)
|
|
105
|
+
|
|
106
|
+
For long prose where the brand styling lives in a corporate `.docx`, if `pandoc` is installed it inherits every style/margin/header:
|
|
107
|
+
```bash
|
|
108
|
+
command -v pandoc >/dev/null 2>&1 && pandoc input.md --reference-doc=brand-template.docx -o out.docx
|
|
109
|
+
```
|
|
110
|
+
Detect first; else fall back to Path 2. `pandoc` is GPL — a separate program shelled out to, never bundled.
|
|
111
|
+
|
|
112
|
+
## Conventions that make output professional
|
|
113
|
+
|
|
114
|
+
- **Page size is explicit** — US Letter `12240×15840` DXA (1440 DXA = 1"); landscape = portrait dims + `orientation` flip.
|
|
115
|
+
- **Tables:** give both `columnWidths` (table) and per-cell `width` in **`WidthType.DXA`** (PERCENTAGE breaks some viewers), summing to content width; `ShadingType.CLEAR` (never SOLID → black boxes); add cell margins; never use a table as a horizontal rule (use a paragraph bottom border).
|
|
116
|
+
- **Lists:** real numbering config for numbered/multi-level lists; never paste literal "1." / "•" characters.
|
|
117
|
+
- Prefer bullets + tables over walls of text; one `TITLE`, then `HEADING_1..3` with proper outline levels (required for a working TOC).
|
|
118
|
+
- Use typographic quotes (' ' " ") and en/em dashes.
|
|
119
|
+
|
|
120
|
+
## Verify (required)
|
|
121
|
+
|
|
122
|
+
After writing, confirm the file exists and is non-trivial. If LibreOffice is available, render to PDF and **look at it** — fix overflow/placeholder leftovers, then re-verify:
|
|
123
|
+
```bash
|
|
124
|
+
command -v soffice >/dev/null 2>&1 && soffice --headless --convert-to pdf out.docx
|
|
125
|
+
```
|
|
126
|
+
TOC/page-number fields show blank until Word (or a `soffice` convert) recalculates them — note this to the user if you can't run the convert. Never declare success without at least one look-and-fix pass.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pdf
|
|
3
|
+
description: Create and edit PDFs to a professional standard — generate from content, draw vector/precise layouts, embed custom (incl. CJK/Unicode) fonts, CREATE and fill AcroForm fields (text/checkbox/radio/dropdown), flatten, merge/split/rotate, stamp/watermark, encrypt, and extract text. Use when the user asks Brigade to make a PDF, fill or build a PDF form, or combine/split/stamp/secure PDFs.
|
|
4
|
+
metadata:
|
|
5
|
+
{
|
|
6
|
+
"brigade":
|
|
7
|
+
{
|
|
8
|
+
"emoji": "📄"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# pdf — professional PDFs
|
|
14
|
+
|
|
15
|
+
| Need | Path |
|
|
16
|
+
|------|------|
|
|
17
|
+
| Simple content PDF (title, headings, paragraphs, image) | **Path 1 — `make_document` tool** |
|
|
18
|
+
| Fill an existing form, merge/split/stamp/watermark | **Path 2 — `edit_document` tool** |
|
|
19
|
+
| Form-field CREATION, vector drawing, embedded fonts (bold/CJK), precise layout, encryption, page surgery | **Path 3 — script `@cantoo/pdf-lib` via `brigade exec-node`** |
|
|
20
|
+
| Pixel-perfect, brand-styled layout from HTML/CSS | **Path 4 — HTML→PDF (optional binary)** |
|
|
21
|
+
|
|
22
|
+
> Note: PDF is a *final* format with no reflow engine. If the recipient must edit, deliver the editable source (`.docx`/`.xlsx`) **and** the PDF.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Path 1 — quick content PDF (`make_document` tool)
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
make_document(format="pdf", content={ title, pages:[{ heading, paragraphs, image:{path} }] })
|
|
30
|
+
```
|
|
31
|
+
Flow layout, US-Letter, single column, word-wrapped. Good for reports/summaries/letters. For forms, precise layout, or custom fonts → Path 3.
|
|
32
|
+
|
|
33
|
+
## Path 2 — edit an existing PDF (`edit_document` tool)
|
|
34
|
+
|
|
35
|
+
- `fill_form {fields}` — fill existing AcroForm fields by name (text/checkbox/dropdown).
|
|
36
|
+
- `merge {pdfs}` / `add_pages {pdfs}` · `split {pages}` · `remove_pages {pages}`.
|
|
37
|
+
- `stamp {text}` · `watermark {text}` (45° translucent).
|
|
38
|
+
|
|
39
|
+
**Form decision:** first detect whether the PDF has real fillable fields. If it does → fill them (clean, type-validated). If it's a flat/scanned form (no fields) → you must draw text at coordinates instead (Path 3, annotations) — never assume fields exist.
|
|
40
|
+
|
|
41
|
+
## Path 3 — full power: script `@cantoo/pdf-lib`
|
|
42
|
+
|
|
43
|
+
Brigade bundles **`@cantoo/pdf-lib`** (a maintained pdf-lib fork — note the scoped name) plus **`@pdf-lib/fontkit`** (custom-font embedding) and **`unpdf`** (text extraction). `write` a `gen.cjs`, run `brigade exec-node gen.cjs`:
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
// gen.cjs — illustrative
|
|
47
|
+
const fs = require("node:fs");
|
|
48
|
+
const { PDFDocument, StandardFonts, rgb } = require("@cantoo/pdf-lib");
|
|
49
|
+
|
|
50
|
+
(async () => {
|
|
51
|
+
const pdf = await PDFDocument.create();
|
|
52
|
+
|
|
53
|
+
// embed a custom font (real bold / CJK / Unicode) — requires fontkit
|
|
54
|
+
// const fontkit = require("@pdf-lib/fontkit"); pdf.registerFontkit(fontkit);
|
|
55
|
+
// const font = await pdf.embedFont(fs.readFileSync("Brand-Bold.ttf"));
|
|
56
|
+
const font = await pdf.embedFont(StandardFonts.HelveticaBold);
|
|
57
|
+
|
|
58
|
+
const page = pdf.addPage([612, 792]); // US Letter; origin is BOTTOM-LEFT, y-up
|
|
59
|
+
page.drawText("Invoice", { x: 54, y: 720, size: 22, font, color: rgb(0.1, 0.1, 0.1) });
|
|
60
|
+
page.drawRectangle({ x: 54, y: 700, width: 504, height: 1, color: rgb(0.8, 0.8, 0.8) }); // vector rule
|
|
61
|
+
|
|
62
|
+
// CREATE fillable form fields
|
|
63
|
+
const form = pdf.getForm();
|
|
64
|
+
const name = form.createTextField("client.name");
|
|
65
|
+
name.addToPage(page, { x: 120, y: 640, width: 300, height: 18 });
|
|
66
|
+
const agree = form.createCheckBox("agree");
|
|
67
|
+
agree.addToPage(page, { x: 54, y: 600, width: 14, height: 14 });
|
|
68
|
+
// form.flatten(); // bake fields into static content if no further filling
|
|
69
|
+
|
|
70
|
+
fs.writeFileSync(process.argv[2] || "out.pdf", await pdf.save());
|
|
71
|
+
console.log("wrote");
|
|
72
|
+
})();
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
`@cantoo/pdf-lib` covers: draw text/lines/rects/ellipses/SVG paths/images; embed custom TTF/OTF fonts (subset, full Unicode); **create AND fill** AcroForm text/checkbox/radio/dropdown/option-list fields; flatten; copy/merge/split/rotate pages; metadata; **password encryption** (the reason this fork is bundled). Extract text/structure with `unpdf`.
|
|
76
|
+
|
|
77
|
+
**Coordinate gotcha:** pdf-lib origin is **bottom-left, y-up**. If you author field positions from a top-left image/spec, convert: `y_pdf = pageHeight - y_top - height`. One coordinate convention per script.
|
|
78
|
+
|
|
79
|
+
## Path 4 — pixel-perfect / branded PDF from HTML+CSS (optional)
|
|
80
|
+
|
|
81
|
+
pdf-lib has **no HTML/CSS layout engine** — for a designed, brand-styled document, render HTML→PDF. Use whatever is present (detect first):
|
|
82
|
+
```bash
|
|
83
|
+
command -v soffice >/dev/null 2>&1 && soffice --headless --convert-to pdf brand.html # LibreOffice route
|
|
84
|
+
```
|
|
85
|
+
A headless browser (Puppeteer/Playwright `page.pdf()`) is the higher-fidelity alternative if installed. Prefer Path 1/3 unless the brand design genuinely requires CSS.
|
|
86
|
+
|
|
87
|
+
## Conventions
|
|
88
|
+
|
|
89
|
+
- Use real AcroForm fields when filling a fillable PDF; only fall back to drawn-text annotations for flat/scanned forms.
|
|
90
|
+
- Embed a font for anything beyond basic Latin — standard PDF fonts lack bold-as-a-face and all CJK/emoji (missing glyphs render as boxes).
|
|
91
|
+
- Keep ≥0.5" margins; align to a grid; don't rely on text reflowing (there's no engine — you place it).
|
|
92
|
+
|
|
93
|
+
## Verify (required)
|
|
94
|
+
|
|
95
|
+
Confirm the output exists and opens. For filled/created forms, re-open and read back the field values (or render to an image with `soffice`/a viewer and look at placement) before declaring done — never fill or place blind.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: xlsx
|
|
3
|
+
description: Build and edit professional Excel (.xlsx) spreadsheets, workbooks, and simple financial models — live formulas, number/date/currency formats, cell styling, conditional formatting, data-validation dropdowns, named ranges, frozen panes, merged cells, multi-sheet. Use when the user asks Brigade to make, fill, update, model, or edit a spreadsheet, workbook, or .xlsx file.
|
|
4
|
+
metadata:
|
|
5
|
+
{
|
|
6
|
+
"brigade":
|
|
7
|
+
{
|
|
8
|
+
"emoji": "📊"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# xlsx — professional spreadsheets & models
|
|
14
|
+
|
|
15
|
+
| Need | Path |
|
|
16
|
+
|------|------|
|
|
17
|
+
| Simple table / multi-sheet dump (headers + rows, optional per-column number format) | **Path 1 — `make_document` tool** |
|
|
18
|
+
| Live formulas, cell styling, conditional formatting, dropdowns, named ranges, freeze panes, merged cells, dates | **Path 2 — script the `exceljs` library via `brigade exec-node`** |
|
|
19
|
+
| Surgical edits to an existing workbook | **Path 3 — `edit_document` tool** |
|
|
20
|
+
| Guarantee no formula errors / get computed values | **Path 4 — recalc-verify loop (optional `soffice`)** |
|
|
21
|
+
|
|
22
|
+
**The two non-negotiable rules** (they separate a real model from a hack):
|
|
23
|
+
1. **Formulas, never hardcoded results.** Write the Excel formula string (`=B5*(1+$B$6)`), never compute the number in code and paste a literal — so the sheet stays live when inputs change. This applies to every total, percentage, ratio, and growth.
|
|
24
|
+
2. **Numbers are numbers.** Store `1200000`, format for display (`$#,##0`) — never the string `"$1.2M"`, or it won't sum or sort.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Path 1 — quick table (`make_document` tool)
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
make_document(format="xlsx", content={ sheets:[{ name, header, rows, numberFormats }] })
|
|
32
|
+
```
|
|
33
|
+
Cells may be `string | number | {formula, numFmt}`. Fine for a straight data table. For styling, validation, charts, or a model → Path 2.
|
|
34
|
+
|
|
35
|
+
## Path 2 — full power: script the `exceljs` library
|
|
36
|
+
|
|
37
|
+
Brigade bundles **`exceljs`**. `write` a `gen.cjs`, then run `brigade exec-node gen.cjs`:
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
// gen.cjs — illustrative
|
|
41
|
+
const ExcelJS = require("exceljs");
|
|
42
|
+
const wb = new ExcelJS.Workbook();
|
|
43
|
+
const ws = wb.addWorksheet("Model", { views: [{ state: "frozen", ySplit: 1 }] }); // freeze header row
|
|
44
|
+
|
|
45
|
+
ws.columns = [
|
|
46
|
+
{ header: "Item", key: "item", width: 28 },
|
|
47
|
+
{ header: "FY24 ($)", key: "v", width: 16, style: { numFmt: "$#,##0" } },
|
|
48
|
+
];
|
|
49
|
+
ws.getRow(1).font = { bold: true };
|
|
50
|
+
ws.getRow(1).fill = { type: "pattern", pattern: "solid", fgColor: { argb: "FFD9E2F3" } };
|
|
51
|
+
|
|
52
|
+
// Assumptions block — blue font marks hardcoded INPUTS (banker convention)
|
|
53
|
+
ws.getCell("E1").value = "Growth"; ws.getCell("E2").value = 0.18;
|
|
54
|
+
ws.getCell("E2").numFmt = "0.0%"; ws.getCell("E2").font = { color: { argb: "FF0000FF" } };
|
|
55
|
+
wb.definedNames.add("Model!$E$2", "growth"); // named range
|
|
56
|
+
|
|
57
|
+
ws.addRow({ item: "Revenue", v: 1200000 });
|
|
58
|
+
ws.addRow({ item: "Next year", v: { formula: "B2*(1+growth)" } }); // FORMULA, references the named input
|
|
59
|
+
ws.getCell("B3").font = { color: { argb: "FF000000" } }; // black = formula
|
|
60
|
+
|
|
61
|
+
// dropdown + conditional formatting
|
|
62
|
+
ws.getCell("A6").dataValidation = { type: "list", allowBlank: false, formulae: ['"Low,Med,High"'] };
|
|
63
|
+
ws.addConditionalFormatting({ ref: "B2:B3", rules: [
|
|
64
|
+
{ type: "cellIs", operator: "lessThan", formulae: ["0"], style: { font: { color: { argb: "FFFF0000" } } } } ]});
|
|
65
|
+
|
|
66
|
+
wb.xlsx.writeFile(process.argv[2] || "out.xlsx").then(() => console.log("wrote"));
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`exceljs` covers: number/date formats, font/fill/border/alignment, conditional formatting, data-validation dropdowns, named ranges, freeze panes, autofilter, merged cells, images, sheet protection, multi-sheet. Dates: pass a real `new Date(...)` and set a date `numFmt` (don't pass a string).
|
|
70
|
+
|
|
71
|
+
## Path 3 — edit an existing workbook (`edit_document` tool)
|
|
72
|
+
|
|
73
|
+
- `set_cells {sheet?, cells:[{ref|row,col, value, numFmt?}]}` — surgical edits; other sheets untouched.
|
|
74
|
+
- `append_rows {sheet?, rows}` — grow a table.
|
|
75
|
+
When editing someone's workbook, **match its existing conventions exactly** (column order, units, formats) — the template always wins over the defaults here.
|
|
76
|
+
|
|
77
|
+
## Path 4 — recalc-verify loop (the quality guarantee)
|
|
78
|
+
|
|
79
|
+
`exceljs` stores formula **strings but does not evaluate them** — a typo (`#REF!`, `#DIV/0!`) is invisible until the file is opened. If LibreOffice is present, force a recalc and inspect; otherwise hand-check ranges and keep formulas simple.
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
command -v soffice >/dev/null 2>&1 && soffice --headless --convert-to pdf --outdir /tmp out.xlsx # then read the PDF: no #REF!/#DIV/0! anywhere
|
|
83
|
+
```
|
|
84
|
+
Loop: build → recalc → if any error token appears, fix the formula → recalc again. Target: **zero formula errors** in the delivered file.
|
|
85
|
+
|
|
86
|
+
## Conventions (banker-grade, optional but professional)
|
|
87
|
+
|
|
88
|
+
- Cell-color convention: **blue font = hardcoded inputs**, black = formulas, green = links to other sheets, red = links to external files; yellow fill = key assumptions.
|
|
89
|
+
- Isolate assumptions in their own cells and reference them **absolutely** (`$B$6`) or by **named range**; document any sourced hardcode in a cell comment ("Source: 10-K FY24 p.45").
|
|
90
|
+
- Number formats: currency `$#,##0` with units in the header; percentages `0.0%`; multiples `0.0x`; negatives in parentheses; years as text.
|
|
91
|
+
|
|
92
|
+
## Verify (required)
|
|
93
|
+
|
|
94
|
+
Re-open with `edit_document`/read or confirm the file unzips with the expected sheet names; if you used formulas, run the Path-4 recalc and confirm zero errors before declaring done.
|