Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add spirosbax/insaight --skill research-postgit clone --depth 1 https://github.com/spirosbax/insaightWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/spirosbax/insaight/research-post)<a href="https://agentmods.dev/skills/spirosbax/insaight/research-post"><img src="https://agentmods.dev/badge/skills/spirosbax/insaight/research-post/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/spirosbax/insaight/research-post"><img src="https://agentmods.dev/badge/skills/spirosbax/insaight/research-post.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00217 | $0.01638 |
| Opus 5.5 | $0.00087 | $0.00655 |
| Sonnet 5.5 | $0.00043 | $0.00328 |
| Haiku 4.5 | $0.00022 | $0.00164 |
Grade A, and why
research-post scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Insaight — Post Research
Turn a single LinkedIn post into a map of the people around it. The post is usually the least interesting part: the comment thread is where prospects self-identify — describing their own pain in their own words, naming the tools they already pay for, arguing with the author. Read the thread as a lead list, not as a conversation.
Shared conventions (all Insaight skills):
- Call
insaight:get_config()once per session for the user's Notion pages and company name/slug. If it reportsunconfigured: true, ask the user to edit the file at the returned path before saving to Notion. - Read cheaply:
list_accounts→list_posts(slim index) →get_postson the few URNs worth reading (max 20 per call).list_people/list_commentsare free; thescrape_*tools call Apify and cost money — only scrape when data is missing or stale. - Engagement benchmarks (adjust for the niche): < 10 likes low, 10–40 normal, 40+ high signal — read those in full.
Workflow
Step 1 — Get the post URL
Either form works:
https://www.linkedin.com/posts/AUTHOR_SLUG-activity-ID-TOKENhttps://www.linkedin.com/feed/update/urn:li:activity:ID
If the user only described the post, ask for the URL — comment scraping is keyed on it, and there is no reliable way to search your way back to a specific post from a description.
Step 2 — Load the post itself
Check what is already stored before spending anything:
insaight:list_posts(account="author-slug")
If the post isn't tracked, scrape the author. This stores their whole recent feed, so any later work on the same author is free:
insaight:scrape_profile(url="author profile or company page URL", max_posts=30)
Then read the full text:
insaight:get_posts(urns=["urn:li:activity:..."])
Read the post before the comments. The same remark ("we've been fighting this for months") means something different under a hiring announcement than under a product launch, and you can only grade the comments against what prompted them.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago First seen · 168 lines · 217 tokens per session scan A 8b346e98b29c
research-post is a skill published in the GitHub repository spirosbax/insaight (33 stars, last pushed 19d ago), licensed MIT. It adds 217 tokens to every session and 1,638 once invoked, about $0.0009 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-14.
Other skills, from other repositories
linkedin-outreach
Use when running LinkedIn social selling as a repeatable motion — Sales Navigator saved searches and trigger alerts, weekly request budgets, fixing a low acceptance rate, turning profile views and post engagers into warm threads, logging every touch. NOT the note or DM copy (that is cold-outreach), NOT the deal after…
driver
You are the brain driving a LinkedIn outreach framework over MCP. The framework is the hands and a server-side safety gate. You do the reasoning and write the copy; the gate decides what actually sends. Your job is to run one bounded cycle of outreach for a single account and then stop.
recruit-outreach
Personalized Recruiting Outreach — LinkedIn InMail templates, cold email, second-touch follow-ups customized to the candidate's background.
linkednav
Run LinkedIn outreach on the user's own LinkedNav account through the LinkedNav MCP server. Use when the user wants their outreach audited, a campaign created, launched, paused or diagnosed, leads found from buying signals, outreach messages written, replies read or answered, contacts enriched, or results reviewed…
linkedin-outreach
LinkedIn outreach across connection requests, InMails, comment engagement, and DM sequences.
outreach-message-skill
When a LinkedIn prospect connects, updates their status in the master tracker, creates their outreach message file, and generates a ready-to-post comment on their latest post.