1:1 with a GTM engineerBuild any workflow in this course with an engineer ยท 8 sessions left ยท closes in โ€”Book your session

LinkedIn on Autopilot for Agencies: 10 Scheduled Tasks, 5 Setup Phases, 7 Verification Gates

AI Driven, Personalized Outreach on LinkedIn: Prosp ๐Ÿ’œ

Try Prosp Free45 minutes, on your own data ยท 8 sessions left
5/5 rated on CapterraยทUsed by 800+ agencies and sales teams
Playbook8 sections
Section 1

Setup: Install, Per-Client Structure, and Where to Run It

Source: github.com/backpropagation6/claude-linkedin-automation, MIT, by Giovanni Liguori. Validated across 27+ days of live daily operation.

This version adapts it for agencies running client accounts rather than one personal profile. Same task architecture, same verification gate, different constraint model.

Setup is 4 to 6 hours per client. Identity definition is 2 to 3 of those and it is the hardest part.

What it actually is

A skill that turns Claude into a LinkedIn operator: posts daily, engages on a schedule, drafts DM replies for human review, audits its own output, and reports weekly.

The key architectural idea is that nothing runs until you approve it. Phase 4 is a hard gate. The wizard will not proceed to task creation without an explicit approval.

For agencies that gate matters more than it does for a solo operator, because the thing being approved is content going out under a client's name.

Install

git clone https://github.com/backpropagation6/claude-linkedin-automation
cd claude-linkedin-automation
chmod +x install.sh && ./install.sh

The interactive installer asks three things: scope (global, project, or both), IDE (Claude Code, Cursor, Windsurf, or any combination), and a confirmation before anything is created.

./install.sh --global      # all projects, Claude Code
./install.sh --project     # current project only
./install.sh --uninstall   # remove everything, all IDEs

Then type /linkedin in any Claude session to start the wizard.

Updating: git pull is enough for Claude Code because it installs via symlink. Cursor and Windsurf use file copies, so re-run the installer after pulling.

Agency setup: one clone, one folder per client

The repo assumes one profile. For client work you want the skill installed once globally, and the identity, calendar and reports kept per client.

./install.sh --global

mkdir -p clients/[CLIENT]/identity
mkdir -p clients/[CLIENT]/plans
mkdir -p clients/[CLIENT]/report

Run the wizard once per client, pointing outputs at that client's folder. Never share an identity document between clients. The whole system keys off voice and vocabulary, so a shared identity produces two profiles that sound like the same person.

When you run /linkedin, say which client folder it is working in as the first instruction.

Mirror the same separation on the send side. One Prosp account maps to one LinkedIn profile, so each client gets their own account created in its own browser session (cookies conflict otherwise), all invited into one workspace you administer. White-label with your own domain and branding, plus a sub-workspace per client, keeps the client-facing surface yours rather than a tool's.

Which environment to run it in

Capability Claude Code Cowork Cursor / Windsurf
Wizard, phases 1 to 4 Full Full Full
Identity document generation Full Full Full
Weekly plan creation Full Full Full
Scheduled tasks CronCreate, 3-day max Native scheduled tasks Manual
Permanent tasks crontab or Cloud Scheduler Native Manual
Install method Symlink, auto-updates Symlink File copy

For an agency with no infrastructure appetite, Cowork handles the scheduling natively and is the least work. If you already run cron or Cloud Scheduler, Claude Code gives you more control.

A reasonable hybrid: run the wizard in Cowork because it is a conversation, then deploy the tasks in Claude Code.

One thing none of these four environments solves: they all need something running. Scheduled tasks depend on the machine or the cloud job being alive, and a missed 08:00 is a missed post. The send layer avoids that entirely because Prosp runs on its own infrastructure, so outreach continues whether or not your scheduler does. Worth splitting the system on that line: content where you control the schedule, sending where you do not have to.

The two-level architecture

The system treats identity and naturalness as the same problem. A profile with a clear, consistent, humanised voice performs better and reads better. The two layers work at different levels.

Level 1 is behavioural: seven rules covering comment mix, promotional frequency, structure repetition and targeting. Empirically derived from 27+ days of scored sessions.

Level 2 is structural: the Human Voice Layer. Seven writing tells that read as machine-generated to expert readers even when the vocabulary and timing are right.

Both are measured by the Non-Detection Index, which scores the quality of the responses you get back rather than the output itself.

The source repo carries its own note that automated interaction may sit outside LinkedIn's User Agreement, and it is published for educational and research purposes. Same applies here.

Section 2

The 5-Phase Wizard, Adapted for Client Accounts

