internkim

Office files

How the agent makes and edits decks, spreadsheets, Word documents and PDFs on any host, and how it checks them before you see them.

Ask for a board deck as a PDF, a summary workbook from a CSV, or a proposal in Word, and the agent does it with one skill, office. The skill runs on the host as a command-line tool and returns a JSON result for every step, so the agent sees what it made, what is wrong with it, and the operation that fixes each problem. It needs no office suite, no browser and no desktop app, and a page looks the same on a laptop, a Mac Studio or the company's Linux box, because the skill ships the fonts it draws with.

The same skill comes with the plugin, so a coding agent on your own machine makes the same files.

Decks

A deck has no preset theme, layout kit or stock graphic. The agent designs each one for its request, in stages adapted from GenOffice (Apache-2.0, credited in the plugin's NOTICE). Each stage is one file, and each is checked before the next begins.

StageFileWhat it holds
Style sheetDESIGN.mda palette with up to two accents, a background per page type, type sizes, and one line naming the style
Outlineoutline.jsonthe core message, then per page its title, type, brief, figures and the photos it needs
Pagespages/01.html, pages/02.html, …one page per file, written from its outline entry
Buildbuild/<name>.pptxthe PowerPoint, with the PDF beside it

The style sheet is checked only for what can be measured: the colours parse, text sizes stay above the readable minimum, and text has enough contrast against its background.

Every number in the outline is a figure with a label, a value and a unit. Before any page exists, a decision model (jev) reads the outline's text against the request and its attachments and refuses what they do not support, such as an invented number, a source line or a slogan. In one more call for the whole deck, the same model picks each page's layout from GenOffice's library of named compositions: covers, three column cards, a hero number, a timeline, two columns, a row of KPI cards, a chart with its insight, photo layouts and closings. Two body pages in a row never share a layout, and a deck uses at least three. The layout names the composition; the model still decides the proportions, the elements, their sizes and their colours.

A page takes its title from its outline entry, and the build fills it in, so a page cannot carry another page's title. A chart plots only its entry's figures with their units, and a chart with two units on one axis is refused. After each page is written, office check pages/NN.html measures that page alone: content spilling out of its box or the page, parts drawn over each other, clipped text, contrast, and text below the minimum size.

office create build/<name>.pptx . checks every stage again, renders and measures every page, and ends in one verdict the agent acts on:

VerdictWhat the agent does
ACCEPTABLEdelivers the named file; remaining notes are advice
FIX ROUND n OF 2fixes only the listed defects in their page files and builds again
STOP FIXINGdelivers and names what is left

Then an image-reading decision model (clef) looks at each rendered slide, and at the whole deck for repeated layouts. It reports only objective defects: overlap, cramped or wasted space, misalignment, an unreadable chart, a bad picture. The host rewrites the pages it flags, for at most two rounds, and leaves clean pages untouched. When the file is delivered, a last claim check reads its text once more as a safety net, and a value the sources do not support is left blank for the reply to offer to complete.

InternKim picks a deck's typeface from the request: Paperlogy by default, otherwise Freesentation or A2Z. A font the person names is looked for among the attachments, the data room and Google Fonts and embedded; when none is found, the deck is set in Paperlogy and the reply says so. The company logo goes on the cover and the closing page. Photos come from the request's attachments and the data room images the requester can read, and a page with no photo gets no placeholder.

In the .pptx, text stays editable text, charts and tables are native with their data, and the fonts are embedded.

A .pptx someone hands over is edited in place with office apply, and office check previews and measures it. A layout problem it reports carries the operation that clears it, or says that no single operation can.

Spreadsheets

A CSV becomes a typed workbook with office create, and office apply adds what the request needs: formulas, conditional formats, validation, tables, charts, pivot tables and page setup. Formulas are computed when the file is written, so a workbook opened in a viewer that does not recalculate still shows numbers.

office check reports formula errors, values left stale by an edit, numbers stored as text, charts that read nothing, and a sheet that prints across more pages or smaller than it should, each with the fix. office render draws the printed pages so the agent can look at them.

Documents and PDFs

Word documents are written from Markdown, which may carry tables, images and charts, or edited operation by operation. Edits can be tracked under an author's name and accepted or rejected later, and comments can be added, answered and resolved. office render lays the pages out the way Word would, and office check uses that layout to catch a heading left alone at the bottom of a page before the file is attached.

PDFs are created from a layout spec, read page by page, rendered to images, and extended with section pages; a scanned PDF is read with --ocr, and a locked one with --password. office convert moves between Markdown, Word, HTML, PDF, workbooks, CSV and PowerPoint, and office guide convert lists every route with what it keeps.

Company forms such as quotes and contracts are filled on the company's letterhead with office merge, and office check verifies row amounts, totals, tax and the amount in Korean words. office guide form lists the forms.

Results

Every command prints one JSON result: a status of ok, warning or error, a summary, and issues. Each issue has a stable code, a location, a sentence saying what to do, and fix, the operations that make that change. A mistyped command, field or layout is answered with the nearest valid name. A batch of operations applies whole or not at all unless --mode asks for best effort.

Requirements

office setup installs what the skill needs beside its own files, at locked versions: the Python packages, the page renderer and the OCR engine. It needs Python 3, uv, and Bun or Node 18 or newer, and the host install runs it. No other command installs anything; before setup, each one says to run it.

The fonts are licensed under the SIL Open Font License and travel with the skill, so nothing depends on fonts installed on the host. office guide lists them.

On this page