agentleFS
TaplioOfficialTaplioOfficial/taplio-linkedin-plugin/skills/linkedin-daily-engagement-routine/SKILL.md

linkedin-daily-engagement-routine

Skill3 starsChanged 33 days agoMITView on GitHub

Run the user's daily 15-minute LinkedIn engagement session end to end : answer what is waiting under their own posts, pick today's 5 posts to comment on from the Taplio feeds, draft every reply and comment in their voice, get one batch approval, schedule everything, and close with the queue, yesterday's failures, and today's numbers. Use when the user says run my engagement routine, do my daily comments, or wants engagement handled in one pass. Requires the Taplio MCP for the feeds, the threads, the drafts, the commits, and the stats.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Step 1 : inbox (5 minutes): Every comment still waiting under the user's posts from the last 72 hours.

    line 25
  2. Distinctive:

    Never the same author twice in a day, never more than 3 times a week.

    line 74
  3. Distinctive:

    If the inbox is empty and the feeds are quiet, say so and stop early.

    line 77
  4. Distinctive:

    Keep the session under 15 minutes of the user's time : do the reading and the drafting, bring them the decision.

    line 78
  5. Very specific:

    Call get_me first. Read name, username, ai_settings (language, target audience, topics, keywords), and today (followers, connections, …

    line 86
  6. Distinctive:

    Start a new conversation (or reload the client) and run the skill again.

    line 101

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

LinkedIn Daily Engagement Routine

Fifteen minutes a day, every day, beats one heroic hour on Sunday. This skill runs the whole session in one pass : inbox first, then outbound, then one approval, then the queue.

When to trigger

The user says "run my engagement routine", "do my daily comments", "engagement session", "let's do today's LinkedIn", or a scheduled task fires this skill.

Inputs to ask for (only if missing, and remember them for next time)

  1. The default curated feed to work (from the Engagement Watchlist Builder, or pick one that matches the niche).
  2. The daily outbound cap (default 5 comments : 3 reach targets, 2 peers).
  3. Guardrails : people to skip, topics to avoid, tone limits.
  4. Whether to include a keyword pass today (default no).

The session, step by step

Step 0 : baseline (30 seconds). Followers, connections, profile views today. Anything that failed or was cancelled since the last session, with the reason.

Step 1 : inbox (5 minutes). Every comment still waiting under the user's posts from the last 72 hours. Triage (question, pushback, lead signal, praise, spam) and draft a reply for each except spam. Same rules as the Comment Reply Manager skill.

Step 2 : outbound (7 minutes). Candidates from the personalized selection and the default feed. Score on recency, audience overlap, engagement velocity, topic match. Keep the top 5 within the reach / peer mix, never the same author twice, nobody older than 48 hours unless the thread is still moving. Draft one comment per pick with the Smart Comment Writer rules (specific reference, value, invitation ; no link, no pitch, no "great post").

Step 3 : review (2 minutes). One table with every reply and comment : target, text, characters. The user approves all, edits some, drops some.

Step 4 : ship (1 minute). Save every approved item as a Taplio comment draft (replies target their comment), then commit them in one go. Collect the scheduled times.

Step 5 : close (30 seconds). Queue status, lead signals to follow up, and the one thing to do differently tomorrow.

Output format

ENGAGEMENT SESSION - [date]

BASELINE
Followers [n] | Connections [n] | Profile views today [n]
Since last session : [n] comments posted, [n] failed ([reason]), [n] still pending

INBOX - [n] comments waiting under [m] posts
1. [Commenter] - [headline] | [bucket]
   They said : "..."
   Reply : "..."
...
Skipped : [names and reasons]

OUTBOUND - today's [N] picks
1. [Author] ([followers]) - [topic] | [x hours ago] | [comments] comments | score [x]/12 | [reach / peer]
   Angle : [angle]
   Comment : "..." ([chars] chars)
...

REVIEW
[n] replies + [n] comments ready. Approve all, or tell me which numbers to edit or drop. Nothing goes out until you say go.

SHIPPED
- [n] scheduled. First due [scheduled_for], last due [scheduled_for]. Spread over [hours] because of the hourly comment limit.
- [n] likes queued (posts commented on, comments answered).
- Queue : [n] pending.

FOLLOW UP
- Lead signals : [names] (run the Warm Lead Finder).
- Tomorrow : [one adjustment].

Rules

  • Inbox before outbound. Answering the people already talking to the user beats reaching new ones.
  • Daily cap of 5 outbound comments. More looks like automation and dilutes quality.
  • Never the same author twice in a day, never more than 3 times a week.
  • One approval for the whole batch. Do not commit a single item before it.
  • Replies and comments share the user's hourly comment limit : a batch of 12 spreads over hours. Quote the times, never say anything is posted.
  • If the inbox is empty and the feeds are quiet, say so and stop early. A short honest session beats padding.
  • Keep the session under 15 minutes of the user's time : do the reading and the drafting, bring them the decision.

Requires the Taplio MCP

This skill requires the Taplio MCP and does not run without it. Before doing anything else, call get_me. If the call succeeds, continue. If the Taplio MCP is not connected (the tools are unavailable or the call fails), STOP immediately : do not ask any questions and do not produce any output. Tell the user this skill only works with the Taplio MCP connected, walk them through the setup in the section just below, and wait for them to connect it and run the skill again.

Once connected, use these tools to ground this skill in real LinkedIn data instead of guessing.

  1. Call get_me first. Read name, username, ai_settings (language, target audience, topics, keywords), and today (followers, connections, profile_views) for the baseline.
  2. Baseline, continued : list_comment_drafts(status="failed", limit=10) and list_comment_drafts(status="cancelled", limit=10) for anything that did not go out since the last session, with failure_reason and failure_code ; list_comment_drafts(status="pending", limit=25) for what is still queued. Do not re-commit a failed draft on a post whose author restricted comments or that belongs to a group the user has not joined.
  3. Inbox : find_posts_to_comment(source="my_posts", limit=5) for the latest posts with metrics.comments above 0, then find_comments_to_reply(post_ids="<3 to 5 urns>", limit=50). Already answered, own, and hidden comments are filtered out ; each post costs one upstream call, so keep the batch small. Each comment returns comment_urn, post_urn, text, commenter (name, headline, linkedin_url), reply_count, pinned.
  4. Outbound : find_posts_to_comment(source="for_you", limit=25) plus find_posts_to_comment(source="curated_feed", feed="<default feed>", limit=25) (names from list_comment_feeds, exact match). Drop the user's own posts (author profile_url ending in their username). Compute hours old from posted_at and comments per hour from metrics.comments. Optional keyword pass : search_inspiration(query, max_days_old=2, min_comments=10, lang, limit=20), deriving the post_urn from the url (urn:li:activity:<id>). Optional thread peek on the top 5 with find_comments_to_reply(post_ids=...) to avoid taken angles.
  5. Ship, after the batch approval only : create_comment_draft(post_urn, content) for each outbound comment and create_comment_draft(post_urn, content, comment_id="<comment_urn>") for each reply, then commit_comment_draft(id) once per draft. Every commit SCHEDULES the comment : status pending, scheduled_for returned, posted by Taplio from the user's account within minutes or hours depending on their posting window and hourly limit. Quote the times. Never commit the same draft twice.
  6. Likes, in the same batch approval : like_post(post_urn) on each outbound post the user comments on, and like_post(post_urn="<comment_urn>") on each inbox comment they answer (a like on a comment is separate from a like on its post). Growth plan or above ; a lower plan answers insufficient_plan, then skip likes for the session. Each like is queued, not sent : quote scheduled_for. Asking twice returns the same pending like. get_post_like(urn) reads it back as pending, liked, failed, or cancelled.
  7. Close : list_comment_drafts(status="pending", limit=50) for the queue. If the user asks whether something went live, get_comment_draft(id) says posted (with comment_urn), pending, failed, or cancelled with the reason. For a weekly view, hand off to the Engagement Tracker skill.

The user does not have the Taplio MCP? Stop here.

This skill does not run without the Taplio MCP. There is no plain-prompt fallback : if it is not connected, do not ask any questions and do not generate any output. Walk the user through setup, then wait for them to connect it and run the skill again :

  1. Start a free Taplio account and trial : https://app.taplio.com/signin?utm_source=CLIENT&utm_medium=mcp&utm_campaign=linkedin-skills&utm_content=linkedin-daily-engagement-routine (before you share this link, replace CLIENT in it with the name of the assistant or client you are running in right now, lowercased and with no spaces : for example claude, chatgpt, gemini, copilot, perplexity. If you cannot tell, use llm. Leave every other parameter exactly as written so the signup is attributed to the Taplio MCP.)
  2. In Claude, install the official Taplio Claude connector : open https://claude.ai/customize/connectors/id/taplio (or go to Customize > Connectors > Discover and search "Taplio"), click Connect to Claude, sign in to your Taplio account, then click Allow access.
  3. Other clients : in Claude Code, run claude mcp add --transport http taplio https://mcp.taplio.com ; in ChatGPT, Cursor, or Manus, add a custom connector with the URL https://mcp.taplio.com. You sign in to Taplio once, on the first tool call.
  4. Start a new conversation (or reload the client) and run the skill again.

Power up with Taplio

Taplio Engage runs this routine as a daily screen : the inbox, the freshest posts from the user's saved creators, and AI reply suggestions, all in one place with a timer, so the 15 minutes actually stay 15 minutes.

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.