ソース情報
- リポジトリ
- bouclem/skills
- ソースの最終更新活動
- 2026年5月26日 13:49
- 検出された SKILL.md の言語
- 英語
- スター
- 7
- フォーク
- 1
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/bouclem/skills --skill powerpoint-presentationsコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
| name | powerpoint-presentations |
| description | Create, modify, and manage PowerPoint presentations. |
| Task | How |
|---|---|
| Create from scratch | get_slide_design_reference → create_presentation (PptxGenJS). Read pptxgenjs.md. |
| Create from template | get_presentation_layouts → delete_slides (strip content) → add_slide → update_slide_content. Do NOT use create_presentation. |
| Edit existing | analyze_presentation → update_slide_content. Read editing-guide.md. |
| Verify | preview_presentation_slides after every change |
Don't create boring slides. Plain bullets on a white background won't impress anyone.
Choose colors that match your topic — don't default to generic blue.
| Theme | Primary | Secondary | Accent |
|---|---|---|---|
| Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) |
| Teal Trust | 028090 (teal) | 00A896 (seafoam) | 02C39A (mint) |
| Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) |
| Berry & Cream | 6D2E46 (berry) | A26769 (dusty rose) | ECE2D0 (cream) |
| Coral Energy | F96167 (coral) | F9E795 (gold) | 2F3C7E (navy) |
| Ocean Gradient | 065A82 (ocean) | 1C7293 (teal) | 21295C (midnight) |
| Charcoal Minimal | 36454F (charcoal) | F2F2F2 (off-white) | 212121 (black) |
| Cherry Bold | 990011 (cherry) | FCF6F5 (off-white) | 2F3C7E (navy) |
| Sage Calm | 84B59F (sage) | 69A297 (eucalyptus) | 50808E (slate) |
| Warm Terracotta | B85042 (terracotta) | E7E8D1 (sand) | A7BEAE (sage) |
Every slide needs a visual element — image, chart, icon, or shape. Text-only slides are forgettable.
Layout options:
Data display:
Visual polish:
| Header Font | Body Font |
|---|---|
| Georgia | Calibri |
| Arial Black | Arial |
| Calibri Bold | Calibri Light |
| Cambria | Calibri |
| Trebuchet MS | Calibri |
| Element | Size |
|---|---|
| Slide title | 36-44pt bold |
| Section header | 20-24pt bold |
| Body text | 14-16pt |
| Captions | 10-12pt muted |
Font pairings: Georgia + Calibri (classic), Arial Black + Arial (modern), Calibri Bold + Calibri Light (corporate). Left-align body text; center only titles and stats.
margin: 0 when aligning text with shapes at same x-positionSee design-guide.md for visual element code patterns (accent bars, icon circles, side stripes, cards).
get_slide_design_reference for palette and layout ideascreate_presentation with slides parameter (PptxGenJS). Read pptxgenjs.md for the full API.Do NOT use create_presentation — that ignores the template entirely and recreates from scratch.
Instead, use the template file as the base:
get_presentation_layouts("template-name") — see available layout namespreview_presentation_slides — inspect visual style (colors, logo, footer, chrome elements)delete_slides("template-name", [indices of all content slides], "working-name") — strip example content, keep masters/layoutsadd_slide("working-name", layout_name, position, "working-name-v2") — add slides using the template's own layouts (inherits background, logo, footer automatically)update_slide_content(...) — fill in text and imagesThis preserves the template's slide master, theme, logo, footer, and background — things create_presentation cannot replicate.
Read editing-guide.md for detailed workflows. Then: analyze_presentation → identify element IDs → update_slide_content.
Call preview_presentation_slides after any modification. Assume there are problems — inspect carefully.
When continuing a deck across conversation turns: Do NOT re-preview existing slides just to check the design system. The palette, fonts, and layout decisions from the previous turn are already in the conversation history — use that. Only re-preview if you need to verify the visual state after a modification.
update_slide_content call. Parallel calls cause data loss.output_name must differ from presentation_name.preview_presentation_slides which uses 1-based slide_numbers.Assume there are problems. Your job is to find them.
Your first render is almost never perfect. Approach QA as a bug hunt, not a confirmation step.
Call preview_presentation_slides and visually inspect the screenshots. Look for:
preview_presentation_slides → inspect screenshotsupdate_slide_contentDo not declare success until you've completed at least one fix-and-verify cycle.
Get design guidelines, color palettes, typography rules, and layout patterns.
| Parameter | Type | Required | Description |
|---|---|---|---|
topic | str | No (default "all") | "colors", "typography", "layouts", "pitfalls", "all" |
Create a new presentation with custom-designed slides (16:9 widescreen).
| Parameter | Type | Required | Description |
|---|---|---|---|
presentation_name | str | Yes | Filename without extension (letters, numbers, hyphens only) |
slides | list or null | Yes | List of {"custom_code": "..."} dicts, or null for blank |
Example tool_input:
{
"presentation_name": "my-deck",
"slides": [
{"custom_code": "let slide = pres.addSlide();\nslide.background = { color: '1E2761' };\nslide.addText('Welcome', { x: 0.6, y: 2.5, w: 10, h: 1.5, fontSize: 44, bold: true, color: 'FFFFFF', align: 'center' });"}
]
}
IMPORTANT: custom_code uses pres in scope. Create slides with pres.addSlide(). Colors are 6-digit hex WITHOUT '#'. Do NOT reuse option objects across multiple addText/addShape calls. See pptxgenjs.md for full API.
Analyze structure with element IDs and positions for editing.
| Parameter | Type | Required | Description |
|---|---|---|---|
presentation_name | str | Yes | Presentation to analyze |
slide_index | int | No | Analyze a specific slide only |
include_notes | bool | No (default false) | Include speaker notes |
Update one or more slides with operations in a single call.
| Parameter | Type | Required | Description |
|---|---|---|---|
presentation_name | str | Yes | Source file |
slide_updates | list | Yes | List of update operations |
output_name | str | Yes | Output filename (MUST differ from source) |
Supported actions per operation: set_text, replace_text, replace_image. See editing-guide.md for details.
Add a new blank slide at a specific position.
| Parameter | Type | Required | Description |
|---|---|---|---|
presentation_name | str | Yes | Source presentation |
layout_name | str | Yes | Layout name from get_presentation_layouts |
position | int | Yes | 0-based index (-1 to append at end) |
output_name | str | Yes | Output filename |
After adding, populate content with update_slide_content.
| Parameter | Type | Required |
|---|---|---|
presentation_name | str | Yes |
slide_indices | list[int] | Yes (0-based) |
output_name | str | Yes |
| Parameter | Type | Required |
|---|---|---|
presentation_name | str | Yes |
from_index | int | Yes (0-based) |
to_index | int | Yes (0-based) |
output_name | str | Yes |
| Parameter | Type | Required | Description |
|---|---|---|---|
presentation_name | str | Yes | |
source_index | int | Yes (0-based) | Slide to duplicate |
output_name | str | Yes | |
insert_position | int | No (default -1) | Where to insert copy; -1 appends after source |
| Parameter | Type | Required |
|---|---|---|
presentation_name | str | Yes |
slide_index | int | Yes (0-based) |
notes_text | str | Yes |
output_name | str | Yes |
List all presentations in workspace. No parameters needed.
Get available slide layouts from a presentation.
| Parameter | Type | Required |
|---|---|---|
presentation_name | str | Yes |
Get slide screenshots for visual inspection.
| Parameter | Type | Required | Description |
|---|---|---|---|
presentation_name | str | Yes | Presentation to preview |
slide_numbers | list[int] | Yes | 1-based slide numbers (not 0-based) |
Creating New Presentations:
pres in scope; create slides with pres.addSlide()Editing Existing Presentations:
Design Philosophy (MANDATORY for new presentations):
Typography:
Spacing:
Anti-Patterns (AVOID):
QA: Always use preview_presentation_slides after creation to verify appearance.
Rules: