Communitygithub.com

David-Li0406/meta-compétence-évolution

Création, édition et analyse complètes de documents avec prise en charge des modifications suivies, commentaires, préservation de la mise en forme et extraction de texte. Idéal lorsque Claude doit travailler avec des documents professionnels (.docx) pour : (1) créer de nouveaux documents, (2) modifier ou éditer du contenu, (3) travailler avec des modifications suivies, (4) ajouter des commentaires, ou toute autre tâche documentaire.

Qu'est-ce que meta-compétence-évolution ?

Cette compétence permet à un agent IA de manipuler des fichiers .docx via des outils en ligne de commande et des bibliothèques logicielles, en suivant des workflow précis selon l'objectif. Pour la lecture, elle propose l'extraction de texte avec Pandoc ou l'accès brut au XML en décompressant le fichier. Pour la création de documents, elle recommande l'utilisation de la bibliothèque docx-js (JavaScript/TypeScript) après avoir lu attentivement sa documentation dédiée. L'édition de documents existants s'appuie sur la bibliothèque Document (Python) pour une manipulation OOXML de haut niveau, avec un workflow de suivi des modifications (redlining) particulièrement adapté aux documents juridiques, académiques ou professionnels. Ce workflow inclut la conversion en Markdown, le regroupement par lots de modifications, l'implémentation via des scripts Python manipulant le XML, le reconditionnement du fichier et une vérification finale. La compétence détaille également la conversion de documents en images via LibreOffice et Poppler pour une analyse visuelle. Enfin, des directives de style de code encouragent des scripts concis et évitent les opérations redondantes.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Création, édition et analyse de documents DOCX

Présentation

Un utilisateur peut vous demander de créer, éditer ou analyser le contenu d'un fichier .docx. Un fichier .docx est essentiellement une archive ZIP contenant des fichiers XML et d'autres ressources que vous pouvez lire ou modifier. Vous disposez de différents outils et workflows pour différentes tâches.

Arbre de décision des workflows

Lecture/Analyse du contenu

Utilisez les sections "Extraction de texte" ou "Accès XML brut" ci-dessous

Création d'un nouveau document

Utilisez le workflow "Création d'un nouveau document Word"

Édition d'un document existant

  • Votre propre document + modifications simples Utilisez le workflow "Édition OOXML de base"

  • Document d'une autre personne Utilisez le "Workflow de suivi des modifications (redlining)" (recommandé par défaut)

  • Documents juridiques, académiques, commerciaux ou gouvernementaux Utilisez le "Workflow de suivi des modifications (redlining)" (obligatoire)

Lecture et analyse du contenu

Extraction de texte

Si vous avez simplement besoin de lire le contenu textuel d'un document, vous devez le convertir en Markdown en utilisant Pandoc. Pandoc offre un excellent support pour la préservation de la structure du document et peut afficher les modifications suivies :

# Convertir le document en Markdown avec les modifications suivies
pandoc --track-changes=all chemin-vers-fichier.docx -o sortie.md
# Options : --track-changes=accept/reject/all

Accès XML brut

Vous avez besoin d'un accès XML brut pour : les commentaires, la mise en forme complexe, la structure du document, les médias intégrés et les métadonnées. Pour toutes ces fonctionnalités, vous devrez décompresser un document et lire son contenu XML brut.

Décompresser un fichier

python ooxml/scripts/unpack.py <fichier_office> <répertoire_sortie>

Structures de fichiers clés

  • word/document.xml - Contenu principal du document
  • word/comments.xml - Commentaires référencés dans document.xml
  • word/media/ - Images et fichiers multimédia intégrés
  • Les modifications suivies utilisent les balises <w:ins> (insertions) et <w:del> (suppressions)

Création d'un nouveau document Word

Lors de la création d'un nouveau document Word à partir de zéro, utilisez docx-js, qui vous permet de créer des documents Word en JavaScript/TypeScript.

Workflow

  1. OBLIGATOIRE - LIRE LE FICHIER EN ENTIER : Lisez docx-js.md (~500 lignes) complètement du début à la fin. NE définissez JAMAIS de limites de plage lors de la lecture de ce fichier. Lisez le contenu complet du fichier pour la syntaxe détaillée, les règles de mise en forme critiques et les meilleures pratiques avant de procéder à la création du document.
  2. Créez un fichier JavaScript/TypeScript en utilisant les composants Document, Paragraph, TextRun (Vous pouvez supposer que toutes les dépendances sont installées, mais sinon, reportez-vous à la section des dépendances ci-dessous)
  3. Exportez au format .docx en utilisant Packer.toBuffer()

