Communitygithub.com

David-Li0406/meta-skill-evloving

DOCX文書の作成、編集、分析を行うための包括的なスキルです。変更履歴の追跡、コメント追加、書式保持、テキスト抽出に対応しています。Claudeがプロフェッショナルな文書(.docxファイル)を扱う際に使用します。

meta-skill-evloving とは?

このスキルは、ClaudeがWord文書(.docx)を本格的に作成、編集、分析するためのワークフローを提供します。文書の内容を読み取るためのpandocを用いたテキスト抽出や、コメントや複雑な書式にアクセスするための生XML解析、新規文書作成のためのdocx-js、既存文書編集のためのDocumentライブラリ、そして法的文書などで重要な変更履歴(トラッキング)を適切に扱うためのRedliningワークフローを網羅しています。特に、変更履歴を実装する際には、最小限かつ正確な編集を原則とし、変更箇所のみをマークアップすることで、レビューの容易さとプロフェッショナルな品質を保ちます。また、文書を画像に変換して視覚的に分析する機能も備えており、デバッグや最終確認を効率的に行えます。対応プラットフォームはClaude Codeを想定しており、pandoc、docx、LibreOffice、Poppler、defusedxmlといったツールが依存関係として必要です。workflow.mdやooxml.mdなどの参照ファイルの完全な読み込みを必須としており、開発者が仕様を理解した上で安全かつ高品質な文書処理を実行できるように設計されています。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

DOCXの作成、編集、および分析

概要

ユーザーから.docxファイルの作成、編集、または内容の分析を依頼されることがあります。.docxファイルは基本的にZIPアーカイブであり、XMLファイルやその他のリソースが含まれているため、読み取りや編集が可能です。タスクに応じて、さまざまなツールとワークフローが用意されています。

ワークフロー決定木

読み取り/分析

以下の「テキスト抽出」または「生XMLアクセス」のセクションを使用します。

新規文書作成

「新しいWord文書の作成」ワークフローを使用します。

既存文書の編集

  • 自分が作成した文書 + 簡単な変更 「基本OOXML編集」ワークフローを使用します。

  • 他者が作成した文書 **「Redliningワークフロー」**を使用します(推奨デフォルト)。

  • 法律、学術、ビジネス、政府系文書 **「Redliningワークフロー」**を使用します(必須)。

内容の読み取りと分析

テキスト抽出

文書のテキスト内容を読むだけであれば、pandocを使用して文書をマークダウンに変換します。Pandocは文書構造を保持し、変更履歴を表示するのに優れています。

# 文書を変更履歴付きでマークダウンに変換
pandoc --track-changes=all path-to-file.docx -o output.md
# オプション: --track-changes=accept/reject/all

生XMLアクセス

コメント、複雑な書式、文書構造、埋め込みメディア、メタデータにアクセスするには、生XMLへのアクセスが必要です。これらの機能には、文書を解凍し、生のXMLコンテンツを読み取る必要があります。

ファイルの解凍

python ooxml/scripts/unpack.py <office_file> <output_directory>

主要なファイル構造

  • word/document.xml - 文書の本文
  • word/comments.xml - document.xmlで参照されるコメント
  • word/media/ - 埋め込まれた画像やメディアファイル
  • 変更履歴は<w:ins>(挿入)タグと<w:del>(削除)タグを使用します。

新しいWord文書の作成

新しいWord文書をゼロから作成する場合は、docx-jsを使用します。これにより、JavaScript/TypeScriptを使用してWord文書を作成できます。

ワークフロー

  1. 必須 - ファイル全体を読む: docx-js.md(約500行)を最初から最後まで完全に読んでください。このファイルを読む際は、範囲制限を設定しないでください。 詳細な構文、重要な書式ルール、ベストプラクティスについては、文書作成を進める前にファイルの全文を読んでください。
  2. Document、Paragraph、TextRunコンポーネントを使用してJavaScript/TypeScriptファイルを作成します(すべての依存関係がインストールされていることを前提としますが、インストールされていない場合は以下の依存関係のセクションを参照してください)。
  3. Packer.toBuffer()を使用して.docxとしてエクスポートします。

