feat(workflows): expand template library from 9 to 22 + multiline string cleanup (#36)
* 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
This commit is contained in:
23 files changed
+1500
-64
No files matched your search
@@ -1,7 +1,7 @@
|
||||
id = "customer-support"
|
||||
name = "Customer Support Triage"
|
||||
description = "Tiered customer support pipeline that classifies incoming requests by urgency and category, drafts an appropriate response, and escalates complex issues to a specialist."
|
||||
category = "support"
|
||||
category = "business"
|
||||
tags = ["support", "triage", "customer-service", "escalation"]
|
||||
|
||||
[i18n.zh]
|
||||
@@ -30,14 +30,49 @@ default = ""
|
||||
|
||||
[[steps]]
|
||||
name = "classify"
|
||||
prompt_template = "Classify the following customer support request. Determine:\n1. Category: billing, technical, account, feature-request, bug-report, or general\n2. Urgency: low, medium, high, critical\n3. Sentiment: positive, neutral, frustrated, angry\n4. Whether escalation to a human specialist is needed (true/false)\n\nReturn a structured assessment with reasoning for each classification.\n\nProduct context: {{product_context}}\n\nCustomer message:\n{{customer_message}}"
|
||||
prompt_template = """
|
||||
Classify the following customer support request. Determine:
|
||||
1. Category: billing, technical, account, feature-request, bug-report, or general
|
||||
2. Urgency: low, medium, high, critical
|
||||
3. Sentiment: positive, neutral, frustrated, angry
|
||||
4. Whether escalation to a human specialist is needed (true/false)
|
||||
|
||||
Return a structured assessment with reasoning for each classification.
|
||||
|
||||
Product context: {{product_context}}
|
||||
|
||||
Customer message:
|
||||
{{customer_message}}
|
||||
"""
|
||||
|
||||
[[steps]]
|
||||
name = "draft_response"
|
||||
prompt_template = "Draft a helpful, empathetic support response for {{customer_name}} based on the classification below. The response should:\n- Acknowledge the customer's concern\n- Provide a clear solution or next steps\n- Match the appropriate tone for the detected sentiment\n- Include specific action items\n\nClassification:\n{{classify}}\n\nOriginal message:\n{{customer_message}}"
|
||||
prompt_template = """
|
||||
Draft a helpful, empathetic support response for {{customer_name}} based on the classification below. The response should:
|
||||
- Acknowledge the customer's concern
|
||||
- Provide a clear solution or next steps
|
||||
- Match the appropriate tone for the detected sentiment
|
||||
- Include specific action items
|
||||
|
||||
Classification:
|
||||
{{classify}}
|
||||
|
||||
Original message:
|
||||
{{customer_message}}
|
||||
"""
|
||||
depends_on = ["classify"]
|
||||
|
||||
[[steps]]
|
||||
name = "escalation_check"
|
||||
prompt_template = "Review the classification and drafted response below. Determine if this case requires escalation beyond automated support. If escalation is needed, prepare a concise internal handoff note for the specialist team that includes: summary, category, urgency, customer sentiment, attempted resolution, and recommended next steps.\n\nIf no escalation is needed, confirm the drafted response is complete and ready to send.\n\nClassification:\n{{classify}}\n\nDrafted response:\n{{draft_response}}"
|
||||
prompt_template = """
|
||||
Review the classification and drafted response below. Determine if this case requires escalation beyond automated support. If escalation is needed, prepare a concise internal handoff note for the specialist team that includes: summary, category, urgency, customer sentiment, attempted resolution, and recommended next steps.
|
||||
|
||||
If no escalation is needed, confirm the drafted response is complete and ready to send.
|
||||
|
||||
Classification:
|
||||
{{classify}}
|
||||
|
||||
Drafted response:
|
||||
{{draft_response}}
|
||||
"""
|
||||
depends_on = ["classify", "draft_response"]
|
||||
Reference in new issue
Block a user