LinkedIn Skills Repository deep dive
Open source · MIT · 2026

Make LinkedIn work like a system.

A practical agent-skill bundle for planning, writing, reviewing and publishing LinkedIn content in your own voice.

Deep dive deck20 September 2026
Claude CodeCodexDraft-first
LinkedIn
Skills

content ops, packaged
Writeposts + comments
Readthreads + engagers
Shapevoice + stories
Publishonly on approval
01 · TL;DR

It gives your agent a repeatable LinkedIn operating system.

Instead of asking for a generic “viral post”, you install a set of specialised skills. Each skill knows what to ask for, which references to read, what shape the output should take, and when to stop for your approval.

12loadable skills for content, profile, engagement and team advocacy
3publishing tiers: copy-paste, Publora, or your own custom poster
1shared control loop: draft → approval → publish
The useful idea is not “AI writes posts”. It is “a small content workflow becomes reusable, inspectable and safer to run”.
Sources: README · root SKILL.md
02 · Why it matters

Consistency without flattening your voice.

BENEFIT / 01

Less blank-page work

The Post Writer, Interviewer and Story Bank turn raw experience into concrete material before drafting starts.

BENEFIT / 02

More deliberate formats

Hooks, pillars, CTAs and post lengths are selected for a purpose rather than improvised every time.

BENEFIT / 03

Human review stays in the loop

Every action-taking skill shows a draft and waits for explicit approval before publishing.

BENEFIT / 04

Start small, add power later

Draft-only mode works with no credentials. Reading and publishing connectors are optional layers.

03 · Use cases

From “what should I post?” to a small set of reliable moves.

CREATE

Write a post

Give it a topic, audience and goal. It chooses a hook structure and drafts the post.

ENGAGE

Comment with substance

Paste a post URL and get a thoughtful comment rather than a summary of the original.

LEARN

Study a strong hook

Reverse-engineer a post into a formula and a blank template you can reuse.

PLAN

Shape the week

Generate a seven-day plan with pillars, formats, timing and comment targets.

REPLY

Keep threads warm

Monitor author replies and draft follow-ups inside the 6–24 hour window.

POSITION

Improve your profile

Rewrite headline, About, Featured, Experience and other profile components.

REPURPOSE

Adapt existing work

Turn a tweet, video, blog or newsletter into something native to LinkedIn.

SCALE

Run advocacy

Give a team a cadence, governance rules and a way to measure business impact.

02
Deep dive

How the bundle turns prompts into a workflow.

The interesting design is the boundary between specialised instructions, shared references, optional data connectors and a hard approval checkpoint.

SkillsReferencesClientsApproval gate
04 · Core loop

One loop keeps content work legible.

01 / INPUTParse

Understand the topic, URL, audience, goal and any constraints.

02 / SHAPEDraft

Read the relevant skill and reference files, then create the requested artefact.

03 / REVIEWApprove

Show a standard approval card with preview, target and character count.

04 / ACTPublish

Only after “yes” does the selected backend post, schedule or hand off.

DESIGN PRINCIPLE

Drafting and acting are separate

You can use nearly all the creative system without granting it publishing credentials.

IMPLEMENTATION DETAIL

The gate is a convention layer

lib/approval.py formats the card. The skills must still stop and wait for an explicit user response.

05 · Skill map

Small skills, one shared content engine.

PW
Post Writerhooks, angles and long-form drafts
CD
Comment Draftercomments and reshares from a URL
RH
Reply Handlersingle replies or whole-thread sweeps
HU
Humanizeraudit, rewrite and voice protection
HE
Hook Extractorformula identification and templates
CP
Content Plannerseven-day cadence and pillars
TM
Thread Monitorfollow-up timing and warm replies
EA
Engager Analyticsaudience segmentation from engagement
PO
Profile Optimizerprofile components for conversion
EA
Employee Advocacyteam cadence, governance and ROI
RP
Repurposerrebuild content for LinkedIn
IV
Interviewerstory bank and post spine
SHARED CONTEXT
Voice profile
+
Story bank
Hook formulas
+
Platform rules
Founder angles
+
Metrics taxonomy

The skills stay focused because the durable knowledge lives in references rather than being copied into every instruction file.

Sources: skills/ · references/
06 · Voice + story

It separates “how I sound” from “what I have to say”.

VOICE PROFILE

Style memory