Type /linkedin and Claude runs five phases. Phase 4 is a hard gate: nothing is automated until you say approved.

Run this once per client. Budget 4 to 6 hours, most of it in Phase 1.

Phase 1: Identity

15 questions defining voice, vocabulary and red flags. This is the hardest phase and the one that determines whether everything downstream sounds like the client or like a language model.

For client work, do this as a live call with the client rather than filling it in on their behalf. You are capturing how they actually speak.

Run the /linkedin wizard Phase 1 for [CLIENT], writing output to
clients/[CLIENT]/identity/.

Capture, from my answers only, without inventing anything:

1. What they do, in the words a customer would use
2. Who they are talking to: exact job title and company type
3. The three topics they can talk about indefinitely
4. Two beliefs they hold that their industry mostly disagrees with
5. Vocabulary they use constantly
6. Vocabulary they would never use, the red flag list
7. Sentence length and rhythm: short and clipped, or long and winding
8. Do they swear, joke, use rhetorical questions
9. Emotional range: what makes them genuinely annoyed, what excites them
10. Their real numbers, with permission to publish each one
11. Named customers they can reference publicly
12. What a meeting with them is actually for
13. Who they do not want to hear from
14. Their last three posts that performed, and why they think so
15. Anything legal or compliance requires before publishing

Write identity.md. Flag every answer you did not get.

The red flag list in question 6 does more work than anything else. It is the file the content tasks check against before publishing.

Phase 2: Strategy

Produces the 7-day pillar calendar, the post format, and the humanisation rules.

The pillar structure is domain-agnostic. You keep the weekly emotional shape and change the content domain per client.

Client type Tuesday: tool or workflow Thursday: case study Friday: how-to
B2B SaaS Feature walkthrough Customer ROI story Integration guide
Agency Campaign teardown Client results Platform tutorial
AI / automation Integration deep-dive Client time saved Skill tutorial
Coaching / personal brand Framework breakdown Client transformation Routine walkthrough
Developer / open source Architecture decision Community contribution Setup tutorial
Legal / consulting Regulatory update Case resolution Process guide

Phase 3: Engagement

Sets the commenting rules and the verification gate. Six rules survive the agency adaptation, all of them about comment quality rather than concealment.

# Rule Why
1 Mention the client's product in at most 2 of every 5 comments 3 out of 5 got flagged as promotion on day one of the source experiment
2 Never repeat the same comment structure consecutively Repetition was the second strongest tell in the source data
3 At least 1 of every 5 comments outside the client's niche 0 out of 5 scored 6.0/10. 1 to 2 out of 5 scored 8.5 to 9.0
4 Maximum one promotional phrase per session "I use it every day" reads as advertising
5 Like rather than comment when you simply agree Extending an agreement thread adds nothing and reads as filler
6 At least 1 comment per session on a post with 200+ reactions 7 to 12x reach multiplier on the comment itself

Rule 6 is the one agencies underuse. A good comment on a large post outperforms a good post on a small account, and it costs a fraction of the effort.

Phase 4: The approval gate

Claude presents every task it intends to create, with schedule and prompt, and stops. It will not proceed without an explicit approval.

For client work, add a second gate on top of the built-in one.

Before Phase 5, produce a client approval pack for [CLIENT]:

1. Every task, its schedule, and one line on what it will publish
2. The full text of week one's seven posts
3. Five example comments in the client's voice
4. Exactly what runs without human review, and what waits for approval
5. Every claim or number that will appear publicly, and where it came
   from in identity.md

Do not create any task until I confirm the client has signed this off.

The fifth item is the one that saves you. A client seeing their own numbers listed back, with sources, before anything publishes is the difference between a smooth first month and an awkward call.

Phase 5: Deploy and iterate

Tasks go live, monitored weekly. Start with three, not ten.

The minimum viable setup is tasks 1, 2 and 9: daily post, daily engagement, weekly report. Three tasks, fully autonomous, and enough to prove the system to a client before you expand it.

Add the rest in week three once the voice is calibrated and the client trusts the output.

Phase 5 deploys the content half. The outreach half deploys alongside it, or the posts generate engagement nobody follows up. Connect the client's profile to Prosp in the same week: roughly five minutes, cloud-based so nothing depends on a machine staying awake, and a free dedicated residential proxy per account.

Then the loop closes. Task 1 publishes, Prosp imports the engagers from the post URL, a lead is 1st level condition splits the list, connected leads get a message and the rest get a connection request first, and a Reply Comment node answers every public comment so the post keeps compounding.

Section 3

The 10 Scheduled Tasks, With Prompts

