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

75 lines
1.9 KiB
Markdown

# /validate {slug} — Validate Article
Validate a specific article's structure and required fields.
## Arguments
- `{slug}` — The article slug (folder name)
## What to check
### 1. Find the article
Search in all stage folders (0-inbox through 7-published) for folder named `{slug}`.
### 2. Check meta.yml exists
- File must exist at `{stage}/{slug}/meta.yml`
### 3. Validate required fields in meta.yml
| Field | Required | Valid Values |
|-------|----------|--------------|
| `slug` | ✅ | Must match folder name |
| `title` | ✅ | Non-empty string |
| `author` | ✅ | `henry` \| `nina` |
| `status` | ✅ | `planning` \| `outline` \| `drafting` \| `review` \| `optimization` \| `ready` \| `published` |
| `created` | ✅ | Date in YYYY-MM-DD format |
| `content_type` | ⚠️ | `tutorial` \| `guide` \| `comparison` \| `thought-piece` |
| `target_word_count` | ⚠️ | Number |
| `primary_keyword` | ⚠️ | Non-empty string |
### 4. Check stage-appropriate files exist
| Stage | Required Files |
|-------|----------------|
| 1-planning | meta.yml, brief.md |
| 2-outline | meta.yml, outline.md |
| 3-drafting | meta.yml, draft-v{N}.md |
| 4-human-review | meta.yml, final.md (or draft being edited) |
| 5-optimization | meta.yml, seo-package.md |
| 6-ready | meta.yml, final article ready |
| 7-published | meta.yml with publish_url |
### 5. Check author style guide exists
If `author: henry``style-guides/henry-technical.md` must exist
If `author: nina``style-guides/nina-creative.md` must exist
## Output format (in Russian)
**If valid:**
```
## ✅ Валидация: {slug}
**Статус:** Всё в порядке
**Этап:** {stage}
**Автор:** {author}
Файлы:
- meta.yml ✅
- {other files} ✅
```
**If issues found:**
```
## ❌ Валидация: {slug}
**Этап:** {stage}
### Проблемы:
- ❌ {issue 1}
- ❌ {issue 2}
### Как исправить:
1. {fix instruction}
2. {fix instruction}
```