Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/KYRIE66nb/codex-omx-public-config --skill officecli-pitch-deck명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Personalized writing assistant with style transfer, error memory, grammar checking, and long-term writing preferences. Use when users ask for writing polishing, style mimicry, iterative correction, bilingual grammar checks, or persistent writing preferences by domain.
Academic paper AI content detection and rewriting assistant. Analyzes text for AI-generated characteristics, provides detailed rewrite suggestions. Supports .docx files, outputs reports and rewritten documents. Bilingual: Chinese & English.
解释代码、回答技术问题或概念问答时使用。直接给出答案,不启动开发流程。
SOC 직업 분류 기준
SKILL.md 표시 중
| name | officecli-pitch-deck |
| description | Create pitch deck presentations. |
Create professional pitch presentations from scratch -- investor decks, product launches, enterprise sales decks, and business proposals. Output is a single .pptx file with gradient backgrounds, modern charts, styled tables, stat callouts, and speaker notes on every content slide.
Every time before using officecli, run this check:
if ! command -v officecli &> /dev/null; then
echo "Installing officecli..."
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCli/main/install.sh | bash
# Windows: irm https://raw.githubusercontent.com/iOfficeAI/OfficeCli/main/install.ps1 | iex
else
CURRENT=$(officecli --version 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
LATEST=$(curl -fsSL https://api.github.com/repos/iOfficeAI/OfficeCLI/releases/latest | grep '"tag_name"' | sed -E 's/.*"v?([0-9.]+)".*/\1/')
if [ "$CURRENT" != "$LATEST" ]; then
echo "Upgrading officecli $CURRENT -> $LATEST..."
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCli/main/install.sh | bash
else
echo "officecli $CURRENT is up to date"
fi
fi
officecli --version
| User Request | Correct Skill |
|---|---|
| Morph-animated or cinematic presentations | morph-ppt |
| Edit/modify an existing .pptx | officecli-pptx (editing.md) |
| Excel dashboard or data report | officecli-data-dashboard |
| Word document | officecli-docx |
| Request is primarily about animation/motion effects | morph-ppt |
| Aspect | pitch-deck (this skill) | morph-ppt |
|---|---|---|
| Core mechanic | Layout diversity + content density | Morph transition + scene actors |
| Slide construction | Build each slide fresh from scratch | Clone + ghost + modify actors |
| Animation | Standard transitions (fade, push) | Morph (shape-matching across slides) |
| Naming convention | No special naming | !!actor + #sN-content |
| Data visualization | Charts, tables, stat callouts | None (text + shapes only) |
| Helper scripts | None needed | morph-helpers.sh required |
These rules are checked by evaluators and will FAIL the deck if violated. No exceptions beyond the explicit list below.
ALL body text must be ≥ 16pt. This applies to EVERY visible text element unless it falls into the explicit exceptions below.
Elements that MUST be ≥ 16pt (no exceptions):
Permitted exceptions (only these — nothing else):
axisFont="10:64748B:Calibri")legendFont="10:64748B:Calibri")If you are unsure whether something is an exception: it is NOT. Set it to 16pt.
Font consistency (enforced across every shape):
The font pairing declared in creating.md Section A.3 (e.g., Georgia for titles, Calibri for body) applies to EVERY text shape in the entire deck without exception. This includes:
❌ BANNED: Using any font not declared in your A.3 pairing (e.g., adding Arial, Helvetica, Times New Roman, or any other font mid-deck)
❌ BANNED: Omitting the font property on any shape and relying on PowerPoint defaults
Before delivery, scan every add command in your script and confirm every shape has an explicit "font" value matching your declared pairing.
After adding connectors and arrows, immediately take a PNG screenshot and verify:
If a connector overlaps text, reposition the connector OR send it behind the text box using --prop zorder=back. See creating.md C.9 for the full connector verification protocol.
Use ONLY colors from your pre-defined palette ($PRIMARY, $SECONDARY, $ACCENT1, $ACCENT2, etc.). Do NOT introduce additional accent colors not defined at the start of the script. If you used purple on Slide 3 but it was not in your initial palette definition, remove it. Every color in the deck must trace back to a named palette variable.
Common traps — these WILL cause a FAIL:
FF0000, CC0000, E53935, etc.) to indicate "bad/wrong/competitor weakness" — use your palette's darkest color instead00FF00, 4CAF50, 34A853, etc.) to indicate "good/correct/your advantage" — UNLESS green is explicitly declared as a palette variable (e.g., ACCENT1="34A853")888888, 999999, AAAAAA, CCCCCC, etc.) as a neutral/background color — use a palette light color (e.g., $LIGHT) insteadHow to express contrast and status without new colors:
$DARK, $DARK2)$PRIMARY, $ACCENT1)$PRIMARY, $SECONDARY, etc.plotFill=none, chartFill=none, subtle gridlines, series.outline.Phase 1: Understand -- Identify deck type (seed/launch/investor/sales), slide count, data provided, color preference.
Phase 2: Plan -- Select deck structure from creating.md Section A. Define palette as shell variables. Map each slide to a pattern from Section C. Verify no two consecutive slides share the same layout.
Phase 3: Build -- Create file, set metadata, then officecli open for resident mode. Build slide by slide using batch mode (heredoc syntax for 4+ elements). Apply chart/table recipes from Sections D/E. Add speaker notes after each slide. officecli close before QA.
Phase 4: QA & Deliver -- Run officecli validate. Check the QA checklist below. Deliver with note about validation exceptions if cell merge was used.
# Setup
officecli create pitch.pptx
officecli set pitch.pptx / --prop title="FitPulse" --prop author="Alex Kim"
officecli open pitch.pptx # Resident mode — all batch operations run in memory
PRIMARY="FF6B35"; SECONDARY="1A1A2E"; ACCENT1="00C9A7"; DARK="16213E"; MUTED="64748B"
# MUTED is declared here so stat sub-label colors use a palette variable, not a bare hex gray
# Slide 1: Title (gradient background, pattern C.1)
cat <<'EOF' | officecli batch pitch.pptx
[
{"command":"add","parent":"/","type":"slide","props":{"layout":"blank","background":"1A1A2E-16213E-180"}},
{"command":"add","parent":"/slide[1]","type":"shape","props":{"text":"FitPulse","x":"2cm","y":"5cm","width":"29.87cm","height":"4cm","font":"Georgia","size":"48","bold":"true","color":"FF6B35","align":,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:}}
]
EOF
officecli pitch.pptx --prop transition=fade
<< | officecli batch pitch.pptx
[
{:,:,:,:{:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:}},
// ^^^ = declared above. Use your palette; heredoc use its literal hex value.
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:}}
]
EOF
officecli pitch.pptx --prop transition=push-left
officecli add pitch.pptx -- notes \
--prop text=
<< | officecli batch pitch.pptx
[
{:,:,:,:{:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:}},
// NOTE: legendFont=10 above is a CHART INTERNAL exception (axis/legend) — allowed.
// All standalone sub-labels and body text outside the chart MUST be >= 16pt (Hard Rule H-FONT).
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:}},
// ^^^ = . Stat sub-label: must be >= 16pt (Hard Rule H-FONT). Do NOT copy 12pt from old examples.
{:,:,:,:{:,:,:,:,:,:,:,:,:,:,:,:}},
{:,:,:,:{:,:,:,:,:,:,:,:,:,:}}
// ^^^ = . Stat sub-label: must be >= 16pt (Hard Rule H-FONT). Do NOT copy 12pt from old examples.
]
EOF
officecli pitch.pptx --prop transition=push-left
officecli add pitch.pptx -- notes \
--prop text=
officecli close pitch.pptx
officecli validate pitch.pptx
Run before every delivery. See creating.md Section G for the full checklist.
officecli validate = 0 errors. Exception: slides with cell merge may report schema warnings that are cosmetic (PowerPoint renders correctly).fill and color values — no bare hex outside the declared palette block. No red/green/gray introduced for status indicators (Hard Rule H-PALETTE).!! naming{{key}} patterns)See creating.md Section H for the full list with workarounds. Key issues:
| Issue | Impact |
|---|---|
view issues reports "Slide has no title" for every slide | Expected behavior — safe to ignore. pitch-deck uses layout=blank which has no built-in PowerPoint title placeholder. This is not a bug. |
gap ignored during chart add | Must apply via separate set command |
| Cell merge produces validation errors | PowerPoint renders correctly; note in delivery |
Cell-level color on table cells causes validation errors | Use row-level color instead |
Custom gradient stops (@) fail on slide backgrounds | Use 2-color or 3-color gradients only |
Combo chart requires both comboSplit=1 and secondary=2 | Missing either renders incorrectly |
| Dual-axis scale mismatch makes smaller series invisible | HARD RULE: If ranges differ >10x, MUST split into two separate charts. See creating.md D.4 |
| Stat values wrap at 60pt in 7cm width | HARD RULE: Max 4 chars for $X.YM patterns (wide $+. glyphs); max 5 chars for other values. Use 44-48pt or C.2 (3-stat, 9cm) for longer |
Doughnut chart colors parameter may not apply | CLI accepts without error but PowerPoint renders default colors. No workaround. Verify via screenshot |
Empty table cell c1="" causes validation error | Use c1=" " (space character) instead of empty string |
| Connector arrows may not all render in batch | Add connectors in separate batch after shapes; immediately screenshot to verify each connector is visible (CLI reports success even when rendering fails); if still missing, add one at a time or use --type shape --prop preset=rightArrow as a reliable fallback |
| Empty series values (gaps) not supported | Use 0 for missing data points; produces zero-height bars |
| Background covers text | In batch, background shapes are added before text shapes. Adding bg shapes AFTER text results in bg covering text completely (higher z-order). Always: bg → text, never text → bg |
When the user requests changes after the deck is built:
| Request | Command |
|---|---|
| Swap two slides | officecli swap deck.pptx '/slide[2]' '/slide[4]' |
| Move a slide after another | officecli move deck.pptx '/slide[5]' --after '/slide[2]' |
| Edit shape text | officecli set deck.pptx '/slide[N]/shape[M]' --prop text="..." |
| Change color / style | officecli set deck.pptx '/slide[N]/shape[M]' --prop fill=FF0000 |
| Remove an element | officecli remove deck.pptx '/slide[N]/shape[M]' |
| Find & replace text | officecli set deck.pptx / --prop find=OldText --prop replace=NewText |
After any swap or move, re-query the affected slide with officecli get deck.pptx '/slide[N]' --depth 1 — shape indices shift after reordering.
officecli pptx set # All settable elements and properties
officecli pptx set shape # Shape properties in detail
officecli pptx add # All addable element types
officecli pptx view # All view modes