Ten tasks with real schedules, from 27+ days of live operation. Nine active, one disabled by default.

Start with 1, 2 and 9. Add the rest in week three.

Schedules are the ones that were actually run, not suggestions.

The full schedule

# Task When What it does
1 linkedin-daily-post Daily 08:00 Publishes today's post, then an auto-comment 20 minutes later
2 linkedin-daily-engagement Daily 09:00 25-minute session: 8 to 10 likes plus 5 comments
3 linkedin-reply-to-replies Daily 16:00 Responds to comment threads on your own posts
4 linkedin-dm-prep Daily 10:00 Drafts DM replies for human review. Never sends.
5 linkedin-news-scout Daily 07:00 Fetches niche news, flags content ideas
6 linkedin-experiment-audit Daily 15:00 Scores yesterday's output against the rules
7 linkedin-weekly-planner Sat 17:00 Generates next week's seven posts
8 linkedin-weekly-diary Sat 19:00 Compiles a behind-the-scenes blog draft
9 linkedin-weekly-report Sun 20:00 KPIs, per-post ranking, recommendations
10 linkedin-outreach-daily Disabled Cold outreach. Opt-in. See the Prosp section.

Task 4 drafting rather than sending is deliberate and should stay that way on client accounts. A DM sent under a client's name that you have not read is the single fastest way to lose the account.

The 20-minute gap in task 1 matters. The first comment on your own post lifts early engagement, and 20 minutes is late enough to look like a considered addition.

Task 4 assumes you can see the inbox. Across six client accounts that means six logins unless something consolidates them. Prosp gives you one inbox spanning every connected account, filterable by campaign, replied and unread, with tags per client. Task 4 drafts, you review in one place, you send.

Task 1: daily post

Read clients/[CLIENT]/identity.md and clients/[CLIENT]/plans/current-week.md.

Publish today's scheduled post exactly as planned. Before publishing:
- Check every claim against the epistemic verification gate
- Check no phrase appears on the red flag list in identity.md
- Check the structure differs from yesterday's and the day before's

If any check fails, do not publish. Write the reason to
clients/[CLIENT]/report/blocked-[DATE].md and notify me.

20 minutes after publishing, add one comment of your own to the post.
It must add something the post did not say. Never a summary.

Log to clients/[CLIENT]/report/posts-[DATE].md.

The post is a lead source, not a deliverable. Once it is live, Prosp imports its commenters and likers straight from the post URL, including future reactions as they keep arriving. Feed it the URL from posts-[DATE].md and everyone who engaged becomes an addressable lead instead of a number in the weekly report.

Task 2: daily engagement

Run a 25-minute engagement session for [CLIENT].

Target: 8 to 10 likes, 5 comments.

Comment rules, all six enforced:
- Maximum 2 of 5 comments mention the client's product
- No two comments share a structure
- At least 1 of 5 outside the client's niche
- Maximum 1 promotional phrase across the whole session
- If you simply agree, like it, do not comment
- At least 1 comment on a post with 200+ reactions

Every comment must add a second perspective, a counterpoint, or a
specific data point. Score each one 1 to 10 before posting. Anything
below 7 gets rewritten, not posted.

Log each comment, its target post, its score, and the reaction count of
the post, to clients/[CLIENT]/report/engagement-[DATE].md.

Target an 8.0 average. Below 7.0 across a week means the rules need adjusting, not the volume.

The comment log doubles as a targeting file. Anyone who replies to the client's comment on someone else's post has seen the name, read a real opinion and responded to it, which is warmer than any cold list. Since Prosp imports from any post URL, the 200+ reaction posts you commented on are import sources in their own right, not just reach.

Task 6: the self-audit

The task that catches silent failures. Runs daily at 15:00, after the morning tasks have either worked or not.

Audit the last 24 hours for [CLIENT].

Check:
- Did the post publish? If not, why, and was I told?
- Did the engagement session complete? How many likes, how many
  comments, what was the average score?
- Any comment scoring below 7?
- Any claim published that did not pass the verification gate?
- Any phrase from the red flag list that got through?
- Structure repeated from the previous two days?

Output a pass/fail per check with the evidence. Do not summarise as
"all good". Name each check and its result.

Write to clients/[CLIENT]/report/audit-[DATE].md.

Every task writes a log. Check report/ daily. This audit catches most of what fails quietly.

Task 9: the weekly client report

Build the weekly report for [CLIENT], Sunday 20:00.

Include:
- Posts published, and how many were planned
- Impressions and engagement rate per post, ranked best to worst
- The single best-performing post, and one sentence on why
- The worst, and one sentence on why
- Comments made, average quality score, and the reach of the posts
  commented on
