Agent skill

Doc Convert

by AetherHeart-AI in AetherHeart-AI/Aeloon

Convert local PDF/DOCX documents to text for analysis. An agent skill from AetherHeart-AI/Aeloon.

MITAuto-check passedDocuments & Office

Install Doc Convert

skills CLI
$ npx skills add AetherHeart-AI/Aeloon --skill doc-convert -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AetherHeart-AI/Aeloon doc-convert --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AetherHeart-AI/Aeloon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/aeloon/resources/skills/doc-convert .claude/skills/doc-convert && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
doc-convert
GitHub stars
136
Token cost
~1k tokens
SKILL.md length
232 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Convert local PDF/DOCX documents to text for analysis. An agent skill from AetherHeart-AI/Aeloon.

  • Works in 4 steps: Convert PDF to text → Convert DOCX to text → Read converted text → …
  • Tasks that involve Word documents
  • SKILL.md covers Document Detection, Conversion Workflow, Output Directory and Error Handling, plus 1 more section
  • Calls pip

What it does

Doc Convert is an agent skill from AetherHeart-AI/Aeloon. Convert local PDF/DOCX documents to text for analysis

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering Word documents and PDF. It works with Microsoft Word. The licence is MIT.

When your agent uses it

  • Tasks that involve Word documents
  • Tasks that involve PDF

Example prompts

  • “/doc-convert”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Convert PDF to text
  2. Convert DOCX to text
  3. Read converted text
  4. Process directory of documents

What it can do on your machine

Read from SKILL.md and the folder at commit e5afaa1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Doc Convert loads about 1k tokens when it runs. Until then it costs about 16 tokens; SKILL.md has 232 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~16
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AetherHeart-AI/Aeloon at commit e5afaa1, republished under its MIT licence (© AetherHeart-AI). 232 words, ~1,049 tokens.

