Communitygithub.com

David-Li0406/meta-skill-evloving

Konvertiert Dateien und Office-Dokumente in Markdown. Unterstützt PDF, DOCX, PPTX, XLSX, Bilder (mit OCR), Audio (mit Transkription), HTML, CSV, JSON, XML, ZIP, YouTube-URLs, EPUBs und mehr.

Was ist meta-skill-evloving?

Diese Meta-Skill bietet eine umfassende Lösung zur Konvertierung einer Vielzahl von Dateiformaten in Markdown, optimiert für die Verarbeitung durch Large Language Models (LLMs). Sie basiert auf dem Microsoft-Tool MarkItDown und unterstützt über 15 Formate, darunter PDF, Office-Dokumente, Bilder mit OCR, Audiodateien mit Transkription sowie Web- und Datenformate. Die Skill kann über die Kommandozeile oder eine Python-API genutzt werden und bietet erweiterte Funktionen wie KI-gestützte Bildbeschreibungen über OpenRouter, Azure Document Intelligence für komplexe PDFs und ein Plugin-System zur Erweiterung. Sie ist besonders nützlich für wissenschaftliche Workflows, Datenanalyse und die Vorbereitung von Dokumenten für LLM-basierte Anwendungen. Die Skill betont zudem die automatische Generierung wissenschaftlicher Schemata zur visuellen Aufwertung der konvertierten Dokumente.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/David-Li0406/meta-skill-evloving/tree/HEAD/AgentSkillOS/data/skill_seeds/markitdown

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

MarkItDown – Dateien in Markdown konvertieren

Übersicht

MarkItDown ist ein von Microsoft entwickeltes Python-Tool zur Konvertierung verschiedener Dateiformate in Markdown. Es ist besonders nützlich, um Dokumente in ein für LLMs geeignetes Textformat zu konvertieren, da Markdown token-effizient ist und von modernen Sprachmodellen gut verstanden wird.

Wichtigste Vorteile:

  • Konvertiert Dokumente in sauberes, strukturiertes Markdown
  • Token-effizientes Format für die LLM-Verarbeitung
  • Unterstützt über 15 Dateiformate
  • Optionale KI-gestützte Bildbeschreibungen
  • OCR für Bilder und gescannte Dokumente
  • Sprachtranskription für Audiodateien

Visuelle Aufwertung mit wissenschaftlichen Schemata

Beim Erstellen von Dokumenten mit dieser Skill sollte immer das Hinzufügen wissenschaftlicher Diagramme und Schemata zur Verbesserung der visuellen Kommunikation in Betracht gezogen werden.

Falls Ihr Dokument noch keine Schemata oder Diagramme enthält:

  • Nutzen Sie die scientific-schematics-Skill, um KI-gestützte, veröffentlichungsreife Diagramme zu generieren
  • Beschreiben Sie Ihr gewünschtes Diagramm einfach in natürlicher Sprache
  • Nano Banana Pro generiert, überprüft und verfeinert das Schema automatisch

Für neue Dokumente: Standardmäßig sollten wissenschaftliche Schemata generiert werden, um Schlüsselkonzepte, Arbeitsabläufe, Architekturen oder Beziehungen im Text visuell darzustellen.

So generieren Sie Schemata:

python scripts/generate_schematic.py "Ihre Diagrammbeschreibung" -o figures/output.png

Die KI wird automatisch:

  • Veröffentlichungsreife Bilder mit korrekter Formatierung erstellen
  • Mehrere Iterationen durchlaufen, um zu überprüfen und zu verfeinern
  • Barrierefreiheit sicherstellen (farbenblindfreundlich, hoher Kontrast)
  • Ausgaben im figures/-Verzeichnis speichern

Wann Schemata hinzugefügt werden sollten:

  • Diagramme des Dokumentenkonvertierungs-Workflows
  • Architekturillustrationen von Dateiformaten
  • Diagramme der OCR-Verarbeitungspipeline
  • Integrations-Workflow-Visualisierungen
  • Systemarchitekturdiagramme
  • Datenflussdiagramme
  • Jedes komplexe Konzept, das von einer Visualisierung profitiert

Eine detaillierte Anleitung zur Erstellung von Schemata finden Sie in der Dokumentation der scientific-schematics-Skill.


