banatie-content/.claude/commands/move.md

103 lines
2.3 KiB
Markdown

# /move {slug} {target_stage} — Move Article to Stage
Move an article from its current stage to a new stage.
## Arguments
- `{slug}` — The article slug (folder name)
- `{target_stage}` — Target stage number or name:
- `0` or `inbox`
- `1` or `planning`
- `2` or `outline`
- `3` or `drafting`
- `4` or `review`
- `5` or `optimization`
- `6` or `ready`
- `7` or `published`
## Process
### Step 1: Find the article
Locate `{slug}` folder in any stage directory.
### Step 2: Validate before moving
Run validation checks (see /validate). If validation fails, DO NOT move.
### Step 3: Check valid transition
Only these transitions are allowed:
```
0-inbox → 1-planning
1-planning → 2-outline
2-outline → 3-drafting
3-drafting → 3-drafting (revision)
3-drafting → 4-human-review (only if editor score ≥ 7)
4-human-review → 5-optimization
5-optimization → 6-ready
6-ready → 7-published
```
Backward transitions require explicit confirmation from user.
### Step 4: Move the folder
```bash
mv {current_stage}/{slug} {target_stage}/{slug}
```
### Step 5: Update meta.yml
Update the `status` field to match new stage:
| Stage | Status Value |
|-------|--------------|
| 1-planning | `planning` |
| 2-outline | `outline` |
| 3-drafting | `drafting` |
| 4-human-review | `review` |
| 5-optimization | `optimization` |
| 6-ready | `ready` |
| 7-published | `published` |
Also add `updated: {today's date}` field.
### Step 6: Report
## Output format (in Russian)
**If successful:**
```
## ✅ Перемещено: {slug}
**Откуда:** {old_stage}
**Куда:** {new_stage}
meta.yml обновлён:
- status: {new_status}
- updated: {date}
Следующий шаг: {what should happen next}
```
**If validation failed:**
```
## ❌ Невозможно переместить: {slug}
Сначала исправьте проблемы:
- {issue 1}
- {issue 2}
Запустите /validate {slug} для деталей.
```
**If invalid transition:**
```
## ⚠️ Недопустимый переход: {slug}
{current_stage} → {target_stage} не разрешено.
Допустимые переходы из {current_stage}:
- → {valid_target_1}
- → {valid_target_2}
Для принудительного перемещения назад, подтвердите явно.
```