---
name: crm-smm-content-planner
description: Use this skill whenever building, extending, or reviewing the Swipix Telegram content calendar/plan. Triggers include any mention of "контент-план", "контент план на неделю/месяц", "content plan", "content calendar", "план постов", "продолжи календарь", "какие инфоповоды готовы к посту", "банк геймификации", "gamification bank", "баланс типов постов", "release vs game post", "что готово к посту, что отложить", "неделя постов для Telegram". Make sure to use this skill any time someone asks for new Telegram posts, a weekly/monthly plan, or "what should we post next" — it owns the type balance, the calendar format, and the готово/отложить gate that keeps releases from dominating the feed and unshipped features from being announced early.
---

# Swipix SMM Content Planner

Owns the STRUCTURE of the Telegram content plan: post-type balance, the calendar
format (a continuation of the existing Google Sheet, not a parallel system), the
gamification bank, and the "ready to post vs hold" gate. This skill does not write
final post copy (that's `crm-smm-voice-and-style` + `crm-lifecycle-copywriter`
conventions applied to SMM) and does not generate a new content plan on its own
initiative — it structures whatever plan the operator asks for, worked example:
`artifacts/smm/content-plan-10-posts.md`.

Source of truth for calendar format, gamification bank, and Angle-tags: the
Google Sheet ("Контент-план SMM", `fileId 1tczxlV2xnTMaSWhH5ckjr-u9htuFWTJ3Fdf3cU9jpyM`),
dumped locally at `artifacts/smm/_raw_sheet_dump.txt`. **Continue that format —
never invent a new column set or a parallel calendar file.** Feature status /
readiness facts: `reference/constants.md` "Features & roadmap" section, corroborated
against project memory (`project_*.md` files) — never invent a feature's status.

## When this skill activates

Any request to plan, extend, or audit Telegram content at the calendar level —
"what should the next 2 weeks look like", "is this a good week of posts", "add a
gamification post between these two releases". Hand off actual text/visual
production to `crm-smm-voice-and-style` (style rules) and `crm-smm-visual-director`
(image briefs) once the plan's slots and types are decided.

## A. Post-type balance

Five recurring types, observed in the sheet and the real channel
(`artifacts/smm/voice-and-visual-audit.md` §A1, `content-plan-10-posts.md` intro):

| Type | What it is | Cap |
|---|---|---|
| RELEASE/UPDATE | Announces a real, live product feature or mechanic | **≤ ~60% of any planning window** — the audit's worked example used 3/10 (30%); never let releases dominate the feed |
| ONBOARDING/PHILOSOPHY | Imagery/brand-voice posts, "why Swipix" framing, FAQ/AMA-style community posts | No cap, but should recur regularly — anchors tone between releases |
| POLL/INTERACTIVE | Telegram-native polls, this-or-that, reaction collection — see gamification bank | No cap |
| GAME MECHANIC | A gamification-bank mechanic (bingo, hidden-emoji, etc.) | No cap — **place between two RELEASE posts, not back-to-back with another release**, per the worked example's placement rule |

**Balance rule**: when building a plan, count RELEASE/UPDATE posts first. If they
exceed ~60% of the window, push the excess to a later week or convert one into a
softer ONBOARDING framing. A GAME MECHANIC post should physically sit between
consecutive RELEASE posts in the calendar, not stacked with another release or
another game post.

## B. Calendar format — continue the sheet, don't parallel it

The sheet's live calendar table columns (verify against a fresh
`_raw_sheet_dump.txt` before use — don't assume this list is exhaustive if the
sheet has since changed):

`Дата | ДН | Видео/визуал | Категория | Описание к видео от копирайтера | В какие соцсети выгружаем | Выгружено`

Plus a secondary posting-plan table with: `Дата постановки ТЗ | Дедлайн выполнения
| День недели | Имя (владелец) | Формат/описание | Референсы`.

Rules:
1. **New posts continue the date sequence from the sheet's last entry** — never
   generate a plan starting before the last plotted date, and never generate
   dates that skip/overwrite existing rows. Check the actual last row before
   picking a start date.
2. **Weekday pattern**: Пн–Пт are posting days, Сб/Вс are `Off day` — this has
   held for every week in the sheet's history; keep it unless the operator says
   otherwise.
3. **Don't add columns** the sheet doesn't have, and don't propose a separate
   tracking file as a substitute for the sheet — a Markdown draft
   (`artifacts/smm/*.md`) is fine as a staging document for operator approval,
   but the destination format must map 1:1 onto the sheet's existing columns so
   it can be pasted in without restructuring.
4. **Angle-tags come from the sheet's Angle table**, not invented — e.g.
   `Young Scroll (18–24)`, `Smart Earners (24–30)`, `Standard`, `Easy Money`,
   `Crypto`, `Side Hustle`, `Zoomer`, `Gaming`, `Fame`, `Impact`, `AI / Tech`,
   `Students`, `Early Bird`, `Content`, `Retargeting`. Pick from the sheet's
   actual list; if a post needs an angle not in the list, flag it to the
   operator rather than inventing a new tag silently.

## C. Gamification bank

Real mechanic types from the sheet's gamification bank (`_raw_sheet_dump.txt`,
the "В чем геймификация" + "Тематика" tables) — draw from this list, don't invent
new mechanic categories:

