Create a new technical article with web research, practical companion projects, and multi-language output
Creates technical articles with web research, practical code projects, and multi-language output.
/plugin marketplace add mwguerra/claude-code-plugins/plugin install article-writer@mwguerra-marketplace<topic | from-queue ID> [--author ID]Create a single technical article interactively with multi-language support.
Documentation: docs/COMMANDS.md | docs/PROCESS.md
From topic (uses default author):
/article-writer:article implementing rate limiting in Laravel
From topic with specific author:
/article-writer:article implementing rate limiting --author mwguerra
From queue:
/article-writer:article from-queue 42
/article-writer:init.article_writer/authors.json--author ID specified, use that author.article_writer/authors.json.article_writer/settings.json (companion project defaults + article_limits.max_words)content/articles/{date}_{slug}/ (including code/)During research phase, searches for:
All sources are recorded in sources_used array.
Every article includes a practical companion project. Companion project defaults come from .article_writer/settings.json:
# View defaults before creating
/article-writer:settings show code
Companion project workflow:
<!-- EXAMPLE: ... --> markersinstall_command - Must succeed (vendor/ exists)run_command - App must start without errorstest_command - All tests must passThe companion project is NOT complete until verification passes.
For author with languages: ["pt_BR", "en_US"]:
content/articles/2025_01_15_rate-limiting/
├── rate-limiting.pt_BR.md # Primary (written first)
└── rate-limiting.en_US.md # Translation
Articles are subject to a hard word limit defined in settings:
# Check current limit
jq '.article_limits.max_words' .article_writer/settings.json
Default: 3000 words (prose only, excludes frontmatter and code blocks)
If the draft exceeds max_words, the Condense phase:
Confirm at:
{slug}.{primary_lang}.md{slug}.{lang}.md for each additional language