Download SKILL.mdSave it as .claude/skills/doc-convert/SKILL.md (or your agent's skills folder).
name
doc-convert
description
Convert local PDF/DOCX documents to text for analysis

Document Conversion

When a user references local documents or directories (e.g., "refer to ~/papers/report.pdf", "according to these files", "use the documents in ~/data/"), convert the referenced documents to text format, then read and analyze them.

Document Detection

Recognize when the user mentions:

  • File paths (e.g., ~/papers/report.pdf, /home/user/docs/notes.docx)
  • Directories (e.g., ~/papers/, ./docs/)
  • "these documents" / "these files" / "use these papers" / "refer to" / "according to"

Conversion Workflow

Step 1: Convert PDF to text
bash
exec(command="python3 -c \"
import fitz, sys, os, pathlib
src = '{source_path}'
out_dir = os.path.expanduser('~/.aeloon/converted_docs')
os.makedirs(out_dir, exist_ok=True)
stem = pathlib.Path(src).stem
out_path = os.path.join(out_dir, stem + '.txt')
doc = fitz.open(src)
text = ''
for page in doc:
    text += page.get_text() + '\n\n'
doc.close()
with open(out_path, 'w', encoding='utf-8') as f:
    f.write(text.strip())
print(f'Converted: {out_path}')
print(f'Pages: {doc.page_count}, Characters: {len(text)}')
\"")
Step 2: Convert DOCX to text
bash
exec(command="python3 -c \"
import docx, os, pathlib
src = '{source_path}'
out_dir = os.path.expanduser('~/.aeloon/converted_docs')
os.makedirs(out_dir, exist_ok=True)
stem = pathlib.Path(src).stem
out_path = os.path.join(out_dir, stem + '.txt')
doc = docx.Document(src)
lines = []
for para in doc.paragraphs:
    if para.style.name.startswith('Heading'):
        level = int(para.style.name.split()[-1]) if para.style.name[-1].isdigit() else 1
        lines.append('#' * level + ' ' + para.text)
    else:
        lines.append(para.text)
text = '\n\n'.join(lines)
with open(out_path, 'w', encoding='utf-8') as f:
    f.write(text.strip())
print(f'Converted: {out_path}')
\"")
Step 3: Read converted text
bash
read_file(path="{converted_path}")
Step 4: Process directory of documents

When the user specifies a directory:

bash
exec(command="python3 -c \"
import fitz, docx, os, pathlib, glob
src_dir = '{directory_path}'
out_dir = os.path.expanduser('~/.aeloon/converted_docs')
os.makedirs(out_dir, exist_ok=True)
supported = {'.pdf', '.docx', '.md', '.txt', '.csv'}
converted = 0
skipped = 0
for f in sorted(pathlib.Path(src_dir).rglob('*')):
    if f.suffix.lower() not in supported:
        continue
    out_path = pathlib.Path(out_dir) / (f.stem + '.txt')
    if f.suffix.lower() == '.pdf':
        doc = fitz.open(str(f))
        text = '\\n\\n'.join(p.get_text() for p in doc)
        doc.close()
    elif f.suffix.lower() == '.docx':
        doc = docx.Document(str(f))
        text = '\\n\\n'.join(p.text for p in doc.paragraphs)
    else:
        text = f.read_text(encoding='utf-8', errors='replace')
    out_path.write_text(text.strip(), encoding='utf-8')
    converted += 1
    print(f'OK: {f.name} -> {out_path.name}')
print(f'\\nTotal: {converted} converted, {skipped} skipped')
\"")

Output Directory

  • Converted text files are saved to ~/.aeloon/converted_docs/
  • Files are named <original_stem>.txt (e.g., report.txt from report.pdf)
  • Never auto-delete converted files — they serve as a local cache for future reference
  • If the directory grows too large, the user may manually clean old files

Error Handling

If conversion fails:

  1. Report which file failed: "Failed to convert {filename}: {error}"
  2. Suggest installing dependencies: pip install PyMuPDF pdfminer.six python-docx
  3. Continue with available text-based documents (.md, .txt, .csv)

Important Notes

  • Only convert referenced documents — do NOT auto-scan entire file systems
  • If a file is already converted (exists in ~/.aeloon/converted_docs/), skip conversion and read the cached version
  • Large PDFs may take time — inform the user about processing time
  • Always use exec tool for file operations, never call read_file on binary files
  • For .md / .txt / .csv files, use read_file directly — no conversion needed

© AetherHeart-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in aeloon/resources/skills/doc-convert of AetherHeart-AI/Aeloon.

Open the folder on GitHubat commit e5afaa1

Compare with similar skills

Doc Convert next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Doc Convert compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Doc Convert this skillAetherHeart-AI/Aeloon136—~1kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78114 repos~3.2kAutomated safety check: NotesMIT
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0
GenOffice Document CLIgenspark-ai/genoffice8.9k—~19kAutomated safety check: PassApache-2.0
Translate Bookdeusyu/translate-book2.1k—~5.5kAutomated safety check: NotesMIT
Docsagentdocsagent/docsagent625—~834Automated safety check: PassNone

Similar skills

  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    781 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • GenOffice Document CLI

    genspark-ai/genoffice

    Creates, converts, reads and edits real pptx, xlsx, docx and PDF files locally through the genoffice command line.

    8.9k GitHub stars~19k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Translate Book

    deusyu/translate-book

    Translate books (PDF/DOCX/EPUB) into any language using parallel sub-agents.

    2.1k GitHub stars~5.5k tokensUpdated 14 days ago
    Documents & OfficeAuto-check: notes
  • Docsagent

    docsagent/docsagent

    Search and manage private, local document collections (PDF, PPTX, DOCX) offline.

    625 GitHub stars~834 tokensUpdated 10 days ago
    Documents & OfficeAuto-check passed
  • Markitdown

    jimmc414/Kosmos

    Convert various file formats (PDF, Office documents, images, audio, web content, structured data) to Markdown optimized for LLM processing.

    594 GitHub starsUsed in 2 repos~1.7k tokens
    Documents & OfficeAuto-check passed

More from AetherHeart-AI/Aeloon

  • Memory

    AetherHeart-AI/Aeloon

    Always-on prompt memory for stable facts and preferences. An agent skill from AetherHeart-AI/Aeloon.

    136 GitHub stars~432 tokensUpdated 4 mo ago
    Auto-check passed
  • Session Search

    AetherHeart-AI/Aeloon

    Recall past conversations through the sessionsearch tool instead of grepping transcript files.

    136 GitHub stars~220 tokensUpdated 4 mo ago
    Auto-check passed
  • Openviking Memory

    AetherHeart-AI/Aeloon

    Reference guidance for OpenViking setup and layered-memory migration in Aeloon.

    136 GitHub stars~243 tokensUpdated 4 mo ago
    Auto-check passed

Works with

Questions about Doc Convert

What does Doc Convert do?

Convert local PDF/DOCX documents to text for analysis. An agent skill from AetherHeart-AI/Aeloon. Doc Convert is an agent skill from AetherHeart-AI/Aeloon.

When should I use Doc Convert?

Doc Convert fits situations like: tasks that involve Word documents; tasks that involve PDF.

How do I install Doc Convert in Claude Code?

Run `npx skills add AetherHeart-AI/Aeloon --skill doc-convert -a claude-code`. Or copy the skill folder (aeloon/resources/skills/doc-convert in AetherHeart-AI/Aeloon) into .claude/skills/doc-convert in your project. Claude Code loads it when a task matches its description.

How do I install Doc Convert in Codex?

Run `npx skills add AetherHeart-AI/Aeloon --skill doc-convert -a codex`. Or copy the skill folder (aeloon/resources/skills/doc-convert in AetherHeart-AI/Aeloon) into .agents/skills/doc-convert in your project. Codex loads it when a task matches its description.

Can I use Doc Convert in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AetherHeart-AI/Aeloon --skill doc-convert -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doc-convert, .gemini/skills/doc-convert, .github/skills/doc-convert and .opencode/skills/doc-convert in your project.

What does Doc Convert need to run?

Going by SKILL.md and its folder, Doc Convert needs the command-line tools its instructions call (pip). Our summary lists: Python 3.

Does Doc Convert access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Doc Convert safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Doc Convert use?

Doc Convert is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Doc Convert use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Doc Convert?

Skills that share tags, products or a category with Doc Convert: Markitdown (ImCa0/just-laws, 781 stars), Gzh Design (isjiamu/gzh-design-skill, 3.9k stars), GenOffice Document CLI (genspark-ai/genoffice, 8.9k stars) and Translate Book (deusyu/translate-book, 2.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Doc Convert?

AetherHeart-AI (a GitHub organization) maintains it in AetherHeart-AI/Aeloon, which has 136 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on May 19, 2026.

Source: AetherHeart-AI/Aeloon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.