How to Repurpose a Blog Post for Instagram, LinkedIn, and X with Claude Code

Copying one blog caption to Instagram, LinkedIn, and X is quick, but it usually produces three awkward posts. Each channel asks the material to do a different job. Give Claude Code the approved article, a fact sheet,…

Copying one blog caption to Instagram, LinkedIn, and X is quick, but it usually produces three awkward posts. Each channel asks the material to do a different job. Give Claude Code the approved article, a fact sheet, and a separate brief for each destination. It can extract the claims, plan an Instagram visual sequence, draft a LinkedIn lesson, and shape a focused X post or thread.

A person still reviews each version for factual accuracy, voice, format, media, and audience fit. Once someone separately approves publication, Groniz handles OAuth, per-platform formatting, scheduling, and delivery. Groniz Connectors supports 32+ networks, including Instagram, LinkedIn, and X, but formats and settings vary by connection. The article remains the source of truth, and each social asset keeps its own review and delivery record.

One source, three review paths

Approved blog post + fact sheet
  → shared claim inventory
  → three channel briefs
  → three distinct drafts/assets
  → channel-by-channel human review
  → live Groniz settings discovery and media upload
  → separately approved schedules
  → delivery verification and native measurement

The three versions draw from the same evidence. They should not reuse the same copy.

Prerequisites

Prepare:

  • Claude Code with access to the final article and approved assets;
  • a Groniz account with the intended Instagram, LinkedIn, and X connections;
  • a supported route from Claude Code: Skill, CLI, or MCP;
  • a source fact sheet with approved links and exclusions;
  • rights-cleared media for Instagram or any other visual version; and
  • one reviewer authorized to approve copy and another explicit step for publication.

Groniz supports Instagram through its standard Facebook-Business connection and a standalone connection. LinkedIn connections can point to profiles or Pages. Choose the exact destination before approving the voice, media, or format because each connection can have different capabilities.

For a fuller setup walkthrough, see social posting with Claude Code. The Instagram automation guide, LinkedIn human-review guide, and X thread workflow cover channel-specific review decisions.

Claude Code can use the Groniz Skill, CLI, or remote MCP server. Install the standard Skill with:

npx skills add groniz/groniz-cli

For a terminal workflow you can inspect as it runs, install and authenticate the native CLI:

curl -fsSL https://groniz.com/install.sh | sh
groniz auth:login

Or create a Groniz API key and connect Claude Code to the remote MCP endpoint:

claude mcp add --transport http groniz https://mcp.groniz.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Do not put the API key in the article source, control file, prompts, or version control. The CLI examples below expose each delivery step. The editorial process stays the same if Claude Code uses the Skill or MCP instead.

Decide what each channel version should do

Start with the job of each version, not its word count:

  • On Instagram, make one idea easy to grasp visually. Use the caption for context that the asset cannot carry.
  • On LinkedIn, connect one finding to professional experience, a decision, or a useful operating lesson.
  • On X, make one sharp, supportable point or write a short sequence in which every post earns its place.

Instagram's Best Practices treats creation, engagement, reach, monetization, and guidelines as separate concerns. LinkedIn's AI writing guidance recommends giving the tool specific input, treating its output as a first draft, and having the author review it with their own expertise. Both sets of guidance support a separate review for each channel instead of mechanical duplication.

Prepare a claim inventory

Point Claude Code to the exact approved article revision rather than an old research folder. If the article is public, record its canonical URL. If it has not been published yet, use the approved destination URL as a placeholder and resolve it before scheduling any social post.

# Repurposing control file

Canonical article: content/agent-review-boundaries.md
Source revision: <approved-commit-or-version>
Canonical URL: https://example.com/blog/agent-review-boundaries
Audience: technical founders building publishing workflows

Approved claims:
- Draft approval and publication approval solve different risks.
- Live integration settings should be discovered before scheduling.
- Media must be uploaded before a delivery request uses it.

Approved example:
- Release-note workflow in section 4

Available media:
- diagrams/review-boundary-v3.png (owned by Example Studio)

Exclude:
- Draft benchmark data in research/
- Customer names
- Unreleased product details

A claim inventory stops a polished social draft from quietly restoring a caveat or statistic that the final edit removed. Recording the source revision also makes later corrections traceable. Check the canonical URL again immediately before scheduling instead of trusting the value in a copied draft.

Reusable three-channel prompt

Read the canonical article and repurposing-control.md. Use no other factual
sources. First return a claim-to-section map.

Then produce three independent concepts:

Instagram: recommend a format, write a frame-by-frame visual brief, caption,
accessibility notes, and rights questions.

LinkedIn: choose one professional lesson, draft a first-person or Page version
as specified, and mark the sentence requiring author expertise.

X: draft either one focused post or a short thread. Explain why the idea needs
that format. Keep every claim traceable to the article.

For all versions, carry the canonical URL in the draft metadata and recommend
where it belongs in the final version. Mark missing evidence [VERIFY], and list
anything omitted because it does not fit. Avoid copying the same hook or
paragraph across channels. Save drafts separately. Do not publish or schedule
anything.

The omission list tells the reviewer whether Claude Code made a deliberate channel choice or lost context while shortening the article.

Review three different artifacts

