Agent skill

Upload Post

by davepoon in davepoon/buildwithclaude

Publish and schedule content to 15 social platforms through one Upload-Post API call: TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Reddit, Discord, Telegram…

MITAuto-check passedWriting & Content

Install Upload Post

skills CLI
$ npx skills add davepoon/buildwithclaude --skill upload-post -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davepoon/buildwithclaude upload-post --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davepoon/buildwithclaude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/all-skills/skills/upload-post .claude/skills/upload-post && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
upload-post
GitHub stars
3.6k
Token cost
~1.6k tokens
SKILL.md length
590 words
Files
1
Skills in repo
245
Repo updated
First seen
Licence
MIT

At a glance

Publish and schedule content to 15 social platforms through one Upload-Post API call: TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Reddit, Discord, Telegram…

  • Works in 5 steps: Authenticates with Authorization: Apikey… → Posts video, photos, text, or documents… → Optionally schedules the post instead of… → …
  • The user wants to post
  • SKILL.md covers When to Use This Skill, What This Skill Does, Prerequisites and How to Use, plus 4 more sections
  • Calls curl; reaches api.upload-post.com and docs.upload-post.com; needs UPLOAD_POST_API_KEY

What it does

Upload Post is an agent skill from davepoon/buildwithclaude. Publish and schedule content to 15 social platforms through one Upload-Post API call: TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Reddit, Discord, Telegram, Mastodon, WordPress, and Google Business Profile. Use when the user wants to post or schedule a video, photo carousel, text, or document across several platforms at once, check upload status, pull analytics, or run Instagram comment-to-DM funnels.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Writing & Content, covering Social media posts and Local SEO. It works with Instagram, Reddit, YouTube and WordPress. The repository describes itself as: A single hub to find Claude Skills, Agents, Commands, Hooks, Plugins, and Marketplace collections to extend Claude Code, Claude Desktop, Agent SDK and OpenClaw. The licence is MIT.

When your agent uses it

  • The user wants to post
  • Schedule a video
  • Document across several platforms at once
  • Check upload status

Example prompts

  • “/upload-post”

Requirements

  • A credential in UPLOAD_POST_API_KEY

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Authenticates with Authorization: Apikey $UPLOAD_POST_API_KEY
  2. Posts video, photos, text, or documents to one or more platforms in one request
  3. Optionally schedules the post instead of publishing immediately
  4. Polls upload status and reports the per-platform result
  5. Reads analytics and upload history

What it can do on your machine

Read from SKILL.md and the folder at commit 10bfc43. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.upload-post.com
    • docs.upload-post.com
    • tiktok.com
    • instagram.com
    • youtu.be

    Also links to:

    • upload-post.com
    • github.com
    • mcp.upload-post.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • UPLOAD_POST_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Upload Post loads about 1.6k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 590 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davepoon/buildwithclaude at commit 10bfc43, republished under its MIT licence (© davepoon). 590 words, ~1,614 tokens.

