Skip to content

Writer author documentation

Writing skills and extensions

Install reusable writing guidance, understand the skill format, and know when to use an extension.

Install a writing skill

Open Writer's add-ons folder from settings. Skills live in ~/.writer/addons/skills/. Drop a Markdown file there, or place a folder containing SKILL.md there. Restart Writer, then ask a frame's agent to use the skill by name (for example, “Use Editorial design to improve this section”). The loader also rereads skill files for new prompts, so edits apply to the next request without replacing the app. Deleting a file removes its instructions from subsequent prompts.

A loose file can contain plain instructions. Optional YAML frontmatter provides a readable name and description:

---
name: Editorial design
description: Turn comparisons into tables and key points into cards.
---
Preserve the current article's facts. Use Markdown headings and comparison tables.
Use Writer's supported card format for an important takeaway.

See examples/skills/editorial-design.md for a complete example. A skill provides guidance; it does not add tools or make unsupported HTML, scripts, or components render in Writer. The agent receives the full instructions for all successfully loaded skills and is instructed to apply relevant skills, subordinate to the current request and Writer rules. This works across provider routes without relying on a vendor's skill-directory discovery.

Skills are restricted to the Writer-owned folder. Symbolic links are rejected; ambient Pi, Claude, Codex, and document directories are not searched. Each file must be UTF-8 and at most 32 KiB; up to 32 skills and 128 KiB of instructions are loaded. Bad YAML, duplicate file/folder ids, and oversized files appear as add-on diagnostics instead of preventing valid skills from loading. Related scripts or files alongside SKILL.md are not automatically loaded or executed.

Extensions

Extensions are executable local code, unlike instruction-only skills. Discovery reads ~/.writer/addons/extensions/<folder>/manifest.json without executing its entry file. See the extension authoring guide for the supported runtime contract, installation instructions, and an offline example.