Unterstützte Formate

FormatBeschreibungHinweise
PDFPortable Document FormatVollständige Textextraktion
DOCXMicrosoft WordTabellen, Formatierung erhalten
PPTXPowerPointFolien mit Notizen
XLSXExcel-TabellenTabellen und Daten
BilderJPEG, PNG, GIF, WebPEXIF-Metadaten + OCR
AudioWAV, MP3Metadaten + Transkription
HTMLWebseitenSaubere Konvertierung
CSVKommagetrennte WerteTabellenformat
JSONJSON-DatenStrukturierte Darstellung
XMLXML-DokumenteStrukturiertes Format
ZIPArchivdateienDurchläuft Inhalte
EPUBE-BooksVollständige Textextraktion
YouTubeVideo-URLsTranskriptionen abrufen

Schnellstart

Installation

# Mit allen Funktionen installieren
pip install 'markitdown[all]'

# Oder aus dem Quellcode
git clone https://github.com/microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'

Befehlszeilenverwendung

# Grundlegende Konvertierung
markitdown dokument.pdf > ausgabe.md

# Ausgabedatei angeben
markitdown dokument.pdf -o ausgabe.md

# Inhalt weiterleiten
cat dokument.pdf | markitdown > ausgabe.md

# Plugins aktivieren
markitdown --list-plugins  # Verfügbare Plugins auflisten
markitdown --use-plugins dokument.pdf -o ausgabe.md

Python-API

from markitdown import MarkItDown

# Grundlegende Verwendung
md = MarkItDown()
ergebnis = md.convert("dokument.pdf")
print(ergebnis.text_content)

# Aus einem Stream konvertieren
with open("dokument.pdf", "rb") as f:
    ergebnis = md.convert_stream(f, file_extension=".pdf")
    print(ergebnis.text_content)

Erweiterte Funktionen

1. KI-gestützte Bildbeschreibungen

LLMs über OpenRouter verwenden, um detaillierte Bildbeschreibungen zu generieren (für PPTX- und Bilddateien):

from markitdown import MarkItDown
from openai import OpenAI

# OpenRouter-Client initialisieren (OpenAI-kompatible API)
client = OpenAI(
    api_key="ihr-openrouter-api-schlüssel",
    base_url="https://openrouter.ai/api/v1"
)

md = MarkItDown(
    llm_client=client,
    llm_model="anthropic/claude-sonnet-4.5",  # empfohlen für wissenschaftliches Sehen
    llm_prompt="Beschreiben Sie dieses Bild detailliert für die wissenschaftliche Dokumentation"
)

ergebnis = md.convert("präsentation.pptx")
print(ergebnis.text_content)

2. Azure Document Intelligence

Für eine verbesserte PDF-Konvertierung mit Microsoft Document Intelligence:

# Befehlszeile
markitdown dokument.pdf -o ausgabe.md -d -e "<document_intelligence_endpoint>"
# Python-API
from markitdown import MarkItDown

md = MarkItDown(docintel_endpoint="<document_intelligence_endpoint>")
ergebnis = md.convert("komplexes_dokument.pdf")
print(ergebnis.text_content)

3. Plugin-System

MarkItDown unterstützt Drittanbieter-Plugins zur Funktionserweiterung:

# Installierte Plugins auflisten
markitdown --list-plugins

# Plugins aktivieren
markitdown --use-plugins datei.pdf -o ausgabe.md

Plugins auf GitHub mit dem Hashtag finden: #markitdown-plugin

Optionale Abhängigkeiten

Steuern Sie, welche Dateiformate Sie unterstützen:

# Bestimmte Formate installieren
pip install 'markitdown[pdf, docx, pptx]'

# Alle verfügbaren Optionen:
# [all]                    - Alle optionalen Abhängigkeiten
# [pptx]                   - PowerPoint-Dateien
# [docx]                   - Word-Dokumente
# [xlsx]                   - Excel-Tabellen
# [xls]                    - Ältere Excel-Dateien
# [pdf]                    - PDF-Dokumente
# [outlook]                - Outlook-Nachrichten
# [az-doc-intel]           - Azure Document Intelligence
# [audio-transcription]    - WAV- und MP3-Transkription
# [youtube-transcription]  - YouTube-Videotranskription

