editorial-workflow
The editorial-workflow skill provides templates and processes for newsrooms to track story assignments, manage deadlines, and coordinate between reporters and editors. It establishes a standardized story status taxonomy with twelve defined statuses, assignment record templates that document reporter, deadline, and story specifications, and handoff checklists to ensure clear communication when assigning stories. Use this skill when setting up story tracking systems, creating editorial calendars, establishing assignment protocols, managing multiple concurrent stories, or training new editors on newsroom operations.
git clone --depth 1 https://github.com/jamditis/claude-skills-journalism /tmp/editorial-workflow && cp -r /tmp/editorial-workflow/journalism-core/skills/editorial-workflow ~/.claude/skills/editorial-workflowSKILL.md
# Editorial workflow management
Newsrooms run on systems. This skill provides templates and processes for tracking stories, managing deadlines, and coordinating between reporters and editors.
## When to use
- Setting up story tracking systems
- Creating editorial calendars
- Establishing assignment and handoff protocols
- Managing multiple stories and deadlines
- Training new editors on workflow
## Story status taxonomy
### Standard statuses
| Status | Meaning | Owner |
|--------|---------|-------|
| **Pitch** | Idea submitted, awaiting approval | Reporter |
| **Assigned** | Approved, reporter working | Reporter |
| **Reporting** | Active reporting in progress | Reporter |
| **Draft** | First draft submitted | Editor |
| **Edit** | Editor making changes | Editor |
| **Revision** | Back with reporter for changes | Reporter |
| **Copy** | Copy editing stage | Copy editor |
| **Final** | Ready for publication | Editor |
| **Scheduled** | Queued for specific date | System |
| **Published** | Live | Complete |
| **Hold** | Paused, not abandoned | Editor |
| **Kill** | Story abandoned | Editor |
### Status flow
```
Pitch → Assigned → Reporting → Draft → Edit → Revision (loop) → Copy → Final → Scheduled → Published
↓
Hold/Kill
```
## Story assignment tracking
### Assignment record template
```markdown
## Story: [Slug/working title]
### Assignment details
- **Reporter:** [name]
- **Assigning editor:** [name]
- **Date assigned:** [date]
- **Deadline:** [date/time]
- **Target publication:** [outlet/section]
### Story specs
- **Format:** [brief, feature, enterprise, etc.]
- **Word count:** [target]
- **Multimedia:** [photos, video, graphics needed]
- **Sources required:** [minimum sources]
### The assignment
[What the story is, angle, key elements to include]
### Key contacts
[Sources to interview, PR contacts, experts]
### Background/resources
[Links to previous coverage, documents, data]
### Budget line
[One sentence for editorial budget meetings]
### Status history
| Date | Status | Notes |
|------|--------|-------|
| [date] | Assigned | |
| [date] | [status] | [note] |
```
### Assignment handoff checklist
When assigning a story:
```markdown
## Assignment handoff
### From editor to reporter
- [ ] Story scope clearly defined
- [ ] Deadline confirmed
- [ ] Word count/format specified
- [ ] Key sources identified
- [ ] Background materials shared
- [ ] Multimedia needs discussed
- [ ] Questions answered
### Reporter confirms
- [ ] Deadline is realistic
- [ ] Have access to necessary sources
- [ ] Understand the angle
- [ ] Know who to ask for help
```
## Editorial calendar
### Calendar template
```markdown
## Editorial calendar: [Week/Month of Date]
### Monday [date]
| Time | Story | Reporter | Status | Notes |
|------|-------|----------|--------|-------|
| AM | [story] | [name] | [status] | |
| PM | [story] | [name] | [status] | |
### Tuesday [date]
[same format]
### Evergreen queue
| Story | Reporter | Ready date | Notes |
|-------|----------|------------|-------|
| [story] | [name] | [date] | [can run anytime after this] |
### Upcoming (next 2 weeks)
| Story | Reporter | Target date | Status |
|-------|----------|-------------|--------|
| [story] | [name] | [date] | [status] |
```
### Planning meeting template
For weekly/daily editorial meetings:
```markdown
## Editorial meeting: [date]
### Today's lineup
| Story | Reporter | Status | Publish time | Notes |
|-------|----------|--------|--------------|-------|
| [story] | [name] | [status] | [time] | |
### Tomorrow's lineup
[same format]
### In progress (due this week)
| Story | Reporter | Due | Status | Blockers |
|-------|----------|-----|--------|----------|
| [story] | [name] | [date] | [status] | [any issues] |
### Pipeline (next 2+ weeks)
| Story | Reporter | Target | Status |
|-------|----------|--------|--------|
| [story] | [name] | [date] | [status] |
### Discussion items
- [Topic 1]
- [Topic 2]
### Action items
- [ ] [Action] - [Owner] - [Deadline]
```
## Deadline management
### Deadline types
| Deadline | Purpose | Typical lead time |
|----------|---------|-------------------|
| **Reporting** | Complete interviews/research | 2-5 days before draft |
| **First draft** | Submit to editor | 24-48 hours before edit |
| **Final draft** | After revisions | 12-24 hours before copy |
| **Art/photos** | Visuals ready | Same as first draft |
| **Copy edit** | Language/style review | 4-8 hours before publish |
| **Publish** | Goes live | Set time |
### Deadline tracking template
```markdown
## Story: [title]
**Final publish deadline:** [date/time]
### Working backward
| Milestone | Deadline | Status |
|-----------|----------|--------|
| Reporting complete | [date] | ☐ |
| First draft due | [date] | ☐ |
| Art/photos due | [date] | ☐ |
| Edit complete | [date] | ☐ |
| Revisions due | [date] | ☐ |
| Copy edit complete | [date] | ☐ |
| Final review | [date] | ☐ |
| Schedule/publish | [date] | ☐ |
```
### Missed deadline protocol
When a deadline is at risk:
1. **Notify immediately** - Don't wait until the deadline passes
2. **Explain briefly** - What's blocking progress
3. **Propose new deadline** - Realistic estimate
4. **Offer alternatives** - Shorter version? Different angle?
```markdown
## Deadline alert
**Story:** [title]
**Original deadline:** [date/time]
**Issue:** [what's blocking]
**New proposed deadline:** [date/time]
**Impact:** [what this affects]
**Alternatives:** [options if any]
```
## Edit handoff protocols
### Reporter → Editor
When submitting draft:
```markdown
## Draft submission: [story title]
**Draft location:** [link/file]
**Word count:** [count]
### What's in the draft
- [Key points covered]
### What's still needed
- [ ] [Outstanding item]
- [ ] [Waiting for source callback]
### Questions for editor
- [Question about structure, angle, etc.]
### Source notes
[Any attribution issues, off-recorWeb accessibility patterns for news and academic sites. Use for WCAG audits, alt text, accessible data viz, and assistive tech.
Electron desktop apps with React, TypeScript, and Vite. Use for IPC, window/tray, PTY terminals, WebRTC, and packaging.
Remote JavaScript console and debugging on mobile. Use for phone/tablet console errors, responsive testing, Eruda, and vConsole.
Flags irreversible decisions before commit. Use for data models, infra, auth boundaries, API contracts, event schemas, CI/CD.
Python data pipelines with modular architecture. Use for content workflows, batch jobs, or Google Sheets/Drive integration.
Enforces a test-driven bug-fixing workflow. Use when a user reports a bug, failing code, an error, or asks to fix something.
AI-assisted coding with Claude Code, Cursor, Copilot, Codex, Aider, or Windsurf. Use to build or debug generated code.
Authorized web scraping with fallback cascades and access-failure handling. Use for social media, yt-dlp, CAPTCHA or 403 blocks.