AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Draft Post

skill-spirosbax-insaight-draft-post · by spirosbax

Draft a LinkedIn post for the user's own company page, in that company's own voice, plus an optional visual brief. Reads COMPANY_NAME and COMPANY_LINKEDIN from insaight:get_config, loads the company's real past posts through the Insaight MCP, extracts their hook, structure, length, emoji, hashtag and language patterns, then writes two variants against that reference. If the user pastes a link, fe…

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-spirosbax-insaight-draft-post

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-spirosbax-insaight-draft-post)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Draft Post? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Insaight — Draft LinkedIn Post

Write posts for the user's own company page (COMPANYNAME and COMPANYLINKEDIN 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 reports unconfigured: true, ask the user to edit the file at the returned path before saving to Notion.

  • Read cheaply: list_accountslist_posts (slim index) → get_posts on

the few URNs worth reading (max 20 per call). list_people / list_comments are free; the scrape_* tools call Apify and cost money — only scrape when data is missing or stale.

  • Engagement benchmarks (adjust for the niche): "I couldn't fetch the full article at [URL]. Paste the key paragraph or stat

> you want to build the post around and I'll draft from that."

Treat the fetched content as the brief for Step 3 — the URL is the brief, so don't ask the user to restate it.


Step 3 — Understand the brief

The user has given a topic, angle, rough idea, or URL. Before drafting, settle internally:

  • Goal: Awareness, thought leadership, lead gen, community, announcement,

opinion?

  • Audience: Prospects, peers, recruits, partners, or general?
  • Angle: What is the non-obvious take that makes this worth posting rather

than filler?

  • Evidence: Is there a specific story, stat, customer, or moment to anchor

it? Concrete anchors are what make a post land, so flag it when the user hasn't supplied one.

If the brief is very thin (a few words, no angle), ask one clarifying question first — drafting twice costs more than asking once:

> "Quick question before I draft: is this meant to build [COMPANY_NAME]'s > thought leadership on [topic], or is there a specific story / moment / > customer angle you want to anchor it to?"


Step 4 — Draft two variants

Produce two variants, both in [COMPANY_NAME]'s extracted voice. Two lets the user choose a direction instead of critiquing a single draft.

Variant A — Hook-led / insight-first

Opens with the sharpest statement, stat, or provocation and reaches the point in line 1; the rest supports or expands it. Suits opinion pieces, contrarian takes, industry observations.

Variant B — Story-led / scene-first

Opens inside a moment, conversation, or situation, with the insight landing at the end. Suits customer stories, team moments, "we learned this the hard way" posts.

Match the reference for each variant:

  • Line break density — don't default to dense paragraphs if their posts are

staccato, or vice versa.

  • Emoji frequency and placement.
  • CTA style — if [COMPANY_NAME] never hard-sells, a "DM us" closer breaks the

voice; only add one if the sample shows it.

  • Hashtag count and placement.
  • The language(s) they post in, unless the user asks for another.
  • Their typical length range from Step 2.

Step 5 — Visual brief (optional, on by default)

After the drafts, add a short visual brief that can go straight to a designer or into an image generation tool:

🎨 Visual brief

Format: [square / landscape / portrait — match LinkedIn norms]
Style: [photography / illustration / data visual / screenshot / etc.]
Mood: [adjectives — e.g. "clean, optimistic, technical"]
Main element: [what should dominate the frame]
Text overlay: [suggested 3–8 word headline to overlay, if any]
What to avoid: [clichés this topic attracts — e.g. "no stock handshake photos"]

Image prompt (copy-paste ready):
"[full prompt]"

Make the image prompt specific about style, composition, subject, lighting and mood; a generic prompt produces generic stock-looking output.

If a visual would feel bolted on (pure opinion piece, personal reflection), say so and skip the brief.


Step 6 — Show your work briefly

Lead with 2–3 lines before the drafts:

  • Which style signals you're matching from the loaded posts.
  • Which angle you're leading with, and why.

This lets the user course-correct before reading two full drafts.


After drafting

  • Offer to iterate: "Want me to sharpen the hook, change the angle, or try a

different format?"

  • Produce a third variant or a specific format (carousel, poll, video script)

on request.

  • Don't save drafts to Notion — save-notion is for research briefs, and drafts

aren't research. Only save if the user explicitly asks.

  • If the user says they published it, offer to scrape it into the Insaight DB

so it joins the style reference for next time.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.