Häufige Anwendungsfälle

1. Wissenschaftliche Arbeiten in Markdown konvertieren

from markitdown import MarkItDown

md = MarkItDown()

# PDF-Arbeit konvertieren
ergebnis = md.convert("forschungspapier.pdf")
with open("papier.md", "w") as f:
    f.write(ergebnis.text_content)

2. Daten aus Excel für Analysen extrahieren

from markitdown import MarkItDown

md = MarkItDown()
ergebnis = md.convert("daten.xlsx")

# Ergebnis liegt im Markdown-Tabellenformat vor
print(ergebnis.text_content)

3. Mehrere Dokumente verarbeiten

from markitdown import MarkItDown
import os
from pathlib import Path

md = MarkItDown()

# Alle PDFs in einem Verzeichnis verarbeiten
pdf_verz = Path("arbeiten/")
ausgabe_verz = Path("markdown_ausgabe/")
ausgabe_verz.mkdir(exist_ok=True)

for pdf_datei in pdf_verz.glob("*.pdf"):
    ergebnis = md.convert(str(pdf_datei))
    ausgabe_datei = ausgabe_verz / f"{pdf_datei.stem}.md"
    ausgabe_datei.write_text(ergebnis.text_content)
    print(f"Konvertiert: {pdf_datei.name}")

4. PowerPoint mit KI-Beschreibungen konvertieren

from markitdown import MarkItDown
from openai import OpenAI

# OpenRouter für den Zugriff auf mehrere KI-Modelle verwenden
client = OpenAI(
    api_key="ihr-openrouter-api-schlüssel",
    base_url="https://openrouter.ai/api/v1"
)

md = MarkItDown(
    llm_client=client,
    llm_model="anthropic/claude-sonnet-4.5",  # empfohlen für Präsentationen
    llm_prompt="Beschreiben Sie dieses Folienbild detailliert, mit Fokus auf wichtige visuelle Elemente und Daten"
)

ergebnis = md.convert("präsentation.pptx")
with open("präsentation.md", "w") as f:
    f.write(ergebnis.text_content)

5. Stapelverarbeitung mit verschiedenen Formaten

from markitdown import MarkItDown
from pathlib import Path

md = MarkItDown()

# Zu konvertierende Dateien
dateien = [
    "dokument.pdf",
    "tabellenkalkulation.xlsx",
    "präsentation.pptx",
    "notizen.docx"
]

for datei in dateien:
    try:
        ergebnis = md.convert(datei)
        ausgabe = Path(datei).stem + ".md"
        with open(ausgabe, "w") as f:
            f.write(ergebnis.text_content)
        print(f"✓ Konvertiert {datei}")
    except Exception as e:
        print(f"✗ Fehler beim Konvertieren von {datei}: {e}")

6. YouTube-Videotranskription extrahieren

from markitdown import MarkItDown

md = MarkItDown()

# YouTube-Video in Transkript konvertieren
ergebnis = md.convert("https://www.youtube.com/watch?v=VIDEO_ID")
print(ergebnis.text_content)

Docker-Verwendung

# Image erstellen
docker build -t markitdown:latest .

# Konvertierung ausführen
docker run --rm -i markitdown:latest < ~/dokument.pdf > ausgabe.md

Best Practices

1. Die richtige Konvertierungsmethode wählen

  • Einfache Dokumente: Grundlegende MarkItDown() verwenden
  • Komplexe PDFs: Azure Document Intelligence verwenden
  • Visuelle Inhalte: KI-Bildbeschreibungen aktivieren
  • Gescannte Dokumente: Sicherstellen, dass OCR-Abhängigkeiten installiert sind

2. Fehler elegant behandeln

from markitdown import MarkItDown

md = MarkItDown()

try:
    ergebnis = md.convert("dokument.pdf")
    print(ergebnis.text_content)
except FileNotFoundError:
    print("Datei nicht gefunden")
except Exception as e:
    print(f"Konvertierungsfehler: {e}")

3. Große Dateien effizient verarbeiten

from markitdown import MarkItDown

md = MarkItDown()

