Buffer
Skill akhy/agent-skills/buffer
LLM agent skills collection
npx -y skills add akhy/agent-skills --skill bufferAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Manage Buffer social media posts and ideas — create and schedule posts to connected channels, manage the post queue, and create ideas in the Buffer Create space. Supports all Buffer-connected services (Instagram, Twitter/X, Facebook, LinkedIn, TikTok, Pinterest, YouTube, Mastodon, Bluesky, Threads, Google Business).
SKILL.md
5.2 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Buffer Skill
Interact with Buffer via its GraphQL API (https://api.buffer.com).
Prerequisites
Set this env var before using this skill:
export BUFFER_API_KEY="your_api_key" # from Buffer account settings
All requests use Authorization: Bearer $BUFFER_API_KEY.
Script
All operations go through scripts/buffer.sh. Run from the repo root:
bash buffer/scripts/buffer.sh <command> [options]
Run without arguments or with --help to see full usage:
bash buffer/scripts/buffer.sh --help
Workflow
Most operations need an org ID and a channel ID. Start here:
# 1. Get your organization ID
bash buffer/scripts/buffer.sh account | jq '.account.organizations[].id'
# 2. List channels to find channel IDs
bash buffer/scripts/buffer.sh channels --org-id <org-id> | jq '.channels[] | {id, name, service}'
Operations
Create a post
# Add to queue (default)
bash buffer/scripts/buffer.sh create-post \
--channel-id <channel-id> \
--text "Hello from the Buffer API!"
# Schedule at a specific time
bash buffer/scripts/buffer.sh create-post \
--channel-id <channel-id> \
--text "Scheduled post" \
--mode customScheduled \
--due-at "2026-04-01T09:00:00Z"
# Share immediately
bash buffer/scripts/buffer.sh create-post \
--channel-id <channel-id> \
--text "Posting now!" \
--mode shareNow
# Save as draft
bash buffer/scripts/buffer.sh create-post \
--channel-id <channel-id> \
--text "Draft content" \
--save-draft
# Post linked to an idea
bash buffer/scripts/buffer.sh create-post \
--channel-id <channel-id> \
--text "Content from my idea" \
--idea-id <idea-id>
--mode values: addToQueue (default) | shareNow | shareNext | customScheduled | recommendedTime
--scheduling-type values: automatic (default) | notification
Note on editing posts: Buffer's public GraphQL API does not expose an
updatePostmutation. Useupdate-postto create a revised draft, or edit the post in the Buffer dashboard.
Get and list posts
# Get a single post
bash buffer/scripts/buffer.sh get-post --id <post-id>
# List all posts
bash buffer/scripts/buffer.sh list-posts --org-id <org-id>
# Filter by status and channel
bash buffer/scripts/buffer.sh list-posts \
--org-id <org-id> \
--status scheduled \
--channel-id <channel-id>
# Paginate
result=$(bash buffer/scripts/buffer.sh list-posts --org-id <org-id> --limit 10)
cursor=$(echo "$result" | jq -r '.posts.pageInfo.endCursor')
bash buffer/scripts/buffer.sh list-posts --org-id <org-id> --limit 10 --after "$cursor"
--status values: draft | scheduled | sent | error | needs_approval
Create an idea
# Basic idea
bash buffer/scripts/buffer.sh create-idea \
--org-id <org-id> \
--title "Campaign concept" \
--text "Details about the campaign..."
# With target date and tags
bash buffer/scripts/buffer.sh create-idea \
--org-id <org-id> \
--title "Spring promo" \
--text "Spring sale announcement ideas" \
--date "2026-04-01T00:00:00Z" \
--tags '[{"id":"tag-id","name":"Marketing","color":"#FF5733"}]'
Note on editing ideas: Buffer's public GraphQL API does not expose an
updateIdeamutation. Useupdate-ideato create a revised idea.
Channel info
# List all channels for an org
bash buffer/scripts/buffer.sh channels --org-id <org-id>
# Get a specific channel with posting schedule
bash buffer/scripts/buffer.sh channel --id <channel-id>
Response Format
All responses are JSON. Use jq to extract fields:
# Get created post ID
bash buffer/scripts/buffer.sh create-post \
--channel-id <channel-id> \
--text "Hello!" | jq '.createPost.post.id'
# List scheduled post texts
bash buffer/scripts/buffer.sh list-posts \
--org-id <org-id> \
--status scheduled | jq '.posts.edges[].node | {id, text, dueAt}'
# Get idea ID after creation
bash buffer/scripts/buffer.sh create-idea \
--org-id <org-id> \
--title "My idea" | jq '.createIdea.id // .createIdea.idea.id'
Supported Services
instagram · twitter · facebook · linkedin · pinterest · tiktok · youtube · mastodon · bluesky · threads · googlebusiness · startPage
Gives 0 of the 12 instructions most social media skills give in ~1.2k tokens
Counted across 489 of the 492 authors here whose files we hold, read 2026-08-07
- adapt formats and tone to each platformin 26 of 489, across 14 files
- build content around three to five pillarsin 25 of 489, across 13 files
- read product marketing context before asking questionsin 23 of 489, across 13 files
- respond to all comments on your postsin 21 of 489, across 9 files
- use the output flag to specify an output directoryin 14 of 489, across 4 files
- Generate output logo images with white backgroundin 13 of 489, across 4 files
- Fix failing generation scripts directlyin 13 of 489, across 4 files
- ask user about html preview after logo generationin 12 of 489, across 3 files
- run the download script with a URLin 12 of 489, across 3 files
- implement exponential backoff for 429 responsesin 12 of 489, across 3 files
- write the hook firstin 12 of 489, across 7 files
- include a single clear call to actionin 12 of 489, across 9 files
Said here and by no other author read
- Set the BUFFER_API_KEY environment variable before use
- Run all operations through the buffer.sh script
- Use the account command to get the organization ID
- List channels to find the required channel ID
- Use the create-post command to create posts
- Use the list-posts command to retrieve posts
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.