界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

linkedin-content-planner

linkedin-content-planner

【效率与协作】Builds a weekly or monthly LinkedIn publishing plan from content pillars, a posting cadence and a format mix, with a founder-oriented pillar set as an alternative to the general one. Use when planning a week, a month or a launch period of posts rather than drafting a single post.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: linkedin-content-planner description: > Builds a weekly or monthly LinkedIn publishing plan from content pillars, a posting cadence and a format mix, with a founder-oriented pillar set as an alternative to the general one. Use when planning a week, a month or a launch period of posts rather than drafting a single post. license: MIT + Commons Clause metadata: version: 1.0.0 author: borghei category: tools domain: linkedin updated: 2026-10-07 tags: [linkedin, content-calendar, content-pillars, editorial-planning, founder-content]

LinkedIn Content Planner

Posting without a plan produces a recognisable pattern: three posts in an enthusiastic first week, all on the same subject, then silence, then a product announcement to an audience that has stopped expecting anything. The individual posts may be good. The sequence is not, because nobody decided in advance how often each subject should come up, which posts need production time, or where the material for week three would come from.

This skill makes those decisions once, on paper. The agent turns a small config (pillars with target shares, posting days, a format mix, a few limits) into a dated plan in which pillars and formats are spread evenly, each slot states the one thing it asks of the reader, and every slot is either tied to a real piece of material or visibly marked as lacking one. Imbalance is flagged before the first post is written, when it is still cheap to fix.

Offline only. The skill produces a plan for a person to act on. It does not post, schedule, read a feed, pull analytics or call any API. Inputs are a config file and, optionally, a story bank file, both supplied by the user.

Scope boundary. This skill decides what goes on which date; it does not write the posts. Drafting a slot is linkedin-post-writer; cleaning a draft's phrasing is linkedin-humanizer; testing its opening line is linkedin-hook-analyzer. Finding the material a slot needs is linkedin-story-interviewer, which also owns the story bank format this skill can optionally read. Adapting an existing talk or article into a slot is linkedin-content-repurposer. The plan reserves conversation days but what to say on them is linkedin-comment-writer, linkedin-reply-manager and linkedin-thread-tracker. Profile copy is linkedin-profile-optimizer, multi-person programmes are linkedin-employee-advocacy, and deciding from past results what to change next month is linkedin-engagement-analytics.

When to use this skill

  • "Plan my week" or "what should I post this month"
  • A person posts in bursts and wants a cadence they can keep for a quarter
  • A launch, fundraise or hiring push is coming and needs to sit inside normal posting rather than replace it
  • A founder is writing for investors, candidates and buyers at once and the feed has become all product
  • A story bank exists and nobody has checked whether it can feed the intended cadence
  • An existing calendar feels repetitive and needs an objective look at its mix

Inputs the skill expects

  • A start date and a length of one to thirteen weeks
  • Posting weekdays, and the weekdays reserved for conversation on other people's posts
  • Three to five pillars, each with a target share, the reader ask it usually carries, and the formats it suits
  • A format mix with shares, marking which formats need production time
  • Limits where the defaults do not fit: posts per week, pillar cap, promotional posts per week, produced posts per week
  • Optional: dates to skip, and a story bank file whose pillar names match the plan's

Clarify First

Before building the plan, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • General or founder pillar set — a founder writing for investors, hires and buyers needs pillars keyed to those readers; the general set is keyed to subject matter. Choosing wrong produces a plan that is balanced on paper and aimed at nobody.
  • How many posts a week the person will still be making in week ten — the plan is built on this number; an optimistic answer creates slots that go unfilled and a pattern of gaps.
  • How much production time exists per week — carousels, video and designed images take hours that text does not; this caps the format mix regardless of preference.
  • Whether a story bank exists — with one, slots are bound to entries and shortages show up as flags; without one, every slot is a topic with nothing behind it yet.

Stop rule: ask only the two or three that most change the plan. If the user says "just plan it", use the general set at three posts a week, text-heavy, and list those assumptions at the top of the plan.

