dossier
Skill0 starsChanged 15 days agoMITView on GitHub
Produce a client-ready, designed document as Word (.docx) and PDF: status report, proposal, functional specification, audit, roadmap, decision memo, procedure. Cover page, contents with real page numbers, document information and version history, chapter openers, executive summary box, key-figure tiles, styled tables with status chips, numbered figures drawn as SVG, Mermaid or data charts in the theme's colours, header and footer, with the house brand (logo, colours, fonts, top band, footer) applied by default or left out on request; then every page is rendered and looked at before delivery, in one or several languages. Use when a document leaves the house (sent to a client, a board, a partner, an investor, a public body), when the user asks for a Word or PDF version to send, a professional or beautiful document, or says a document looks poor, plain or generic. French triggers (fais-moi un document Word, version Word a envoyer a ma cliente, document professionnel, rapport client, bilan, feuille de route, cahier des charges, proposition commerciale, compte rendu officiel, dossier de presentation, audit, version anglaise du document, les documents sont pauvres, rends ce document plus beau, document PDF a envoyer, avec mon logo, sans logo, sans ma marque, marque blanche, document neutre, papier a en-tete).
10 other projects use a version of this.
Adopted by
Most recently taken up by
- yuanhaorannnnnn/agent-skillstheir own version, first seen Nov 1, 2026
- eins78/agent-skillstheir own version, first seen Oct 30, 2026
- JohnnyMcGee/claude-skillstheir own version, first seen Oct 17, 2026
- samuel-neveugall/client-dossiertheir own version, first seen Oct 17, 2026
- pnp/sharepoint-skillstheir own version, first seen Aug 24, 2026
- Hassaan146/claude-skillstheir own version, first seen Jul 25, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- pnp/sharepoint-skills★ 142same name
- Hassaan146/claude-skills★ 18same name
- eins78/agent-skills★ 2same name
- Hussain-Elfalah/Agentic-Skills★ 2same name
- mahiunfiltered/claude-code-skills★ 1same name
- samuel-neveugall/client-dossier★ 1same name
- dacrypt/tesla-claude-plugin★ 0same name
- JohnnyMcGee/claude-skills★ 0same name
- stefanhoth/dossier★ 0same name
- yuanhaorannnnnn/agent-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 4 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 41
Before writing a line, settle five things.
- Very specific: line 56
No brand: when the user says "sans logo", "sans ma marque", "neutre", "marque blanche", or the document goes out under someone else's name: …
- Very specific: line 59
The client's brand: when the document goes out under their name: their own brand folder (brand: client-name), or logo: and brand: { accent: …
- Distinctive: line 62
When the content already exists (a page, a chat, notes, an earlier document), collect it first and work from it: the facts are the user's, …
- Distinctive: line 67
Write the chapter list before the text.
- Very specific: line 124
Write it with the rules of references/writing.md: the point first, numbers instead of adjectives, one idea per paragraph, no filler, a …
- Distinctive: line 170
Keep the source and its figures next to them: the next revision starts there, not from the Word file.
- Very specific: line 198
Tables kept whole leave half-empty pages: Only tables of five rows or less are kept on one page.
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Dossier: documents a client keeps, reads and acts on
A document that leaves the house is judged in the first ten seconds: the cover, the contents, the first page of text. It is then read for one thing: what does the author want me to know, decide or do? This skill produces documents that answer that question on the first page, and that look like the work of a firm that cares, in Word and in PDF, from one plain-text source.
The method has six steps. The detail lives in references/: load a file at the step that needs it,
not before.
| Step | What | Reference |
| 0 | Brief: reader, decision, type, languages, brand | this file |
| 1 | Plan: chapters, the point of each, the exhibit of each | references/document-types.md |
| 2 | Write the source | references/source-format.md, references/writing.md |
| 3 | Draw the figures | references/figures.md |
| 4 | Build | this file |
| 5 | Look at every page, fix, rebuild | references/review.md |
| 6 | Deliver | this file |
references/design.md covers themes, brand colours and when to change the layout.
Setup, once per machine
<skill-dir>/install.sh --deps-only # npm packages of the engine + the bundled fontsNeeds Node 18+, Chrome or Chromium (figures, cover, contact sheet), LibreOffice (PDF) and Poppler
(pdftoppm, pdftotext). The engine finds Chrome by itself; set CHROME_PATH otherwise. Without
LibreOffice the build stops after the Word file (--no-pdf): the contents then show 0 for page numbers, so say so.
Step 0: the brief
Before writing a line, settle five things. Infer what the conversation already says; ask only what
is missing and changes the document, one question at a time, each with your recommendation.
With --unattended, take the recommendation and state it in the delivery message.
- The reader. Name them (Maria, the board, the technical advisor). A document for two readers says which chapters are for whom, in a reading guide on the first page.
- What the reader must do after reading. Approve, pay, provide access, choose between options, just know. This sentence becomes the summary box.
- The type: status report, proposal, specification, audit, roadmap, decision memo, procedure.
Each has a structure in
references/document-types.md. - Languages. One source file per language, figures included. Never machine-translate a built document: translate the source, then build.
- Brand. Three cases, settled without a question when the request says it:
- House brand (the default when
~/.config/dossier/config.jsonnames one): the firm's logo, colours, fonts, top band and footer, and its author line. Nothing to write in the source. - No brand when the user says "sans logo", "sans ma marque", "neutre", "marque blanche", or
the document goes out under someone else's name:
brand: nonein the front matter (or--brand none). The plain theme of the sector applies (references/design.md). - The client's brand when the document goes out under their name: their own brand folder
(
brand: client-name), orlogo:andbrand: { accent: ... }for a one-off.
- House brand (the default when
When the content already exists (a page, a chat, notes, an earlier document), collect it first and work from it: the facts are the user's, the structure and the finish are yours.
Step 1: the plan
Write the chapter list before the text. For each chapter: its title, its point in one sentence, and its exhibit (a figure, a table, key figures). A chapter whose point you cannot write in one sentence is two chapters or none. A chapter with nothing to show is usually prose that wants to be a table.
The first chapter is always the summary: the answer, the three or four numbers that matter, what is expected of the reader. The last chapter is what happens next: requests, decisions, owners.
Show the plan to the user when the document is long or the stakes are high; otherwise go on.
Step 2: the source
One Markdown file per language, front matter on top, ::: blocks for what plain Markdown cannot
say. Everything is in references/source-format.md; the essentials:
---
title: Booking service
kind: Status report and roadmap
subtitle: One sentence that says what the reader gets.
client: Client name
author: Your firm
date: 2026-10-27
version: "1.0"
confidential: Confidential
lang: en
theme: sobre
---
# Summary
:::summary
The answer, in three to five sentences, with the numbers and what is expected.
:::
:::kpis
4 | projects | on one server
≈ US$190 | per month | services
:::
# A chapter
:::goal
What this chapter establishes, in one sentence.
:::
Lead paragraph with the point of the chapter.

:::table{caption="What the table shows" widths="20,55,25" firstcol}
| Item | Detail | Status |
|---|---|---|
| Access | Key-only login | {{good:In place}} |
:::Write it with the rules of references/writing.md: the point first, numbers instead of adjectives,
one idea per paragraph, no filler, a table as soon as items share attributes.
Step 3: the figures
Each figure is a file next to the source: .svg drawn by hand (architecture, flow, roadmap, matrix),
.mmd for Mermaid (sequence, state, simple flows), .chart.json for data (ECharts option), .html
for anything else, .png/.jpg for photos and screenshots. SVG and HTML figures use the theme's
CSS variables (var(--accent), var(--ink)...), so they match the document in any theme. Norms,
sizes and the choice of exhibit are in references/figures.md.
Step 4: build
node <skill-dir>/scripts/build.mjs path/to/source.md [--out DIR] [--theme NAME|file.json] [--brand NAME|none]The build prints brand <name> or brand none first: check it is the one the brief settled.
It checks the source (errors stop the build, warnings are listed), renders the figures and the
cover, writes the Word file, converts it to PDF, finds the page of every heading, writes those
numbers into the contents, rebuilds, and renders every page to PNG plus a contact sheet. Output in
out/ next to the source (one --out per language, or the page images overwrite each other):
<file>.docxand<file>.pdf: the deliverables;contact.png: all pages side by side;pages/page-NN.png: each page;report.json: page count, contents with pages, warnings.
node <skill-dir>/scripts/check.mjs source.md runs the checks alone. Read every warning: fix it, or
keep it knowingly and say why.
Step 5: look at it
A document you have not looked at is not finished. Open contact.png, then each page image, and
run the grid in references/review.md: blank or half-empty pages, a table cut after one row, a figure
too small to read, a word cut in a narrow column, a callout that repeats its chapter title, numbers
that disagree between the summary and the body. Fix the source, rebuild, look again. Two or three
rounds is normal.
For an important document, give the PDF to a fresh sub-agent with no context and ask it what the author wants from the reader, what it would ask before acting, and what it found unclear. Fix what it trips on.
Step 6: deliver
- Hand over the
.docxand the.pdfby full path (or attach them), one pair per language. - Keep the source and its figures next to them: the next revision starts there, not from the Word file.
- Say in two lines what the document asks of its reader, and list anything you marked "to be confirmed" so the user checks it before sending.
- Validate the Word file when it goes to an important client: the
docxskill ofanthropics/skillsshipsscripts/office/validate.py(needsdefusedxmlandlxml).
House brands
A brand lives outside the skill, in ~/.config/dossier/brands/<name>/ (DOSSIER_HOME moves it):
brand.json plus its logo and fonts. ~/.config/dossier/config.json may set
{ "defaultBrand": "<name>" } so every document carries it without asking. Format, the fictional
example in examples/brand/northwind/, and how to make one from a firm's existing invoices are in
references/design.md. To create one, ask for the logo (PNG, transparent) and take colours and
fonts from what the firm already prints; never invent a brand.
Pitfalls already paid for
- A brand logo is dark on transparent: on the dark cover band it disappears. The brand gives a
logoOnDarkversion (white, accent kept); make one when it is missing. - Subset web fonts lack symbols (
≈,→): LibreOffice falls back to DejaVu for those characters only. Use the foundry's full TTF files, and checkpdffontson the PDF. - An accent that passes on the screen fails on paper: text in the accent colour needs 4.5:1 against white. Keep the exact brand colour for the band and the logo, a darker shade for text.
- Exporting a docs page to Word is not a document. A chat-built page exported as
.docxhas no cover, no contents and no design. Build from a source with this skill instead. - A blank page after the front matter: a trailing empty paragraph spills over, then the first chapter breaks the page again. The writer drops it; keep it that way when you edit it.
- Tables kept whole leave half-empty pages. Only tables of five rows or less are kept on one page;
longer ones may break, never leaving the header alone (
keep=Non:::tableto change it). - LibreOffice recompresses images to JPEG and leaves a grey veil around figures: the build asks for lossless export. Do not remove that option.
- Mermaid measures labels before the font loads and cuts them: the renderer waits for the font.
- A key figure longer than about eight characters wraps. The writer shrinks the row's values
together; still prefer short values (
≈ 190 $ US, notabout 190 US dollars). - A narrow ID column breaks
EXF-001in two. Give ID columns 12 % or more. - The snap LibreOffice cannot read
/tmpor hidden folders: build inside a normal folder of the home directory.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