# Für große Dateien Streaming verwenden
with open("große_datei.pdf", "rb") as f:
    ergebnis = md.convert_stream(f, file_extension=".pdf")
    
    # In Teilen verarbeiten oder direkt speichern
    with open("ausgabe.md", "w") as aus:
        aus.write(ergebnis.text_content)

4. Für Token-Effizienz optimieren

Die Markdown-Ausgabe ist bereits token-effizient, aber Sie können:

  • Übermäßige Leerzeichen entfernen
  • Ähnliche Abschnitte zusammenfassen
  • Metadaten entfernen, falls nicht benötigt
from markitdown import MarkItDown
import re

md = MarkItDown()
ergebnis = md.convert("dokument.pdf")

# Zusätzliche Leerzeichen bereinigen
sauberer_text = re.sub(r'\n{3,}', '\n\n', ergebnis.text_content)
sauberer_text = sauberer_text.strip()

print(sauberer_text)

Integration in wissenschaftliche Workflows

Literatur für die Überprüfung konvertieren

from markitdown import MarkItDown
from pathlib import Path

md = MarkItDown()

# Alle Arbeiten im Literaturordner konvertieren
arbeiten_verz = Path("literatur/pdfs")
ausgabe_verz = Path("literatur/markdown")
ausgabe_verz.mkdir(exist_ok=True)

for arbeit in arbeiten_verz.glob("*.pdf"):
    ergebnis = md.convert(str(arbeit))
    
    # Mit Metadaten speichern
    ausgabe_datei = ausgabe_verz / f"{arbeit.stem}.md"
    inhalt = f"# {arbeit.stem}\n\n"
    inhalt += f"**Quelle**: {arbeit.name}\n\n"
    inhalt += "---\n\n"
    inhalt += ergebnis.text_content
    
    ausgabe_datei.write_text(inhalt)

# Für KI-gestützte Konvertierung mit Abbildungen
from openai import OpenAI

client = OpenAI(
    api_key="ihr-openrouter-api-schlüssel",
    base_url="https://openrouter.ai/api/v1"
)

md_ki = MarkItDown(
    llm_client=client,
    llm_model="anthropic/claude-sonnet-4.5",
    llm_prompt="Beschreiben Sie wissenschaftliche Abbildungen mit technischer Präzision"
)

Tabellen für Analysen extrahieren

from markitdown import MarkItDown
import re

md = MarkItDown()
ergebnis = md.convert("daten_tabellen.xlsx")

# Markdown-Tabellen können analysiert oder direkt verwendet werden
print(ergebnis.text_content)

Fehlerbehebung

Häufige Probleme

  1. Fehlende Abhängigkeiten: Installieren Sie funktionsspezifische Pakete

    pip install 'markitdown[pdf]'  # Für PDF-Unterstützung
    
  2. Binärdateifehler: Stellen Sie sicher, dass Dateien im Binärmodus geöffnet werden

    with open("datei.pdf", "rb") as f:  # Beachten Sie das "rb"
        ergebnis = md.convert_stream(f, file_extension=".pdf")
    
  3. OCR funktioniert nicht: Installieren Sie Tesseract

    # macOS
    brew install tesseract
    
    # Ubuntu
    sudo apt-get install tesseract-ocr
    

Leistungsüberlegungen

  • PDF-Dateien: Große PDFs können Zeit in Anspruch nehmen; Seitenbereiche in Betracht ziehen, falls unterstützt
  • Bild-OCR: Die OCR-Verarbeitung ist CPU-intensiv
  • Audiotranskription: Erfordert zusätzliche Rechenressourcen
  • KI-Bildbeschreibungen: Erfordert API-Aufrufe (Kosten können anfallen)

Nächste Schritte

  • Siehe references/api_reference.md für die vollständige API-Dokumentation
  • Überprüfen Sie references/file_formats.md für formatspezifische Details
  • Sehen Sie sich scripts/batch_convert.py für Automatisierungsbeispiele an
  • Erkunden Sie scripts/convert_with_ai.py für KI-gestützte Konvertierungen

Ressourcen

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

David-Li0406/meta-skill-evloving

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

David-Li0406/meta-skill-evloving

