AnnualReports
Aggregate several hundred cybersecurity annual reports from CrowdStrike, Mandiant, IBM, Verizon, Microsoft, CISA, OWASP, Wiz,…
Multi-platform social syndication CLI: post text and media to X, LinkedIn, Bluesky, and Instagram from one command, with per-platform limits, --dry-run, status checks; also X Articles, podcast episodes to Omny, newsletter shares. USE WHEN broadcast, post to social media,
Claude Code
$ npx -y skills add danielmiessler/lifeos --skill Broadcast --agent claude-code
Codex
$ npx skills add danielmiessler/lifeos --skill Broadcast -a codex -y
Cursor
$ npx skills add danielmiessler/lifeos --skill Broadcast -a cursor -y
Gemini CLI
$ npx skills add danielmiessler/lifeos --skill Broadcast -a gemini-cli -y
GitHub Copilot
$ npx skills add danielmiessler/lifeos --skill Broadcast -a github-copilot -y
OpenCode
$ npx skills add danielmiessler/lifeos --skill Broadcast -a opencode -y
Windsurf
$ npx skills add danielmiessler/lifeos --skill Broadcast -a windsurf -y
name: Broadcast
metadata:
short-description: "Publish to X, LinkedIn, Bluesky, Instagram, X Articles, and Omny podcasts from one CLI; copy is written elsewhere first."
version: 1.7.3
evals:
deterministic:
- command: 'bun "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/Broadcast/src/index.ts" post --content "**Testing** my Broadcast setup" --platforms twitter --dry-run'
falsifier: "the dry run does not print the TWITTER preview box and 'Dry run complete' with exit 0, so the CLI, its X text validation or its preview path is broken (sends nothing, needs no credentials)"
description: "Multi-platform social syndication CLI: post text and media to X, LinkedIn, Bluesky, and Instagram from one command, with per-platform limits, --dry-run, status checks; also X Articles, podcast episodes to Omny, newsletter shares. USE WHEN broadcast, post to social media, cross-post, post to all, syndicate, publish to all platforms, post to Instagram, check platform status, post this everywhere, share the newsletter, edition share card, newsletter share card, sponsor thank-you in the share. NOT FOR writing the copy itself, X-only ops (X), Substack."**Contents:** Ideal State · Intent Routing · Platforms · Data & Config · Gotchas · Examples
Posts to X/Twitter, LinkedIn, Bluesky and Instagram from one command, and also publishes X Articles, podcast episodes to Omny Studio and newsletter share posts. It checks each platform's character and media limits before sending, previews with `--dry-run`, and reports per-platform status. Auth is per platform (table under Platforms; first-time setup in `Setup.md`, day-two auth in `Intents/Auth.md`). X posting runs through the public `X` skill's tools and its OAuth 2.0 token store. This skill posts; it does not write the copy, which comes from a copywriting skill or the principal first.
| Intent | Trigger | File | |--------|---------|------| | **X** | "post to X", "tweet", "post to Twitter" | `Intents/X.md` | | **Article** | "post an article to X", "publish as an X article", "long-form on X", "intro post plus article link" | `Intents/Article.md` | | **LinkedIn** | "post to LinkedIn", "LinkedIn post" | `Intents/LinkedIn.md` | | **Bluesky** | "post to Bluesky", "Bluesky post" | `Intents/Bluesky.md` | | **Instagram** | "post to Instagram", "Instagram post", "reel", "carousel" | `Intents/Instagram.md` | | **Podcast** | "post as podcast", "publish podcast episode", "put this on the podcast", "Omny" | `Intents/Podcast.md` | | **ShareNewsletter** | "share the newsletter", "newsletter share post", "post the newsletter to LinkedIn", "share this week's edition", "edition share card", "sponsor thank-you in the share" | `Intents/ShareNewsletter.md` | | **Post** | "broadcast", "post to all", "cross-post" | `Intents/Post.md` | | **Status** | "check status", "platform status" | `Intents/Status.md` | | **Auth** | "configure", "auth", "setup platform" | `Intents/Auth.md` | | **SecurityValidation** | "validate content", "check post" | `Intents/SecurityValidation.md` |
| File | Read when | |------|-----------| | `Setup.md` | first-time setup: the Config.md fields, each platform's account and secrets, the scheduled token renewal, and the proof it works | | `Tools/` | running a platform tool directly; `Tools/LinkedInAuth.help.md` is the full `LinkedInAuth.ts` contract (the tool itself prints a one-line usage) |
| Platform | Auth | Images | Videos | Media limits | Text limit | |----------|------|--------|--------|--------------|------------| | Twitter/X | OAuth 2.0 user context (the X skill's token store); OAuth 1.0a keys for text only | Up to 4 | 1 per post | Images: 5MB, Videos: 512MB | 280 weighted characters (URLs = 23) | | LinkedIn | OAuth 2.0 access token | Up to 20 (multiImage) | 1 per post | Images: 8MB, Videos: 500MB | 3,000 | | Bluesky | App password | Up to 4 | 1 per post | Images: 1MB, Videos: 50MB | 300 | | Instagram | Instagram Login (60-day token) | Up to 10 (carousel) | 1 (Reel) | Images: 8MB JPEG, Videos: 300MB | 2,200 | | Podcast (Omny Studio) | OMNYSTUDIO_API_KEY | | | | | | X Articles (long-form) | Same X OAuth 2.0 store | | | | |
**Supported formats:**
`--media` takes local file paths only; a remote URL fails with "Media file not found". **Instagram is media-required** (no text-only posts) and JPEG-only for images; its R2 staging contract is in `Intents/Instagram.md`.
Post logs append to `LIFEOS/MEMORY/STATE/Broadcast-YYYY-MM-DD.jsonl` under your LifeOS directory (`~/.claude/LIFEOS` by default; `LIFEOS_BROADCAST_LOG_DIR` overrides it), outside the skill dir. The CLI entry points are `bun ${LIFEOS_SKILL_DIR}/src/index.ts` and its alias `Tools/Broadcast.ts`; each intent carries its own commands.
##
⛰️ LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.
Aggregate several hundred cybersecurity annual reports from CrowdStrike, Mandiant, IBM, Verizon, Microsoft, CISA, OWASP, Wiz,…
3-pass scope oscillation that holds a question constant while shifting zoom — narrow/tactical, wide/strategic, then synthesis —…
Curated aphorism collection with CRUD: content-based matching, themed search, thinker research, and usage tracking to avoid…
Search and retrieve arXiv academic papers by topic, category, or paper ID — with AlphaXiv-enriched AI-generated overviews. Uses…
Static visual content in 20+ formats (diagrams, infographics, comics, icons, wallpaper) via Nano Banana Pro by default, Nano…
Directs visual quality across images, films, slides, and site captures through a direction council, two vendors' vision judgments…
Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…