Skip to content
Back to skills

Article Queue

ASecurity

Manage article task queue - add, filter, update status, and track multi-language outputs

  • 35 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
content-mediajavascriptjavabash

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add mwguerra/claude-code-plugins --skill article-queue --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Article Queue?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Article Queue
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mwguerra-article-queue/badge)](https://www.skillsdirectory.com/skills/mwguerra-article-queue)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: article-queue
description: Manage article task queue - add, filter, update status, and track multi-language outputs
---

# Article Queue

Manage `.article_writer/article_tasks.json` for article creation.

## File Locations

- **Queue**: `.article_writer/article_tasks.json`
- **Authors**: `.article_writer/authors.json`
- **Schema**: `.article_writer/schemas/article-tasks.schema.json`
- **Backup**: `.article_writer/article_tasks.backup.json`

## Schema Reference

See [references/schema-reference.md](references/schema-reference.md) for fields.

## Key Fields

### Author Reference
```json
{
  "author": {
    "id": "mwguerra",
    "name": "MW Guerra",
    "languages": ["pt_BR", "en_US"]
  }
}
```

If author not specified, first author in authors.json is used.

### Output Files (per language)
```json
{
  "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"
    }
  ]
}
```

### Timestamps
- `created_at`: When task was added to queue
- `written_at`: When primary article was completed
- `published_at`: When article went live
- `updated_at`: Last modification

## Operations

### Status Summary
```bash
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/queue.ts status
```

### Filter by Author
```javascript
articles.filter(a => a.author?.id === "mwguerra")
```

### Filter by Language
```javascript
articles.filter(a => 
  a.author?.languages?.includes("en_US")
)
```

### Update After Writing
```javascript
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();
```

### Add Translation
```javascript
article.output_files.push({
  language: "en_US",
  path: "content/articles/.../article.en_US.md",
  translated_at: new Date().toISOString()
});
```

## Status Flow

```
pending → in_progress → draft → review → published
               ↓
           archived
```

## Default Author

When adding tasks without author:
1. Load authors.json
2. Use first author's id, name, languages
3. Store reference in task

```javascript
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
};
```

## Validation

Before processing:
- Verify author.id exists in authors.json
- Validate languages are subset of author's languages
- Check all required fields present

Files in this skill

  • SKILL.md2.8 KB
  • references/schema-reference.md8.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.