with one click
content-release-gate
Final gate prior to publication — artifact check, blocker/non-blocker checklist, publication package, rollback, post-publish
Menu
Final gate prior to publication — artifact check, blocker/non-blocker checklist, publication package, rollback, post-publish
| name | content-release-gate |
| description | Final gate prior to publication — artifact check, blocker/non-blocker checklist, publication package, rollback, post-publish |
| type | mandatory |
| domain | content |
| owners | ["reviewer"] |
| gates | ["REVIEWER"] |
| tech | [] |
| topic | [] |
| triggers | ["content-release-gate","Финальный гейт публикации","Финальный гейт перед публикацией — проверка артефактов, blocker/non-blocker чеклист, пакет публикации, rollback, post-publish"] |
| related | [] |
| budget_lines | 252 |
| schema_version | 1 |
| Field | Required | Source |
|---|---|---|
| Final text (APPROVED) | ✅ | Copywriter → Reviewer |
| Visual brief / final visual | ✅ | Visual Concept → Reviewer |
| AI-prompts for images | ⬚ | Visual Concept (if generated via AI) |
$brand-compliance result | ✅ | Reviewer — status COMPLIANT |
$fact-checking result | ✅ | Reviewer — status VERIFIED |
$readability-scoring result | ⬚ | Reviewer — if applicable to the format |
$platform-compliance result | ✅ | Reviewer — compliance with platform rules |
| Content brief (ID) | ✅ | $content-brief — to verify goal, CTA, persona |
| Publication date | ✅ | $content-calendar |
If any required artifact is missing or possesses a status other than APPROVED/COMPLIANT/VERIFIED — the Release Gate cannot be initiated. Return it to the appropriate gate.
Walk through all checklist items (see template). Every item carries a severity level:
| Status | Condition |
|---|---|
| READY TO PUBLISH | 0 blockers · 0 or more warnings (logged, user is aware) |
| HOLD | ≥ 1 blocker · publication is forbidden until resolved |
If READY TO PUBLISH — assemble the entire package (see template):
Present to user:
Upon receiving Approved and publishing:
$board — Release Gate → [✓] Finished.$content-calendar — content unit → status Done.When in HOLD status — the rollback routing depends on the blocker type:
| Blocker type | Return to | Action |
|---|---|---|
| Text is not approved / errors in text | → Copywriter | Amend → repeat Reviewer |
| Brand compliance NON-COMPLIANT | → Copywriter / Visual Concept | Resolve violations from $brand-compliance report |
| Facts unverified | → Researcher | Double-check/replace facts → $fact-checking |
| Visual non-compliant | → Visual Concept | Amend → repeat Reviewer |
| Platform compliance violated | → Copywriter / Visual Concept | Adapt to the rules of the platform |
| CTA mismatches brief | → Copywriter | Rework CTA taking $content-brief into account |
| Legal blocker | → User | Escalation: disclaimer, copyright, permissions |
Upon rollback:
$board — current gate [↩] Rollback, target gate [→] In progress.$handoff — explicitly indicating the blockers and what to amend.A Release Gate is deemed successfully traversed if:
| Skill | Interaction |
|---|---|
$brand-compliance | Input: review result — COMPLIANT is mandatory |
$fact-checking | Input: result — VERIFIED is mandatory |
$readability-scoring | Input: result — if applicable to the format |
$platform-compliance | Input: adherence to platform rules |
$content-brief | Input: comparing CTA, goal, persona against the final content |
$content-calendar | Input: publication date · Update: status → Done |
$board | Update: gate → [✓] or [↩] |
$handoff | For rollback — handoff denoting blockers |
$content-review-checklist | Complementary: review checklist must be passed prior to Release Gate |
| Error | Why it's bad | How to do it right |
|---|---|---|
| Release Gate without Reviewer APPROVED | Unverified content gets published | Mandatory verification of Reviewer status |
| Checklist items carry identical weight | A triviality blocks, a criticality passes | Blocker / Warning stratification |
| HOLD without a rollback route | Unclear who amends what | Rollback table providing specific routing |
| Package devoid of UTMs / hashtags | Analytics lost, brand disrupted | Complete package with metadata intact |
| Publishing sans user sign-off | The user hasn't seen the final version | Always wait for explicit Approved |
| Lack of post-publish updates | Board and calendar desync | Update board, calendar |
| Reiterating release minus repeating checklist | A blocker might endure | Full checklist executed during each pass |
### Content Release Gate — [Content unit ID]
**Publication Date:** [date from $content-calendar]
**Platform:** [platform]
**Format:** [format]
**Persona:** [from $content-brief]
**Responsible for publishing:** [who]
**Repeat pass:** [No / Yes (iteration N — blockers from preceding: [list])]
---
#### 1. Artifact Verification
| Artifact | Source | Status | Blocker? |
|----------|----------|--------|----------|
| Final text | Copywriter → Reviewer | ✅ APPROVED / ❌ | 🔴 |
| Visual | Visual Concept → Reviewer | ✅ APPROVED / ❌ | 🔴 |
| AI-prompts | Visual Concept | ✅ / N/A | — |
| Brand compliance | `$brand-compliance` | ✅ COMPLIANT / ❌ | 🔴 |
| Fact checking | `$fact-checking` | ✅ VERIFIED / ❌ | 🔴 |
| Readability | `$readability-scoring` | ✅ / N/A | 🟡 |
| Platform compliance | `$platform-compliance` | ✅ / ❌ | 🔴 |
---
#### 2. Final Checklist
**Text:**
- [ ] 🔴 Text conforms to the brief (topic, theses, persona)
- [ ] 🔴 CTA aligns with the brief and funnel stage
- [ ] 🔴 ToV aligns with `$brand-guidelines`
- [ ] 🔴 Free from grammatical / orthographic errors
- [ ] 🟡 Readability score falls within permissible bounds
**Visual:**
- [ ] 🔴 Dimensions align with the platform
- [ ] 🔴 Visual conforms to `$brand-guidelines`
- [ ] 🟡 Alt-text is appended (for accessibility)
**Meta and Links:**
- [ ] 🔴 Links are functional (verified)
- [ ] 🟡 UTM trackers appended (if any links exist)
- [ ] 🟡 Brand hashtags deployed
- [ ] 🔴 Disclaimer / © present (if mandated)
**Platform:**
- [ ] 🔴 Format meets platform requirements (character-count, dimensions, duration)
- [ ] 🟡 Publication time is optimal (from `$platform-strategy`)
- [ ] 🔴 Platform rules are not violated
---
#### 3. Result
**Blockers (🔴):** [N] — [list, if any]
**Warnings (🟡):** [N] — [list, if any]
### Status: [ READY TO PUBLISH / HOLD ]
**Rationale:** [reason for the status]
---
#### 4. Publication Package (if READY TO PUBLISH)
**Text:**
[Final text — copy-pasteable]
**Hashtags:** [list]
**Links:**
| Link | UTM | Destination |
|--------|-----|------------|
| [URL] | [utm_source=...&utm_medium=...] | [where it leads] |
**Visual:**
- File / prompt: [link or AI-prompt]
- Size: [WxH px]
- Alt-text: [text]
**Schedule:**
- Date: [YYYY-MM-DD]
- Time: [HH:MM] [time zone]
- Platform: [platform]
**Cross-posting:** [platforms + what's adapted / "No"]
---
#### 5. Routing (if HOLD)
| Blocker | Type | Return to | What to amend |
|--------|-----|-------------|---------------|
| [blocker 1] | [text / visual / legal] | → [agent] | [specific action] |
→ Put through a repeat Release Gate after amendment.
---
→ Awaiting final "Approved" for publication
#### 6. Post-publish (after Approved)
- [ ] `$board` — Release Gate → `[✓] Finished`
- [ ] `$content-calendar` — ID [X] → status `Done`
- [ ] Monitoring scheduled: [24h / 48h / 7 days — metrics from $content-brief]
Когда какой MCP-инструмент звать и в каком порядке — gate ritual, recording discipline, action tools для всех агентов разработки.
Which MCP tool to call and in what order — gate ritual, recording discipline, action tools for all development agents.
Финальный гейт перед публикацией — проверка артефактов, blocker/non-blocker чеклист, пакет публикации, rollback, post-publish
Чек-лист признаков "лава-флоу" в legacy/brownfield коде — мёртвый код вокруг живого, не убранные feature flags, окаменевшие workarounds, дубликаты после миграций. Используй при анализе текущего состояния репозитория, перед рефакторингом и при ревью PR в зрелой кодовой базе. Активируй при упоминаниях "legacy", "технический долг", "brownfield", "почему этот код здесь".
Управление test data — fixtures генерируются из real schemas (TS типы, DB schema, OpenAPI), PII hygiene (faker/factory_boy для синтетики), prod-like masking при копировании prod данных, environment isolation (testcontainers, transactional rollback, tempdir), fixture lifecycle. Защита от Mode 1 (mock obsession) — fixture не дрейфует от реальности.
Checklist of "lava flow" signs in legacy/brownfield code — dead code surrounding live paths, unremoved feature flags, fossilized workarounds, duplicates left over from migrations. Use during current-state analysis of a repo, before refactoring, and when reviewing PRs in a mature codebase. Activate on mentions of "legacy", "technical debt", "brownfield", "why is this code here".