Skip to content

feat: AI recipes for custom meeting prompt templates#85

Open
StevenLi-phoenix wants to merge 1 commit intomainfrom
pr/ai-recipes-20
Open

feat: AI recipes for custom meeting prompt templates#85
StevenLi-phoenix wants to merge 1 commit intomainfrom
pr/ai-recipes-20

Conversation

@StevenLi-phoenix
Copy link
Copy Markdown
Owner

Summary

  • AIRecipe model — reusable prompt template with name, icon (SF Symbol), promptTemplate (supports {{transcript}}, {{title}}, {{duration}}, {{date}}), output sections, summary style, built-in flag
  • RecipeStorenonisolated enum with JSON file storage in Application Support; 6 built-in recipes (General Meeting, Sprint Retro, 1-on-1, Sales Call, Brainstorm, Product Review) with stable UUIDs; built-ins always restored on load; duplicate/delete support
  • PromptBuilder.buildRecipePrompt() — interpolates recipe template, adds section hints and style/constraint instructions
  • SummarizerService.summarizeWithRecipe() — recipe-based regeneration with retry logic
  • Recipe picker in SummaryCardView — Menu button in hover overlay alongside existing regenerate/edit/copy buttons; onRegenerateWithRecipe callback wired through SessionDetailView
  • RecipeListView + RecipeEditorView — new Settings > Recipes tab for CRUD management; HSplitView with sidebar list and detail editor; built-in recipes are read-only with duplicate option
  • 19 unit tests — built-in count/properties, template interpolation (all vars, missing vars, empty, multiple occurrences), JSON round-trip, load/save with temp files, delete protection, duplicate, Hashable conformance

Closes #20

Test plan

  • Build succeeds (CODE_SIGNING_ALLOWED=NO)
  • 19 RecipeStoreTests pass
  • Manual: open Settings > Recipes tab, verify 6 built-in recipes shown
  • Manual: create custom recipe, verify it persists across app restart
  • Manual: duplicate a built-in recipe, edit the copy
  • Manual: hover summary > click recipe menu > select recipe > verify recipe-specific regeneration
  • Manual: verify existing regenerate-with-instructions flow still works

🤖 Generated with Claude Code

Add reusable prompt templates (AI Recipes) for different meeting types.
Users can pick a recipe when regenerating summaries, or create custom
recipes in the new Settings > Recipes tab.

- AIRecipe model with name, icon, prompt template, output sections
- RecipeStore (nonisolated enum) with JSON file storage, 6 built-ins
- Template interpolation: {{transcript}}, {{title}}, {{duration}}, {{date}}
- PromptBuilder.buildRecipePrompt() and SummarizerService.summarizeWithRecipe()
- Recipe picker Menu in SummaryCardView regenerate overlay
- RecipeListView + RecipeEditorView in Settings
- 19 unit tests for store logic, interpolation, CRUD, JSON round-trip
@claude
Copy link
Copy Markdown

claude bot commented Mar 28, 2026

✅ Claude Code Review: APPROVE

AI Recipes feature is well-structured, follows project conventions (nonisolated enum, OS logging, DS design tokens, re-fetch after await), and includes 19 unit tests with solid coverage of interpolation, CRUD, and JSON round-tripping.

@github-actions
Copy link
Copy Markdown
Contributor

⏸️ Auto-merge paused: 5 unchecked checkbox(es) in PR body. Merge will proceed automatically once all tasks are checked and a new push triggers the workflow.

@StevenLi-phoenix
Copy link
Copy Markdown
Owner Author

Notes — AI Recipes (#20)

很好的功能!几点建议:

1. 与 Granola "Recipes" 的差异化

Granola 的 Recipes 是他们最受欢迎的功能——结合会议上下文 + 专家 AI prompt 模板(如 coaching、brief-writing)。我们的 AI Recipes 可以进一步差异化:

  • 本地化模板:内置中英文会议模板(周会、brainstorm、1-on-1、面试)
  • 变量插值:模板中支持 {{session_duration}}{{speaker_count}}{{date}} 等变量
  • 社区共享:导出/导入 recipe JSON,用户之间分享最佳实践

2. 与 Structured Output 集成

Recipe 可以指定期望的输出结构(而不仅仅是 prompt 文本)。例如:

3. 预设 Recipes 建议

首次使用时提供 5-8 个预设 recipe,降低使用门槛:

  • 📋 会议纪要(中/英)
  • ✅ Action Items 提取
  • 🎯 决策追踪
  • 📊 Weekly Summary
  • 🧠 Brainstorm 整理
  • 💼 面试评估

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AI 配方 — 自定义提示词模板 (AI Recipes)

1 participant