본문으로 건너뛰기
cccskills
무료GitHub에 공개

adaptlypost

Schedule and manage social media posts across Instagram, X (Twitter), Bluesky, TikTok, Threads, LinkedIn, Facebook, Pinterest, and YouTube using the AdaptlyPost API. Use when the user wants to schedule social media posts, manage social media content, upload media for social posting, list connected social accounts, check post status, cross-post content to multiple platforms, or automate their social media workflow. AdaptlyPost is a SaaS tool — no self-hosting required.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(3)

  • SKILL.md13.1 KB
  • references/api-reference.md7.3 KB
  • references/platform-configs.md8.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

AdaptlyPost

Schedule social media posts across 9 platforms from one API. SaaS — no self-hosting needed.

Setup

  1. Sign up at https://app.adaptlypost.com/register
  2. Go to Settings → API Tokens → generate an API token
  3. Set the environment variable:
    export ADAPTLYPOST_API_KEY="adaptly_your-token-here"
    

Base URL: https://post.adaptlypost.com/post/api/v1 Auth header: Authorization: Bearer $ADAPTLYPOST_API_KEY

Core Workflow

1. List connected accounts

curl -s -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  https://post.adaptlypost.com/post/api/v1/social-accounts

Returns { "accounts": [{ "id", "platform", "displayName", "username", "avatarUrl" }] }. Save the id — you'll use it as a connection ID when creating posts.

2. Publish a post immediately (no scheduling)

To publish right away, simply omit scheduledAt entirely and do NOT set saveAsDraft:

curl -X POST https://post.adaptlypost.com/post/api/v1/social-posts \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["TWITTER"],
    "contentType": "TEXT",
    "text": "This goes live right now!",
    "timezone": "America/New_York",
    "twitterConnectionIds": ["CONNECTION_ID_HERE"]
  }'

IMPORTANT: Do NOT set scheduledAt to a time in the near future as a workaround. Omitting scheduledAt is the correct way to publish immediately.

Returns { "postId", "queuedPlatforms", "skippedPlatforms", "isScheduled", "scheduledAt" }.

Important: You must include the correct *ConnectionIds array for each platform in platforms. For example, if posting to Instagram and Twitter, include both instagramConnectionIds and twitterConnectionIds. For Facebook, use pageIds instead.

3. Schedule a text post for later

curl -X POST https://post.adaptlypost.com/post/api/v1/social-posts \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["TWITTER"],
    "contentType": "TEXT",
    "text": "Your post text here",
    "timezone": "America/New_York",
    "scheduledAt": "2026-06-15T10:00:00.000Z",
    "twitterConnectionIds": ["CONNECTION_ID_HERE"]
  }'

4. Save a post as draft (no scheduling)

Same as scheduling, but set saveAsDraft: true and omit scheduledAt:

curl -X POST https://post.adaptlypost.com/post/api/v1/social-posts \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["INSTAGRAM"],
    "contentType": "TEXT",
    "text": "Draft post to review later",
    "timezone": "Europe/London",
    "saveAsDraft": true,
    "instagramConnectionIds": ["CONNECTION_ID_HERE"]
  }'

5. Schedule a post with media (3-step flow)

Step A — Get presigned upload URLs:

curl -X POST https://post.adaptlypost.com/post/api/v1/upload-urls \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "files": [{ "fileName": "photo.jpg", "mimeType": "image/jpeg" }] }'

Returns { "urls": [{ "fileName", "uploadUrl", "publicUrl", "key", "expiresAt" }] }.

Step B — Upload file to storage:

curl -X PUT "UPLOAD_URL_HERE" \
  -H "Content-Type: image/jpeg" \
  --data-binary @/path/to/photo.jpg

Step C — Create post with the public URL:

curl -X POST https://post.adaptlypost.com/post/api/v1/social-posts \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["INSTAGRAM"],
    "contentType": "IMAGE",
    "text": "Post with image!",
    "mediaUrls": ["PUBLIC_URL_FROM_STEP_A"],
    "timezone": "America/New_York",
    "scheduledAt": "2026-06-15T10:00:00.000Z",
    "instagramConnectionIds": ["CONNECTION_ID_HERE"]
  }'

For video: use mimeType: "video/mp4", contentType: "VIDEO". For carousel: upload multiple files, include all public URLs in mediaUrls, use contentType: "CAROUSEL".

