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
@@ -0,0 +1,99 @@
|
||||
id = "blog-post"
|
||||
name = "Blog Post Writer"
|
||||
description = "Research a topic, build a structured outline, write a full-length blog post, then optimise for SEO."
|
||||
category = "creation"
|
||||
tags = ["writing", "blog", "seo", "content"]
|
||||
|
||||
[i18n.zh]
|
||||
name = "博客文章撰写"
|
||||
description = "调研主题,构建结构化提纲,撰写完整博客文章,并进行 SEO 优化。"
|
||||
|
||||
[[parameters]]
|
||||
name = "topic"
|
||||
description = "Blog post topic or working title"
|
||||
param_type = "string"
|
||||
required = true
|
||||
|
||||
[[parameters]]
|
||||
name = "audience"
|
||||
description = "Target audience and their expertise level"
|
||||
param_type = "string"
|
||||
required = false
|
||||
default = "general audience"
|
||||
|
||||
[[parameters]]
|
||||
name = "tone"
|
||||
description = "Desired tone (e.g. technical, conversational, authoritative)"
|
||||
param_type = "string"
|
||||
required = false
|
||||
default = "informative and engaging"
|
||||
|
||||
[[steps]]
|
||||
name = "research"
|
||||
prompt_template = """
|
||||
You are a research journalist. For the blog topic below, compile:
|
||||
1. Key facts, statistics, and data points (with source type)
|
||||
2. Common misconceptions to debunk
|
||||
3. Expert perspectives and contrasting views
|
||||
4. Recent developments or trends
|
||||
5. Concrete examples and case studies
|
||||
6. Angles that haven't been covered well in existing content
|
||||
|
||||
Topic: {{topic}}
|
||||
Audience: {{audience}}
|
||||
"""
|
||||
|
||||
[[steps]]
|
||||
name = "outline"
|
||||
prompt_template = """
|
||||
You are a content strategist. Create a detailed blog post outline:
|
||||
- Compelling headline (3 options)
|
||||
- Hook / opening angle
|
||||
- H2 sections with H3 subsections
|
||||
- Key point per section
|
||||
- Data or example to use in each section
|
||||
- Conclusion and CTA
|
||||
|
||||
Target length: 1200-1800 words.
|
||||
Tone: {{tone}}
|
||||
Audience: {{audience}}
|
||||
|
||||
Research:
|
||||
{{research}}
|
||||
"""
|
||||
depends_on = ["research"]
|
||||
|
||||
[[steps]]
|
||||
name = "draft"
|
||||
prompt_template = """
|
||||
Write the full blog post following the outline. Guidelines:
|
||||
- Open with a hook that immediately addresses the reader's pain or curiosity
|
||||
- Use short paragraphs (3-4 sentences max)
|
||||
- Include the statistics and examples from research
|
||||
- Use subheadings to aid scannability
|
||||
- End with a clear takeaway and one actionable CTA
|
||||
- Tone: {{tone}}
|
||||
|
||||
Outline:
|
||||
{{outline}}
|
||||
|
||||
Research:
|
||||
{{research}}
|
||||
"""
|
||||
depends_on = ["outline", "research"]
|
||||
|
||||
[[steps]]
|
||||
name = "seo_optimise"
|
||||
prompt_template = """
|
||||
SEO-optimise the blog post:
|
||||
1. **Primary keyword** — identify the best target keyword
|
||||
2. **Meta title** (under 60 chars) and **meta description** (under 155 chars)
|
||||
3. **Keyword placement** — suggest where to naturally insert the primary keyword and 3 secondary keywords
|
||||
4. **Internal link opportunities** — topics to link to
|
||||
5. **Image alt text suggestions** — 2-3 descriptive alts
|
||||
6. **Revised headline** if needed for keyword inclusion
|
||||
|
||||
Draft:
|
||||
{{draft}}
|
||||
"""
|
||||
depends_on = ["draft"]
|
||||
Reference in new issue
Block a user