# Organize Task Files

> Lists, pairs, deduplicates, and moves task files across the Coworker task state machine (0draft → 6git-pushed). Use when asked to organize, clean up, or audit task files.

- Skill: `platonai/organize-task-files` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add platonai/organize-task-files`
- Raw SKILL.md: https://api.skillmd.com/api/skills/platonai/organize-task-files/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: platonai (https://skillmd.com/u/platonai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/platonai/organize-task-files

---


# Organize Task Files

Manages `.full.md` (evaluation outputs) and `.issues.md` (extracted issues) files across the Coworker task state machine pipelines.

## When to Use

- "organize task files"
- "show me what tasks are in each pipeline stage"
- "find unpaired .full.md and .issues.md files"
- "find duplicate task files"
- "find empty issues files (zero issues found)"
- "move task files from X to Y"
- "clean up the issues draft directory"

## How It Works

1. Scans `coworker/tasks/` (issues, main) for `.md` task files
2. Parses filenames with pattern `YYYYMMDD-HHMMSS-taskname.{full,issues}.md` or plain `taskname.md`
3. Groups by task name, detects pairs/dupes/orphans, classifies by pipeline stage

## Usage

Run the bundled script:

```bash
python3 coworker/skills/organize-task-files/scripts/organize.py COMMAND [OPTIONS]
```

### Commands

| Command | Description |
|---------|-------------|
| `summary` | Overview of all pipelines: file counts per stage, type breakdown |
| `list` | List all task files with full paths, grouped by pipeline stage |
| `pairs` | Match .full.md ↔ .issues.md pairs; flag orphans |
| `dupes` | Find duplicate task names across directories and stages |
| `empty` | Find .issues.md files with "0 issues found" |
| `move` | Move matching files between pipeline stages (dry-run by default) |

### Options

| Flag | Description |
|------|-------------|
| `--dir DIR` | Only scan a specific directory (default: all task dirs) |
| `--dry-run` | Show what would happen without making changes (default for `move`) |
| `--force` | Actually perform moves (use with `move`) |
| `--json` | Output as JSON for scripting |

### Examples

```bash
# Overview of all pipelines
python3 coworker/skills/organize-task-files/scripts/organize.py summary

# Find unpaired files in issues draft
python3 coworker/skills/organize-task-files/scripts/organize.py pairs --dir issues/draft

# List all duplicate task names
python3 coworker/skills/organize-task-files/scripts/organize.py dupes

# Find empty .issues.md files (zero issues)
python3 coworker/skills/organize-task-files/scripts/organize.py empty

# Preview moving empty issues files to a discard directory
python3 coworker/skills/organize-task-files/scripts/organize.py move --dir issues/draft --filter empty --target coworker/tasks/issues/review/done/discard

# Actually perform the move
python3 coworker/skills/organize-task-files/scripts/organize.py move --dir issues/draft --filter empty --target coworker/tasks/issues/review/done/discard --force
```

## Pipeline Stages (for reference)

```
0draft → 1ready → 2working → 3done → 4review → 5approved → 6git-pushed
```

Plus parallel pipelines:
- `issues/draft/refine/` (0ready → 1working → 2done → 0error)
- `issues/github/commit/` (ready → done → failed)
- `issues/review/` and `issues/review/done/`
- `issues/local/done/` and `issues/local/wontfix/`