6. List posts

curl -s -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  "https://post.adaptlypost.com/post/api/v1/social-posts?limit=20&offset=0"

Returns { "posts": [...], "total": 25, "hasMore": true }. Use limit (1-100, default 20) and offset (default 0) for pagination.

7. Get post details

curl -s -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  https://post.adaptlypost.com/post/api/v1/social-posts/POST_ID

Returns full post object with platform-specific status for each target platform.

8. Cross-post to multiple platforms

Include multiple platforms and their connection IDs in a single request:

curl -X POST https://post.adaptlypost.com/post/api/v1/social-posts \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["TWITTER", "BLUESKY", "LINKEDIN"],
    "contentType": "TEXT",
    "text": "Same post across 3 platforms!",
    "timezone": "America/New_York",
    "scheduledAt": "2026-06-15T10:00:00.000Z",
    "twitterConnectionIds": ["TWITTER_ID"],
    "blueskyConnectionIds": ["BLUESKY_ID"],
    "linkedinConnectionIds": ["LINKEDIN_ID"]
  }'

9. Use per-platform text

Override the default text for specific platforms:

curl -X POST https://post.adaptlypost.com/post/api/v1/social-posts \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["TWITTER", "LINKEDIN"],
    "contentType": "TEXT",
    "text": "Default text for all platforms",
    "platformTexts": [
      { "platform": "TWITTER", "text": "Short version for X #shortform" },
      { "platform": "LINKEDIN", "text": "Longer professional version with more detail for LinkedIn audience." }
    ],
    "timezone": "America/New_York",
    "scheduledAt": "2026-06-15T10:00:00.000Z",
    "twitterConnectionIds": ["TWITTER_ID"],
    "linkedinConnectionIds": ["LINKEDIN_ID"]
  }'

Platform-Specific Configs

Pass these as config arrays in the request body. See references/platform-configs.md for full details.

PlatformConfig FieldKey Options
TikToktiktokConfigsprivacyLevel (required), allowComments, allowDuet, allowStitch, sendAsDraft, brandedContent, autoAddMusic
InstagraminstagramConfigspostType (FEED/REEL/STORY)
FacebookfacebookConfigspostType (FEED/REEL/STORY), videoTitle
YouTubeyoutubeConfigspostType (VIDEO/SHORTS), videoTitle, tags, privacyStatus, madeForKids, playlistId
PinterestpinterestConfigsboardId (required), title, link
X (Twitter)—No config object, uses twitterConnectionIds only
Bluesky—No config object, uses blueskyConnectionIds only
Threads—No config object, uses threadsConnectionIds only
LinkedIn—No config object, uses linkedinConnectionIds only

Example with TikTok config:

curl -X POST https://post.adaptlypost.com/post/api/v1/social-posts \
  -H "Authorization: Bearer $ADAPTLYPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["TIKTOK"],
    "contentType": "VIDEO",
    "text": "Check out this clip!",
    "mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/video.mp4"],
    "timezone": "America/New_York",
    "scheduledAt": "2026-06-15T18:00:00.000Z",
    "tiktokConnectionIds": ["TIKTOK_ID"],
    "tiktokConfigs": [{
      "connectionId": "TIKTOK_ID",
      "privacyLevel": "PUBLIC_TO_EVERYONE",
      "allowComments": true,
      "allowDuet": false,
      "allowStitch": true
    }]
  }'

Supported File Types for Upload

MIME TypeExtensionUse For
image/jpeg.jpg, .jpegImages
image/png.pngImages
image/webp.webpImages
video/mp4.mp4Videos
video/quicktime.movVideos

Upload 1-20 files per request.

Media Specs Quick Reference

PlatformImagesVideoCarousel
TikTokCarousels onlyMP4/MOV, ≤250MB, 3s-10min2-35 images
InstagramJPEG/PNG≤1GB, 3-90s (Reels)Up to 10
Facebook≤30MB, JPG/PNG1 per postUp to 10 images
YouTube—Shorts ≤3min, H.264—
LinkedInUp to 9≤10minUp to 9
X (Twitter)Up to 4——
Pinterest2:3 ratio idealSupported2-5 images
BlueskyUp to 4Not supported—
ThreadsSupportedSupportedUp to 10

Tips for the Agent

