AlphaMoatによると、2026-09時点でPLS Office Docsのダウンロード数は2,772、スター数は1で、AIスキル全体5,078件中3,896位、オフィス効率化では435件中289位です。
| プラットフォーム | インストール数 | ダウンロード数 | スター数 | コメント |
|---|---|---|---|---|
| ClawHub ↗ | 88 | 2772 | 1 | - |
| SkillHub ↗ | 206 | 2739 | 1 | — |
プラットフォームごとに集計方法と集計時点が異なります。
レポート、スライド資料、データ書き出し向けに、文書、表計算、プレゼンテーション、PDF の作業を支援します。
資料公開日 2026-10-27
スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。
2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。
| 月 | ダウンロード数 | 前月比 | スター数 |
|---|---|---|---|
| 2026-09 | 2772 | — | 1 |
| 2026-08 | 2599 | +8.6% | 1 |
| 2026-07 | 2394 | +15.2% | 1 |
| 2026-06 | 2078 | +9.7% | 1 |
| 2026-05 | 1894 | — | 1 |
| 2026-03 | 1265 | — | 1 |
作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。
--- name: office-docs description: Generate and manipulate office documents (PDF, DOCX, XLSX, PPTX) for professional reports, presentations, and data exports. Use when: (1) Creating PDFs from text/images, (2) Generating Word documents, (3) Creating Excel spreadsheets with formulas, (4) Building PowerPoint presentations, (5) Extracting content from office documents. --- # Office Docs - Professional Document Generation Comprehensive skill for creating and manipulating office documents. Handles PDF, DOCX, XLSX, and PPTX formats. ## Quick Reference
| Format | Create | Read | Edit |
|--------|--------|------|------|
| PDF | `fpdf`, `reportlab` | `pdfplumber`, `pymupdf` | `pypdf` |
| DOCX | `python-docx` | `python-docx` | `python-docx` |
| XLSX | `openpyxl`, `pandas` | `openpyxl`, `pandas` | `openpyxl` |
| PPTX | `python-pptx` | `python-pptx` | `python-pptx` |
---
## PDF Operations
### Install
```bash
pip install fpdf reportlab pdfplumber pymupdf pypdf
```
### Create PDF
```python
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_font("Helvetica", size=12)
pdf.cell(0, 10, "Hello World", ln=True)
pdf.output("document.pdf")
```
### Create PDF with Images
```python
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.image("photo.jpg", x=10, y=10, w=100)
pdf.output("with_image.pdf")
```
### Extract Text from PDF
```python
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
for page in pdf.pages:
print(page.extract_text())
```
### Merge PDFs
```python
from pypdf import PdfMerger
merger = PdfMerger()
merger.append("file1.pdf")
merger.append("file2.pdf")
merger.write("merged.pdf")
merger.close()
```
### Split PDF
```python
from pypdf import PdfReader, PdfWriter
reader = PdfReader("document.pdf")
writer = PdfWriter()
for i in range(0, 5): # First 5 pages
writer.add_page(reader.pages[i])
with open("split.pdf", "wb") as f:
writer.write(f)
```
---
## DOCX (Word) Operations
### Install
```bash
pip install python-docx
```
### Create Document
```python
from docx import Document
doc = Document()
doc.add_heading("Report Title", level=0)
doc.add_paragraph("This is a paragraph.")
doc.add_paragraph("Bold text", style="Intense Quote")
doc.save("report.docx")
```
### Add Table
```python
from docx import Document
doc = Document()
table = doc.add_table(rows=3, cols=2)
table.style = "Table Grid"
# Header row
hdr_cells = table.rows[0].cells
hdr_cells[0].text = "Name"
hdr_cells[1].text = "Value"
# Data rows
row = table.rows[1].cells
row[0].text = "Revenue"
row[1].text = "$1,000,000"
doc.save("table.docx")
```
### Add Image
```python
from docx import Document
from docx.shared import Inches
doc = Document()
doc.add_picture("chart.png", width=Inches(5))
doc.save("with_image.docx")
```
### Read Document
```python
from docx import Document
doc = Document("report.docx")
for para in doc.paragraphs:
print(para.text)
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
print(cell.text)
```
### Add Bullet List
```python
from docx import Document
doc = Document()
doc.add_paragraph("Items:", style="List Bullet")
doc.add_paragraph("First item", style="List Bullet")
doc.add_paragraph("Second item", style="List Bullet")
doc.save("bullets.docx")
```
---
## XLSX (Excel) Operations
### Install
```bash
pip install openpyxl pandas xlsxwriter
```
### Create Workbook
```python
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Sheet1"
# Headers
ws["A1"] = "Name"
ws["B1"] = "Value"
# Data
ws["A2"] = "Revenue"
ws["B2"] = 1000000
# Formula
ws["A3"] = "Total"
ws["B3"] = "=SUM(B2:B2)"
wb.save("data.xlsx")
```
### Create with Pandas
```python
import pandas as pd
df = pd.DataFrame({
"Name": ["Alice", "Bob", "Charlie"],
"Score": [85, 92, 78]
})
df.to_excel("scores.xlsx", index=False)
```
### Add Charts
```python
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
# Data
ws["A1"] = "Month"
ws["B1"] = "Sales"
data = [("Jan", 100), ("Feb", 150), ("Mar", 200)]
for i, (month, sales) in enumerate(data, 2):
ws[f"A{i}"] = month
ws[f"B{i}"] = sales
# Chart
chart = BarChart()
chart.add_data(Reference(ws, min_col=2, min_row=1, max_row=4))
chart.set_categories(Reference(ws, min_col=1, min_row=2, max_row=4))
chart.title = "Monthly Sales"
ws.add_chart(chart, "D1")
wb.save("chart.xlsx")
```
### Read Workbook
```python
from openpyxl import load_workbook
wb = load_workbook("data.xlsx")
ws = wb.active
for row in ws.iter_rows(values_only=True):
print(row)
```
### Format Cells
```python
from openpyxl.styles import Font, PatternFill, Alignment
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# Bold header
ws["A1"] = "Header"
ws["A1"].font = Font(bold=True, size=14)
# Background color
ws["A1"].fill = PatternFill(start_color="4472C4", fill_type="solid")
ws["A1"].font = Font(color="FFFFFF", bold=True)
# Center align
ws["A1"].alignment = Alignment(horizontal="center")
wb.save("formatted.xlsx")
```
---
## PPTX (PowerPoint) Operations
### Install
```bash
pip install python-pptx
```
### Create Presentation
```python
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
# Title slide
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Presentation Title"
subtitle.text = "Subtitle here"
prs.save("presentation.pptx")
```
### Add Bullet Slide
```python
from pptx import Presentation
from pptx.util import Inches
prs = Presentation()
slide_layout = prs.slide_layouts[1] # Title and Content
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
title.text = "Key Points"
body = slide.placeholders[1]
tf = body.text_frame
tf.text = "First point"
p = tf.add_paragraph()
p.text = "Second point"
p.level = 1 # Indent
prs.save("bullets.pptx")
```
### Add Image
```python
from pptx import Presentation
from pptx.util import Inches
prs = Presentation()
slide_layout = prs.slide_layouts[5] # Blank
slide = prs.slides.add_slide(slide_layout)
slide.shapes.add_picture("chart.png", Inches(1), Inches(1), width=Inches(8))
prs.save("with_image.pptx")
```
### Add Table
```python
from pptx import Presentation
from pptx.util import Inches
prs = Presentation()
slide_layout = prs.slide_layouts[5] # Blank
slide = prs.slides.add_slide(slide_layout)
rows, cols = 4, 3
table = slide.shapes.add_table(rows, cols, Inches(1), Inches(1), Inches(8), Inches(3)).table
# Set headers
table.cell(0, 0).text = "Name"
table.cell(0, 1).text = "Q1"
table.cell(0, 2).text = "Q2"
# Set data
table.cell(1, 0).text = "Alice"
table.cell(1, 1).text = "100"
table.cell(1, 2).text = "150"
prs.save("table.pptx")
```
---
## Common Workflows
### Report Generation
```python
from docx import Document
from docx.shared import Inches
doc = Document()
doc.add_heading("Monthly Report", level=0)
doc.add_paragraph("Generated automatically by agent.")
# Add summary table
table = doc.add_table(rows=3, cols=2)
table.style = "Table Grid"
table.rows[0].cells[0].text = "Metric"
table.rows[0].cells[1].text = "Value"
table.rows[1].cells[0].text = "Revenue"
table.rows[1].cells[1].text = "$1,000,000"
table.rows[2].cells[0].text = "Users"
table.rows[2].cells[1].text = "5,000"
doc.save("report.docx")
```
### Data Export to Excel
```python
import pandas as pd
from openpyxl.chart import BarChart, Reference
from openpyxl import load_workbook
# Create data
df = pd.DataFrame({
"Date": pd.date_range("2026-01-01", periods=30),
"Revenue": [1000 + i * 50 for i in range(30)]
})
# Save with formatting
df.to_excel("daily_revenue.xlsx", index=False)
# Add chart
wb = load_workbook("daily_revenue.xlsx")
ws = wb.active
chart = BarChart()
chart.add_data(Reference(ws, min_col=2, min_row=1, max_row=31))
chart.set_categories(Reference(ws, min_col=1, min_row=2, max_row=31))
chart.title = "Daily Revenue"
ws.add_chart(chart, "D1")
wb.save("daily_revenue.xlsx")
```
### PDF Report with Charts
```python
from fpdf import FPDF
import matplotlib.pyplot as plt
# Create chart image
plt.figure(figsize=(10, 6))
plt.bar(["Jan", "Feb", "Mar"], [100, 150, 200])
plt.title("Monthly Sales")
plt.savefig("chart.png")
plt.close()
# Create PDF
pdf = FPDF()
pdf.add_page()
pdf.set_font("Helvetica", size=16)
pdf.cell(0, 10, "Monthly Sales Report", ln=True, align="C")
pdf.image("chart.png", x=10, y=30, w=190)
pdf.output("report.pdf")
```
MCP 経由で Tencent Docs の文書を作成、編集、管理するための手順書です。
数式、書式、ブックの構造を保ったまま Excel ファイルを作成・点検・編集するスキルです。
Word と DOCX 文書を扱うための作業指針で、編集後にスタイルや番号、レイアウトが崩れないことに重点を置きます。
コマンドラインから Gmail、Calendar、Drive、Contacts、Sheets、Docs を操作します。
PDFと画像の文字抽出は本文、表、スキャンページの読取りをテキストに整理します。
テーマとスタイルから PPT 資料を自動生成するスキルです。
kdocs-cli で金山文档のクラウド文書を操作する公式スキルです。
自然言語の指示で PDF の指定ページを書き換える小さなツールです。
データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。