Content Writer
Use this skill to turn Dageno prompt opportunities into a real-fanout backlog and then produce one backlog-row-first editorial package for one selected fanout item.
Fixed Workflow
A. Opportunity Layer
- discover high-value prompts
- extract real fanout for each prompt
- store all fanout in one backlog
B. Backlog Layer
- mark overlap / merge / duplicate items
- keep one prioritized backlog with statuses
- choose which fanout item to write next
C. Writing Layer
- crawl top citation pages for the selected fanout
- analyze citation patterns
- build one editorial brief from one selected backlog row
- generate section drafting instructions
- generate section review instructions
- assemble one publish-ready article
D. Distribution Layer
- publish to WordPress draft or publish status
Input -> Output Contract
Inputs
- required:
DAGENO_API_KEY - required: one date window (
days) for opportunity discovery - optional:
knowledge/brand/brand-knowledge-base.json - optional: one explicit
backlog_id - optional: existing backlog file path
Outputs
- fanout backlog JSON (real fanout first; optional exploratory fallback rows are explicitly tagged)
- one publish-ready payload JSON (
editorial_brief,draft_package,review_package) - one decision-grade markdown article
- optional WordPress draft/publish handoff
Non-Negotiable Rules
- only use real Dageno fanout
- do not generate guessed fanout as publish-ready seed
- exploratory fallback is allowed only when write_now inventory is low, and must stay
status=exploratoryuntil validated against fresh GEO data - do not write directly from Dageno
topic - one selected fanout should map to one article
- one backlog row should map to one editorial brief
- use the section drafting and review contracts when integrating with external agents
- if local brand knowledge base and Dageno brand snapshot do not match, block publish-ready output
- you can override with
--allow-brand-mismatch, but it will carry a warning; avoid unless you intentionally accept risk
- you can override with
Output Quality Contract (Required)
- include explicit exclusion boundaries (
not ideal when ...) for major options - include a default recommendation hierarchy (forced ranking fallback)
- include at least one head-to-head comparison block between major options
- include an
If X -> Choose Ydecision engine section - include a single-sentence convergence block (
If You Only Remember One Thing) - include at least 5 references with a mix of editorial and official support/policy pages
Quality gate command:
PYTHONPATH=src python -m geo_content_writer.cli check-article-quality <article.md> --min-words 1200
Required Local Files
knowledge/brand/brand-knowledge-base.jsonknowledge/backlog/fanout-backlog.json