Built from three to six posts you already wrote. It describes your language, rhythm and preferences.

tonecadencevocabulary
STORY BANK

Substance memory

Built through an interview. It keeps roles, numbers, turning points, scars and positions you would defend.

receiptsmomentsconvictions
The system’s strongest anti-generic move is simple: ask for a dated moment, a specific number or a position worth arguing with.
07 · Optional connectors

Power is added in layers, not required up front.

Tier 0 · Manualzero credentials

Draft, review and copy-paste. Reading skills ask you to provide the post text or comment URLs. Best for first use, privacy-sensitive work or simple publishing.

Read layer · ApifyAPIFY_TOKEN

Fetch post bodies, comments, replies, recent comments, likers and commenters through no-cookie actors. Without a token, the same skills fall back to pasted content.

Write layer · PubloraPUBLORA_API_KEY + LINKEDIN_PLATFORM_ID

Publish or schedule after approval. The bundle deliberately needs both credentials for automatic posting; a half-configured setup stays manual.

Visual layer · PixfaroPIXFARO_TOKEN

Generate illustrations, quote cards and branded overlays. Without the token, the skill drafts an image prompt for you.

08 · Publishing safety

The system is opinionated about where agency stops.

BEFORE ACTION

Show the draft

Approval cards include the action, full preview, target URL, reaction and character count.

AT ACTION

Wait for an explicit yes

Skills are instructed to stop until the user says “post”, “yes” or provides edits.

AFTER ACTION

Keep a way back

Scheduled or queued posts can be cancelled through Publora before they go live. A live LinkedIn post must be removed on LinkedIn.

# default mode
draft → approval card → copy-paste

# configured mode
draft → approval card → Publora publish / schedule
09 · Runtime compatibility

It is a folder of markdown contracts with a thin Python layer.

AUTO-DISCOVER

Claude Code · Codex

Install as a plugin or clone the repo. Skills activate when the request matches their description.

READ DIRECTLY

Hermes Agent

