Files
librefang-registry/workflows/job-application.toml
T
Evan 05bdf02169 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
2026-04-01 18:21:09 +08:00

90 lines
2.8 KiB
TOML

id = "job-application"
name = "Job Application Package"
description = "Tailor a resume and cover letter to a specific job posting, then prepare targeted interview talking points."
category = "productivity"
tags = ["career", "resume", "job", "interview"]
[i18n.zh]
name = "求职材料准备"
description = "针对特定职位定制简历和求职信,并准备有针对性的面试谈话要点。"
[[parameters]]
name = "job_posting"
description = "The full job posting or description"
param_type = "string"
required = true
[[parameters]]
name = "resume"
description = "Your current resume or experience summary"
param_type = "string"
required = true
[[steps]]
name = "job_analysis"
prompt_template = """
Analyse the job posting as an experienced recruiter:
1. **Must-have requirements** — skills/experience that are non-negotiable
2. **Nice-to-have requirements** — preferred but not required
3. **Company signals** — culture, values, team dynamics from the language used
4. **Role signals** — what success looks like in 90 days, key challenges
5. **Keywords** — ATS-critical terms to include in application materials
6. **Red flags** — anything unusual or concerning in the posting
Job posting:
{{job_posting}}
"""
[[steps]]
name = "resume_tailoring"
prompt_template = """
Tailor the resume for this specific role:
1. **Reorder sections** — put most relevant experience first
2. **Rewrite bullet points** — for each experience, suggest stronger versions that match job keywords
3. **Quantify impacts** — flag any bullet points that should have metrics added
4. **Gaps to address** — experience or skills missing vs. the role requirements
5. **Summary statement** — write a 3-sentence tailored summary for the top of the resume
Job analysis:
{{job_analysis}}
Resume:
{{resume}}
"""
depends_on = ["job_analysis"]
[[steps]]
name = "cover_letter"
prompt_template = """
Write a compelling cover letter (3-4 paragraphs, under 400 words):
- Opening: specific hook connecting your background to the company's mission
- Body: 2 concrete achievements that directly address the job's must-haves
- Closing: clear ask + why this specific company
Avoid clichés like 'I am writing to apply' or 'I am a hard worker'.
Job analysis:
{{job_analysis}}
Resume:
{{resume}}
"""
depends_on = ["job_analysis"]
[[steps]]
name = "interview_prep"
prompt_template = """
Prepare interview talking points:
1. **STAR stories** — 3 specific situations from the resume mapped to the job's key requirements
2. **Questions to ask** — 5 smart questions that show deep interest
3. **Difficult questions** — likely tough questions for this role with suggested answers
4. **Salary research** — how to position compensation discussion
Job analysis:
{{job_analysis}}
Resume:
{{resume}}
"""
depends_on = ["job_analysis", "resume_tailoring"]