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.
npx skills add darellchua2/opencode-config-template --skill markitdown-mcp-skillgit clone --depth 1 https://github.com/darellchua2/opencode-config-templateWrote 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.
[](https://agentmods.dev/skills/darellchua2/opencode-config-template/markitdown-mcp-skill)<a href="https://agentmods.dev/skills/darellchua2/opencode-config-template/markitdown-mcp-skill"><img src="https://agentmods.dev/badge/skills/darellchua2/opencode-config-template/markitdown-mcp-skill.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.03187 |
| Opus 5 | $0.00022 | $0.01594 |
| Sonnet 5 | $0.00009 | $0.00637 |
| Haiku 4.5 | $0.00004 | $0.00319 |
Grade A, and why
markitdown-mcp-skill scanned grade A with 1 finding 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 4d ago.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
│ (single requests.get(), no telemetry, equivalent to webfetch) How it starts
The opening of the file, as written. The whole thing — 242 lines — stays where its author put it; the contents beside it link to each section on GitHub.
What this skill does
- Documents the
markitdownMCP server and its single toolconvert_to_markdown - Provides
opencode.jsonconfiguration (bothmcpandtoolsblocks) - Prescribes a decision tree for choosing markitdown vs
image-analyzer-subagentvspdf-specialist-skillvspdftotextvs built-inRead - Covers usage patterns (large docs, batch conversion, table post-processing)
- Documents privacy guarantees for company-internal document handling
- Provides fallback strategies when the MCP is unavailable
Reference: markitdown-local-mcp launcher README · Upstream microsoft/markitdown
Requirements & Honesty Note
| Requirement | Status |
|---|---|
markitdown MCP server in opencode.json mcp block |
Required for MCP tool access |
markitdown-local-mcp binary on PATH |
Installed via ./deploy/setup.sh (pip) or baked into Docker |
mcp.markitdown.enabled: true in opencode.json |
Currently default false — user must opt in (#262) |
tools."markitdown*": true in opencode.json |
Currently default false — user must opt in (#262) |
If any requirement is unmet, MCP tool calls return connection errors. Fall back to pdftotext, image-analyzer-subagent, or built-in Read (see Fallback Strategy below).
Privacy note: markitdown is privacy-safe for local files — the markitdown-local-mcp fork's pyproject.toml trust boundary installs only markitdown[pdf,docx,pptx,xlsx,xls,outlook] (no azure/speech/youtube extras), so conversion is fully local with zero phone-home network calls. Opt-in (enabled: false by default per #262) is a choice of minimal default footprint, not a privacy concern.
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.
- 4d ago First seen · 242 lines · 43 tokens per session scan A 26a0ad26966a
markitdown-mcp-skill is a skill published in the GitHub repository darellchua2/opencode-config-template (6 stars, last pushed yesterday), licensed Apache-2.0. It adds 43 tokens to every session and 3,187 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
processing-docx
Processes Word document files (.docx). Creates, edits, annotates, tracks revisions, analyzes OOXML structure, and preserves formatting for contracts, policies, academic papers, and business documents. Use when working with .docx files or Word documents. Do NOT use for PDFs, spreadsheets, presentations, or plain text…
processing-pdfs
Processes PDF files. Extracts text and tables, fills forms, merges and splits documents, batch-processes files, converts to images, and generates PDFs programmatically. Use when working with .pdf files. Do NOT use for Word documents, spreadsheets, or presentations.
creating-presentations
Processes PowerPoint presentation files (.pptx). Creates slides, rewrites templates, converts HTML to presentations, validates thumbnails, swaps layouts, and performs deep OOXML editing. Use when working with presentation files or slide decks. Do NOT use for Word documents, spreadsheets, or PDF files.
analyzing-spreadsheets
Processes Excel spreadsheet files (.xlsx, .xlsm, .csv). Creates workbooks, builds formulas, preserves formatting, analyzes tabular data, and validates financial models with zero-formula-error delivery. Use when working with spreadsheet files or tabular data analysis. Do NOT use for Word documents, PDFs, presentations…
rtl-persian-pdf
Generate production-grade Persian RTL PDFs from Markdown or HTML with reliable shaping, bidi safety, and deterministic print output. Use when the user asks for Persian PDF export, RTL rendering, right-aligned typography, Arabic/Persian text shaping, or portable PDF generation across environments.
orbit-notion
Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and…