Token导航 LogoToken导航TokenDH.com
前端设计只读github未标认证来源可访问clear审计通过

document-pptxdocument PPTX 命令行

Agent Skill

document-pptx 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,940

周安装

125

GitHub Stars

59

下载量

1,030
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:document-pptx(document PPTX 命令行)
来源仓库:https://github.com/vasilyu1983/ai-agents-public
仓库路径:skills/document-pptx
安装命令:
npx skills add https://github.com/vasilyu1983/ai-agents-public --skill document-pptx
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/vasilyu1983/ai-agents-public --skill document-pptx

简介

程序化创建与编辑 PowerPoint 演示文稿。

  • 遵循单页一观点的设计原则与无障碍规范。
  • 支持图表溯源与源数据一致性校验。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。
  • 适用于自动生成报告与培训材料场景。
  • document-pptx 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Document PPTX Skill - Quick Reference

This skill enables creation and editing of PowerPoint presentations programmatically. Claude should apply these patterns when users need to generate pitch decks, reports, training materials, or automate presentation workflows.

Modern Best Practices (Jan 2026):

  • One slide = one takeaway; design the deck around a decision or audience goal.
  • Cite numbers (definition + timeframe + source) and keep a single source of truth for charts.
  • Accessibility: slide titles, reading order, contrast, and meaningful alt text; follow your org's standard (often WCAG 2.2 AA / EN 301 549).
  • Version decks and enforce review loops (avoid "final_final_v7.pptx").

Quick Reference

TaskTool/LibraryLanguageWhen to Use
Create PPTXpython-pptxPythonPresentations, slide decks
Create PPTXPptxGenJSNode.jsServer-side generation
Template-drivenPPTX-AutomizerNode.jsCorporate branding, template injection
Templatespython-pptxPythonMaster slides, themes
Chartspython-pptxPythonData visualizations
Extract contentpython-pptxPythonParse existing decks

Selection guide

  • Prefer PPTX-Automizer when you have a branded.pptx template and need to "inject data into slides".
  • Prefer python-pptx in Python-heavy pipelines (reporting, notebooks, ETL).
  • Prefer PptxGenJS in Node.js pipelines (server-side generation, web apps).

Core Operations

Create Presentation (Python)

from pptx import Presentation

prs = Presentation()

# Title slide
title_layout = prs.slide_layouts[0]  # Title Slide layout
slide = prs.slides.add_slide(title_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Q4 2025 Business Review"
subtitle.text = "Presented by Product Team"

# Content slide with bullets
bullet_layout = prs.slide_layouts[1]  # Title and Content
slide = prs.slides.add_slide(bullet_layout)
slide.shapes.title.text = "Key Highlights"
body = slide.placeholders[1]
tf = body.text_frame
tf.text = "Revenue grew 25% YoY"

p = tf.add_paragraph()
p.text = "Customer base expanded to 10,000+"
p.level = 0

p = tf.add_paragraph()
p.text = "New enterprise tier launched"
p.level = 1  # Indented bullet

# Add speaker notes
notes_slide = slide.notes_slide
notes_slide.notes_text_frame.text = "Emphasize the enterprise growth story here."

prs.save('presentation.pptx')

Create Presentation (Node.js)

import pptxgen from 'pptxgenjs';

async function main() {
  const pptx = new pptxgen();
  pptx.author = 'Product Team';
  pptx.title = 'Q4 Business Review';

  // Title slide
  let slide = pptx.addSlide();
  slide.addText('Q4 2025 Business Review', {
    x: 1, y: 2, w: '80%',
    fontSize: 36, bold: true, color: '363636',
    align: 'center',
  });
  slide.addText('Presented by Product Team', {
    x: 1, y: 3.5, w: '80%',
    fontSize: 18, color: '666666',
    align: 'center',
  });

  // Content slide with bullets
  slide = pptx.addSlide();
  slide.addText('Key Highlights', {
    x: 0.5, y: 0.5, w: '90%',
    fontSize: 28, bold: true,
  });
  slide.addText([
    { text: 'Revenue grew 25% YoY', options: { bullet: true } },
    { text: 'Customer base expanded to 10,000+', options: { bullet: true } },
    { text: 'New enterprise tier launched', options: { bullet: true, indentLevel: 1 } },
  ], { x: 0.5, y: 1.5, w: '90%', fontSize: 18 });

  // Add chart
  slide = pptx.addSlide();
  slide.addChart(pptx.ChartType.bar, [
    { name: 'Sales', labels: ['Q1', 'Q2', 'Q3', 'Q4'], values: [100, 150, 180, 225] },
  ], { x: 1, y: 1.5, w: 8, h: 4 });

  await pptx.writeFile({ fileName: 'presentation.pptx' });
}

main();

Add Charts (Python)

from pptx import Presentation
from pptx.util import Inches
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[6])  # Blank

