agentleFS
matthewdonsemail-labmatthewdonsemail-lab/log/.claude/skills/log-linkedin-network/SKILL.md

log-linkedin-network

Skill63 starsChanged yesterdayMITView on GitHub

Growing a LinkedIn network, and reading and answering its inbox. A log play (docs/useCases/linkedin/network.md): Invite the people LinkedIn suggests on My Network, slowly, and read and answer the account's conversations, from its own session with no browser.

The file

Files
SKILL.md

Growing a LinkedIn network, and reading and answering its inbox

This is the log play linkedin/network. Before anything else, call the log MCP tool getGuide({ useCase: "linkedin/network" }): it returns this page and makes it the session's play, so every log tool's answer says which step you are on and a send with no play loaded is refused (rules 157, 158). Then follow the steps in order.

Draft every message from that person's own thread and matt's real replies (voice with no text, search), never from memory, and never send two that read alike (sameAsSent).

Invite the people LinkedIn suggests on My Network, slowly, and read and answer the account's conversations, from its own session with no browser.

How the owner asks for it: "connect with people on linkedin", "who does linkedin suggest", "read my linkedin messages", "what did <someone> say on linkedin", "reply to <someone> on linkedin"

Run it from a fresh context

Say: "go on docs/useCases/linkedin/network.md", with who to invite or whose messages to read. The agent reads this page and runs the steps.

The steps

#StepToolDone when
0The account is known and signed inlocalAccountList {}, then linkedinSessionCheck { account }; if it isn't, the owner runs log linkedin cookies save --account <publicId> in a terminalloggedIn as that profile
1See who LinkedIn suggestslinkedinSuggestions { account }the people on My Network, each with a public id
2Pick who to invite with the owner, and dry run itlinkedinConnect { account, profile }the dry run names the person and the pace left today
3Invite one personlinkedinConnectLive { account, profile, approvedBy: "<owner>", confirmLive: true }LinkedIn sets the invitation to Pending
4List the inboxlinkedinInbox { account }the 20 newest conversations, who wrote last and when
5Read one conversationlinkedinMessages { account, with } or { account, conversation }every message in it, attachments and voice messages marked
6Answer them, when asked: show the owner the draft firstlinkedinMessage { account, with, text }, then linkedinMessageLive { account, with, text, approvedBy: "<owner>", confirmLive: true }LinkedIn names a new message with each line's text
7Tell the owner what came backthe reply to the ownerwho was invited, or what they said, with times

What the runs taught

  • Only people LinkedIn suggests. Connect sends the request My Network's own Connect button sends, read out of the page for that person. Someone not suggested is profileNotSuggested.
  • Slow on purpose. One invitation a run, 15 minutes apart, at most 5 in 24 hours (connectTooSoon, connectDailyCap). The pace is checked before the governor counts a write, so a refused one costs nothing.
  • LinkedIn's "invitation not sent" is a stop. It is connectRefused and counts as a throttle: nothing more goes out until the owner says so (rule 94).
  • One message per line. A draft on several lines goes out as that many messages, each with LinkedIn's typing signal first; asOne sends it as one. The first line LinkedIn doesn't confirm stops the rest.
  • Only existing conversations. A first message to someone the account has never written to isn't built.
  • Reading marks nothing seen. The inbox and a conversation are read with the calls the web client makes to list and open them, and none of the calls that mark a conversation seen.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.