skills/document-extractor/SKILL.md
Convert hard-to-read files into clear Markdown with MarkItDown. Use for PDF, Word, PowerPoint, Excel, images, audio, HTML, CSV, JSON, XML, ZIP, EPUB, Outlook, and YouTube inputs. Check whether `markitdown` is installed first, prefer `uv tool install`, fall back to `pipx`, and use the upstream docs when needed.
npx skillsauth add lirrensi/agent-cli-helpers document-extractorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use markitdown to convert supported inputs into Markdown that is easier to inspect, search, and feed into LLM workflows.
Check whether the CLI already exists:
Get-Command markitdown -ErrorAction SilentlyContinue
markitdown --version
Install with uv first:
uv tool install markitdown
uv tool install 'markitdown[pdf,docx,pptx]'
uv tool install 'markitdown[all]'
Fall back to pipx if uv is unavailable:
pipx install markitdown
pipx install 'markitdown[pdf,docx,pptx]'
pipx install 'markitdown[all]'
If the tool is installed without the feature group you need, reinstall it with the narrower or broader extras set you actually want.
Read references/feature-groups.md before installing extras when the user only needs a subset of formats.
Convert a file and print Markdown to stdout:
markitdown .\report.pdf
Write to a file:
markitdown .\report.pdf -o .\report.md
Pipe binary input and give MarkItDown an extension hint:
Get-Content .\report.pdf -AsByteStream | markitdown -x .pdf -o .\report.md
Use MIME or charset hints when the input source is ambiguous:
markitdown -x .html -m text/html .\page.bin
markitdown -x .csv -c utf-8 .\data.txt
Keep inline data: URIs instead of truncating them:
markitdown --keep-data-uris .\page.html -o .\page.md
markitdown for lightweight text-like inputs and general conversion.[all] only when broad coverage matters more than dependency size.az-doc-intel when using Azure Document Intelligence.audio-transcription or youtube-transcription only for transcription workflows.The current extras list and format mapping lives in references/feature-groups.md.
Convert Office or PDF documents:
markitdown .\slides.pptx -o .\slides.md
markitdown .\notes.docx -o .\notes.md
markitdown .\table.xlsx -o .\table.md
markitdown .\scan.pdf -o .\scan.md
Convert a YouTube URL or archive when the relevant support is installed:
markitdown "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -o .\video.md
markitdown .\bundle.zip -o .\bundle.md
Use Azure Document Intelligence for extraction:
markitdown .\scan.pdf -d -e "https://<resource>.cognitiveservices.azure.com/" -o .\scan.md
List installed third-party plugins:
markitdown --list-plugins
markitdown --use-plugins .\input.pdf -o .\input.md
Use the Python API when the user needs MarkItDown inside a script instead of as a standalone command:
from markitdown import MarkItDown
md = MarkItDown(enable_plugins=False)
result = md.convert("report.pdf")
print(result.markdown)
Use a configured endpoint for Document Intelligence:
from markitdown import MarkItDown
md = MarkItDown(docintel_endpoint="https://<resource>.cognitiveservices.azure.com/")
result = md.convert("scan.pdf")
print(result.markdown)
markitdown is missing, install it with uv tool install ... or pipx install ....-x, -m, or -c hints.-d fails, verify the endpoint and that az-doc-intel support is installed.markitdown --list-plugins and then add --use-plugins.markitdown --help and then check the upstream docs.Use these sources when local behavior is unclear or the package changes:
markitdown --helphttps://github.com/microsoft/markitdown/tree/mainhttps://raw.githubusercontent.com/microsoft/markitdown/main/README.mddata-ai
Portable SSH profile manager for agents. Run remote commands on saved hosts by friendly name instead of typing user@host -i key every time. Type less crap around your SSH commands.
development
Autonomous execution mode triggered by the word "engage". Use when the user has finished planning and wants the agent to execute autonomously without further questions until the workflow is fully complete. The agent must build, test, verify, and deliver proof of work — never exiting with an incomplete or unverified result. Trigger on: "engage", "go autonomous", "execute the plan", "run it", "make it happen", or any explicit signal to switch from planning mode into fully autonomous build-and-verify mode.
tools
Use this skill when you need to manage project tasks — create, update, complete, prioritize, filter, review, track dependencies, or find unblocked work. Trigger on: 'add a task', 'create task', 'show tasks', 'what's next', 'mark done', 'update task', 'task status', 'task history', 'next task', 'task inbox', 'list tasks', 'init tasks', 'task deps', 'ready tasks', 'blocked tasks', 'search tasks', 'tag-any', 'dependency graph'. Also use proactively when starting a new work session — check `tasks status` and `tasks ready` to orient yourself. This skill covers the project's static, file-based task system (persistent, in-repo history) with typed dependency tracking, ready queue, and priority management — NOT ephemeral runtime task tools.
tools
On-demand skill loading from a local skill registry. Trigger on: "skill store", "load skill", "find a skill", "list skills", "import skill", "skill-store", "browse skills", "search skills", or any request to fetch a skill that is NOT currently loaded in the active context. This skill is NOT for managing the already-loaded skills in your prompt. It is for accessing the much larger skill storage (~100s to 1000s) that you only bring into context when you need them. Think of it as a lazy loader: the skills here stay on disk until you explicitly call for them via CLI.