- Profile views and follower change week on week
- Inbound: DMs received, connection requests received, named
  conversations started
- Two recommendations for next week, each tied to a number above

No impressions-only reporting. Every metric pairs with an action.

Write to clients/[CLIENT]/report/weekly-[DATE].md.

The inbound line is the one clients care about. Impressions are the metric agencies report when nothing else moved.

To report meetings rather than impressions, the outbound numbers need to be in the same document. Pull them from Prosp: connection requests sent and accepted, messages sent, replies received, per campaign and per account. It pushes to HubSpot natively, or out through 12 webhook events and a REST API at prosp.ai/api/v1/leads, so the report builds from pipeline data rather than screenshots.

Section 4

The Epistemic Verification Gate and Content Quality Rules

The most valuable thing in the source repo, and the part most relevant to publishing under someone else's name.

Seven checkpoints before any factual claim goes out. 7 of 7 publishes. 5 or 6 means fix then publish. Below 5 means rewrite.

On client accounts this is not optional. A wrong claim under a client's name is a different order of problem from a wrong claim under yours.

The 7 checkpoints

# Checkpoint The test
1 Fact versus inference Is this something you know, or something you concluded? Label it correctly.
2 Uncertainty markers Verified, observed, inferred or speculative. Pick one and say it.
3 Source attribution Name the source or do not make the claim.
4 Temporal coherence When did this happen? A true claim from 2023 stated in the present tense is a false one.
5 Case-specific claims Verify in 30 seconds or rephrase as a question.
6 Self-assessment bias Measured, estimated or projected? Never present the last two as the first.
7 Absence as proof "I have not found it" is not "it does not exist".

Running the gate

Run the epistemic verification gate on this draft for [CLIENT]:

[PASTE DRAFT]

For every factual claim in it, work through all 7 checkpoints:

1. Fact or inference? Label it.
2. Which uncertainty marker applies: verified, observed, inferred,
   speculative?
3. What is the source? If none, flag it.
4. When did this happen? Is the tense right?
5. Is it case-specific? Can it be verified in 30 seconds? If not,
   rewrite it as a question.
6. Is the number measured, estimated or projected? Say which.
7. Is any claim resting on absence of evidence?

Score out of 7.
7/7: publish.
5-6/7: list the fixes, apply them, re-score.
Below 5: rewrite the draft.

Also check every number against the approved list in
clients/[CLIENT]/identity.md. Any figure not on that list does not go
out, regardless of score.

The last paragraph is the agency addition. The gate tests whether a claim is sound. The identity check tests whether the client has agreed to make it publicly.

The gate applies to outbound copy too, and that is where it gets skipped. A claim in a DM is as public as a claim in a post, it just reaches fewer people at a time. Run the seven checkpoints over the message templates before they go into a Prosp sequence, because a sequence sends the same unverified claim a hundred times rather than once.

Six post structures, and why you rotate them

The source repo defines six alternatives to the standard hook, three-block body, closing structure. Rotate them so no structure appears more than twice a week.

  1. Stream of consciousness โ€” one continuous thought, no section breaks
  2. Question without answer โ€” poses a real problem, does not resolve it
  3. Start from the middle โ€” opens mid-scene, context arrives later
  4. Broken list โ€” a list where one item does not match the others in form or length
  5. Micro-post โ€” two or three lines, nothing more
  6. Response to something โ€” reacting to a specific post, article or event

The reason to rotate is not concealment, it is that a feed of seven identically shaped posts is boring, and boring underperforms. Variation is a content quality argument before it is anything else.

For clients specifically: the micro-post is the one to use when the week has no real news. It is better than padding a thin idea into a full-length post.

The same variation principle applies to outreach copy, where it matters more because the same message goes to hundreds of people rather than one feed. Prosp AI prompts take profile data in {{double curly}} and instructions in [square brackets], drawing on headline, biography, job title, company and last post, so each message varies on real detail rather than a swapped first name. Preview it against real contacts in the campaign before anything sends.

The pre-publication checklist

Five of these seven must pass before a post publishes.

[ ] Different structure from yesterday and the day before
[ ] No perfect parallelism in lists, at least one element differs
[ ] At least one genuine break in the flow of thought
[ ] Numbers are not all round: 85 to 11, not 85 to 9
[ ] Any case study has a specific, checkable detail in it
[ ] Not every post resolves neatly, at least one a week ends open
[ ] A competent human could have written this in five minutes