# Chart data
chart_data = CategoryChartData()
chart_data.categories = ['Q1', 'Q2', 'Q3', 'Q4']
chart_data.add_series('Revenue', (100, 150, 180, 225))
chart_data.add_series('Expenses', (80, 90, 100, 110))

# Add chart
x, y, cx, cy = Inches(1), Inches(1.5), Inches(8), Inches(5)
chart = slide.shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED,
    x, y, cx, cy,
    chart_data
).chart

chart.has_legend = True
chart.legend.include_in_layout = False

prs.save('charts.pptx')

Add Images and Tables

from pptx import Presentation
from pptx.util import Inches

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[6])  # Blank

# Add image
slide.shapes.add_picture('logo.png', Inches(0.5), Inches(0.5), width=Inches(2))

# Add table
rows, cols = 4, 3
table = slide.shapes.add_table(rows, cols, Inches(1), Inches(2), Inches(8), Inches(3)).table

# Set column headers
table.cell(0, 0).text = 'Product'
table.cell(0, 1).text = 'Sales'
table.cell(0, 2).text = 'Growth'

# Fill data
data = [
    ('Widget A', '$1.2M', '+25%'),
    ('Widget B', '$800K', '+15%'),
    ('Widget C', '$500K', '+40%'),
]
for row_idx, (product, sales, growth) in enumerate(data, 1):
    table.cell(row_idx, 0).text = product
    table.cell(row_idx, 1).text = sales
    table.cell(row_idx, 2).text = growth

prs.save('images_and_tables.pptx')

Extract Content

from pptx import Presentation

prs = Presentation('existing.pptx')

for slide_num, slide in enumerate(prs.slides, 1):
    print(f"\n--- Slide {slide_num} ---")
    for shape in slide.shapes:
        if shape.has_text_frame:
            for paragraph in shape.text_frame.paragraphs:
                print(paragraph.text)
        if shape.has_table:
            table = shape.table
            for row in table.rows:
                row_text = [cell.text for cell in row.cells]
                print(row_text)

Slide Layout Reference

Layout IndexNameUse Case
0Title SlideOpening, section dividers
1Title and ContentStandard bullet slides
2Section HeaderSection transitions
3Two ContentSide-by-side comparison
4ComparisonPros/cons, before/after
5Title OnlyCustom content placement
6BlankFull creative control
7Content with CaptionImage + description

Presentation Structure Patterns

Pitch Deck (10 slides)

PITCH DECK STRUCTURE
1. Title (company, tagline)
2. Problem (pain point)
3. Solution (your product)
4. Market Size (TAM/SAM/SOM)
5. Business Model (how you make money)
6. Traction (metrics, growth)
7. Team (founders, advisors)
8. Competition (landscape)
9. Financials (projections)
10. Ask (funding, next steps)

Quarterly Review (8 slides)

QUARTERLY REVIEW STRUCTURE
1. Title + Agenda
2. Executive Summary (KPIs dashboard)
3. Revenue & Growth
4. Product Updates
5. Customer Highlights
6. Challenges & Learnings
7. Next Quarter Goals
8. Q&A

Do / Avoid (Dec 2025)

Do

  • Use a slide narrative plan (title + 1-sentence takeaway + supporting visual).
  • Put the executive summary up front for decision decks.
  • Keep speaker notes aligned with slide takeaways.

Avoid

  • Dense slides with multiple messages.
  • Uncited numbers or charts without definitions.
  • Pixelated screenshots and unreadable tables.

What Good Looks Like

  • Narrative: each slide has a 1-sentence takeaway and supports a single decision or insight.
  • Structure: opening executive summary + clear arc (problem -> insight -> recommendation -> next steps).
  • Data hygiene: charts show units, timeframes, sources, and consistent axes.
  • Design: consistent typography, spacing, and contrast; no "wall of text" slides.
  • Accessibility: reading order set and meaningful alt text where needed.

Optional: AI / Automation

Use only when explicitly requested and policy-compliant.

  • Draft slide headlines and speaker notes; humans verify accuracy and tone.
  • Generate chart code from data; humans verify labels, units, and sources.

Navigation

Resources

Templates

Related Skills

Fact-Checking

  • Use web search/web fetch to verify current external facts, versions, pricing, deadlines, regulations, or platform behavior before final answers.
  • Prefer primary sources; report source links and dates for volatile information.
  • If web access is unavailable, state the limitation and mark guidance as unverified.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

26.44%
按下载量换算272

Antigravity

21.69%
按下载量换算223

Gemini CLI

16.59%
按下载量换算171

OpenCode

13.63%
按下载量换算140

Cursor

8.63%
按下载量换算89

windsurf

3.54%
按下载量换算36

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills