cover_letter_generator
Status: Orphan (feature ships via a different path).
What it does
Nothing, under this key. Two live routes generate cover letters
(POST /ai/cover-letter, POST /cover-letters/{id}/regenerate), but neither calls
loadPrompt('cover_letter_generator'). The real prompt is a separately-maintained, hardcoded
duplicate — buildCoverLetterPrompt — called directly by each AI provider's
generateCoverLetter. Editing this key's Storage-hosted body has zero effect on production
behavior.
Why it exists
docs/marketing/cover-letters-outreach.md documents the shipped feature — application-tied,
paired with outreach messages, live preview, refusal detection — but that document is rationale
for the feature, not for this specific unreachable prompt key.
How to use it
This key: you can't, it's unreachable. The shipped feature: "Generate Cover Letter" /
"Regenerate" in the application view, or MCP tools generate-cover-letter /
regenerate-cover-letter (scope ai:generate) — neither routes through this prompt key either.
What it reads
Nothing under this key. The two shipped paths read different data, and this is a known divergence, not intentional design:
POST /ai/cover-letterusesresumeToJson, which includes projects and repositories.POST /cover-letters/{id}/regenerateuses a separatebuildResumeJson, which does not load projects or repositories at all.
Regenerating a cover letter can silently drop content the original generation had access to. This is a real product behavior gap, tracked separately — it is documented here, not fixed by this docs change.
What it will not do
It will not behave identically between the create and regenerate paths (see above). Do not describe cover-letter generation as reading uniform data.
Source
apps/api/src/ai/prompts.ts:96 (buildCoverLetterPrompt, the real prompt) ·
apps/api/src/routes/ai.ts:279,607 (resumeToJson, POST /ai/cover-letter) ·
apps/api/src/routes/cover-letters.ts:369-435,516 (buildResumeJson,
POST /cover-letters/{id}/regenerate) ·
packages/mcp-tool-server/src/core/tools/cover-letters.ts:38-87