feat(linkedin-studio): S14 — journey layer (create/measure front-doors + 5-journey router), v4.1.0
14a's cold command-rationalization found ZERO redundancy across the 27 commands (no defensible merge/cut), so the operator reframed S14 from "merge/cut" to "add a journey layer over the kept atomics". - Add /linkedin:create + /linkedin:measure — delegate-only guided front-doors (Read/Glob/AskUserQuestion only; route to the command that owns the work) - Re-tier commands/linkedin.md into 5 journeys (Start/Create/Engage/Measure/Grow); onboarding/strategy elevated as Start/Grow front-doors; Engage = calendar+firsthour tier - 14a honesty nits: router now lists firsthour; calendar cross-links to firsthour; competitive confirmed UNGATED (the claimed 1K-gating inconsistency was unfounded) - Lockstep: EXPECT_COMMANDS 27->29, v4.0.0->4.1.0 across plugin.json / README badges / plugin+root CLAUDE.md / README / CHANGELOG; new README commands-badge lint guard - 14a deliverable corrected: multiplatform entry added (26/27 -> 27/27), header counts, competitive nit withdrawn - Independent /trekreview (2 Opus reviewers) raised 3 MAJORs (stale commands badge, router competitive self-contradiction, STATE.md count) — ALL remediated in-session; verdict ALLOW Gate: test-runner.sh 74/0/0; node --test 98/98; commands=29; v4.1.0 consistent. Additive/minor — no command removed/renamed/behavior-changed; reload registers create+measure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
431a893f7c
commit
baca30feb1
16 changed files with 885 additions and 208 deletions
|
|
@ -132,7 +132,11 @@ writeState(content => updatePostTracking(content, {
|
|||
```
|
||||
Replace placeholders with actual post data from the published post.
|
||||
|
||||
**3e. First-hour battle plan.** Show after marking:
|
||||
**3e. First-hour battle plan.** Show the lightweight in-flow nudge below after marking.
|
||||
For the **full worked sprint** — timestamped engagement targets (whales / inner-circle /
|
||||
ICPs), draft self-comments + CEA replies in voice, and a minute-by-minute timeline — run
|
||||
`/linkedin:firsthour`, which persists the plan to state and hands off to
|
||||
`post-feedback-monitor`. The checklist here is the quick version:
|
||||
|
||||
```
|
||||
Post marked as published! Here's your first-hour plan:
|
||||
|
|
|
|||
66
plugins/linkedin-studio/commands/create.md
Normal file
66
plugins/linkedin-studio/commands/create.md
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
---
|
||||
name: linkedin:create
|
||||
description: |
|
||||
Content-creation front-door — one guided entry for when you want to make something
|
||||
but haven't picked the format yet. Asks what you want to create and routes you to the
|
||||
command that owns that format (post, quick, react, carousel, video, multiplatform,
|
||||
batch, or the long-form newsletter). It does NOT draft anything itself — it hands off
|
||||
to the command that owns the work, so each format keeps its own voice rules and
|
||||
quality gates.
|
||||
Triggers on: "create", "make something", "create content", "what should I make",
|
||||
"new content", "help me create", "i want to post something", "linkedin create".
|
||||
allowed-tools:
|
||||
- Read
|
||||
- Glob
|
||||
- AskUserQuestion
|
||||
---
|
||||
|
||||
# Create — Content Front-Door
|
||||
|
||||
You are the entry point for the **Create** journey. The user wants to make content but
|
||||
may not know which format or command fits. Your job: identify the intent in one
|
||||
question and route to the command that owns the work. **You do not draft here.**
|
||||
|
||||
## Step 0: Quick context (optional)
|
||||
|
||||
If `~/.claude/linkedin-studio.local.md` exists, you may glance at the planned next
|
||||
topic and recent pillars to make a smarter suggestion — but keep it to one line and
|
||||
do not block on it.
|
||||
|
||||
## Step 1: Identify what they want to create
|
||||
|
||||
If the user's message already names a format (e.g. "a carousel about X", "react to
|
||||
this URL", "a video script") OR hands you a URL, skip the question and route directly
|
||||
per the map below.
|
||||
|
||||
Otherwise use `AskUserQuestion` — **"What do you want to create?"**
|
||||
|
||||
1. **A post** — a full, substantial post (angle → draft → refine) → `/linkedin:post`
|
||||
2. **A quick post** — a fast 5-minute post or a templated post-type → `/linkedin:quick`
|
||||
3. **React to something** — turn a URL / article / news into a post → `/linkedin:react`
|
||||
4. **A carousel** — a multi-slide / document post → `/linkedin:carousel`
|
||||
5. **A video script** — talking-head / screen-recording / slideshow → `/linkedin:video`
|
||||
6. **Adapt existing content** — for Twitter/X, slides, YouTube → `/linkedin:multiplatform`
|
||||
7. **A whole week** — batch 3–5 posts in one session → `/linkedin:batch`
|
||||
8. **Long-form** — newsletter edition, essay, or series article → `/linkedin:newsletter`
|
||||
|
||||
## Step 2: Route
|
||||
|
||||
State the chosen command and one line of why, then **proceed into that command's
|
||||
workflow** (route to `/linkedin:<target>` and begin it). Do NOT inline or duplicate
|
||||
the target's steps — each creation command owns its own workflow, voice rules, and
|
||||
quality gates.
|
||||
|
||||
| Intent | Command |
|
||||
|--------|---------|
|
||||
| Substantial post | `/linkedin:post` |
|
||||
| Quick / templated post | `/linkedin:quick` |
|
||||
| React to a URL / article | `/linkedin:react` |
|
||||
| Carousel / document | `/linkedin:carousel` |
|
||||
| Video script | `/linkedin:video` |
|
||||
| Cross-platform adaptation | `/linkedin:multiplatform` |
|
||||
| A full week | `/linkedin:batch` |
|
||||
| Long-form (newsletter / essay / series) | `/linkedin:newsletter` |
|
||||
|
||||
**Long-form lock:** newsletters, essays, and series articles are owned end-to-end by
|
||||
`/linkedin:newsletter` — the single long-form entry point. Never draft long-form here.
|
||||
|
|
@ -58,99 +58,92 @@ If queue is empty: "No posts scheduled. Run /linkedin:batch to plan your week."
|
|||
|
||||
## Available Commands
|
||||
|
||||
Present these options to the user:
|
||||
LinkedIn Studio is organized as **five journeys**. Each journey has a **front-door**
|
||||
command (start here if you're unsure) plus the focused commands it routes to. Type a
|
||||
front-door when you know the journey but not the exact command; type a specific command
|
||||
directly when you do.
|
||||
|
||||
### Getting Started
|
||||
### 🟢 Start — get set up and publish your first post
|
||||
|
||||
| Command | Purpose |
|
||||
|---------|---------|
|
||||
| `/linkedin:onboarding` | Full onboarding wizard — profile, setup, and first post in one flow |
|
||||
| `/linkedin:onboarding` | **Front-door.** Full guided flow: profile → setup → first post |
|
||||
| `/linkedin:setup` | Populate voice samples, case studies, frameworks, and audience data |
|
||||
| `/linkedin:first-post` | First-post accelerator — zero to published in under 10 minutes |
|
||||
| `/linkedin:setup` | Guided setup to populate empty asset templates with your real voice, case studies, and audience data |
|
||||
|
||||
### Content Creation
|
||||
### ✍️ Create — make content
|
||||
|
||||
| Command | Purpose |
|
||||
|---------|---------|
|
||||
| `/linkedin:create` | **Front-door.** Tells you which creation command fits, then routes you |
|
||||
| `/linkedin:post` | Full post creation with angle selection, format choice, and refinement |
|
||||
| `/linkedin:quick` | Fast 5-minute post (3-line formula) + the 8 post-type templates |
|
||||
| `/linkedin:react` | React to a URL (article, news, research) and turn it into a post |
|
||||
| `/linkedin:quick` | Fast 5-minute post using the 3-line formula (also the 8 post-type templates) |
|
||||
| `/linkedin:pipeline` | Full end-to-end workflow from idea to post-publish analysis |
|
||||
| `/linkedin:carousel` | Create structured multi-slide carousel with visual layout guidance |
|
||||
| `/linkedin:video` | Create video scripts with hook, body, CTA, captions, and thumbnail suggestions |
|
||||
| `/linkedin:newsletter` | Long-form orchestrator — newsletter editions, essays, series articles (research → draft → fact-check → persona-review → lock → delivery). The single long-form entry point |
|
||||
| `/linkedin:headless-review` | Cold adversarial review of a FROZEN long-form draft (argument, language, facts, reader-fit) — run before lock, ideally in a fresh session for max independence |
|
||||
| `/linkedin:pivot` | Re-open a long-form edition after a substantive late change so cleared gates (fact-check → editorial → persona → headless) re-run before lock |
|
||||
| `/linkedin:carousel` | Structured multi-slide carousel with visual layout guidance |
|
||||
| `/linkedin:video` | Video scripts with hook, body, CTA, captions, and thumbnail suggestions |
|
||||
| `/linkedin:multiplatform` | Adapt content for Twitter/X, slides, YouTube (long-form → newsletter) |
|
||||
| `/linkedin:batch` | Create a full week of content in one session |
|
||||
| `/linkedin:calendar` | View and manage your post scheduling queue + run the publish action (mark a scheduled post as published) |
|
||||
| `/linkedin:pipeline` | End-to-end single-post workflow (idea → draft → schedule → analyze) |
|
||||
| `/linkedin:newsletter` | **Long-form spine.** Newsletter editions, essays, series articles. The single long-form entry point |
|
||||
| `/linkedin:headless-review` | Cold adversarial re-read of a FROZEN long-form draft before lock (ideally in a fresh session) |
|
||||
| `/linkedin:pivot` | Re-open a long-form edition after a late change so cleared gates re-run |
|
||||
|
||||
### Strategy & Optimization
|
||||
### 📅 Engage — ship and work the first hour
|
||||
|
||||
| Command | Purpose |
|
||||
|---------|---------|
|
||||
| `/linkedin:strategy` | Growth strategy + authority building (phase-specific guidance, trajectory adjustments, signature content for Phase 2+) |
|
||||
| `/linkedin:profile` | profile/topic-relevance optimization checklist |
|
||||
| `/linkedin:analyze` | Analyze content performance or troubleshoot issues |
|
||||
| `/linkedin:ab-test` | Design and manage A/B tests for content optimization |
|
||||
| `/linkedin:audit` | Quarterly content strategy audit |
|
||||
| `/linkedin:competitive` | Competitive analysis of other thought leaders |
|
||||
| `/linkedin:calendar` | View/manage the queue + the publish action (mark a scheduled post as published) |
|
||||
| `/linkedin:firsthour` | Post-publish first-hour sprint: timestamped targets + draft comments + timeline |
|
||||
|
||||
After publishing, the `post-feedback-monitor` agent tracks performance in the critical
|
||||
first 48 hours, detects anomalies, and advises real-time interventions.
|
||||
|
||||
### 📊 Measure — understand performance
|
||||
|
||||
| Command | Purpose |
|
||||
|---------|---------|
|
||||
| `/linkedin:measure` | **Front-door.** Routes you to the right analytics command |
|
||||
| `/linkedin:import` | Import LinkedIn CSV exports for analytics |
|
||||
| `/linkedin:report` | Generate weekly performance report with trends and alerts |
|
||||
| `/linkedin:report` | Weekly/monthly performance report with trends and alerts |
|
||||
| `/linkedin:analyze` | Troubleshoot performance (reach dropped, low engagement) |
|
||||
| `/linkedin:audit` | Quarterly content strategy audit |
|
||||
| `/linkedin:ab-test` | Design and manage A/B tests for content optimization |
|
||||
|
||||
### Post-Publish Monitoring
|
||||
|
||||
| Agent | Purpose |
|
||||
|-------|---------|
|
||||
| `post-feedback-monitor` | Monitor post performance in the critical first 48 hours, detect anomalies, and get real-time intervention advice |
|
||||
|
||||
### Growth & Monetization
|
||||
### 🚀 Grow — authority, reach, and revenue
|
||||
|
||||
| Command | Purpose | Unlocks at |
|
||||
|---------|---------|-----------|
|
||||
| `/linkedin:strategy` | **Front-door.** Phase roadmap, trajectory, authority + signature content | Any phase |
|
||||
| `/linkedin:profile` | profile/topic-relevance optimization checklist | Any phase |
|
||||
| `/linkedin:competitive` | Competitive analysis of other thought leaders | Any phase |
|
||||
| `/linkedin:monetize` | Monetization strategy (lead magnets, consulting funnel, pricing) | ~1K followers |
|
||||
| `/linkedin:outreach` | Outreach orchestrator — collaborations and speaking opportunities (CFPs, partner pitches) | ~1K followers |
|
||||
| `/linkedin:multiplatform` | Adapt content for Twitter/X, slides, YouTube (short-form/cross-format; long-form → `/linkedin:newsletter`) | Any phase |
|
||||
| `/linkedin:outreach` | Collaborations and speaking opportunities (CFPs, partner pitches) | ~1K followers |
|
||||
|
||||
**Gating rule:** the "Unlocks at ~1K followers" commands are deliberately
|
||||
listed but soft-gated — they work at any follower count, but their value
|
||||
compounds once a profile has the audience scale and authority signal that
|
||||
makes lead magnets, partnerships, and speaking pitches realistic. Below
|
||||
~1K followers the router will note the threshold and suggest
|
||||
`/linkedin:strategy` first.
|
||||
**Gating rule:** the "Unlocks at ~1K followers" commands are deliberately listed but
|
||||
soft-gated — they work at any follower count, but their value compounds once a profile
|
||||
has the audience scale and authority signal that makes lead magnets, partnerships, and
|
||||
speaking pitches realistic. Below ~1K followers the router notes the threshold and
|
||||
suggests `/linkedin:strategy` first. (`/linkedin:competitive` is **not** gated —
|
||||
competitive analysis helps at any stage, especially early positioning.)
|
||||
|
||||
## Ask the User
|
||||
|
||||
Use AskUserQuestion to ask:
|
||||
Show the five journeys as a menu and let the user pick a journey or jump straight to a
|
||||
command. Lead with the front-doors.
|
||||
|
||||
**What would you like to do?**
|
||||
|
||||
0. **Onboarding wizard** — Just installed? Full guided flow: profile → setup → first post
|
||||
1. **Setup & personalize** — Guided setup to populate voice, case studies, frameworks, and audience data
|
||||
2. **Create a post** — Full post workflow with angle selection
|
||||
3. **React to a URL** — Turn an article/news into a post
|
||||
4. **Quick post** — Post something fast (5 min)
|
||||
5. **Full pipeline** — End-to-end: idea → draft → optimize → publish
|
||||
6. **Batch create** — Create a full week of content in one session
|
||||
7. **Use a template** — Browse proven post templates
|
||||
8. **View calendar** — See scheduled posts and manage queue
|
||||
9. **Plan content** — Weekly/monthly content planning
|
||||
10. **Growth strategy & authority** — Plan growth, build signature content, compound authority
|
||||
11. **Optimize profile** — topic-relevance profile audit
|
||||
12. **Audit content** — Review what's working and what's not
|
||||
13. **Competitive analysis** — Learn from other thought leaders
|
||||
14. **Monetize** — Revenue strategies for thought leadership
|
||||
15. **Outreach** — Collaborations and speaking opportunities (CFPs, partner pitches, joint content)
|
||||
16. **Multi-platform** — Adapt content for other platforms
|
||||
17. **Troubleshoot** — My content isn't performing well
|
||||
18. **Monitor post** — Check how my latest post is performing (first 48 hours)
|
||||
19. **A/B test** — Design, track, or analyze content experiments
|
||||
20. **Create a video** — Script for talking head, screen recording, or slideshow
|
||||
21. **Mark published** — I just published a scheduled post
|
||||
22. **Write long-form** — Newsletter edition, essay, or series article (`/linkedin:newsletter`)
|
||||
23. **Cold review (headless)** — Independent adversarial re-read of a frozen long-form draft before lock (`/linkedin:headless-review`)
|
||||
24. **Pivot a long-form edition** — Re-open cleared gates after a late substantive change (`/linkedin:pivot`)
|
||||
- **🟢 Start** — `onboarding` (full wizard) · `setup` · `first-post`
|
||||
- **✍️ Create** — `create` (guided) · post · quick · react · carousel · video · multiplatform · batch · pipeline · newsletter · headless-review · pivot
|
||||
- **📅 Engage** — `calendar` (queue + mark published) · `firsthour` (first-hour sprint)
|
||||
- **📊 Measure** — `measure` (guided) · import · report · analyze · audit · ab-test
|
||||
- **🚀 Grow** — `strategy` (roadmap) · profile · competitive · monetize ⚿ · outreach ⚿
|
||||
|
||||
Based on their answer, guide them to the appropriate command or invoke it directly.
|
||||
If they name a command, route to it. If they name a journey but not a command, route to
|
||||
that journey's front-door (`create` / `measure` / `onboarding` / `strategy`); for Engage,
|
||||
ask whether they're scheduling (`calendar`) or have just published (`firsthour`). Use
|
||||
`AskUserQuestion` for any sub-choice (≤4 options per question). Based on their answer,
|
||||
guide them to the appropriate command or invoke it directly.
|
||||
|
||||
## If They Have Specific Content
|
||||
|
||||
|
|
@ -198,6 +191,9 @@ If the user's intent is clear from context:
|
|||
- Mentions "status" or "on track" → Route to `/linkedin:calendar` (plan-vs-queue diff)
|
||||
- Mentions "repurpose" or "reuse" → Suggest `content-repurposer` agent
|
||||
- Mentions "video" or "video script" or "film" or "record" or "talking head" or "screen recording" or "slideshow video" → Route to `/linkedin:video`
|
||||
- Mentions "create" or "make something" or "what should I make" or "new content" (no specific format named) → Route to `/linkedin:create` (the Create front-door)
|
||||
- Mentions "measure" or "how am I doing" or "my performance" or "performance overview" or "how are my posts doing" → Route to `/linkedin:measure` (the Measure front-door)
|
||||
- Mentions "first hour" or "I just posted" or "reply loop" or "work my post" or "engage now" → Route to `/linkedin:firsthour` (the worked first-hour sprint plan — distinct from `/linkedin:calendar`'s mark-as-published action)
|
||||
- Has a URL to react to → Route to `/linkedin:react`
|
||||
- Has substantial content to convert → Route to `/linkedin:post`
|
||||
|
||||
|
|
|
|||
51
plugins/linkedin-studio/commands/measure.md
Normal file
51
plugins/linkedin-studio/commands/measure.md
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
name: linkedin:measure
|
||||
description: |
|
||||
Performance front-door — one guided entry for when you want to understand how you're
|
||||
doing on LinkedIn. Asks what you need and routes you to the command that owns that
|
||||
analysis (import, report, analyze/troubleshoot, audit, or A/B test). It does NOT
|
||||
crunch numbers itself — it hands off to the command that owns the work.
|
||||
Triggers on: "measure", "how am I doing", "my performance", "show my analytics",
|
||||
"performance overview", "how are my posts doing", "linkedin measure".
|
||||
allowed-tools:
|
||||
- Read
|
||||
- Glob
|
||||
- AskUserQuestion
|
||||
---
|
||||
|
||||
# Measure — Performance Front-Door
|
||||
|
||||
You are the entry point for the **Measure** journey (the measure → improve loop). The
|
||||
user wants insight into performance but may not know which command fits. Identify the
|
||||
intent in one question and route. **You do not run the analysis here.**
|
||||
|
||||
## Step 0: Quick context (optional)
|
||||
|
||||
If `assets/analytics/` holds imported data, you may note "last import: [date]" in one
|
||||
line so the user knows whether a fresh import is needed first. Do not block on it.
|
||||
|
||||
## Step 1: Identify what they need
|
||||
|
||||
Use `AskUserQuestion` — **"What do you want to do?"**
|
||||
|
||||
1. **Import new data** — load a LinkedIn analytics CSV export → `/linkedin:import`
|
||||
2. **See a report** — weekly/monthly numbers, trends, top performers → `/linkedin:report`
|
||||
3. **Diagnose a problem** — reach dropped / low engagement, what's wrong → `/linkedin:analyze`
|
||||
4. **Strategy audit** — periodic top/bottom posts, topic & format mix review → `/linkedin:audit`
|
||||
5. **A/B test** — design, log, or review a content experiment → `/linkedin:ab-test`
|
||||
|
||||
## Step 2: Route
|
||||
|
||||
State the chosen command and one line of why, then **proceed into that command's
|
||||
workflow**. Do NOT duplicate the analysis logic — each command owns it.
|
||||
|
||||
| Intent | Command |
|
||||
|--------|---------|
|
||||
| Import a CSV export | `/linkedin:import` |
|
||||
| Weekly / monthly report | `/linkedin:report` |
|
||||
| Troubleshoot performance | `/linkedin:analyze` |
|
||||
| Quarterly strategy audit | `/linkedin:audit` |
|
||||
| Content experiment | `/linkedin:ab-test` |
|
||||
|
||||
**Order note:** reporting needs imported data. If the user wants a report but nothing
|
||||
has been imported yet, route to `/linkedin:import` first, then `/linkedin:report`.
|
||||
|
|
@ -3,7 +3,7 @@ name: linkedin:onboarding
|
|||
description: |
|
||||
Multi-step onboarding wizard that guides new users through profile → setup → first-post
|
||||
as one cohesive flow. Designed for users who have just installed the plugin and want a
|
||||
single guided path instead of navigating 27 commands on their own.
|
||||
single guided path instead of navigating 29 commands on their own.
|
||||
Triggers on: "onboarding", "get started", "new user", "setup wizard", "start from scratch",
|
||||
"just installed", "how do I start", "walk me through", "linkedin onboarding".
|
||||
allowed-tools:
|
||||
|
|
@ -214,4 +214,4 @@ First post: [Published DATE / Pending — run /linkedin:first-post]
|
|||
- `/linkedin:batch` — Plan a full week of content in one session
|
||||
- `/linkedin:react` — Turn articles and news into posts
|
||||
- `/linkedin:strategy` — Growth strategy tailored to your follower level
|
||||
- `/linkedin` — See all 27 commands anytime
|
||||
- `/linkedin` — See all 29 commands anytime
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue