LinkedIn Strategy — brief, cadence, newsletter skill

Use when someone needs a LinkedIn plan rather than a post — content pillars, positioning for a career change or consulting or thought leadership, a sustainable posting cadence, or a newsletter decision.

by alirezarezvani·MIT license·★ 26,349 Stars on the repo·GitHub ↗

Use now

Files of LinkedIn Strategy — brief, cadence, newsletter

alirezarezvani/main1 file shown
SKILL.md
Show the full text100 lines

LinkedIn Strategy — brief, cadence, newsletter

Three decisions, in this order. Out of order is why most LinkedIn efforts produce a feed of unrelated observations and stop in week five.

Workflow

1. The brief — an editorial constitution, not a wish. Walk the five questions one at a time, each with a recommended answer, then validate:

python3 scripts/positioning_brief.py --input brief.json --output human

It refuses on the two things that make everything downstream impossible: an objective that is not one of the six real ones (career-change, consulting, thought-leadership, hiring, fundraising, community), and an audience too broad to exclude anyone. It also refuses fewer than two exclusions — a positioning that excludes nothing is availability.

Pillars: two to four, shares summing to 100, at least one backed by proof that already exists, at least one at 10-20% as the experimental slot. Every pillar needs a "why you"; if anyone could post it, cut it.

The script emits observable 90-day criteria. Follower count is deliberately absent — it moves for reasons unrelated to whether the objective is being met.

2. The cadence — priced against a bad week.

python3 scripts/cadence_planner.py --minutes 240 --stage starting --target-posts 3 --output human

Exit 0 fits / 2 below the 90-minute floor / 3 over budget with the overage named. Every activity is priced in minutes including the reply window, which is part of the post and not an extra. Allocation shifts with stage: from a standing start 60% of the budget belongs in other people's comment sections, because a post published to nobody reaches nobody.

Below 90 minutes a week it refuses to plan a posting schedule and returns a comment-only week: a cadence abandoned in week five is worse than one never started, because the abandonment is visible on the profile. Every plan ships with a minimum viable week.

3. The newsletter — only if the promise can be paid.

python3 scripts/newsletter_planner.py --followers 1800 --cadence biweekly \
  --minutes-per-month 420 --pillar "..." --output human

Refuses below LinkedIn's published 150-follower evaluation floor, and refuses a cadence whose six-month cost exceeds the budget. Emits a 12-issue arc rotating issue types across pillars, and a stop rule written before issue one.

Rules

  • One objective. Two objectives serve neither; the audiences overlap less than they look.
  • The exclusion list is the positioning. Refuse to skip it.
  • Price the week from a bad week, not a good one.
  • Consistency over volume. A skipped week is fine; a skipped month resets you.
  • Review the brief quarterly, not weekly. A brief revised monthly is a mood.

Scripts

Script Role
scripts/positioning_brief.py Validates objective, audience, 2-4 proof-backed pillars, and the exclusion list; emits observable 90-day criteria.
scripts/cadence_planner.py Prices the week in minutes, allocates by stage, refuses over-budget targets, emits the minimum viable week.
scripts/newsletter_planner.py Eligibility + six-month sustainability gate, 12-issue arc across pillars, stop rule.

References and assets

Distinct from

  • linkedin-content — drafts and lints individual posts. This decides what they are about and how many there are. Posts without pillars are noise; offer this first, never chain silently.
  • linkedin-analytics — tells you what happened. This decides what to do next.
  • marketing-skill/content-strategy — company-level content marketing. This is one person's own presence.

Version: 1.0.0