CRITICAL — Always ask before posting

  • NEVER assume whether the user wants to post now, schedule for later, or save as draft. ALWAYS ask the user: "Do you want to post this now, schedule it for a specific time, or save it as a draft?" Wait for their answer before making the API call.
  • If the user says "post now", "publish now", or "right away": completely omit scheduledAt from the request body — do NOT set it to a time in the near future. The API publishes immediately when scheduledAt is absent.
  • If the user says "schedule": ask for the date and time, then set scheduledAt to an ISO 8601 timestamp.
  • If the user says "draft": set saveAsDraft: true and omit scheduledAt.

Timezone handling

  • The timezone field is required on every post creation request.
  • On the first interaction, ask the user: "What timezone are you in? (e.g., Europe/Berlin, America/New_York)". Once they answer, remember it for all future posts in this conversation — do not ask again.
  • If the user has previously told you their timezone in this conversation, reuse it silently.
  • Common timezones: Europe/London, Europe/Berlin, Europe/Paris, America/New_York, America/Chicago, America/Los_Angeles, Asia/Tokyo, Australia/Sydney.

API workflow

  • Always call /social-accounts first to get valid connection IDs for each platform.
  • For media posts, complete the full 3-step upload flow (get upload URL → PUT file → create post with mediaUrls).
  • scheduledAt must be ISO 8601 and in the future. Omit it when using saveAsDraft: true.
  • Each platform needs its connection IDs: twitterConnectionIds, instagramConnectionIds, blueskyConnectionIds, linkedinConnectionIds, tiktokConnectionIds, threadsConnectionIds, pinterestConnectionIds, youtubeConnectionIds. Facebook uses pageIds.
  • TikTok configs require privacyLevel — always set it (e.g., PUBLIC_TO_EVERYONE).
  • Pinterest configs require boardId — there is no way to fetch boards via this API currently, so ask the user which board to use.
  • For carousels, upload multiple files and include all public URLs in mediaUrls.
  • Use platformTexts to customize text per platform when cross-posting.
  • Content types: TEXT (no media), IMAGE (single image), VIDEO (single video), CAROUSEL (multiple images/videos).
  • Check skippedPlatforms in the response — it tells you if any platform was skipped and why.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

name: 4d-compression-core version: 1.0.2 description: "把长内容压缩成结构化向量——节省 60-80% Token,保留核心信息" metadata: { "openclaw": { "emoji": "🌀", "requires": { "bins": ["jq", "awk"] }, "triggers": ["压缩", "4d",...

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

modbender/skill-library-mcp172026년 9월 28일 업데이트

Use cheap, TEE-verified AI models from the 0G Compute Network as OpenClaw providers. Discover available models and compare pricing vs OpenRouter, verify provider integrity via hardware attestation (Intel TDX), manage your 0G wallet and sub-accounts, and configure models in OpenClaw with one workflow. Supports DeepSeek, GLM-5, Qwen, and other models available on the 0G marketplace.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

modbender/skill-library-mcp172026년 9월 28일 업데이트

Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

modbender/skill-library-mcp172026년 9월 28일 업데이트

0xarchive

무료

Query historical crypto market data from 0xArchive across Hyperliquid, Lighter.xyz, and HIP-3. Covers orderbooks, trades, candles, funding rates, open interest, liquidations, and data quality. Use when the user asks about crypto market data, orderbooks, trades, funding rates, or historical prices on Hyperliquid, Lighter.xyz, or HIP-3.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

modbender/skill-library-mcp172026년 9월 28일 업데이트

0xwork

무료

Find and complete paid tasks on the 0xWork decentralized marketplace (Base chain, USDC escrow). Use when: the agent wants to earn money/USDC by doing work, discover available tasks, claim a bounty, submit deliverables, check earnings or wallet balance, or set up as a 0xWork worker. Task categories: Writing, Research, Social, Creative, Code, Data. NOT for: posting tasks (use the website), managing the 0xWork platform, or frontend development.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

modbender/skill-library-mcp172026년 9월 28일 업데이트

Patterns and practices that dramatically accelerate development velocity. Covers parallel execution, automation, feedback loops, workflow optimization, and anti-pattern avoidance. Use when starting projects, planning sprints, optimizing workflows, or onboarding developers.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

modbender/skill-library-mcp172026년 9월 28일 업데이트

modbender의 스킬 모두 보기

이 스킬의 문제 신고