| Mechanic | Notes |
|---|---|
| This-or-that poll | Native Telegram poll + comment-argument follow-up |
| Screenshot share ("что сейчас на экране") | Trigger-based, admin prompts a scroll-and-screenshot moment |
| Balance flex ("покажи баланс") | Social-proof screenshot share |
| Quote + spoiler / expandable-emoji formatting | For informational/update posts — keeps the post visually small |
| Reaction collection ("вырасти растение") | Reactions accumulate toward a mini-story payoff |
| Buttons under posts | Can hide promo codes; can be reward-free ("find what's hidden") |
| Moving-emoji + screenshot-the-moment | Ties a random emoji outcome to a boost/product tier |
| Character stories (mascot POV) | Good for teaching a new feature via the mascot |
| Choose-the-mascot's-action poll | Serial/story format |
| Hidden stuff behind emoji (grid) | Used in `content-plan-10-posts.md` Post 6 without a cash prize — shoutout reward only |
| Bingo / tic-tac-toe / lotto (weekend recap) | Based on what the user already did that week — used in Post 2 with activity-only checkboxes, no money-tied items |
| Mini-games via native Telegram emoji games | Themeable with boosts/market items |
| Telegram video-circle "prediction of the week" | |
| Word-search (филворд) | Seasonal/thematic |
| CTA + picture ("send your most popular clip") | |
| Wallpaper pack share | |
| Ambassador/persona-led content | |
| Thank-you notes to active users | |
| Recap "newsletter" of top posts (biweekly) | |
| **Bot-run raffles ("Розыгрыши с ботами")** | **Compliance flag**: this is structurally a lottery/raffle mechanic. Run it past `crm-compliance-guard` before drafting, and describe it in copy per the gambling-lexicon ban in `crm-smm-voice-and-style` §A3 — the mechanic may proceed, the wording may not use raffle/odds/winner framing. |
| Quizzes/trivia with a leaderboard | Can run over a full week with prizes at the end |
| Contests | Per the sheet's own note: no more than **1 every 2 weeks** — avoid burnout/fatigue |

## D. Readiness gate — "ready to post" vs "hold"

Before any RELEASE/UPDATE post enters the plan, classify the underlying feature:

| Status | Criterion | Action |
|---|---|---|
| **Ready** | Feature is confirmed **live/prod** in `reference/constants.md` ("Features & roadmap") AND corroborated by a fresh data/product signal (not just the plan table) | Plan the post; state the specific confirmed fact only, don't extrapolate details beyond what's confirmed |
| **Hold** | Feature is `in-dev`/`coming soon`, partially rolled out, paused, or its only source is the content-plan table itself (not `constants.md`) | Do not plan a RELEASE post; if worth mentioning, use a soft "coming soon" framing with no ship date, or skip entirely |

This mirrors `artifacts/smm/voice-and-visual-audit.md` section B exactly — reuse
its worked table (first video → 20k LUMY: ready; Loyalty Tickets: ready but
wording-flagged; interactive push buttons: ready but low-reach, soften the claim;
Streak 3.0, Dating, internal CRM mechanics: hold) as the template for how to
reason about a NEW feature, not as a permanently valid list — re-check status
each time, features move between ready/hold.

**Never announce a feature as live from the content-plan table alone** — the
audit found the table itself drifted from reality starting 2026-07-24 (planned a
Dating announcement while the feature was still `in-dev`). Cross-check
`reference/constants.md` and recent project memory before calling anything ready.

## Anti-patterns

- More than ~60% RELEASE/UPDATE posts in a planning window.
- Two GAME MECHANIC or two RELEASE posts back-to-back with no other type between.
- A calendar draft with different columns than the live sheet, or dates that
  overlap/precede the sheet's last real entry.
- Inventing a gamification mechanic not in the bank, or an Angle-tag not in the
  sheet's Angle table.
- Planning a bot-raffle post without routing it through `crm-compliance-guard`
  first.
- More than 1 contest per 2 weeks.
- Treating the content-plan table as proof a feature shipped — always
  cross-check `reference/constants.md`.

## Quality check

- [ ] RELEASE/UPDATE share ≤ ~60% of the window.
- [ ] Every GAME MECHANIC sits between two non-game posts (ideally between two
      releases), not stacked with another game/release post.
- [ ] Dates continue the sheet's actual last row; weekday off-day pattern held.
- [ ] Columns match the sheet's existing table — no invented fields.
- [ ] Every Angle-tag used exists in the sheet's Angle table.
- [ ] Every gamification mechanic used exists in the bank table above.
- [ ] Every RELEASE post's feature status re-checked against
      `reference/constants.md` at plan time, not copied from an old plan.
- [ ] Any bot-raffle idea flagged to `crm-compliance-guard`.
- [ ] Contest frequency ≤ 1 per 2 weeks.

## Pair with

- `artifacts/smm/_raw_sheet_dump.txt` — live calendar/gamification/Angle format.
- `artifacts/smm/voice-and-visual-audit.md` §B — the readiness-gate worked example.
- `artifacts/smm/content-plan-10-posts.md` — a full worked plan applying this
  balance/format/gate together.
- `reference/constants.md` — feature status, brand/domain values.
- `crm-smm-voice-and-style` — text/visual rules for whatever this skill schedules.
- `crm-compliance-guard` — gate for any lottery/raffle-shaped mechanic.
