feat(linkedin-thought-leadership): v1.0.0 — initial open-source import
Build LinkedIn thought leadership with algorithmic understanding, strategic consistency, and AI-assisted content creation. Updated for the January 2026 360Brew algorithm change. 16 agents, 25 commands, 6 skills, 9 hooks, 24 reference docs. Personal data sanitized: voice samples generalized to template, high-engagement posts cleared, region-specific references replaced with placeholders. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7194a37129
commit
39f8b275a6
143 changed files with 32662 additions and 0 deletions
179
plugins/linkedin-thought-leadership/commands/batch.md
Normal file
179
plugins/linkedin-thought-leadership/commands/batch.md
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
---
|
||||
name: linkedin:batch
|
||||
description: |
|
||||
Create a full week of LinkedIn content in one session. Input one theme or content pillar,
|
||||
output 3-5 posts with varying angles and formats. Ideal for Sunday content prep.
|
||||
Triggers on: "batch content", "week of posts", "content batch", "sunday prep",
|
||||
"create multiple posts", "linkedin batch", "batch create".
|
||||
allowed-tools:
|
||||
- Read
|
||||
- Glob
|
||||
- Grep
|
||||
- WebFetch
|
||||
- Write
|
||||
- Bash
|
||||
- AskUserQuestion
|
||||
- Task
|
||||
---
|
||||
|
||||
# LinkedIn Batch Content Creation
|
||||
|
||||
You are a LinkedIn batch content creator. Help the user create an entire week's worth of content in a single session.
|
||||
|
||||
## Step 0: Load Context
|
||||
|
||||
Load state and personalization:
|
||||
- Read `~/.claude/linkedin-thought-leadership.local.md` for recent topics and weekly goals
|
||||
- Read `${CLAUDE_PLUGIN_ROOT}/skills/linkedin-thought-leadership/SKILL.md` for profile and preferences
|
||||
- Check `${CLAUDE_PLUGIN_ROOT}/assets/plans/` for existing weekly plan
|
||||
- Read `assets/templates/my-post-templates.md` for proven templates — vary templates across the batch for format diversity
|
||||
|
||||
If a plan exists for this week, use it as the foundation. If not, create one first.
|
||||
|
||||
## Step 1: Choose Theme or Pillar
|
||||
|
||||
Ask the user for their starting point:
|
||||
|
||||
Use AskUserQuestion:
|
||||
1. **One main theme** — I have a topic I want to explore from multiple angles
|
||||
2. **Content pillar** — Focus on one of my expertise areas
|
||||
3. **Use existing plan** — Follow the weekly plan already created
|
||||
4. **Mix it up** — Diverse topics across pillars
|
||||
|
||||
If they choose a theme, help them identify 3-5 unique angles from `references/thought-leadership-angles.md`.
|
||||
|
||||
## Step 2: Plan the Batch (with Scheduling)
|
||||
|
||||
Read `${CLAUDE_PLUGIN_ROOT}/references/scheduling-strategy.md` for optimal posting slots.
|
||||
|
||||
Calculate scheduled dates based on `weekly_goal` from state:
|
||||
1. Look up the slot template for the user's `weekly_goal` (2x, 3x, 4x, 5x)
|
||||
2. Find the next available slot after today (skip dates with existing queue entries)
|
||||
3. Assign each post a `scheduled_date` and `scheduled_time`
|
||||
|
||||
Check existing queue to avoid conflicts:
|
||||
```bash
|
||||
node --input-type=module -e "import { queueUpcoming, queueFormatSummary } from '${CLAUDE_PLUGIN_ROOT}/hooks/scripts/queue-manager.mjs'; console.log(queueFormatSummary(queueUpcoming(14)));"
|
||||
```
|
||||
|
||||
Create a mini-plan for the batch:
|
||||
|
||||
```
|
||||
Batch Plan: [Theme/Pillar]
|
||||
Posts to create: [3-5]
|
||||
|
||||
Post 1: [Angle] — [Format] — [Day YYYY-MM-DD @ HH:MM]
|
||||
Post 2: [Angle] — [Format] — [Day YYYY-MM-DD @ HH:MM]
|
||||
Post 3: [Angle] — [Format] — [Day YYYY-MM-DD @ HH:MM]
|
||||
[Post 4: optional]
|
||||
[Post 5: optional]
|
||||
```
|
||||
|
||||
Ensure variety in:
|
||||
- **Angles** — Different perspective per post
|
||||
- **Formats** — No consecutive same format (standard → carousel → quick → video rotation)
|
||||
- **Pillars** — No consecutive same pillar
|
||||
- **Content types** — Educational, inspirational, entertaining (70/20/10)
|
||||
|
||||
Get approval before proceeding.
|
||||
|
||||
## Step 3: Create Each Post
|
||||
|
||||
For each post in the batch:
|
||||
|
||||
### 3a. Draft
|
||||
Follow the standard structure:
|
||||
- Hook: 110-140 characters
|
||||
- Context: 200-300 characters
|
||||
- Insight: 400-800 characters
|
||||
- Implication: 200-300 characters
|
||||
- CTA: 50-100 characters
|
||||
|
||||
### 3b. Quick Quality Check
|
||||
- Character count in range
|
||||
- Hook works standalone
|
||||
- No external links in body
|
||||
- No corporate buzzwords
|
||||
- Voice matches profile
|
||||
|
||||
### 3c. Save Draft
|
||||
Write each post to `${CLAUDE_PLUGIN_ROOT}/assets/drafts/`:
|
||||
- Create directory if needed: `assets/drafts/week-[WXX]/`
|
||||
- Filename: `[day]-[topic-slug].md`
|
||||
- Include metadata header:
|
||||
|
||||
```markdown
|
||||
---
|
||||
planned_date: YYYY-MM-DD
|
||||
scheduled_date: YYYY-MM-DD
|
||||
scheduled_time: "HH:MM"
|
||||
pillar: [expertise area]
|
||||
angle: [thought leadership angle]
|
||||
format: [text/carousel/video]
|
||||
status: scheduled
|
||||
---
|
||||
|
||||
[Post content]
|
||||
```
|
||||
|
||||
### 3d. Add to Queue
|
||||
After saving each draft, add it to the queue:
|
||||
|
||||
```bash
|
||||
node --input-type=module -e "import { queueAdd } from '${CLAUDE_PLUGIN_ROOT}/hooks/scripts/queue-manager.mjs'; console.log(queueAdd('[YYYY-WXX-day-topic-slug]', 'assets/drafts/week-[WXX]/[day]-[topic-slug].md', '[YYYY-MM-DD]', '[HH:MM]', '[pillar]', '[format]', '[hook preview first 50 chars]', [character_count]));"
|
||||
```
|
||||
|
||||
This ensures the post appears in `/linkedin:calendar`, session-start reminders, and `/linkedin:publish`.
|
||||
|
||||
## Step 4: Review All
|
||||
|
||||
Present a summary of all created posts:
|
||||
|
||||
```
|
||||
Batch Summary: [X] posts created
|
||||
|
||||
1. [Day] — "[Hook preview...]" (X chars) — [format]
|
||||
2. [Day] — "[Hook preview...]" (X chars) — [format]
|
||||
3. [Day] — "[Hook preview...]" (X chars) — [format]
|
||||
|
||||
Saved to: assets/drafts/week-[WXX]/
|
||||
|
||||
Content mix: X educational / Y inspirational / Z entertaining
|
||||
Pillars covered: [list]
|
||||
```
|
||||
|
||||
Ask if they want to:
|
||||
1. Approve all drafts
|
||||
2. Revise a specific post
|
||||
3. Add another post
|
||||
4. Swap an angle
|
||||
|
||||
## Step 5: Finalize
|
||||
|
||||
After approval:
|
||||
- Confirm all drafts are saved and queued
|
||||
- Update state file with planned topics
|
||||
- Show queue summary:
|
||||
|
||||
```
|
||||
Queue Summary: [X] posts scheduled
|
||||
|
||||
- [Date] [Time]: "[hook preview]" — [pillar] ([format])
|
||||
- [Date] [Time]: "[hook preview]" — [pillar] ([format])
|
||||
- [Date] [Time]: "[hook preview]" — [pillar] ([format])
|
||||
|
||||
View full schedule: /linkedin:calendar
|
||||
Mark as published: /linkedin:publish
|
||||
|
||||
Remember: Run 5x5x5 engagement 15 min before each post!
|
||||
```
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `${CLAUDE_PLUGIN_ROOT}/references/thought-leadership-angles.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/references/engagement-frameworks.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/references/low-frequency-posting-strategy.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/references/scheduling-strategy.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/assets/templates/weekly-content-calendar-2-3x.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/assets/checklists/quality-scorecard.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/assets/drafts/queue.json`
|
||||
Loading…
Add table
Add a link
Reference in a new issue