Create technical diagrams using Mermaid syntax for architecture, sequences, ERDs, flowcharts, and state machines. Use for visualizing system design, data flows, and processes. Triggers: diagram, mermaid, architecture diagram, sequence diagram, flowchart, ERD, entity relationship, state diagram, C4 model, component diagram, visualize, draw.

David-Li0406/meta-skill-evloving

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

David-Li0406/meta-skill-evloving

Complete color manipulation and green screen effects system. PROACTIVELY activate for: (1) Green screen/chromakey removal, (2) Color grading with LUTs, (3) Color correction (levels, curves, white balance), (4) Colorkey/color removal effects, (5) Hue/saturation manipulation, (6) Color space conversions (BT.709, BT.2020, HDR), (7) Color isolation effects, (8) Teal and orange look, (9) Vintage/film looks, (10) Color keying for transparency. Provides: chromakey and colorkey filters, LUT application (lut3d), curves and levels adjustment, color balance, selective color manipulation, color space handling, HDR tone mapping, professional color grading chains.

David-Li0406/meta-skill-evloving

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

David-Li0406/meta-skill-evloving

Build with OpenAI's stateless APIs - Chat Completions (GPT-5, GPT-4o), Embeddings, Images (DALL-E 3), Audio (Whisper + TTS), and Moderation. Includes Node.js SDK and fetch-based approaches for Cloudflare Workers. Use when: implementing chat completions with GPT-5/GPT-4o, streaming responses with SSE, using function calling/tools, creating structured outputs with JSON schemas, generating embeddings for RAG (text-embedding-3-small/large), generating images with DALL-E 3, editing images with GPT-Image-1, transcribing audio with Whisper, synthesizing speech with TTS (11 voices), moderating content (11 safety categories), or troubleshooting rate limits (429), invalid API keys (401), function calling failures, streaming parse errors, embeddings dimension mismatches, or token limit exceeded.

David-Li0406/meta-skill-evloving

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

David-Li0406/meta-skill-evloving

Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks

David-Li0406/meta-skill-evloving

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

David-Li0406/meta-skill-evloving

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.

David-Li0406/meta-skill-evloving

Best practices for Remotion - Video creation in React

David-Li0406/meta-skill-evloving

Provides bidirectional translation (Chinese/English), grammar checking, and sentence polishing. Supports specific tense constraints, context-aware tone adjustment, and natural expression optimization. Outputs direct text without formatting.

David-Li0406/meta-skill-evloving

指导如何通过自定义注解(如@Unicom)标识Dubbo接口,利用BeanDefinitionRegistryPostProcessor在启动时扫描并动态注册ReferenceBean,实现RPC调用的封装。

David-Li0406/meta-skill-evloving

生成Python脚本,利用FFmpeg将图片序列按3x3布局合并,或将合并图拆分。要求使用subprocess模块执行命令,并支持用户交互式输入路径。

David-Li0406/meta-skill-evloving

SOP for extracting and analyzing promotional activity details, handling time formatting, location mapping, payment logic, and step-by-step process validation.

David-Li0406/meta-skill-evloving

Specializes in creating TikTok short video scripts using an anthropomorphic 'Chef' perspective to explain wildlife food chains and survival environments, utilizing real field footage.

David-Li0406/meta-skill-evloving

针对TikTok平台,以拟人化视角(如动物作为厨师)创作系列短视频脚本。重点介绍野生动物、食物链及生态环境,要求使用野外实拍素材,风格幽默且具有教育意义。

David-Li0406/meta-skill-evloving

Generates KWL (Know, Want to know, Learned) charts for educational videos, specifically BrainPOP, using simple 7th-grade language and short, concise bullet points.

David-Li0406/meta-skill-evloving

Develops DAX measures to calculate promo and regular volumes and generates a calculated table of dates excluding continuous promo date ranges, handling multiple periods and nulls.

David-Li0406/meta-skill-evloving

Tracks complex, multi-session work using the Beads issue tracker and dependency graphs, and provides persistent memory that survives conversation compaction. Use when work spans multiple sessions, has complex dependencies, or needs persistent context across compaction cycles. Trigger with phrases like "create task for", "what's ready to work on", "show task", "track this work", "what's blocking", or "update status".

Verwandte Skills