Édition d'un document Word existant

Lors de l'édition d'un document Word existant, utilisez la bibliothèque Document (une bibliothèque Python pour la manipulation OOXML). La bibliothèque gère automatiquement la configuration de l'infrastructure et fournit des méthodes pour la manipulation de documents. Pour les scénarios complexes, vous pouvez accéder au DOM sous-jacent directement via la bibliothèque.

Workflow

  1. OBLIGATOIRE - LIRE LE FICHIER EN ENTIER : Lisez ooxml.md (~600 lignes) complètement du début à la fin. NE définissez JAMAIS de limites de plage lors de la lecture de ce fichier. Lisez le contenu complet du fichier pour l'API de la bibliothèque Document et les motifs XML pour éditer directement les fichiers du document.
  2. Décompressez le document : python ooxml/scripts/unpack.py <fichier_office> <répertoire_sortie>
  3. Créez et exécutez un script Python en utilisant la bibliothèque Document (voir la section "Bibliothèque Document" dans ooxml.md)
  4. Reconditionnez le document final : python ooxml/scripts/pack.py <répertoire_entrée> <fichier_office>

La bibliothèque Document fournit à la fois des méthodes de haut niveau pour les opérations courantes et un accès direct au DOM pour les scénarios complexes.

Workflow de suivi des modifications pour la révision de documents

Ce workflow vous permet de planifier des modifications suivies complètes en utilisant Markdown avant de les implémenter en OOXML. CRITIQUE : Pour des modifications suivies complètes, vous devez implémenter TOUTES les modifications de manière systématique.

Stratégie de regroupement par lots : Regroupez les modifications connexes en lots de 3 à 10 modifications. Cela rend le débogage gérable tout en maintenant l'efficacité. Testez chaque lot avant de passer au suivant.

Principe : Modifications minimales et précises Lors de l'implémentation de modifications suivies, ne marquez que le texte qui change réellement. La répétition de texte inchangé rend les modifications plus difficiles à réviser et semble peu professionnelle. Décomposez les remplacements en : [texte inchangé] + [suppression] + [insertion] + [texte inchangé]. Préservez le RSID de l'exécution d'origine pour le texte inchangé en extrayant l'élément <w:r> de l'original et en le réutilisant.

Exemple - Modification de "30 jours" en "60 jours" dans une phrase :

# MAUVAIS - Remplace la phrase entière
'<w:del><w:r><w:delText>Le terme est de 30 jours.</w:delText></w:r></w:del><w:ins><w:r><w:t>Le terme est de 60 jours.</w:t></w:r></w:ins>'

# BON - Marque uniquement ce qui a changé, préserve le <w:r> d'origine pour le texte inchangé
'<w:r w:rsidR="00AB12CD"><w:t>Le terme est de </w:t></w:r><w:del><w:r><w:delText>30</w:delText></w:r></w:del><w:ins><w:r><w:t>60</w:t></w:r></w:ins><w:r w:rsidR="00AB12CD"><w:t> jours.</w:t></w:r>'