The last one is the useful test. If a post reads like it took a committee, it reads like it was generated.

Section 5

Account Health and the Send Layer

The part that replaces the source repo's anti-detection layers. Different goal: not looking human, but staying inside the limits so client accounts do not get restricted.

Every number here is published guidance, not inference.

The limits, and the mistake that breaks accounts

Action Free account Premium / Sales Nav
Connection requests 20 per day, 100 per week 30 to 50 per day
Direct messages ~100 per week ~150 per week
Profile views 80 per day 150 per day
Comments 60 per day 60 per day
InMail Not available 50 per month, Sales Nav

These are account-wide, not per campaign. Three campaigns set to 20 connection requests each means the account attempts 60 a day. That is how client accounts get restricted, and it is almost always the cause.

Split the budget explicitly: 10 + 5 + 5, set per campaign. Connection request limits and message limits are separate buckets, so both can run at full allocation at the same time.

When LinkedIn does cap an account, only connection requests pause. Messages, profile visits and voice notes keep running, and it resets in 2 to 3 days. Do not pause everything in a panic.

Account hygiene for client work

Six rules that matter more when the account is not yours.

  1. Turn on 2FA before connecting any client account to anything.
  2. Do not use the client's LinkedIn manually in the same browser you connected via an extension. Mixed human and automated signals from one environment is the fastest flag.
  3. One tool per account. Two automation tools on one profile doubles the apparent activity without either knowing.
  4. Accounts idle 7 or more days get parked and send nothing until reactivated. Check this before blaming a campaign.
  5. Never post more than once a day. LinkedIn penalises same-day multiple posts, so the second one suppresses the first.
  6. Flag overlapping ICPs across clients before launching both. Otherwise the same person gets messaged from two accounts in one week, which looks exactly like what it is.

Wiring task 10 to a real sender

Task 10, cold outreach, ships disabled. Leave it that way and use a purpose-built sender instead, because browser-driven outreach on a client's account is the highest-risk part of the whole system.

Prosp runs the send layer. Cloud-based, so nothing depends on a machine staying awake, with a free dedicated residential proxy per connected account and activity paced to stay under thresholds.

The handoff from this system is clean, because the content tasks are already generating the thing that produces leads:

  1. Task 1 publishes the post
  2. Prosp imports the commenters and likers straight from the post URL, including future reactions as they arrive
  3. A lead is 1st level condition splits the list
  4. Connected leads get the message. The rest get a connection request, then the message once accepted
  5. A Reply Comment node answers every public comment, which keeps the post's engagement compounding

Connection requests auto-detect acceptance, checking every 24 hours for two weeks with a random 1 to 24 hour delay. No wait card needed after step 4.

Multi-account and white-label

One Prosp account equals one LinkedIn profile. Multi-account runs through workspace team members: a separate account per client profile, each created in its own browser session because cookies conflict, all managed from one workspace.

For agencies specifically: white-label with your own domain and branding, plus sub-workspaces per client. Set TTL under 60 for faster domain verification, and check you have unused slots before creating a sub-workspace.

The unified inbox spans accounts with tags and filters by campaign, replied and unread, so DM triage for task 4 happens in one place rather than logging into six profiles.

Pricing scales with account count, which matters at agency volume: $79.99 per account per month at 1 to 5 accounts, $59.99 at 6 to 30, $39.99 at 31 plus. Annual saves around 23%. The 6 to 30 tier adds a dedicated Slack channel and a 1:1 specialist session every four weeks.

Voice notes, if the client will record

Across 1000+ campaigns, voice notes average around a 47% reply rate against roughly 8% for written messages. Under 1% of LinkedIn outreach uses them, which is the whole reason they land.

The rules that keep that number real: under 20 seconds, always paired with a written message before or after rather than sent alone, and referencing the one thing everyone on the list shares.

For client work the cloning step needs the client's cooperation: a 30 second minimum recording, ideally reading the actual script that will be sent so the clone knows how they sound in context. Or they pre-record in-app, or upload an mp3.

Get written permission before cloning a client's voice. It is their voice, and the consent should exist on paper.

What to check every Monday

Seven checks per client account, ten minutes.

[ ] Account status: active, not parked, not restricted
[ ] Sends last week against the weekly allocation, per account
[ ] Connection acceptance rate: below 15% means fix the note
[ ] Reply rate: healthy acceptance plus low replies means fix the DM
[ ] Average comment score: below 7.0 means adjust the rules
[ ] Blocked posts in report/: anything the gate stopped, and why
[ ] Duplicate leads across client campaigns: should be zero

