skills/pptx/SKILL.md
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
npx skillsauth add aifinlab/finclaw pptxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Task | Guide |
|------|-------|
| Read/analyze content | python -m markitdown presentation.pptx |
| Edit or create from template | Read editing.md |
| Create from scratch | Read pptxgenjs.md |
# Text extraction
python -m markitdown presentation.pptx
# Visual overview
python scripts/thumbnail.py presentation.pptx
# Raw XML
python scripts/office/unpack.py presentation.pptx unpacked/
Read editing.md for full details.
thumbnail.pyRead pptxgenjs.md for full details.
Use when no template or reference presentation is available.
Don't create boring slides. Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.
Choose colors that match your topic — don't default to generic blue. Use these palettes as inspiration:
| Theme | Primary | Secondary | Accent |
|-------|---------|-----------|--------|
| Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) |
| Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) |
| Coral Energy | F96167 (coral) | F9E795 (gold) | 2F3C7E (navy) |
| Warm Terracotta | B85042 (terracotta) | E7E8D1 (sand) | A7BEAE (sage) |
| Ocean Gradient | 065A82 (deep blue) | 1C7293 (teal) | 21295C (midnight) |
| Charcoal Minimal | 36454F (charcoal) | F2F2F2 (off-white) | 212121 (black) |
| Teal Trust | 028090 (teal) | 00A896 (seafoam) | 02C39A (mint) |
| Berry & Cream | 6D2E46 (berry) | A26769 (dusty rose) | ECE2D0 (cream) |
| Sage Calm | 84B59F (sage) | 69A297 (eucalyptus) | 50808E (slate) |
| Cherry Bold | 990011 (cherry) | FCF6F5 (off-white) | 2F3C7E (navy) |
Every slide needs a visual element — image, chart, icon, or shape. Text-only slides are forgettable.
Layout options:
Data display:
Visual polish:
Choose an interesting font pairing — don't default to Arial. Pick a header font with personality and pair it with a clean body font.
| Header Font | Body Font | |-------------|-----------| | Georgia | Calibri | | Arial Black | Arial | | Calibri | Calibri Light | | Cambria | Calibri | | Trebuchet MS | Calibri | | Impact | Arial | | Palatino | Garamond | | Consolas | Calibri |
| Element | Size | |---------|------| | Slide title | 36-44pt bold | | Section header | 20-24pt bold | | Body text | 14-16pt | | Captions | 10-12pt muted |
margin: 0 on the text box or offset the shape to account for paddingAssume there are problems. Your job is to find them.
Your first render is almost never correct. Approach QA as a bug hunt, not a confirmation step. If you found zero issues on first inspection, you weren't looking hard enough.
python -m markitdown output.pptx
Check for missing content, typos, wrong order.
When using templates, check for leftover placeholder text:
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
If grep returns results, fix them before declaring success.
⚠️ USE SUBAGENTS — even for 2-3 slides. You've been staring at the code and will see what you expect, not what's there. Subagents have fresh eyes.
Convert slides to images (see Converting to Images), then use this prompt:
Visually inspect these slides. Assume there are issues — find them.
Look for:
- Overlapping elements (text through shapes, lines through words, stacked elements)
- Text overflow or cut off at edges/box boundaries
- Decorative lines positioned for single-line text but title wrapped to two lines
- Source citations or footers colliding with content above
- Elements too close (< 0.3" gaps) or cards/sections nearly touching
- Uneven gaps (large empty area in one place, cramped in another)
- Insufficient margin from slide edges (< 0.5")
- Columns or similar elements not aligned consistently
- Low-contrast text (e.g., light gray text on cream-colored background)
- Low-contrast icons (e.g., dark icons on dark backgrounds without a contrasting circle)
- Text boxes too narrow causing excessive wrapping
- Leftover placeholder content
For each slide, list issues or areas of concern, even if minor.
Read and analyze these images:
1. /path/to/slide-01.jpg (Expected: [brief description])
2. /path/to/slide-02.jpg (Expected: [brief description])
Report ALL issues found, including minor ones.
Do not declare success until you've completed at least one fix-and-verify cycle.
Convert presentations to individual slide images for visual inspection:
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
This creates slide-01.jpg, slide-02.jpg, etc.
To re-render specific slides after fixes:
pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed
pip install "markitdown[pptx]" - text extractionpip install Pillow - thumbnail gridsnpm install -g pptxgenjs - creating from scratchsoffice) - PDF conversion (auto-configured for sandboxed environments via scripts/office/soffice.py)pdftoppm) - PDF to images# 调用 skill
result = run_skill({
"param1": "value1",
"param2": "value2"
})
python scripts/run_skill.py --input data.json
development
# trust-valuation-engine ## 描述 信托资产估值引擎,支持非标债权估值、股权估值、净值计算、减值测试。 ## 功能 - 非标债权估值(现金流折现法) - 股权估值(市场法/收益法/资产基础法) - 净值计算与发布 - 减值测试与拨备 - 估值模型管理 ## 许可证 MIT License
development
# trust-risk-manager ## 描述 信托风险全流程管理工具,覆盖信用风险、市场风险、流动性风险、操作风险四大维度,提供实时监控、预警提示和风险处置建议。 ## 功能 - 信用风险评估(融资主体、担保措施、偿债能力) - 市场风险监控(利率、汇率、商品价格敏感性) - 流动性风险分析(期限错配、赎回压力、变现能力) - 操作风险检查(流程合规、系统安全) - 风险预警指标(VaR、CVaR、压力测试) - 风险限额管理(集中度、久期、杠杆) - 风险报告生成 ## 使用场景 - 风控部门日常监控 - 投后管理风险排查 - 新产品风险评审 - 监管报送数据准备 - 风险预警处置 ## 输入输出 ### 输入 ```json { "portfolio_id": "", "risk_type": "all|credit|market|liquidity|operation", "assets": [ { "asset_id": "", "asset_type": "非标债权|股票|债券|基金", "exposu
development
# trust-product-analyzer ## 描述 信托产品综合分析与筛选工具,支持产品信息抓取、风险评级、收益测算、合规检查和竞品对比。 ## 功能 - 信托产品信息智能抓取与解析(支持用益信托网、中国信托登记等平台) - 多维度风险评估(信用风险、市场风险、流动性风险) - 预期收益与实际收益对比分析 - 合格投资者适当性匹配 - 产品竞品横向对比 - 自动生成尽调报告 ## 使用场景 - 理财师为客户筛选合适信托产品 - 投资经理进行竞品分析 - 风控部门审查产品合规性 - 研究人员追踪市场产品发行情况 ## 输入输出 ### 输入 ```json { "action": "analyze|compare|screen", "product_code": "", "product_name": "", "filters": { "min_yield": 6.5, "max_duration": 24, "risk_level": ["R2", "R3"], "trust_type": "集合信托", "i
development
# trust-post-investment-monitor ## 描述 信托投后监控工具,提供预警指标追踪、风险事件监测、处置建议生成、定期报告输出。 ## 功能 - 融资主体监控(经营/财务/舆情) - 担保物监控(价值/权属/流动性) - 预警阈值管理 - 风险事件响应 - 处置方案建议 - 定期监控报告 ## 许可证 MIT License