Download SKILL.mdSave it as .claude/skills/upload-post/SKILL.md (or your agent's skills folder).
name
upload-post
description
Publish and schedule content to 15 social platforms through one Upload-Post API call: TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Reddit, Discord, Telegram, Mastodon, WordPress, and Google Business Profile. Use when the user wants to post or schedule a video, photo carousel, text, or document across several platforms at once, check upload status, pull analytics, or run Instagram comment-to-DM funnels.
category
social-media
license
MIT
requires.env
UPLOAD_POST_API_KEY

Upload-Post

Publish one piece of content to many social platforms in a single API call.

Accounts are connected once through OAuth in the Upload-Post dashboard, so there is no per-platform developer app, review process, or token refresh to maintain. A single API key covers every platform.

When to Use This Skill

  • The user wants the same video, carousel, or post published to several platforms at once
  • The user wants a post scheduled for a future date, or added to a posting queue
  • The user asks for per-post or per-platform analytics (views, likes, impressions)
  • The user wants to check whether an upload finished, or retry the platforms that failed
  • The user wants Instagram comment-to-DM automation (keyword triggers → private DMs)

What This Skill Does

  1. Authenticates with Authorization: Apikey $UPLOAD_POST_API_KEY
  2. Posts video, photos, text, or documents to one or more platforms in one request
  3. Optionally schedules the post instead of publishing immediately
  4. Polls upload status and reports the per-platform result
  5. Reads analytics and upload history

Prerequisites

  • An account at upload-post.com (free tier: 10 uploads/month)
  • Social accounts connected in the dashboard
  • A profile name (e.g. mybrand) — this groups the connected accounts and is what the user parameter refers to. It is not a social handle.
  • UPLOAD_POST_API_KEY in the environment

How to Use

Base URL: https://api.upload-post.com/api

Auth uses the Apikey scheme, not Bearer. Sending Bearer returns a misleading 401 Invalid or expired token even when the key is valid.

Publish a video to several platforms
bash
curl -X POST "https://api.upload-post.com/api/upload" \
  -H "Authorization: Apikey $UPLOAD_POST_API_KEY" \
  -F "user=mybrand" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "platform[]=youtube" \
  -F "video=@clip.mp4" \
  -F "title=How to build better habits" \
  -F "async_upload=true"

platform[] is repeated once per target. title is required for YouTube and Reddit and optional everywhere else.

bash
curl -X POST "https://api.upload-post.com/api/upload_photos" \
  -H "Authorization: Apikey $UPLOAD_POST_API_KEY" \
  -F "user=mybrand" \
  -F "platform[]=instagram" \
  -F "photos[]=@slide1.jpg" \
  -F "photos[]=@slide2.jpg" \
  -F "title=Five lessons from year one"
Schedule instead of publishing now

Add scheduled_date (ISO-8601) and optionally timezone (IANA):

bash
-F "scheduled_date=2026-12-31T18:00:00Z" -F "timezone=Europe/Madrid"
Per-platform captions

title is the fallback. Override per platform with <platform>_title:

bash
-F "title=New video out now" \
-F "tiktok_title=new vid 🔥 #fyp" \
-F "linkedin_title=A short breakdown of what we learned shipping this."
Check the result

Long uploads run in the background and return a request_id:

bash
curl "https://api.upload-post.com/api/uploadposts/status?request_id=REQ_ID" \
  -H "Authorization: Apikey $UPLOAD_POST_API_KEY"
Other endpoints
EndpointMethodDescription
/uploadPOSTVideos
/upload_photosPOSTPhotos and carousels
/upload_textPOSTText-only posts
/upload_documentPOSTDocuments (LinkedIn)
/uploadposts/status?request_id=XGETAsync upload status
/uploadposts/historyGETUpload history
/uploadposts/scheduleGETList scheduled posts
/uploadposts/schedule/<job_id>PATCH / DELETEEdit or cancel a scheduled post
/uploadposts/meGETValidate the API key
/analytics/<profile>GETAnalytics
/uploadposts/facebook/pagesGETList Facebook pages
/uploadposts/linkedin/pagesGETList LinkedIn pages
/uploadposts/pinterest/boardsGETList Pinterest boards
Show full SKILL.md (220 more words)Show less

Example

User: "Post this clip to TikTok, Reels and Shorts with the caption 'Day 1 of building in public'"

Output:

Publishing clip.mp4 to tiktok, instagram, youtube...
request_id: req_8f21c04a

Status: completed
  tiktok     ✅  https://tiktok.com/@mybrand/video/7412...
  instagram  ✅  https://instagram.com/reel/C8xY2...
  youtube    ✅  https://youtu.be/dQw4w9Wg...

Error Handling

  • 401 Invalid or expired token with a key you know is good — you sent Bearer. Use Authorization: Apikey <key>.
  • A platform fails while others succeed — the status response reports per-platform results. Retry only the failed ones by passing retry_request_id rather than re-uploading everything.
  • reached_active_user_cap on TikTok — TikTok's daily cap for the app was hit. The upload falls back to the TikTok inbox as a draft; the video is waiting in the app, not live.
  • Upload takes longer than 59 seconds — it switches to async automatically. Do not treat a timeout as a failure; poll /uploadposts/status with the request_id.
  • Missing title on YouTube or Reddit — both reject the upload. Every other platform accepts an empty title.

Tips

  • Send an Idempotency-Key header when retrying a request that may have already been accepted — it returns the existing job instead of double-posting.
  • For TikTok, post_mode=MEDIA_UPLOAD puts the video in the app's drafts instead of publishing directly, which tends to get better organic reach.
  • Use first_comment to drop a link or hashtags into the first comment automatically.
  • The full parameter reference lives at docs.upload-post.com, with an LLM-friendly dump at https://docs.upload-post.com/llm.txt.

Resources

© davepoon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/all-skills/skills/upload-post of davepoon/buildwithclaude.

Open the folder on GitHubat commit 10bfc43

Compare with similar skills

Upload Post next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Upload Post compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upload Post this skilldavepoon/buildwithclaude3.6k—~1.6kAutomated safety check: PassMIT
Blog RepurposeAgriciDaniel/claude-blog2.3k—~3kAutomated safety check: PassMIT
Social Publishingwshobson/agents40k—~914Automated safety check: PassMIT
Outlier Post FinderScrapeCreators/social-media-research-skills3.3k—~1.5kAutomated safety check: NotesMIT
Social Publisheraffaan-m/ECC275k1 repos~1.1kAutomated safety check: PassMIT
Postizgitroomhq/postiz-agent5062 repos~7.9kAutomated safety check: PassAGPL-3.0

Similar skills

  • Blog Repurpose

    AgriciDaniel/claude-blog

    Repurpose blog posts for social media, email, video, podcast, and community channels.

    2.3k GitHub stars~3k tokensUpdated today
    Writing & ContentAuto-check passed
  • Social Publishing

    wshobson/agents

    Schedule and publish social media posts across 13 platforms (X, LinkedIn, Instagram, Facebook Pages, TikTok, Discord, Telegram, YouTube, Reddit, WordPress, Pinterest) via the SocialClaw API.

    40k GitHub stars~914 tokensUpdated 3 days ago
    Writing & ContentAuto-check passed
  • Outlier Post Finder

    ScrapeCreators/social-media-research-skills

    A skill your agent uses when the user wants to find posts, videos, reels, shorts, tweets, or social content that overperformed versus a creator, brand, or competitor baseline.

    3.3k GitHub stars~1.5k tokensUpdated 1 mo ago
    Writing & ContentAuto-check: notes
  • Social Publisher

    affaan-m/ECC

    Agent-driven scheduling and publishing of social media posts across 13 platforms via SocialClaw.

    275k GitHub starsUsed in 1 repo~1.1k tokens
    Writing & ContentAuto-check passed
  • Postiz

    gitroomhq/postiz-agent

    Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest…

    506 GitHub starsUsed in 2 repos~7.9k tokens
    Writing & ContentAuto-check passed
  • Content Repurposer Sms

    blacktwist/social-media-skills

    When the user wants to turn one piece of content into multiple formats or adapt content across text-first and visual-first platforms (LinkedIn, Twitter/X, Threads, Bluesky, Facebook, Instagram…

    560 GitHub stars~3.7k tokensUpdated 5 mo ago
    Writing & ContentAuto-check passed

More from davepoon/buildwithclaude

All 245 skills in this repo
  • Qwen Vision

    davepoon/buildwithclaude

    A skill your agent uses when the user asks to "analyze video", "watch this video", "what happens in this video", "describe this clip", "review this footage", "classify these videos", "compare…

    3.6k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Hard Predict Future

    davepoon/buildwithclaude

    Activate this agent for any future-oriented question that requires deep quantitative analysis, historical precedents, and structured scenario planning.

    3.6k GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • iOS Hig Design Guide

    davepoon/buildwithclaude

    Build, update, and apply iOS design specifications using Apple Human Interface Guidelines (HIG) source data.

    3.6k GitHub stars~735 tokensUpdated yesterday
    Auto-check passed
  • Video Downloader

    davepoon/buildwithclaude

    Download YouTube videos with customizable quality and format options.

    3.6k GitHub starsUsed in 1 repo~871 tokens
    Auto-check passed
  • Atlas Cloud Media

    davepoon/buildwithclaude

    Discover Atlas Cloud image and video models, inspect their live schemas, and submit one confirmed media generation request with bounded GET polling.

    3.6k GitHub stars~852 tokensUpdated yesterday
    Auto-check passed
  • Slack Gif Creator

    davepoon/buildwithclaude

    Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives.

    3.6k GitHub starsUsed in 12 repos~4.3k tokens
    Auto-check passed

Questions about Upload Post

What does Upload Post do?

Publish and schedule content to 15 social platforms through one Upload-Post API call: TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Reddit, Discord, Telegram…. Upload Post is an agent skill from davepoon/buildwithclaude. Publish and schedule content to 15 social platforms through one Upload-Post API call: TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Reddit, Discord, Telegram, Mastodon, WordPress, and Google Business Profile.

When should I use Upload Post?

Upload Post fits situations like: the user wants to post; schedule a video; document across several platforms at once; check upload status.

How do I install Upload Post in Claude Code?

Run `npx skills add davepoon/buildwithclaude --skill upload-post -a claude-code`. Or copy the skill folder (plugins/all-skills/skills/upload-post in davepoon/buildwithclaude) into .claude/skills/upload-post in your project. Claude Code loads it when a task matches its description.

How do I install Upload Post in Codex?

Run `npx skills add davepoon/buildwithclaude --skill upload-post -a codex`. Or copy the skill folder (plugins/all-skills/skills/upload-post in davepoon/buildwithclaude) into .agents/skills/upload-post in your project. Codex loads it when a task matches its description.

Can I use Upload Post in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davepoon/buildwithclaude --skill upload-post -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upload-post, .gemini/skills/upload-post, .github/skills/upload-post and .opencode/skills/upload-post in your project.

What does Upload Post need to run?

Going by SKILL.md and its folder, Upload Post needs the command-line tools its instructions call (curl) and credentials named UPLOAD_POST_API_KEY. Our summary lists: A credential in UPLOAD_POST_API_KEY.

Does Upload Post access the network?

SKILL.md names 8 domains. In commands or code: api.upload-post.com, docs.upload-post.com, tiktok.com, instagram.com and youtu.be; the agent is likely to contact these when it follows the instructions. As links in the text: upload-post.com, github.com and mcp.upload-post.com. This is read from the text; nothing was executed.

Is Upload Post safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Upload Post use?

Upload Post is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Upload Post use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Upload Post?

Skills that share tags, products or a category with Upload Post: Blog Repurpose (AgriciDaniel/claude-blog, 2.3k stars), Social Publishing (wshobson/agents, 40k stars), Outlier Post Finder (ScrapeCreators/social-media-research-skills, 3.3k stars) and Social Publisher (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upload Post?

davepoon (a GitHub user) maintains it in davepoon/buildwithclaude, which has 3,604 GitHub stars. The repository holds 245 skills in this directory. The repository was last updated on October 6, 2026.

Source: davepoon/buildwithclaude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.