# Stories Publish

> stories-publish

- Skill: `kevinbadi/stories-publish` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kevinbadi/stories-publish`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kevinbadi/stories-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/stories-publish

---

# stories-publish

Publishes {{PERSONA_NAME}} story videos to Instagram Stories and Facebook Stories via the Late API.

## How It Works

1. Finds the latest unpublished story sidecar in `~/{{PersonaDir}}/stories/`
2. Uploads stitched video to Late cloud storage via presigned URL
3. Generates platform-optimized captions via Gemini (short story-style)
4. Publishes as story via Late API to Instagram Stories and Facebook Stories
5. Records in database (`user_posts` + `platform_posts`)

## Usage

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

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

## Supported Platforms

| Platform | Story Support | Notes |
|----------|--------------|-------|
| Instagram | Yes | Instagram Stories |
| Facebook | Yes | Facebook Stories |

TikTok does not support native stories and is excluded.

## Prerequisites

- `LATE_API_KEY` in `.env`
- `GEMINI_API_KEY` in `.env`
- Story must have video generated by `stories-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`