Workflows

Quick start: copy assets/plan_config_template.json, set the dates and pillars, and run Workflow 1.

Workflow 1 — Build a month plan from a config

  1. Agree pillars and shares using references/pillars-and-mix.md. Shares must sum to 100; the builder refuses to guess otherwise.
  2. Set posting and conversation weekdays, skip dates, and the format mix. Mark formats that need production with "produced": true.
  3. Run the builder. Read the flags before the calendar.
  4. Resolve every error flag by changing the config, not by hand-editing the output. Decide deliberately about each warn.
  5. Copy the result into assets/weekly_plan_template.md and add a one-line angle per slot.
python3 tools/linkedin/linkedin-content-planner/scripts/plan_builder.py \
  --input tools/linkedin/linkedin-content-planner/assets/sample_plan_config.json

Workflow 2 — Bind the plan to a story bank and find the shortfall

  1. Check that the bank's pillar names match the plan's exactly.
  2. Run the builder with --story-bank. Each slot takes the next ready entry filed under its pillar, unused entries first.
  3. Read every CP-012 flag: those are slots with no material behind them.
  4. For each short pillar, either lower its share or schedule an interview session before the plan starts. Do not leave the slot to be improvised.
  5. Validate the final version with --fail-on error so a broken mix cannot be handed on.
python3 tools/linkedin/linkedin-content-planner/scripts/plan_builder.py \
  --input tools/linkedin/linkedin-content-planner/assets/sample_plan_config.json \
  --story-bank tools/linkedin/linkedin-content-planner/assets/sample_story_bank.json \
  --fail-on error

On the sample this exits 0 with four warnings: the bank cannot cover the offer pillar at all, and the format mix asks for more produced posts than one a week allows.

Workflow 3 — Plan a founder fortnight

  1. Read references/founder-pillar-set.md and confirm the three readers (investors, candidates, buyers) are the ones the founder actually wants.
  2. Start from assets/sample_founder_config.json or set "pillar_set": "founder" in a config with no pillars key.
  3. Build a two-week plan first. Founders' weeks change too fast for a month to survive contact.
  4. For each slot pick an angle from the founder reference and name the real event behind it. A slot with no event is cut, not padded.
python3 tools/linkedin/linkedin-content-planner/scripts/plan_builder.py \
  --input tools/linkedin/linkedin-content-planner/assets/sample_founder_config.json \
  --format json

Exit-code contract. 0 plan built; 1 a flag reached the --fail-on level; 2 the config or bank is missing, not JSON, or invalid (shares not summing to 100, unknown weekday, bad date, no slots).

Decision frameworks

Which pillar set

SituationSetWhy
Employee, consultant, freelancer, job-seeker[RECOMMENDED] General: craft, field-notes, peers, offerReaders come for a subject; pillars keyed to subject keep it recognisable
Founder with a product in market[RECOMMENDED] Founder: market-view, build-log, customer-desk, ledgerThree distinct readers decide the company's future; each needs a regular reason to keep reading
Founder before any product exists[EXPERIMENTAL] Founder set with customer-desk replaced by a research pillarThere are no customers to report on yet; risk is a feed of opinions with no evidence
Anyone whose pillars already workKeep themA plan is for spreading pillars, not replacing ones that readers respond to

Cadence

All figures here are planning heuristics, not platform rules. Platform behaviour changes; treat anything about reach as current as of writing and verify it against your own results.

CapacityCadenceTag
First month of postingTwo posts a week, two conversation days[RECOMMENDED] Builds the habit before the volume
Established, writing aloneThree posts a week[PROVEN] as a sustainable solo editorial rhythm; the limit is the supply of material, not the calendar
Has help with productionFour to five a week[RECOMMENDED] only when a story bank can supply it
More than five a weekNot planned by default[EXPERIMENTAL] The builder warns (CP-004); quality and material run out first

Reading the flags

Flag levelMeaningAction
errorThe plan breaks one of its own limits: a pillar over the cap, promotion stacked in a weekChange the config and rebuild
warnA judgement call: runs of one pillar or format, an ask that dominates, slots without materialDecide and note the decision in the plan
infoContext: skip dates applied, no bank suppliedNone

