Manage article task queue - add, filter, update status, and track multi-language outputs
Manages article task queue for multi-language content creation and tracking.
/plugin marketplace add mwguerra/claude-code-plugins/plugin install article-writer@mwguerra-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/schema-reference.mdManage .article_writer/article_tasks.json for article creation.
.article_writer/article_tasks.json.article_writer/authors.json.article_writer/schemas/article-tasks.schema.json.article_writer/article_tasks.backup.jsonSee references/schema-reference.md for fields.
{
"author": {
"id": "mwguerra",
"name": "MW Guerra",
"languages": ["pt_BR", "en_US"]
}
}
If author not specified, first author in authors.json is used.
{
"output_folder": "content/articles/2025_01_15_rate-limiting/",
"output_files": [
{
"language": "pt_BR",
"path": "content/articles/2025_01_15_rate-limiting/rate-limiting.pt_BR.md",
"translated_at": "2025-01-15T14:00:00Z"
},
{
"language": "en_US",
"path": "content/articles/2025_01_15_rate-limiting/rate-limiting.en_US.md",
"translated_at": "2025-01-15T16:00:00Z"
}
]
}
created_at: When task was added to queuewritten_at: When primary article was completedpublished_at: When article went liveupdated_at: Last modificationbun run "${CLAUDE_PLUGIN_ROOT}"/scripts/queue.ts status
articles.filter(a => a.author?.id === "mwguerra")
articles.filter(a =>
a.author?.languages?.includes("en_US")
)
article.status = "draft";
article.output_folder = "content/articles/2025_01_15_slug/";
article.output_files = [
{ language: "pt_BR", path: "...", translated_at: "..." }
];
article.written_at = new Date().toISOString();
article.updated_at = new Date().toISOString();
article.output_files.push({
language: "en_US",
path: "content/articles/.../article.en_US.md",
translated_at: new Date().toISOString()
});
pending → in_progress → draft → review → published
↓
archived
When adding tasks without author:
const authors = JSON.parse(await readFile(".article_writer/authors.json"));
const defaultAuthor = authors.authors[0];
task.author = {
id: defaultAuthor.id,
name: defaultAuthor.name,
languages: defaultAuthor.languages
};
Before processing:
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.