Systems Lab

Agent skill

linkedin-limits-and-safety

LinkedIn account safety for outbound: how many connection requests, messages, profile visits, reactions and comments per day are safe, invitation-note character limits (200 vs 300), pending-invite hygiene, warm-up sequencing, weekday and working-hour pacing, restriction warning signs, and a weekly health check.

activeSelf-containedInstructions only708 words

Filed under LinkedIn and social.

From gtmotto/gtm-skills · 5 skill entries · 1 · pushed 2026-09-21

What it does when it runs

LinkedIn account safety for outbound: how many connection requests, messages, profile visits, reactions and comments per day are safe, invitation-note character limits (200 vs 300), pending-invite hygiene, warm-up sequencing, weekday and working-hour pacing, restriction warning signs, and a weekly health check. Use when the user asks 'how many invites per day is safe', 'is my LinkedIn account at risk', 'LinkedIn jail', 'weekly invitation limit', 'restricted', 'connection request limit', 'why was my invite not sent', or wants to pace a LinkedIn outreach account. Tool-agnostic: the numbers hold whatever sends the action.

Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about linkedin-limits-and-safety

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/gtmotto/gtm-skills.git /tmp/gtm-skills
git -C /tmp/gtm-skills sparse-checkout set "skills/linkedin-limits-and-safety"
mkdir -p ~/.claude/skills/linkedin-limits-and-safety
cp -R "/tmp/gtm-skills/skills/linkedin-limits-and-safety/." ~/.claude/skills/linkedin-limits-and-safety/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 5 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add gtmotto/gtm-skills
/plugin

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from gtmotto/gtm-skills/blob/7e851d8ce8ead8d3f6eff579deabfbfc0e0d4ef9/skills/linkedin-limits-and-safety/SKILL.md, which is licensed MIT (repository). 708 words, 5 headings.

LinkedIn limits and safety

Every number below is per LinkedIn account per day, whatever tool sends the action. They were tuned against real LinkedIn throttling and against the ceiling most automation providers allow (roughly 80 to 100 invites a day), and they are deliberately lower than that.

The caps

ActionPer account, per dayWhy this number
Connection requests20LinkedIn's public guidance is about 100 a week; 20 a day on weekdays lands at 100 with no spikes
Direct messages40replies count; a conversation is many messages
Profile visits40the warm-up step; visits are the least sensitive action
Reactions30second warm-up step
Comments15comments are public and attributable; keep them rare and good

Sum: 145 actions a day. Treat it as the ceiling for one account across every tool that touches it. The reason to lower it is a new or thin account, never a crowded one.

Other rules that cost more than the caps when broken:

  • Invitation notes are 200 characters on a free seat, 300 on Premium. LinkedIn does not negotiate: a 242-character note from a free seat is rejected and the invite is never sent. Write for 200 unless the seat is known Premium.
  • Weekdays only. A connection request on a Sunday morning is what gets you reported. Working hours matter less (a message read at 08:00 bothers nobody).
  • Warm up before inviting. Visit the profile on day 0, react or comment on a post two days later, then invite. Skip posts older than 10 days; engaging with a two-month-old post looks like what it is.
  • Withdraw stale pending invites. Over 3 weeks pending, withdraw. A pile of ignored requests is the strongest "this is automation" signal LinkedIn has.
  • Acceptance rate under 30 percent means stop and fix targeting, not send more.
  • Never search-and-invite from a fresh account. Under 3 months old or under 200 connections: half the caps for the first month.

Warning signs, in order

  1. "You've reached the weekly invitation limit" earlier in the week than usual.
  2. Search results that stop paging ("commercial use limit").
  3. A CAPTCHA or a "verify your identity" prompt at login.
  4. Invitation notes silently dropped (the invite arrives without the text).
  5. A temporary restriction. Stop everything for a week, withdraw pending invites, log in from the usual device only.

At sign 1 or 2: halve the invite cap for two weeks. At sign 3: pause every tool that touches the account for 72 hours. At sign 5: do not appeal with "I use a tool".

Weekly health check

Run every Monday. One line per question, yes or no:

  • Invites sent last week under 100? Acceptance rate above 30 percent?
  • Pending invites older than 3 weeks withdrawn?
  • Any action sent on a weekend?
  • Any note over 200 characters on a free seat?
  • Any day with visits, reactions or comments at the cap? (Cap days are fine occasionally; five in a row is a pattern.)
  • Replies to messages within 24 hours? A conversation that is opened by a tool and abandoned by a human is the thing that earns the "I'm not interested in your bot" screenshot.

The report

Write the answer in plain English, one screen, no table dump:

Account: <name>, <free | Premium>. Today <used>/<cap> actions.
Invites 12/20, messages 8/40, visits 31/40, reactions 14/30, comments 3/15.
Last 7 days: <invited> invited, <accepted> accepted (<rate>%). <verdict>.
Weekdays, <start> to <end> <tz>. Cap: <fine | lower it because ...>.
Tools touching this account: <names>. Pending invites over 3 weeks: <n>, withdrawn.
Next check: Monday.

Verdict rules: acceptance under 30 percent, say "fix targeting before sending more"; any action at cap for 5 days running, say "pattern, lower the cap"; any warning sign from the list above, say "pause, then halve the cap for two weeks".


If the account runs on GTM Otto, the GTM Otto plugin's linkedin-safety-check skill reads the seat and today's usage and writes this report for you. It needs a GTM Otto account.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what linkedin-limits-and-safety does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.