1---
2name: linkedin-strategy
3description: Use when someone needs a LinkedIn plan rather than a post — content pillars, positioning for a career change or consulting or thought leadership, a sustainable posting cadence, or a newsletter decision. Triggers on "what should I post about", "how often should I post", "LinkedIn content strategy", "should I start a LinkedIn newsletter", "grow my following", "90-day plan". Validates the positioning brief, sizes the week against real hours and refuses a plan that will not survive week five, and gates a newsletter against eligibility and a six-month cadence commitment.
4license: MIT
5metadata:
6 version: 1.0.0
7 author: Alireza Rezvani
8 category: marketing
9 updated: 2026-08-25
10---
11 
12# LinkedIn Strategy — brief, cadence, newsletter
13 
14Three decisions, in this order. Out of order is why most LinkedIn efforts produce a feed of
15unrelated observations and stop in week five.
16 
17## Workflow
18 
19**1. The brief — an editorial constitution, not a wish.** Walk the five questions one at a
20time, each with a recommended answer, then validate:
21 
22```bash
23python3 scripts/positioning_brief.py --input brief.json --output human
24```
25 
26It refuses on the two things that make everything downstream impossible: an objective that
27is not one of the six real ones (`career-change`, `consulting`, `thought-leadership`,
28`hiring`, `fundraising`, `community`), and an audience too broad to exclude anyone. It also
29refuses fewer than two exclusions — **a positioning that excludes nothing is availability.**
30 
31Pillars: two to four, shares summing to 100, at least one backed by proof that already
32exists, at least one at 10-20% as the experimental slot. Every pillar needs a "why you"; if
33anyone could post it, cut it.
34 
35The script emits observable 90-day criteria. Follower count is deliberately absent — it moves
36for reasons unrelated to whether the objective is being met.
37 
38**2. The cadence — priced against a bad week.**
39 
40```bash
41python3 scripts/cadence_planner.py --minutes 240 --stage starting --target-posts 3 --output human
42```
43 
44Exit 0 fits / 2 below the 90-minute floor / 3 over budget with the overage named. Every
45activity is priced in minutes including the reply window, which is part of the post and not
46an extra. Allocation shifts with stage: from a standing start **60% of the budget belongs in
47other people's comment sections**, because a post published to nobody reaches nobody.
48 
49Below 90 minutes a week it refuses to plan a posting schedule and returns a comment-only
50week: a cadence abandoned in week five is worse than one never started, because the
51abandonment is visible on the profile. Every plan ships with a minimum viable week.
52 
53**3. The newsletter — only if the promise can be paid.**
54 
55```bash
56python3 scripts/newsletter_planner.py --followers 1800 --cadence biweekly \
57 --minutes-per-month 420 --pillar "..." --output human
58```
59 
60Refuses below LinkedIn's published 150-follower evaluation floor, and refuses a cadence
61whose six-month cost exceeds the budget. Emits a 12-issue arc rotating issue types across
62pillars, and a stop rule written before issue one.
63 
64## Rules
65 
66- **One objective.** Two objectives serve neither; the audiences overlap less than they look.
67- **The exclusion list is the positioning.** Refuse to skip it.
68- **Price the week from a bad week, not a good one.**
69- **Consistency over volume.** A skipped week is fine; a skipped month resets you.
70- **Review the brief quarterly, not weekly.** A brief revised monthly is a mood.
71 
72## Scripts
73 
74| Script | Role |
75|---|---|
76| [`scripts/positioning_brief.py`](scripts/positioning_brief.py) | Validates objective, audience, 2-4 proof-backed pillars, and the exclusion list; emits observable 90-day criteria. |
77| [`scripts/cadence_planner.py`](scripts/cadence_planner.py) | Prices the week in minutes, allocates by stage, refuses over-budget targets, emits the minimum viable week. |
78| [`scripts/newsletter_planner.py`](scripts/newsletter_planner.py) | Eligibility + six-month sustainability gate, 12-issue arc across pillars, stop rule. |
79 
80## References and assets
81 
82- [`references/objective_to_pillars.md`](references/objective_to_pillars.md) — the six objectives and the pillar arithmetic (7 sources)
83- [`references/cadence_and_consistency.md`](references/cadence_and_consistency.md) — what a post really costs and why the floor exists (7 sources)
84- [`references/newsletter_playbook.md`](references/newsletter_playbook.md) — eligibility, cadence as a promise, the stop rule (7 sources)
85 
86- [`assets/positioning_brief_template.md`](assets/positioning_brief_template.md) — fillable brief
87- [`assets/example_brief.json`](assets/example_brief.json) — a passing brief, for the validator
88 
89## Distinct from
90 
91- **`linkedin-content`** — drafts and lints individual posts. This decides what they are about
92 and how many there are. Posts without pillars are noise; offer this first, never chain silently.
93- **`linkedin-analytics`** — tells you what happened. This decides what to do next.
94- **`marketing-skill/content-strategy`** — company-level content marketing. This is one
95 person's own presence.
96 
97---
98 
99**Version:** 1.0.0
100 

Discussion

Alternatives