既存のWord文書の編集

既存のWord文書を編集する場合は、Documentライブラリ(OOXML操作用のPythonライブラリ)を使用します。このライブラリはインフラストラクチャのセットアップを自動的に処理し、文書操作用のメソッドを提供します。複雑なシナリオでは、ライブラリを介して基盤となるDOMに直接アクセスできます。

ワークフロー

  1. 必須 - ファイル全体を読む: ooxml.md(約600行)を最初から最後まで完全に読んでください。このファイルを読む際は、範囲制限を設定しないでください。 DocumentライブラリAPIと、文書ファイルを直接編集するためのXMLパターンについては、ファイルの全文を読んでください。
  2. 文書を解凍します: python ooxml/scripts/unpack.py <office_file> <output_directory>
  3. Documentライブラリを使用してPythonスクリプトを作成し実行します(ooxml.mdの「Documentライブラリ」セクションを参照)。
  4. 最終文書をパックします: python ooxml/scripts/pack.py <input_directory> <office_file>

Documentライブラリは、一般的な操作のための高レベルメソッドと、複雑なシナリオのための直接DOMアクセスの両方を提供します。

文書レビューのためのRedliningワークフロー

このワークフローでは、OOXMLで実装する前に、マークダウンを使用して包括的な変更履歴を計画できます。重要: 完全な変更履歴を実現するには、すべての変更を体系的に実装する必要があります。

バッチ戦略: 関連する変更を3〜10件のバッチにグループ化します。これにより、デバッグが管理しやすくなり、効率が維持されます。各バッチを次のバッチに進む前にテストします。

原則: 最小限で正確な編集 変更履歴を実装する際は、実際に変更されるテキストのみをマークします。変更されていないテキストを繰り返すと、編集のレビューが難しくなり、プロフェッショナルでない印象を与えます。置換は、[変更なし] + [削除] + [挿入] + [変更なし] に分割します。変更なしのテキストについては、元のランからRSIDを抽出して再利用することで、元の<w:r>要素を保持します。

例 - 文中の「30日」を「60日」に変更する場合:

# 悪い例 - 文全体を置換
'<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:r w:rsidR="00AB12CD"><w:t>期間は</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>日です。</w:t></w:r>'

