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 draft-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/draft-post)<a href="https://agentmods.dev/skills/spirosbax/insaight/draft-post"><img src="https://agentmods.dev/badge/skills/spirosbax/insaight/draft-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/draft-post"><img src="https://agentmods.dev/badge/skills/spirosbax/insaight/draft-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.00219 | $0.02090 |
| Opus 5.5 | $0.00088 | $0.00836 |
| Sonnet 5.5 | $0.00044 | $0.00418 |
| Haiku 4.5 | $0.00022 | $0.00209 |
Grade A, and why
draft-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 — 210 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Insaight — Draft LinkedIn Post
Write posts for the user's own company page (COMPANY_NAME and COMPANY_LINKEDIN
from insaight:get_config()) by loading that company's actual published posts
first and using them as the style reference. The company's own archive is the
only reliable source of their voice — anything drafted from general LinkedIn
instincts will sound like everyone else's LinkedIn.
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.
Step 1 — Load [COMPANY_NAME]'s past posts (style source of truth)
Check whether [COMPANY_LINKEDIN] posts are already in the DB:
insaight:list_posts(account="[COMPANY_LINKEDIN]", limit=30)
If the account returns no posts, scrape once (this costs Apify credits, so avoid repeating it):
insaight:scrape_profile(url="https://www.linkedin.com/company/[COMPANY_LINKEDIN]/", max_posts=30)
insaight:list_posts(account="[COMPANY_LINKEDIN]", limit=30)
Then pull the full text of the 8–12 most recent or most engaged posts:
insaight:get_posts(urns=["urn:li:activity:...", ...])
Pick posts spanning several formats (story, insight, announcement, question). A sample drawn from one format teaches only that format's voice.
Cache these for the whole conversation. Re-fetching on every iteration burns tokens and can shift the style reference mid-thread.
Step 2 — Extract style patterns
Read the fetched posts and note:
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 · 210 lines · 219 tokens per session scan A daadca4c9a4c
draft-post is a skill published in the GitHub repository spirosbax/insaight (33 stars, last pushed 19d ago), licensed MIT. It adds 219 tokens to every session and 2,090 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.