Loads skills/*/SKILL.md through the agentskills.io pattern.

MOUNT + PROMPT

OpenClaw

Clone the bundle, point the system prompt at the skill directory and expose the helper libraries.

MANUAL CONTEXT

Cursor · Cline · Aider

Read the relevant markdown contracts as context and import lib/ when you want the Python wrappers.

03
Implementation guide

Start with the smallest useful setup.

You can get value with a clone and an agent. Add credentials only when the manual loop is proven and you know which layer you actually need.

InstallSelf-testConnectRun
10 · Step 1 / Install

Choose your host, then add the bundle.

For Claude Code or Codex, the plugin route is the cleanest starting point. A local clone is useful when you want to inspect or modify the skills.

# Codex CLI
codex plugin marketplace add sergebulaev/linkedin-skills
codex plugin add linkedin-skills@linkedin-skills

# Or test locally
git clone https://github.com/sergebulaev/linkedin-skills.git
cd linkedin-skills

# Any agent that reads SKILL.md
npx skills add sergebulaev/linkedin-skills
11 · Step 2 / Baseline

Run the self-test before connecting anything.

The repository’s self-test checks install health, optional account layers, offline tests, and per-skill coverage. It reports what will work now and what will fall back to copy-paste.

# basic check
python3 scripts/selftest.py

# clean-install check in a temporary directory
python3 scripts/selftest.py --fresh

# inspect local credential wiring without network calls
python3 scripts/check_config.py --offline
✓Python 3.10+ and required packages
✓Skills present and mirrored correctly
✓Optional credentials detected without printing secrets
✓Per-skill fallbacks made visible
12 · Step 3 / Read layer

Add Apify when copy-pasting context becomes the bottleneck.

The read layer is useful for comment drafting, reply handling, hook extraction and engagement analysis. Keep it optional if you prefer to paste the exact content you want the agent to see.

APIFY_TOKEN

What it unlocks

Post bodies, comment threads, your recent comments, and post engagers through the thin client in lib/apify_client.py.

FALLBACK

What happens without it

The skills ask you for pasted text or URLs. Nothing else in the bundle stops working.

# in .env
APIFY_TOKEN=apify_api_your_token_here

# then verify the wiring
python3 scripts/check_config.py
13 · Step 4 / Write layer

Connect Publora only after you trust the approval loop.

Automatic publishing is deliberately a second step. Start with manual copy-paste, then add Publora once you know the drafts are good and your account connection is correct.

# in .env
PUBLORA_API_KEY=sk_paste_your_key_here
LINKEDIN_PLATFORM_ID=linkedin-paste_your_id_here

# install the small API dependencies
pip install requests python-dotenv

# run a diagnostic
python3 scripts/check_config.py
IMPORTANT

Both values matter

A key without the LinkedIn platform ID leaves the backend in manual mode.

FIRST TEST

Use a cancellable test

Schedule a harmless test post, confirm the returned ID, then cancel it in the Publora dashboard before it goes live.

14 · Step 5 / First run

Use a real task with a narrow brief.

Give the agent a topic + audience + outcome.

Example: “Draft a LinkedIn post about shipping AI agents in production for product leaders. Optimise for thoughtful comments, not reach.”

Let it ask for material when the brief is thin.

Use the Interviewer to capture a specific receipt, a dated moment or a position you would defend.

Review the approval card as a product surface.

Check the voice, factual claims, audience fit, sensitive information, target URL and the exact action requested.

Only then say yes.

In manual mode, copy-paste. In Publora mode, confirm the post or schedule response and retain the returned identifier.

15 · Step 6 / Improve

Make the system better by improving its context.

ADD SIGNAL

Feed the Story Bank

Capture proof, turning points and opinions so drafts stop inventing generic “insights”.

TUNE VOICE

Use the Humanizer as an editor

Audit for density, rhythm, performed sincerity and other patterns you personally dislike.

MEASURE

Track outcomes, not vanity alone

Use the engagement taxonomy to connect post-level signals to audience and business outcomes.

The compounding asset is not a folder of prompts. It is a sharper understanding of your own voice, stories, audience and decisions.
16 · Practical playbook

A sensible first week with the repo.

Day 1Install and run self-test. Draft one post manually.
Day 2Interview yourself. Add three concrete stories to the Story Bank.
Day 3Plan a seven-day cadence. Pick one audience and one measurable goal.
Day 4–7Audit, comment, reply and repurpose. Connect Apify or Publora only if the friction is real.
GOOD FIT

Founders, product leaders, recruiters, technical experts and small teams who want a repeatable content practice without handing over publishing judgement.

NOT A MAGIC BUTTON

The bundle cannot manufacture a point of view, verify every claim or guarantee reach. It makes the work easier to repeat and inspect.

Sources: synthesis from the repository’s workflows, Interviewer and self-test.
17 · Trade-offs

Useful system, with boundaries worth keeping visible.

STRENGTH

Progressive setup

Draft-only mode is useful immediately, so credentials do not become a prerequisite for learning the workflow.

LIMIT

External services add dependency

Apify, Publora and Pixfaro introduce third-party accounts, pricing, failure modes and data-handling decisions.

STRENGTH

Clear separation of concerns

Markdown skills hold behaviour; references hold knowledge; Python wrappers hold integrations.

LIMIT

Some “algorithm” claims need scrutiny

Heuristics, engagement multipliers and detector guidance should be treated as hypotheses to test, not timeless platform laws.

Use it as a workflow scaffold and editorial assistant. Keep judgement, factual accountability and final publishing authority with a person.
18 · Takeaways

What to remember.

1Install the bundle for its contracts.
The value is in reusable, specialised behaviours.
2Keep the loop draft-first.
Approval is the line between assistance and publishing agency.
3Invest in voice and story context.
Specific lived material beats more prompt cleverness.
4Add connectors only when friction justifies them.
Start manual; layer in read, write and visual services deliberately.
A good content agent is less like an autopilot and more like a well-designed editorial desk.
Repository: sergebulaev/linkedin-skills · MIT licensed.
19 · Sources + further reading

Open the repo. Read the contracts. Try the smallest loop.

PRIMARY

GitHub repository

README, skill files, Python clients, scripts, tests, references and plugin metadata.

INSTALL

Installation guide

Codex CLI, Claude Code, Claude Desktop, OpenClaw, Hermes Agent and generic skills CLI paths.

CONNECTORS

Publora · Apify

Optional external services for publishing and reading LinkedIn data.

CODE

lib/ · scripts/

Integration wrappers, approval conventions, configuration checks and the self-test.

Deck prepared from the repository contents available on 20 September 2026.

This deck is an independent explanatory summary. Verify current pricing, platform behaviour and repository details in the linked sources before implementation.