--- name: shortform-strategy description: "Use when the unit of work is a TikTok/Reels account, not one clip: positioning, sustainable cadence and format mix, ride-or-skip on a trend or sound, recurring series, diagnosing a flat account, and the dated learning loop. NOT the single script or hook variants (that is `video-shorts`), NOT the idea backlog (that is `shortform-ideation`)." tags: [short-form-video, tiktok, instagram-reels, account-growth, positioning, posting-cadence, trends, series, algorithm-2026] recommends: [video-shorts, shortform-ideation, shortform-packaging, shortform-editing, social-publisher, content-engine, brand-voice, analytics] origin: risco --- # Shortform Strategy — The Account Operating System *You own the account, not the clip.* You decide who it is for, how often it posts, what mix of formats, which trends it rides, which series it runs — and you keep a written record of what actually moved the numbers so the next call is grounded, not vibes. You produce a **strategy doc**, a **posting plan**, and a **decision log**. You never write the script, the cover, the caption, or the cut. Hand off downstream the moment the deliverable becomes *one video*: - The 15–60s script and hook variants → `../video-shorts/SKILL.md`. - The topic/angle backlog feeding the account → `../shortform-ideation/SKILL.md`. - The cover frame / on-screen title / first-frame packaging → `../shortform-packaging/SKILL.md`. - The cut, caption burn-in, sound sync → `../shortform-editing/SKILL.md`. - Cross-platform calendar/scheduler across X/LinkedIn/Threads → `../social-publisher/SKILL.md`. - The top-down editorial system across all content types → `../content-engine/SKILL.md`. - The durable tone the account speaks in → `../brand-voice/SKILL.md`. **Boundary test:** if it is one asset, route it. If it is *what the whole account does, on what rhythm, and the record of what worked* — it is yours. ## Step 0 — Read the ledger before you decide anything Strategy without memory is just opinion. Before any call, read what the account already learned: - `02-DOCS/wiki/shortform/` — the compiled strategy, positioning, and dated decisions. - `02-DOCS/raw/shortform/` — the per-post metrics ledger (completion %, sends, saves, follows). *Why: the account is a feedback loop. If you cannot point to the prior decision and the metric that backs it, you are guessing — and you will re-make a mistake the ledger already recorded.* If the directories are empty, this is a new account: say so explicitly and create the baseline in Step 0's write-back, then proceed to Positioning. The numbers below age fast. The dated, sourced cheat-sheet lives in `references/platform-signals-2026.md` — cite it, do not re-derive it. ## Positioning — the one promise and the lane An account grows when a stranger can finish your video and instantly know *what they get if they follow*. Vague accounts do not grow; specific lanes do — "productivity for remote workers", "true crime in 5 minutes" — because the algorithm rewards retention and a tight lane is what holds a cohort to the end (almcorp.com short-form mastery 2026; virvid.ai faceless 2026 — accessed 2026-06-02). Write the positioning as one sentence: **`` gets `` in ``.** If you cannot, the account has no lane yet — narrow before you post. Faceless is fine. Retention, not a face, is what the algorithm scores. A faceless account is viable *if the retention holds*; if it does not, the problem is the lane or the hook, never the missing face. | Signal | Diagnosis | Move | |---|---|---| | Clear one-promise sentence + completion holding | Lane is working | Proceed to cadence | | Sentence is fuzzy / lists 3+ niches | No lane — this is the growth blocker | Narrow to ONE promise, re-test 2 weeks | | Clear lane but completion < niche bar | Lane fine, execution weak | Fix hook/length (hand to `../video-shorts/SKILL.md`), not the lane | | Faceless, retention proven | Viable | Keep faceless; do not chase a face | ## Cadence and mix — consistency beats velocity Pick the rhythm the account can *sustain*. Consistency now outperforms sporadic viral hits, and posting past the ceiling dilutes quality and burns the operator out (automateed.com; truescho.com; newzenler.com — accessed 2026-06-02). | Account / platform | Cadence | Why | |---|---|---| | TikTok | 3–5 quality posts/week | Consistency sweet spot; daily-but-thin loses to fewer-but-sharper | | Instagram Reels | 4–7 Reels/week | Reach-vs-engagement optimum | | Instagram full mix (weekly) | 3–4 Reels + 2–3 carousels + 1–2 statics | Reels drive growth; carousels drive depth | | Any platform | Hard ceiling ~10/week | Past this: diminishing returns + burnout + quality dilution | **Format mix rule (Instagram):** carousels now average ~10% engagement vs ~6% for regular Reels and get a "second chance" surge of 2–3× impressions — but **for small accounts Reels remain the biggest visibility driver** (thesecondbrain.io; reelbase.io; usevisuals.com — accessed 2026-06-02). So: lean Reels for *growth*, carousels for *sales/community*. Do not pile into carousels on a small account chasing the engagement headline — you will trade reach you need for engagement you do not yet. Bad → Good: - Bad: "We'll post twice a day to grow faster." - Good: "4 Reels/week we can actually make well, same two days each week, for 4 weeks; we raise volume only if completion holds." ## Hook-first at the account level Make the account's KPI **first-3s retention and completion %**, not views or likes. The first 3 seconds decide a Reel, and watch-time/completion is the strongest retention signal — a fully-watched 15s beats a 60s most people abandon (truefuturemedia.com; buffer.com — accessed 2026-06-02). On TikTok the 2026 bar rose: ~70%+ completion to go viral (up from ~50% in 2024), and an 85% completion threshold trips a ~4× distribution multiplier (socialboostdigital.com; socialync.io — accessed 2026-06-02). Set length bands as account policy, then let depth get scripted downstream: | Goal | Length band | Why | |---|---|---| | New-audience reach + completion | 7–30s | Easiest to fully watch; clears the completion bar | | Depth with existing followers | 30–90s | Room to teach; full 7–90s is the highest-viral band | You set the band and the KPI. The actual hook and per-second pacing is `../video-shorts/SKILL.md`'s job — point to it, do not write it here. ## Trends and sounds — the ride-or-skip call In 2026 a trending sound is a **niche/category signal, not a raw boost**. Using a sound trending *within your niche* nudges TikTok to drop your test cohort into that niche (which raises completion); the 2022–2024 direct distribution boost is gone. Adopt within ~24h of it trending or skip it (sproutsocial.com; opus.pro — accessed 2026-06-02). Run the call as a gate — all three must be yes to ride: ```text 1. Is the sound/trend trending WITHIN our niche (not just globally)? no -> SKIP 2. Is it < ~24h old (still on the rising edge)? no -> SKIP 3. Does the format fit our positioning without contorting it? no -> SKIP all yes -> RIDE: ship within 24h, treat the first ~30 minutes as the test ``` Why the 30-minute window matters: "view velocity" — engagement inside roughly the first 30 minutes of distribution — is a dominant early signal in 2026 (socialboostdigital.com; socialync.io — accessed 2026-06-02). A trend you publish late, off-niche, or twisted to fit gives you all the production cost and none of the cohort lift. When in doubt, **skip** — a missed trend costs nothing; a forced one costs a slot and muddies your lane. ## Series — the compounding move Multi-part series drive roughly **2.8× higher return viewers** because a recurring format builds the habit the algorithm rewards (socialboostdigital.com; socialync.io — accessed 2026-06-02). A series is the cheapest durable lift you can design. Design it as a *contract with the viewer*: - **Name + number it** — "Tiny Systems #07" — so a returning viewer recognizes it in the first frame. - **Fix a cadence** — same slot, same rhythm (e.g. every Tuesday). A series with no schedule is just a hashtag. - **Pilot before committing.** Use **Trial Reels** (public IG accounts, 1,000+ followers, available since July 2025) to publish the pilot to non-followers first and read the signal before showing your existing audience — a built-in A/B surface for a format bet (later.com; socialpilot.co — accessed 2026-06-02). The hand-off: you define the series *concept, cadence, and numbering*. The episodes get ideated (`../shortform-ideation/SKILL.md`), scripted (`../video-shorts/SKILL.md`), and packaged (`../shortform-packaging/SKILL.md`) elsewhere. ## The learning loop — log, review, write back Every decision must end up in the ledger so next month's call is grounded. **Log per post** (not just likes): date, platform, format, hook, length, sound, **completion %**, **sends**, **saves**, follows, notes. DM sends are the top distribution signal for Reels in 2026 — share-via-DM carries the most weight for unconnected reach, and shares/saves outrank likes (later.com; truefuturemedia.com; mirra.my — accessed 2026-06-02). If you only log likes and views, you are blind to the signal that actually moves reach. **Monthly review ritual:** read the ledger, find the top-3 and bottom-3 by completion and by sends, name the pattern, make one positioning/cadence/series change, and record it as a dated decision. The full per-post schema, review checklist, and decision-record template live in `references/learning-loop-template.md` — use it verbatim so the ledger stays machine-readable. ### Decision record format `02-DOCS/wiki/shortform/decisions.md` is an OKF append-log: write the frontmatter header once (a non-empty `type` is the only OKF hard requirement; `title`/`tags`/`timestamp` are the recommended surface), then **prepend each new dated block newest-first** so the latest call is on top. Use ISO 8601 dates; never edit a past block. Bump the header `timestamp` on each append. Header + one block: ```markdown --- type: shortform-decision-log title: Shortform strategy decisions tags: [shortform, strategy, decisions] timestamp: 2026-06-02T10:00:00Z --- # Shortform strategy decisions ## 2026-06-02 — Drop daily posting to 4 Reels/week **Decision:** Cut from ~7 thin posts/week to 4 strong Reels/week, fixed Tue/Fri. **Rationale:** Reach fell as volume rose; consistency > velocity past the ceiling. **Rests on:** completion avg 31% (ledger), cadence-ceiling signal (platform-signals-2026). **Revisit on:** 2026-07-02 — keep if completion clears 40% and sends/post rise. ``` *Why dated + rests-on + revisit: a decision you cannot trace to a metric and a date is folklore. The revisit line turns it into an experiment with an end.* ## Anti-patterns | Anti-pattern | Why it fails | Do instead | |---|---|---| | Riding a trend after it peaked / off-niche | Sound is a niche signal now, not a boost; late + off-niche = cost, no lift | Run the 3-gate ride-or-skip; ship within 24h or skip | | Cross-posting identical creative everywhere | An Originality Score suppresses recycled/reposted content | Re-cut natively per platform; treat each as original | | Posting 10+/week to "grow faster" | Diminishing returns + burnout + quality dilution | Hold 3–5 (TikTok) / 4–7 (Reels); raise only if completion holds | | Optimizing likes/views | Sends/saves/completion are what move reach; likes are vanity | KPI = completion % + sends/saves; log them per post | | No clear lane ("a bit of everything") | Algorithm rewards retention; a fuzzy lane never holds a cohort | One-promise sentence first; narrow before posting | | Hashtag-spamming for discovery | Discovery shifted to keywords; hashtags no longer support follows | Keywords in caption/profile/on-screen text; drop the hashtag wall | | "Series" with no fixed schedule | No habit forms; it is just a tag, no return-viewer lift | Name + number + fixed slot; pilot via Trial Reels | | Deciding from vibes, not the ledger | Re-makes recorded mistakes; nothing compounds | Read `02-DOCS/...` first; every call gets a dated decision record | ## Persist it Write the account's brain back so it compounds (mirrors the harness Karpathy-wiki convention). The `shortform/` wiki tree is an **OKF v0.1 bundle** shared with the `../tiktok-api/SKILL.md` and `../shortform-packaging/SKILL.md` siblings: every `.md` written here carries YAML frontmatter with a non-empty `type`, cross-references are standard markdown links (never `[[wikilinks]]`), and `decisions.md` follows the OKF newest-first append-log rule. - `02-DOCS/wiki/shortform/strategy.md` — positioning, cadence/mix, KPI, length bands, current series. Same frontmatter shape as above with `type: shortform-strategy`, then the H1 (`# Shortform account strategy`) and the sections the linter checks. - `02-DOCS/wiki/shortform/decisions.md` — the dated decision log, OKF append-log (`type: shortform-decision-log`, newest block on top; format above). - `02-DOCS/raw/shortform/metrics.csv` — the per-post ledger (schema in `references/learning-loop-template.md`). This is `raw/`, not `wiki/` — a CSV, no frontmatter. Verify a produced strategy doc with `scripts/verify.sh 02-DOCS/wiki/shortform/strategy.md` — a read-only structural lint (positioning, cadence, completion KPI, ride-or-skip rule, ≥1 dated decision, sends/saves logged). The lint reads body content, so the added frontmatter does not affect it.