The diagnostic chain matters more than the numbers. Acceptance below 15% points at the connection note, not the list. Good acceptance with poor replies points at the sequence, not the targeting. Good replies with no meetings points at the offer.

The tasks create the demand. Prosp delivers it, across every client account ๐Ÿ’œ

โ†ณ Start a 14 Day Free Trial ๐Ÿ’œ โ†ณ Watch Full Tutorial โ–ถ๏ธ

Section 6

Level 1: The 7 Behavioural Rules

Seven rules, each derived from a scored session or a documented incident in 27+ days of live operation. Not theory.

The numbers next to each rule are the evidence, not the recommendation.

The 7 rules

# Rule The evidence
1 Tool mention limit: maximum 2 of every 5 comments mention your tool 3 of 5 was flagged as promotion on day 1
2 Structure variation: never repeat the same comment pattern consecutively Repetition is the number 2 detection vector
3 Off-topic comment: at least 1 of 5 outside your niche 0 of 5 scored 6.0/10. 1 to 2 of 5 scored 8.5 to 9.0
4 Evangelisation limit: maximum 1 promotional phrase per session "I use it every day" is an instant flag
5 Like-only on agreements: do not extend agreement threads Extending sounds artificial
6 Fact-check before asserting: verify, or rephrase as a question Profile-B incident, day 22
7 High-traffic targeting: 1 or more comments on posts with 200+ reactions 7 to 12x reach multiplier

Rule 3 is the counterintuitive one. Commenting only inside your niche scores worse than mixing in something adjacent, because a real person's feed is not perfectly on-brand.

Rule 7 is the one with a second use. A post with 200+ reactions is a reach multiplier for your comment and a lead list at the same time. Prosp imports likers, commenters, or both from any post URL, so every large post the client comments on can be captured as a targeted list of people already engaged with the client's exact topic. Log the URL in the engagement report so it is there when you need it.

The engagement session, enforced

Run a 25-minute engagement session for [CLIENT].

Target: 8 to 10 likes, 5 comments.

Enforce all seven Level 1 rules:
1. At most 2 of 5 comments mention the client's product
2. No two comments share a structure. Vary opener, length and form.
3. At least 1 of 5 outside the client's niche
4. At most 1 promotional phrase across the entire session
5. If you simply agree, like it. Do not comment.
6. Verify any factual claim, or rephrase it as a question
7. At least 1 comment on a post with 200+ reactions

Before posting each comment, score it 1 to 10 on:
- Does it add a second perspective or a data point?
- Would a competent human have written this in 30 seconds?
- Does it sound like the client, checked against identity.md?

Below 7 gets rewritten, not posted. Target an 8.0 session average.

Log each comment, its structure type, its score, the target post and its
reaction count, to clients/[CLIENT]/report/engagement-[DATE].md.

The structure type field in the log is what makes rule 2 enforceable across days rather than just within a session.

Sixty comments a day is LinkedIn's ceiling, and this session uses five. If a client wants the commenting layer running at scale rather than as a daily 25-minute block, Prosp has comment on last post and reply comment as sequence actions, so commenting can run as a campaign step against an imported list rather than a manual session. Builder default is 80 a day, so lower it to 60 or below.

Comment structures to rotate

Rule 2 needs a set to rotate through. Six that work, and none should appear twice in a session.

  1. The counterexample โ€” "Worked differently for us, here is what happened"
  2. The specific number โ€” adds one figure the post did not have
  3. The narrowing question โ€” asks about the one case the post did not cover
  4. The mild disagreement โ€” agrees with the premise, disputes the conclusion
  5. The extension โ€” takes the point one step further than the author did
  6. The short reaction โ€” one line, no argument, genuine

Number 4 is the one that gets replies. A comment that agrees entirely gets a like from the author. A comment that disagrees carefully gets a response.

Number 6 matters for realism. Not every comment a person leaves is a considered paragraph.

Scoring rubric

Score every comment before it posts. Below 7 is rewritten.

9-10  Adds something the author did not know. Likely to get a reply.
8     Adds a real perspective or number. Reads as a peer.
7     Relevant and specific, but adds little. Acceptable.
6     Generic but on topic. Rewrite.
5     Could be pasted under any post in the niche. Rewrite.
1-4   Praise, agreement, or a restatement of the post. Never post.

A week averaging below 7.0 means the rules need adjusting, not the volume. More bad comments is worse than fewer good ones, because each one is publicly attached to the client's name.

Section 7

Level 2: The Human Voice Layer

Added to the source system after 22 days of operation, once Level 1 was working and the output still read as machine-written to expert readers.

