MarkItDown

MarkItDown is a skill for Claude Code, Codex from CarbeneAI/Forge. It costs 72 tokens per session (602 once invoked), scanned A, original, MIT.

A file-conversion tool that turns documents and other media into Markdown, a plain-text format commonly used for notes and documentation. It can process formats such as PDF, Word, PowerPoint, spreadsheets, web pages, images, audio, EPUB, and archives, with optional saving to an Obsidian notes vault.

In plain words
What is it for?
Converting individual files or folders to Markdown, extracting text from images with OCR, transcribing audio, importing documents into Obsidian, and processing supported web or YouTube content.
Why use it?
It removes the manual work of copying content from different file types into reusable text and notes. Batch conversion also helps when importing many files.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/carbeneai/forge/markitdown
Any agent
npx skills add CarbeneAI/Forge --skill markitdown
Clone the repo
git clone --depth 1 https://github.com/CarbeneAI/Forge

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for MarkItDown

README.md
[![agentmods](https://agentmods.dev/badge/skills/carbeneai/forge/markitdown.svg)](https://agentmods.dev/skills/carbeneai/forge/markitdown)
Your own site
<a href="https://agentmods.dev/skills/carbeneai/forge/markitdown"><img src="https://agentmods.dev/badge/skills/carbeneai/forge/markitdown.svg" alt="Measured on agentmods" height="20"></a>
Per session 72 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 602 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00072 $0.00602
Opus 5 $0.00036 $0.00301
Sonnet 5 $0.00014 $0.00120
Haiku 4.5 $0.00007 $0.00060

Measured 3d ago against content hash 86d00f94cd0d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

MarkItDown scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (tools/Convert.ts), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/MarkItDown/SKILL.md · 67 lines

How it starts

The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.

MarkItDown

Convert any document to clean Markdown using Microsoft's markitdown library, with optional save to Obsidian vault.

Supported Formats

PDF, DOCX, PPTX, XLSX, XLS, HTML, CSV, JSON, XML, images (with OCR), audio (with transcription), .msg (Outlook), EPUB, ZIP archives, YouTube URLs, HTTP URLs

Workflow Routing

Action Trigger Behavior
Convert "convert this file to markdown" Convert file → stdout or save to Obsidian
Batch "convert all PDFs in folder" Convert multiple files in batch
Import "import this to obsidian" Convert + save to Obsidian vault

Quick Usage

# Convert a file and print markdown
bun ${PAI_DIR}/skills/MarkItDown/tools/Convert.ts input.pdf

# Convert and save to Obsidian vault
bun ${PAI_DIR}/skills/MarkItDown/tools/Convert.ts input.pdf --obsidian

# Convert with custom output filename
bun ${PAI_DIR}/skills/MarkItDown/tools/Convert.ts input.pdf --obsidian --name "My Notes"

# Convert to specific Obsidian subfolder
bun ${PAI_DIR}/skills/MarkItDown/tools/Convert.ts input.pdf --obsidian --folder "Imports"

# Batch convert all PDFs in a directory
bun ${PAI_DIR}/skills/MarkItDown/tools/Convert.ts ~/Documents/*.pdf --obsidian --folder "PDF-Imports"

Examples

Example 1: Convert PDF to Obsidian

User: "Convert this PDF to markdown and save in Obsidian"
→ Runs Convert.ts with --obsidian flag
→ Converts PDF to markdown via markitdown
→ Saves to ~/Nextcloud/PAI/Obsidian/Imports/<filename>.md
→ Reports success with file path

Example 2: Quick conversion for reading

User: "Can you read this DOCX file?"
→ Runs Convert.ts on the file
→ Returns markdown content to conversation
→ Claude can now analyze/summarize the content

Example 3: Batch import

User: "Import all the slides from my presentations folder to Obsidian"
→ Runs Convert.ts on each .pptx file
→ Saves all to Obsidian vault under Imports/
→ Reports count of files converted

Read the full file on GitHub · 67 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 67 lines · 72 tokens per session scan A 86d00f94cd0d

Subscribe to this mod's changes

MarkItDown is a skill published in the GitHub repository CarbeneAI/Forge (9 stars, last pushed 1mo ago), licensed MIT. It adds 72 tokens to every session and 602 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

kb-create

Guided pattern and bug creation with interactive prompts and automatic quality validation. Use this skill when you need to create patterns, document solutions, add KB entries, document bug fixes, save solutions, or create knowledge base entries. Helps users create high-quality KB entries with proper structure…

davidmatousek/tachi · 73 tokens

tachi-report-assembly

Domain knowledge for PDF security report assembly — artifact detection patterns with tier selection rules, Typst data variable contract with type specifications and image path resolution, and brand asset handling with logo location and fallback rules. Consumed by the report-assembler agent during report generation.

davidmatousek/tachi · 58 tokens

~aod-bugfix

One-shot governed bug fix loop: diagnose → plan → implement → verify → document. TRIGGER when: user reports a bug, pastes an error message/stack trace/failing test, or asks to fix a bug. Runs 5 Whys root cause analysis, presents confirmation gate before any code changes, implements fix, verifies with tests, and…

davidmatousek/tachi · 83 tokens

~aod-run

Full lifecycle orchestrator that chains all 6 AOD stages (Discover, Define, Plan, Build, Deliver, Document) with disk-persisted state for session resilience and governance gates at every boundary. Use this skill when you need to run the full lifecycle, orchestrate stages, resume orchestration, or check orchestration…

davidmatousek/tachi · 72 tokens

xpath-xslt

XPath + XSLT injection — query manipulation in XML data stores, server-side XSLT RCE via document() / EXSLT extensions.

MingyiSecLab/Mingyi-Atlas · 34 tokens

xxe-exploitation

XML External Entity (XXE) injection — local file reading via XML parsers, SOAP/WSDL API exploitation, blind out-of-band exfiltration, SVG/DOCX/XLSX upload XXE. Use for any challenge involving XML processing, SOAP endpoints, WSDL services, or XML-based file upload parsing.

MingyiSecLab/Mingyi-Atlas · 69 tokens