Guide · Agent Skill

Using odf-kit with Claude

odf-kit ships a SKILL.md — an Agent Skill that teaches Claude the current odf-kit API, so a plain-English request produces working code on the first try instead of guessed method names or hand-written XML.

What this actually gets you

Without the skill, asking an AI assistant to "make an ODT file with odf-kit" is a coin flip — it may invent methods that don't exist, or write raw ODF XML by hand instead of calling the library. With the skill loaded, Claude reads the real, current API reference — tables, lists, images, headers and footers, template filling, the reader, and every conversion pathway — before it writes anything.

Option A — just this conversation

Copy the contents of SKILL.md from the odf-kit repo into your chat with Claude, or paste a link to the raw file, and ask Claude to follow it for the task. No setup, but it only lasts for that conversation.

Option B — every conversation, Claude.ai or Cowork

  1. Download SKILL.md from the repo.
  2. Open Settings → Customize → Skills in Claude.ai (or Customize in Cowork).
  3. Click "+" → Create skill, and upload the file — zip it first if you want to bundle extra reference material alongside it.
  4. Requires a Pro, Max, Team, or Enterprise plan with code execution enabled.

From then on, whenever you mention ODT, ODS, ODF, OpenDocument, or LibreOffice-format documents, Claude loads the skill automatically — across every future conversation, not just this one.

Option C — every session, Claude Code

Skills in Claude Code live on disk, so there's no upload step:

# Personal — usable in every project
mkdir -p ~/.claude/skills/odt
curl -o ~/.claude/skills/odt/SKILL.md \
  https://raw.githubusercontent.com/GitHubNewbie0/odf-kit/main/SKILL.md

# OR project — usable only inside this repo
mkdir -p .claude/skills/odt
curl -o .claude/skills/odt/SKILL.md \
  https://raw.githubusercontent.com/GitHubNewbie0/odf-kit/main/SKILL.md

Claude Code loads it the next time you ask for ODT/ODS generation work in that project — no re-explaining the API each session.

Option D — Claude API / Claude Platform

Upload the skill once through the Skills API, then reference its skill_id in the container parameter alongside the code_execution tool on any Messages API call. Full request shape is in Anthropic's Skills API guide.

Where the skill lives

Surface Location
Source of truth SKILL.md at odf-kit repo root
Claude.ai / Cowork Customize → Skills (uploaded copy)
Claude Code (personal) ~/.claude/skills/odt/SKILL.md
Claude Code (project) .claude/skills/odt/SKILL.md
Claude API / Platform Uploaded via the Skills API, referenced by skill_id

Try it

Once the skill is loaded through any option above, a plain-English request is enough:

"Create an ODT report with a heading, a metrics table with a colored header row, and a numbered action-items list."
"I have a LibreOffice .odt template with {name} and {company} placeholders — fill it with this data: …"
"Read this ODT file and tell me what's in the second table."

Claude reaches for odf-kit's real API in each case instead of improvising.

Keeping it current

The skill tracks odf-kit's public API, not internal maintainer workflow — it travels with the library. If you spot it lagging behind a new release, open an issue.

Give Claude the skill

Get the SKILL.md file and start generating ODF documents from a plain-English prompt.