Level 1 covers behaviour. This covers the writing itself. Seven structural tells that survive perfect vocabulary and perfect timing.

For agency work this is the layer that decides whether ghostwritten client content reads as the client or as a content team.

The 7 structural tells

Tell The pattern The fix
Structural symmetry Every post: hook, body in 3 blocks, closing Rotate 6+ structures. Same structure at most twice a week.
Syntactic parallelism Lists where every item has identical grammatical form Break it deliberately. At least one element must differ.
Engineered informality Informal markers placed at strategically effective positions Informality has to emerge from the structure, not be inserted into it.
Zero imperfections No interrupted thoughts, no digressions, nothing unresolved One genuine break in the flow of thought per post.
Cinematic case studies Perfect setup and payoff, clean quotes, tidy arc Add dirty detail: a vague memory alongside a hyper-specific one.
Predictable emotional arc Every post moves from tension to resolution One post a week resolves nothing and ends on an open question.
Mapped emotional register Wednesday is indignation, because the calendar says so Emotional posts need a real, nameable trigger from that week.

The third one is the subtlest. An informal aside that lands exactly where a reader's attention would dip is not informal, it is engineered. Real digressions land in inconvenient places.

There is one format where every tell on this list is solved at once, because none of them exist in it. A voice note has no structure to repeat, no parallelism to break, and no engineered informality, since real speech supplies its own. Across 1000+ Prosp campaigns voice notes average around a 47% reply rate against roughly 8% for written messages. Under 20 seconds, always paired with a written message, and cloned from a 30 second recording of the client reading the actual script.

The 6 alternative post structures

Rotate these against the standard hook-body-close. No structure twice in a row, and at most twice in a week.

  1. Stream of consciousness โ€” one continuous thought, no section breaks, no bolded lead-ins
  2. Question without answer โ€” poses a real problem the writer has not solved
  3. Start from the middle โ€” opens mid-scene, context arrives three lines later or not at all
  4. Broken list โ€” a list where one item is a different length, form or register from the others
  5. Micro-post โ€” two or three lines total. Nothing else.
  6. Response to something โ€” reacting to a specific named post, article or event this week

The micro-post is the most underused. A three-line post on a week with no real news beats a padded one, and it varies the profile's rhythm at zero cost.

Number 6 is the only one that cannot be planned a week ahead, which is exactly why it reads as real.

Noise injection

The specific techniques for each tell.

Apply the Human Voice Layer to this draft:

[PASTE DRAFT]

1. NUMBERS. Round numbers read as invented. 85 to 9 becomes 85 to 11.
   "Two hours" becomes "something like 80 to 90 minutes". Keep one
   precise figure and make the rest approximate.

2. LISTS. Find any list where every item matches in form. Break one:
   make it longer, shorter, or a fragment.

3. CASE STUDIES. Add one vague detail and one hyper-specific one.
   "Sometime in March, I think" next to "the 14th call that month".
   Real memory is uneven.

4. FLOW. Insert one genuine break: a sentence that starts, gets
   abandoned, and restarts differently. Not an inserted "anyway".

5. RESOLUTION. If the post resolves neatly, check whether that is
   honest. If it is not, end it open.

6. STRUCTURE. Name the structure used. Check it against the last two
   posts in clients/[CLIENT]/plans/. If it repeats, rewrite in a
   different one.

Return the revised draft and a note of what you changed.

Point 1 does the most work for the least effort. Every round number in a post is a small signal that the number was chosen rather than measured.

Run the same six points over the DM copy before it goes into a sequence. A first line that is structurally identical across every message is the outreach version of tell number one, and it is more obvious in a DM than in a feed because the recipient may have seen the same opener from someone else that week. Build the variation into the Prosp AI prompt rather than sending one template to everyone.

The pre-publication checklist

Five of seven must pass before a post goes out.

[ ] Different structure from yesterday and the day before
[ ] No perfect parallelism in lists, at least one asymmetric element
[ ] At least one genuine flow break, not an inserted marker
[ ] Numbers are not all round
[ ] Case study has dirty details: vague memory plus specific detail
[ ] Emotional arc is not always positive, one unresolved post per week
[ ] Could a human have written this in five minutes?

The last question is the whole checklist in one line. If a post reads like it took a committee and three drafts, that is what it reads as.

Running it as a task

Bolt this onto task 1 so it runs before every publish rather than as a manual review.

Before publishing today's post for [CLIENT]:

1. Read the last 3 posts in clients/[CLIENT]/report/ and name their
   structures.
2. Confirm today's structure differs from both of the last two.
3. Run the 7-point pre-publication checklist. Report pass or fail on
   each with the evidence, not a summary.
