* feat(workflows): add 13 workflow templates across engineering, business, and productivity Engineering: - bug-triage: reproduce path → root cause → fix plan - api-design: resource model → endpoints → OpenAPI spec - incident-postmortem: timeline → RCA → full postmortem report - test-generation: code analysis → edge cases → full test suite - refactor-plan: smell analysis → prioritised opportunities → migration plan Business: - competitor-analysis: profiles → SWOT → strategy report - product-spec: problem definition → user stories → full PRD - market-research: landscape → segments → research report Productivity/Thinking: - meeting-summary: raw notes → structured summary → follow-up email - decision-matrix: criteria → weighted scoring → recommendation memo - learning-plan: gap analysis → roadmap → week-1 day-by-day plan - job-application: job analysis → tailored resume → cover letter → interview prep - blog-post: research → outline → draft → SEO optimisation Closes #1912 on librefang/librefang * fix(workflows): overhaul existing 9 templates - data-pipeline: redesigned — original 'extract from URL' step was broken (LLMs cannot fetch URLs); replaced with paste-data approach (profile → clean_transform → analyse) with analysis_goal parameter - translate-polish: added target_language and register parameters; added back-translation step for accuracy verification - weekly-report: added team/audience parameters, richer extraction step, added Metrics and Notes sections - content-pipeline: added audience/tone parameters, added outline step between research and writing - content-review: fix category 'content' → 'creation' - customer-support: fix category 'support' → 'business' * style(workflows): convert all prompt_template strings to TOML multiline syntax Replace \n escape sequences with real newlines using triple-quote multiline strings ("""...""") across all 22 workflow templates. No content changes — formatting only. * style(hands): replace \n escape in reddit writer format example with multiline code block
79 lines
2.0 KiB
TOML
79 lines
2.0 KiB
TOML
id = "meeting-summary"
|
|
name = "Meeting Summary & Action Items"
|
|
description = "Transform raw meeting notes or transcript into a structured summary, decisions log, and follow-up email."
|
|
category = "productivity"
|
|
tags = ["meeting", "notes", "productivity", "collaboration"]
|
|
|
|
[i18n.zh]
|
|
name = "会议纪要与行动项"
|
|
description = "将原始会议记录或转录文本整理为结构化摘要、决策日志和跟进邮件。"
|
|
|
|
[[parameters]]
|
|
name = "notes"
|
|
description = "Raw meeting notes or transcript"
|
|
param_type = "string"
|
|
required = true
|
|
|
|
[[parameters]]
|
|
name = "meeting_context"
|
|
description = "Meeting type, attendees, and goal (optional)"
|
|
param_type = "string"
|
|
required = false
|
|
default = ""
|
|
|
|
[[steps]]
|
|
name = "structured_summary"
|
|
prompt_template = """
|
|
You are an executive assistant. From the raw meeting notes below, extract:
|
|
|
|
**Key Discussion Points** — 3-7 bullet points on what was discussed
|
|
**Decisions Made** — each decision with rationale and who decided
|
|
**Open Questions** — unresolved items that need follow-up
|
|
**Blockers & Risks** — anything flagged as blocking progress
|
|
|
|
Context: {{meeting_context}}
|
|
|
|
Notes:
|
|
{{notes}}
|
|
"""
|
|
|
|
[[steps]]
|
|
name = "action_items"
|
|
prompt_template = """
|
|
Extract all action items from the meeting. For each:
|
|
- Action: specific, measurable task
|
|
- Owner: person responsible (use name from notes)
|
|
- Due date: explicit date or relative (e.g. 'by next Friday')
|
|
- Priority: High / Medium / Low
|
|
- Dependencies: what must happen first
|
|
|
|
Format as a table.
|
|
|
|
Summary:
|
|
{{structured_summary}}
|
|
|
|
Notes:
|
|
{{notes}}
|
|
"""
|
|
depends_on = ["structured_summary"]
|
|
|
|
[[steps]]
|
|
name = "followup_email"
|
|
prompt_template = """
|
|
Write a professional follow-up email to send to all attendees. Include:
|
|
- Subject line
|
|
- Brief recap (2-3 sentences)
|
|
- Decisions section
|
|
- Action items table (owner, task, due date)
|
|
- Next steps / next meeting placeholder
|
|
|
|
Keep tone professional but concise. Use the attendees' first names.
|
|
|
|
Summary:
|
|
{{structured_summary}}
|
|
|
|
Action items:
|
|
{{action_items}}
|
|
"""
|
|
depends_on = ["structured_summary", "action_items"]
|