Skills

Playbook Social Posts

Fetches the most recent usable LinkedIn post from a company page OR a person's profile...

Install

npx skills add growthenginenowoslawski/coldoutboundskills --skill playbook-social-posts -g -a claude-code -y
Category
Engineering
Updated
1mo ago
License
MIT
Context cost
Mediumabout 1,715 tokens
Runs scripts
No, instructions only

What it does

Fetches the most recent usable LinkedIn post from a company page OR a person's profile and stores the post content itself, with an optional AI personalization line on top. Triggers on "what did they post about", "recent LinkedIn post", "social signal", "reference their content", "they posted about X", "what is this person posting", "engage with their content". Outputs social_post_text (the raw post) plus social_post_url and social_post_days_ago; social_post_line only when the operator asks for one.

Playbook: Recent Social Post

All rules here are best practice, not law. Override any of them when the campaign calls for it; note the best practice once and move on.

Use when: the campaign wants proof you read the account's content and there is no sharper structural signal (funding, new-in-role, hiring surge).

Not this playbook: who engaged with a post (playbook-linkedin-engagement); a job change (playbook-new-in-role).

Output: social_post_text + social_post_url + social_post_days_ago + social_post_author_type. Optional, on request only: social_post_line → Noticed they became an IBM Business Partner.

Six decisions that govern every run

1. The raw post is the product. The AI line is an optional layer, not the point. A human reading the actual post writes a better sentence than any generated line, and the post text is reusable for every future campaign; a generated line is not.

2. Input is a profile URL, either kind, a company page or a person. One scraper takes both.

  • Company runs: dedupe to companies, then fan the one result out to every contact there.
  • Person runs: never fan out.
  • Never guess a slug. They are frequently not what you would predict from the company name.

3. The content skip filter is mandatory and fails closed.

Skip personal, political, bereavement, and charged (religious or geopolitical flashpoints).

  • A skip takes the NEXT post. It is not an abstain.
  • Error, bad parse, or a missing skip key all mean SKIP. Only a literal "skip": false keeps the post.
  • Never disable it to raise fill.

Ordinary business content passes: memes, polls, job ads, volunteering, work anniversaries, regulation commentary.

4. Blank, never invented. Nothing usable means "" everywhere. No guess, no "N/A", no sequencer-side fallback value.

Read the whole SKILL.md on GitHub

More in Engineering