103 lines
2.3 KiB
Markdown
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}
|
|
|
|
Для принудительного перемещения назад, подтвердите явно.
|
|
```
|