4. If 5 or more pass, publish.
5. If fewer than 5 pass, apply noise injection and re-check once.
6. If it still fails, do not publish. Write the reason to
   report/blocked-[DATE].md and notify me.
Section 8

The Non-Detection Index and What It Produced

The metric that tells you whether the account is working. It scores the quality of what comes back, not the quality of what goes out.

Output quality is self-assessed and therefore flattering. Response quality is not.

The formula

NDI = (L1 x 2 + L2 x 1) / (L1 + L2 + L3) x 10
Tier Weight What counts
L1 2 Named replies, multi-message DMs, public mentions of the profile
L2 1 Genuine questions, connection requests
L3 0 Generic likes, one-word replies

Above 5.0 is healthy. Below 3.0 means investigate. Below 4.0 for two consecutive weeks means pause for 48 hours and audit.

The 48-hour pause is not a formality. Two weeks of degrading response quality usually means the voice has drifted, and continuing to publish under a drifted voice compounds it.

Why it works as a quality metric

Impressions and engagement rate can both go up while the account gets worse, because a post that gets 400 generic likes and no conversations is not building anything.

The NDI weights toward the responses that only happen when a real person is engaged: using your name, sending a second message unprompted, mentioning you in their own post.

Those are the behaviours that precede a meeting. So the NDI is a leading indicator for pipeline in a way that impressions never are.

For client reporting this is the number worth teaching them to care about, because it moves before revenue does.

Counting L1 events by hand across six client accounts does not scale past week two. In Prosp the unified inbox spans every account with filters for replied and unread, and add tag nodes let you mark L1, L2 and L3 as responses arrive. Twelve webhook events including Message Replied, Connection Accepted and Comment Replied mean the tiering can be scored automatically rather than read off a screen.

Tracking it

Calculate this week's NDI for [CLIENT].

Go through every response received across posts, comments and DMs.
Classify each:

L1  Used the client's name, sent more than one message unprompted,
    mentioned the profile in their own content, or replied to a reply
L2  Asked a genuine question, or sent a connection request
L3  Generic like, one-word reply, emoji only

Count each tier. Apply: (L1 x 2 + L2) / (L1 + L2 + L3) x 10

Report:
- This week's NDI and last week's
- The count in each tier
- Every L1 event named, with the post that produced it
- Which content pillar produced the most L1 events

If NDI is below 4.0 and last week was too, recommend a 48-hour pause
and say what to audit.

Write to clients/[CLIENT]/report/ndi-[DATE].md.

The pillar attribution in the fourth bullet is the useful part. It tells you which of the seven days is actually producing conversations, and you can weight next week's calendar toward it.

One lever that moves the NDI faster than any content change: voice notes. Across 1000+ Prosp campaigns they average around a 47% reply rate against roughly 8% for written messages, and a voice reply is almost always an L1 event rather than an L3 because nobody responds to a voice note with a thumbs up. Keep them under 20 seconds and always pair one with a written message.

What the source system produced

27+ days of daily operation on one profile, as of April 2026.

Metric Result
Scheduled tasks 10, nine active and one disabled
Follower growth 45 to 55+
Posts published 7 per week, none missed
Engagement sessions Daily, 25 minutes each
Average engagement rate 3.9%
Average engagement score 8.0 / 10
L1 proof events 13+ named interactions
Non-Detection Index 5.0+ average
Detection incidents 0
Attributed sales 1, via the LinkedIn funnel, April 4 2026

Worth reading the scale honestly. This is one profile going from 45 to 55 followers, with one product sale. The value is in the method being documented daily rather than in the numbers being large.

The attribution cycle is the interesting part: post to site visit to purchase, with no manual step in between.

Adapting the benchmarks for client accounts

The source figures come from a small profile in one niche. Do not promise them to a client.

What transfers is the measurement discipline, not the numbers. Set the baseline in week one from the client's own account, then report movement against that.

Week 1 baseline for [CLIENT], measure before changing anything:
- Current engagement rate across their last 10 posts
- Current NDI across the last 30 days of responses
- Current follower count and 30-day change
- Current inbound: DMs and connection requests per week

Then report every week against these four, not against a benchmark
from someone else's account.
8 sessions left ยท booking closes in โ€”

Build it live with a GTM engineer

45 minutes, screen shared, on your own list. You leave with a working campaign or agent, not a set of notes.

5/5 rated on Capterraยท800+ agencies and sales teamsยทSet up in 5 minutes
8 GTM engineer sessions left this monthTry Prosp Free