One ask per post

AskThe reader is invited toSuits
replyAnswer, disagree, add their caseEpisodes and opinions
keepSave it for later useMethods, checklists, worked examples
pass-onSend it to a colleague or reshareCredit to others, decisions with wider relevance
contactMessage or visit the profileOffers, customer stories, hiring

A plan in which one ask covers more than about three posts in five reads as engineered; the builder raises CP-009.

Anti-Patterns

Planning topics instead of slots with material

Mistake: The calendar says "Thursday: leadership lessons" for six weeks. Why it happens: A topic fills a cell and feels like a decision, and the material question can be postponed to the day of writing. Instead: Bind slots to story bank entries with --story-bank and treat every CP-012 flag as work to do now. A slot with no entry is either an interview to schedule or a slot to remove.

Letting the offer pillar grow during a launch

Mistake: Launch month arrives and four posts in five are about the product. Why it happens: The launch is the most important thing happening to the author, so it feels like the most important thing to the reader. Instead: Keep max_promotional_per_week at one and tell the launch through the other pillars: the build decision in craft or build-log, the customer problem in field-notes or customer-desk. The builder raises CP-003 as an error when promotion stacks.

Planning a cadence for the best week

Mistake: Five posts a week, set on a quiet Sunday, abandoned by the third week. Why it happens: The plan is written when energy is highest and nothing else is competing for the time. Instead: Ask what the person will still be doing in week ten and plan that. Raise it after a month of hitting it. A steady two beats an abandoned five.

Hitting the shares exactly in a single week

Mistake: Reworking a three-post week over and over because 35/30/20/15 cannot be reached. Why it happens: The shares look like targets for every week, and a week is the unit people look at. Instead: Shares are judged over the whole plan. Three slots cannot represent four pillars. The builder reports CP-010 only when the whole plan drifts beyond the tolerance, and CP-005 when a pillar gets nothing at all.

Scheduling posts and no conversation

Mistake: Every working day has a post; no day is reserved for other people's. Why it happens: Posts are visible output and commenting feels like a distraction from producing them. Instead: Reserve conversation days in the config. A profile that only broadcasts is talking to a room it never listens to. The builder raises CP-014 when conversation_weekdays is empty.

Treating heuristics as platform law

Mistake: Refusing to post on a Friday, or forcing every post into one format, because of a rule read somewhere. Why it happens: Confident claims about what the feed rewards circulate widely and are hard to check. Instead: Every limit in this skill is a labelled default that can be overridden under limits. Change one thing for a month and judge it against your own numbers.

Files

Tools overview and reference documentation for this skill:

FilePurpose
scripts/plan_builder.pyReads a plan config, lays posts onto dates with pillars and formats spread evenly, optionally binds slots to ready story bank entries, prints the calendar, the mix table and the flags; optional gate via --fail-on
scripts/plan_rules.pyRule data and primitives behind the builder: default limits, the fifteen-flag catalogue, both built-in pillar sets, the largest-remainder and deficit allocation routines, and the plan checker; --list-rules prints them
references/pillars-and-mix.mdHow to choose and word pillars, set shares, pair pillars with asks, and rebalance a plan that has drifted
references/founder-pillar-set.mdThe reader-keyed founder pillar set, with angles per pillar, stage adjustments and launch-period handling
references/cadence-formats-and-config.mdCadence and format guidance with platform caveats, conversation days, and the full config field reference
assets/sample_plan_config.jsonFour-week general plan for a fictional payroll consultant; triggers capacity and skip-date flags
assets/sample_founder_config.jsonTwo-week founder plan for a fictional software founder
assets/sample_story_bank.jsonEight-entry bank matching the general sample, deliberately short on two pillars
assets/plan_config_template.jsonMinimal valid config to copy and edit
assets/weekly_plan_template.mdFill-in sheet for one week: slot, pillar, format, ask, source entry, angle, status
我的收藏