変更履歴ワークフロー

  1. マークダウン表現を取得する: 変更履歴を保持したまま文書をマークダウンに変換します:

    pandoc --track-changes=all path-to-file.docx -o current.md
    
  2. 変更を特定してグループ化する: 文書を確認し、必要な変更をすべて特定し、論理的なバッチに整理します:

    位置特定方法(XML内の変更箇所を見つけるため):

    • セクション/見出し番号(例:「セクション3.2」、「第IV条」)
    • 段落識別子(番号が付いている場合)
    • 周囲のテキストが一意のgrepパターン
    • 文書構造(例:「最初の段落」、「署名欄」)
    • マークダウンの行番号は使用しないでください。XML構造に対応しません。

    バッチ整理(1バッチあたり3〜10件の関連変更をグループ化):

    • セクション別: 「バッチ1: セクション2の修正」、「バッチ2: セクション5の更新」
    • 種類別: 「バッチ1: 日付修正」、「バッチ2: 当事者名変更」
    • 複雑度別: 単純なテキスト置換から始め、複雑な構造変更に取り組みます。
    • 順次: 「バッチ1: 1〜3ページ」、「バッチ2: 4〜6ページ」
  3. ドキュメンテーションを読み、解凍する:

    • 必須 - ファイル全体を読む: ooxml.md(約600行)を最初から最後まで完全に読んでください。範囲制限を設定しないでください。 「Documentライブラリ」と「変更履歴パターン」のセクションに特に注意してください。
    • 文書を解凍する: python ooxml/scripts/unpack.py <file.docx> <dir>
    • 推奨RSIDに注意する: 解凍スクリプトは、変更履歴に使用するRSIDを推奨します。このRSIDをコピーしてステップ4bで使用します。
  4. 変更をバッチで実装する: 変更を論理的に(セクション、種類、または近接性ごとに)グループ化し、単一のスクリプトでまとめて実装します。このアプローチにより:

    • デバッグが容易になります(バッチが小さいほどエラーの特定が簡単)。
    • 段階的な進捗が可能になります。
    • 効率が維持されます(バッチサイズ3〜10件が効果的です)。

    推奨バッチグループ化:

    • 文書セクション別(例:「セクション3の変更」、「定義」、「終了条項」)
    • 変更種類別(例:「日付変更」、「当事者名更新」、「法的用語置換」)
    • 近接性別(例:「1〜3ページの変更」、「文書前半の変更」)

    各関連変更のバッチについて:

    a. テキストをXMLにマッピングする: word/document.xml内のテキストをgrepして、テキストが<w:r>要素間でどのように分割されているかを確認します。

    b. スクリプトを作成して実行する: get_nodeを使用してノードを見つけ、変更を実装してからdoc.save()を実行します。パターンについては、ooxml.mdの**「Documentライブラリ」**セクションを参照してください。

    注: スクリプトを作成する直前に常にword/document.xmlをgrepして、現在の行番号を取得し、テキストの内容を確認してください。行番号はスクリプトを実行するたびに変わります。

  5. 文書をパックする: すべてのバッチが完了したら、解凍したディレクトリを.docxに戻します:

    python ooxml/scripts/pack.py unpacked reviewed-document.docx
    
  6. 最終確認: 完成した文書の包括的なチェックを行います:

    • 最終文書をマークダウンに変換:
      pandoc --track-changes=all reviewed-document.docx -o verification.md
      
    • すべての変更が正しく適用されたことを確認:
      grep "元のフレーズ" verification.md  # 見つからないはず
      grep "置換後のフレーズ" verification.md  # 見つかるはず
      
    • 意図しない変更が導入されていないことを確認します。

文書の画像への変換

Word文書を視覚的に分析するには、2段階のプロセスで画像に変換します:

  1. DOCXをPDFに変換:

    soffice --headless --convert-to pdf document.docx
    
  2. PDFページをJPEG画像に変換:

    pdftoppm -jpeg -r 150 document.pdf page
    

    これにより、page-1.jpg、page-2.jpgなどのファイルが作成されます。

オプション:

  • -r 150: 解像度を150 DPIに設定(品質とサイズのバランスを調整)。
  • -jpeg: 出力形式をJPEGに指定(必要に応じて-pngでPNGを使用)。
  • -f N: 変換を開始する最初のページ(例:-f 2で2ページ目から開始)。
  • -l N: 変換を終了する最後のページ(例:-l 5で5ページ目で停止)。
  • page: 出力ファイルのプレフィックス。

特定の範囲の例:

pdftoppm -jpeg -r 150 -f 2 -l 5 document.pdf page  # 2〜5ページのみを変換

コードスタイルガイドライン

重要: DOCX操作用のコードを生成する場合:

  • 簡潔なコードを記述してください。
  • 冗長な変数名や不必要な操作を避けてください。
  • 不要なprint文を避けてください。

依存関係

必要な依存関係(利用できない場合はインストール):

  • pandoc: sudo apt-get install pandoc(テキスト抽出用)
  • docx: npm install -g docx(新規文書作成用)
  • LibreOffice: sudo apt-get install libreoffice(PDF変換用)
  • Poppler: sudo apt-get install poppler-utils(pdftoppmを使用してPDFを画像に変換するため)
  • defusedxml: pip install defusedxml(安全なXML解析用)

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

関連スキル