Workflow de modifications suivies

  1. Obtenir une représentation Markdown : Convertissez le document en Markdown avec les modifications suivies préservées :

    pandoc --track-changes=all chemin-vers-fichier.docx -o actuel.md
    
  2. Identifier et regrouper les modifications : Passez en revue le document et identifiez TOUTES les modifications nécessaires, en les organisant en lots logiques :

    Méthodes de localisation (pour trouver les modifications dans le XML) :

    • Numéros de sections/en-têtes (par exemple, "Section 3.2", "Article IV")
    • Identifiants de paragraphes s'ils sont numérotés
    • Motifs grep avec un texte environnant unique
    • Structure du document (par exemple, "premier paragraphe", "bloc de signature")
    • N'utilisez PAS les numéros de ligne Markdown - ils ne correspondent pas à la structure XML

    Organisation des lots (regroupez 3 à 10 modifications connexes par lot) :

    • Par section : "Lot 1 : Modifications de la section 2", "Lot 2 : Mises à jour de la section 5"
    • Par type : "Lot 1 : Corrections de dates", "Lot 2 : Modifications de noms de parties"
    • Par complexité : Commencez par des remplacements de texte simples, puis abordez les modifications structurelles complexes
    • Séquentiel : "Lot 1 : Pages 1-3", "Lot 2 : Pages 4-6"
  3. Lire la documentation et décompresser :

    • OBLIGATOIRE - LIRE LE FICHIER EN ENTIER : Lisez ooxml.md (~600 lignes) complètement du début à la fin. NE définissez JAMAIS de limites de plage lors de la lecture de ce fichier. Portez une attention particulière aux sections "Bibliothèque Document" et "Motifs de modifications suivies".
    • Décompressez le document : python ooxml/scripts/unpack.py <fichier.docx> <répertoire>
    • Notez le RSID suggéré : Le script de décompression suggérera un RSID à utiliser pour vos modifications suivies. Copiez ce RSID pour l'utiliser à l'étape 4b.
  4. Implémenter les modifications par lots : Regroupez les modifications logiquement (par section, par type ou par proximité) et implémentez-les ensemble dans un seul script. Cette approche :

    • Facilite le débogage (lot plus petit = plus facile d'isoler les erreurs)
    • Permet une progression incrémentale
    • Maintient l'efficacité (une taille de lot de 3 à 10 modifications fonctionne bien)

    Regroupements suggérés pour les lots :

    • Par section du document (par exemple, "Modifications de la section 3", "Définitions", "Clause de résiliation")
    • Par type de modification (par exemple, "Modifications de dates", "Mises à jour de noms de parties", "Remplacements de termes juridiques")
    • Par proximité (par exemple, "Modifications sur les pages 1-3", "Modifications dans la première moitié du document")

    Pour chaque lot de modifications connexes :

    a. Mapper le texte en XML : Utilisez grep dans word/document.xml pour vérifier comment le texte est réparti entre les éléments <w:r>.

    b. Créer et exécuter le script : Utilisez get_node pour trouver les nœuds, implémentez les modifications, puis doc.save(). Voir la section "Bibliothèque Document" dans ooxml.md pour les motifs.

    Remarque : Utilisez toujours grep sur word/document.xml immédiatement avant d'écrire un script pour obtenir les numéros de ligne actuels et vérifier le contenu textuel. Les numéros de ligne changent après chaque exécution de script.

  5. Reconditionner le document : Une fois tous les lots terminés, convertissez le répertoire décompressé en .docx :

    python ooxml/scripts/pack.py décompressé document_révisé.docx
    
  6. Vérification finale : Effectuez une vérification complète du document entier :

    • Convertissez le document final en Markdown :
      pandoc --track-changes=all document_révisé.docx -o vérification.md
      
    • Vérifiez que TOUTES les modifications ont été appliquées correctement :
      grep "phrase originale" vérification.md  # NE devrait PAS la trouver
      grep "phrase de remplacement" vérification.md  # Devrait la trouver
      
    • Vérifiez qu'aucune modification non intentionnelle n'a été introduite

Conversion de documents en images

Pour analyser visuellement les documents Word, convertissez-les en images en deux étapes :

  1. Convertir DOCX en PDF :

    soffice --headless --convert-to pdf document.docx
    
  2. Convertir les pages PDF en images JPEG :

    pdftoppm -jpeg -r 150 document.pdf page
    

    Cela crée des fichiers comme page-1.jpg, page-2.jpg, etc.

Options :

  • -r 150 : Définit la résolution à 150 DPI (ajustez pour l'équilibre qualité/taille)
  • -jpeg : Format de sortie JPEG (utilisez -png pour PNG si préféré)
  • -f N : Première page à convertir (par exemple, -f 2 commence à la page 2)
  • -l N : Dernière page à convertir (par exemple, -l 5 s'arrête à la page 5)
  • page : Préfixe pour les fichiers de sortie

Exemple pour une plage spécifique :

pdftoppm -jpeg -r 150 -f 2 -l 5 document.pdf page  # Convertit uniquement les pages 2 à 5

Directives de style de code

IMPORTANT : Lors de la génération de code pour les opérations DOCX :

  • Écrivez un code concis
  • Évitez les noms de variables verbeux et les opérations redondantes
  • Évitez les instructions d'affichage inutiles

Dépendances

Dépendances requises (installez si non disponibles) :

  • pandoc : sudo apt-get install pandoc (pour l'extraction de texte)
  • docx : npm install -g docx (pour la création de nouveaux documents)
  • LibreOffice : sudo apt-get install libreoffice (pour la conversion PDF)
  • Poppler : sudo apt-get install poppler-utils (pour pdftoppm qui convertit le PDF en images)
  • defusedxml : pip install defusedxml (pour l'analyse XML sécurisée)

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

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

Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.

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".

Skills associés