# Infographic Publish

> infographic-publish

- Skill: `kevinbadi/infographic-publish` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kevinbadi/infographic-publish`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kevinbadi/infographic-publish/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kevinbadi (https://skillmd.com/u/kevinbadi)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kevinbadi/infographic-publish

---

# infographic-publish

Publishes {{PERSONA_NAME}} infographic posts to Instagram, Facebook, and Twitter/X via the Late API.

## How It Works

1. Finds the latest unpublished infographic sidecar in `~/{{PersonaDir}}/infographics/`
2. Uploads infographic image to Late cloud storage via presigned URL
3. Generates platform-optimized captions via Gemini (long-form for IG/FB, 280-char for Twitter)
4. Publishes as image post via Late API
5. Records in database (`user_posts` + `platform_posts`)

## Usage

```bash
node skills/infographic-publish/scripts/infographic-publish.js [options]

Options:
  --infographic "path/to/infographic.json"   # Specific infographic (default: latest unpublished)
  --platforms "instagram,facebook"           # Filter platforms (default: instagram,facebook,twitter)
  --schedule "2026-03-05T09:00:00"           # Schedule post (default: publish now)
  --dry-run                                  # Show what would be posted, skip publish
```

## Supported Platforms

| Platform | Notes |
|----------|-------|
| Instagram | 4:5 feed post with long-form caption + hashtags |
| Facebook | Feed post with written caption + {{SKIP_ACCOUNT}}.ws link |
| Twitter/X | Image tweet, 280 char limit — short punchy caption |

No YouTube (no image posts) or TikTok (video-first, low static reach).

## Prerequisites

- `LATE_API_KEY` in `.env`
- `GEMINI_API_KEY` in `.env`
- Infographic must be generated by `infographic-gen`
- Platform accounts connected in Late (see SOCIALS.md)

## Output

- Updates sidecar JSON with `published_at` and `late_post_id`
- Database rows in `user_posts` and `platform_posts`