Begin with the same factual review for all three:

  • Every claim maps to the final article.
  • The canonical URL is correct.
  • Names, numbers, dates, and quotations match.
  • Excluded research and internal details remain excluded.
  • Rights are recorded for every visual element.

Then perform native review:

Instagram

Review the rendered asset at phone size. Give each frame one job. The first frame should make a promise the article can support, while the caption should add context instead of repeating every frame. Check the contrast and type size, then read the accessibility notes alongside the visual. Before approval, confirm that the chosen Facebook-Business or standalone Instagram connection supports the requested format.

LinkedIn

Have the named author rewrite the sentence marked for their expertise. Confirm whether the destination is a profile or Page, then review the draft in the corresponding voice. The post should offer a professional lesson rather than compress the article into a caption. Its closing line should invite a useful response without resorting to engagement bait.

X

Cut repeated setup. A single post needs to stand on its own, while every post in a thread needs to make sense in sequence. Groniz's X provider caps each post at 4,000 characters and authorizes through OAuth 1.0a. It does not send image alt text. If you attach an image, put its essential meaning in the post text rather than relying on that metadata. Decide whether this limitation is acceptable before attaching media, then check the live integration settings for the current required fields and available tools.

Approve every final artifact separately. A strong LinkedIn draft says nothing about whether the Instagram carousel is ready, even when both came from the same article.

Build a small publication manifest

A small manifest gives the scheduling review something concrete to inspect:

source: content/agent-review-boundaries.md
source_revision: <approved-commit-or-version>
canonical_url: https://example.com/blog/agent-review-boundaries
items:
  - channel: instagram
    draft: social/instagram/review-boundaries.md
    media: social/instagram/review-boundaries-v3.png
    approved: false
  - channel: linkedin
    draft: social/linkedin/review-boundaries.md
    approved: false
  - channel: x
    draft: social/x/review-boundaries.md
    approved: false
publication_approved: false

Keep content approval attached to each item. Add integration IDs, times, uploaded paths, and publication approval only after live discovery and final review. If the article revision or canonical URL changes, reopen the reviews for any affected social assets.

Discover, upload, and schedule with Groniz

Authenticate once, then inspect every target individually:

groniz whoami
groniz integrations:list
groniz integrations:settings INSTAGRAM_INTEGRATION_ID
groniz integrations:settings LINKEDIN_INTEGRATION_ID
groniz integrations:settings X_INTEGRATION_ID

Capabilities vary by channel and connection. Read each settings response for the required fields, current content limit, and available integration tools. A payload that works for one Instagram connection tells you nothing about what a LinkedIn Page or X connection will accept.

Upload every approved media file before scheduling:

groniz upload ./social/instagram/review-boundaries-v3.png

Store the returned .path in the matching manifest item. A local path or external media URL cannot replace it. Have Claude Code build one payload at a time from the live schema. Before asking for publication approval, display the resolved account, content, media, time, and timezone.

Use a separate command and settings object for each destination:

groniz posts:create \
  -c "APPROVED_INSTAGRAM_CAPTION" \
  -m "<returned-groniz-media-.path>" \
  -s "2026-08-15T16:00:00Z" \
  -t schedule \
  -i "INSTAGRAM_INTEGRATION_ID" \
  --settings '<instagram-required-settings-json>'

groniz posts:create \
  -c "APPROVED_LINKEDIN_CONTENT" \
  -s "2026-08-15T17:00:00Z" \
  -t schedule \
  -i "LINKEDIN_INTEGRATION_ID" \
  --settings '<linkedin-required-settings-json>'

groniz posts:create \
  -c "APPROVED_X_CONTENT" \
  -s "2026-08-15T18:00:00Z" \
  -t schedule \
  -i "X_INTEGRATION_ID" \
  --settings '<x-required-settings-json>'

The Instagram -m value must be the .path returned by the upload. Resolve every settings placeholder from that destination's live integration response, and request publication approval for each final command. If the approved X asset is a thread rather than one post, prepare and review its channel-specific payload instead of using the single-post template above. These commands are templates. When a saved example conflicts with the live schema, follow the live schema.

Verify delivery and isolate failures

For each item, record the Groniz post ID, integration, scheduled time, status, and platform URL when Groniz returns them. Verify every scheduled state independently. One successful channel does not make the whole manifest complete.

If a request fails, isolate it:

  • reauthenticate for identity errors;
  • resolve the target again for an account mismatch;
  • refresh that integration's settings for schema or length errors;
  • upload rejected media again and replace only its .path;
  • check scheduled posts before retrying an ambiguous response; and
  • reopen publication approval when content, media, destination, or time changes.

An Instagram format problem should not trigger needless changes to LinkedIn copy that has already passed review.

Measure each version on its native surface

Choose the purpose of each post before reading its results. On Instagram, examine the native insights available to that account and format. Depending on the LinkedIn surface, useful measures may include impressions or reach, clicks, reactions, comments, and reposts. On X, use the native post analytics available to the account.

Record the concept, format, human edits, publication window, and native measures for each version. Comparing raw totals across three platforms rarely tells you much. Read each result in the context of its channel, then change one element in the next cycle.

Once the source controls and review gates are ready, connect the three destinations through Groniz Connectors.