1仕組みと動作原理
段階的なパイプライン構成:コンテンツ分析 →(必須)確認 → アウトライン生成 → プロンプト生成 → 画像生成 → PPTX/PDF 結合。各段階の成果物はすべてディスクに保存され、--outline-only / --prompts-only / --images-only による中断・再開に対応します。
Input → Preferences → Analyze → [Check Existing?] → Confirm (1-2 rounds) → Outline → [Review Outline?] → Prompts → [Review Prompts?] → Images → Merge → Complete
スタイルシステム = 16のプリセット × 4つの次元(texture / mood / typography / density)の自由な組み合わせ。各プリセットは次元の値セットに対応づけられています。
| `blueprint` (Default) | grid + cool + technical + balanced | Architecture, system design |
コンテンツシグナルがキーワードリストにヒットした場合は自動でスタイルを選定し、マッチしない場合は blueprint にフォールバックします。
| tutorial, learn, education, guide, beginner | `sketch-notes` |
分量に応じた推奨ページ数:1,000語未満は5〜10枚 … 5,000語超は20〜30枚(分割を推奨)。
| > 5000 words | 20-30 (consider splitting) |
Step 2 は厳格なゲート:スタイル、対象読者、ページ数、アウトラインレビュー、プロンプトレビューの5つの確認項目はいずれもスキップ不可です。
**Step 2 confirmation required** - do not skip (style, audience, slides, outline review, prompt review)
設定は EXTEND.md から読み込み、プロジェクトレベル、次いでユーザーレベル($HOME)の順で探索します。
# Check project-level first
成果物のディレクトリ構造は固定:ソースファイル、outline.md、prompts/、NN-slide-*.png、pptx、pdf。
slide-deck/{topic-slug}/
結合処理は2つのローカルスクリプトが担当:npx -y bun で merge-to-pptx.ts / merge-to-pdf.ts を呼び出します。
npx -y bun ${SKILL_DIR}/scripts/merge-to-pptx.ts <slide-deck-dir>
画像生成はこのリポジトリ内では実装せず、エージェントが「利用可能な画像生成 skill を選択」し、同一セッション ID で順次生成させます。
1. Select available image generation skill
画像修正の規律:先にプロンプトファイルを修正してから、対象ページを指定して --regenerate を実行します。
**IMPORTANT**: When updating slides, ALWAYS update the prompt file (`prompts/NN-slide-{slug}.md`) FIRST before regenerating.
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| api | 运行时图像生成后端(由 agent 选择『可用的图像生成 skill』完成出图,用户内容/提示词由此出网) |
| cli | bun / npx -y bun(运行合并脚本) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: npx -y bun ${SKILL_DIR}/scripts/merge-to-pptx.ts <slide-deck-dir>(ローカルでの PPTX 結合)
- 网络端点: 外部ネットワークアクセスの宣言: skill 本体のスクリプトはネットワーク呼び出しゼロ(2つの結合スクリプトはローカルファイル I/O とライブラリ呼び出しのみを実行)
- 本地工作目录: ファイル読み書きおよびアーティファクト出力: slide-deck/{topic-slug}/source-{slug}.{ext} および analysis.md
5二重目の独立検証
- [ok] 自身脚本无网络、无环境变量、无 spawn — skills/canghe-slide-deck/scripts/ 只有 merge-to-pdf.ts 与 merge-to-pptx.ts;bundle 风险扫描『網路請求:無命中』『憑證/環境變數』仅命中 ${SKILL_DIR} 与 $HOME 路径。
- [ok] 出图是跨 skill 委派而非本仓实现 — Step 7『1. Select available image generation skill』;本仓无任何图像生成脚本或端点声明。档位按『把用户素材送外部生成后端』落 orange。
- [ok] 确认门禁措辞与位置 — Notes 与 Step 2 均标注 ⚠️ REQUIRED;Notes 重复『Step 2 confirmation required - do not skip』。
- [ok] 合并脚本行为 — 风险扫描『寫盤/產生檔案』命中 merge-to-pdf.ts 的 Bun.write 与 merge-to-pptx.ts 的 pptx.writeFile,均为本地输出。
- [ok] 风格/维度数量与文件结构 — §1 清单列出 16 个 references/styles/*.md、5 个 references/dimensions/*.md(含 presets.md),与 SKILL.md 表格一致。
- [ok] 未展开文件的处理 — bundle 只展开 12 个最相关文件;base-prompt.md、design-guidelines.md 等未展开,故未对其内容下结论,仅按 §1 清单列为内部资产。
- [ok] 档位复核 — 自身脚本面绿蓝级,但核心用途将用户内容送入运行时图像生成服务 → 按站内『生成後端類』先例判 orange;无 red 触发项(无逆向/冒充/绕过/安全降级/任意代码执行)。
- [ok] 元数据与 commit — skill.commit 与 audit.skill_commit = dd0bf355955b4c82b764740b4183c86a72ba0e0c;license=MIT(仓库根 LICENSE),installs=null。
6結論
5efda196172fff6e…