Clawteam
win4r/ClawTeam-OpenClaw
Multi-agent swarm orchestration. An agent skill from win4r/ClawTeam-OpenClaw.
Agent-optimized CLI for Bluesky (ATProto) and X (Twitter). An agent skill from letta-ai/skills.
$ npx skills add letta-ai/skills --skill social-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install letta-ai/skills social-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/tools/social-cli .claude/skills/social-cli && rm -rf skills-srcUse ~/.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/
Install the "social-cli" agent skill from https://github.com/letta-ai/skills/tree/main/tools/social-cli into .claude/skills/social-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "social-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/letta-ai/skills/tree/main/tools/social-cliType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add letta-ai/skills --skill social-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install letta-ai/skills social-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/tools/social-cli .agents/skills/social-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "social-cli" agent skill from https://github.com/letta-ai/skills/tree/main/tools/social-cli into .agents/skills/social-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "social-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add letta-ai/skills --skill social-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install letta-ai/skills social-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/tools/social-cli .cursor/skills/social-cli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "social-cli" agent skill from https://github.com/letta-ai/skills/tree/main/tools/social-cli into .cursor/skills/social-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "social-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/letta-ai/skills.git --path tools/social-cli--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add letta-ai/skills --skill social-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install letta-ai/skills social-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/tools/social-cli .gemini/skills/social-cli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "social-cli" agent skill from https://github.com/letta-ai/skills/tree/main/tools/social-cli into .gemini/skills/social-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "social-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install letta-ai/skills social-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add letta-ai/skills --skill social-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/tools/social-cli .github/skills/social-cli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "social-cli" agent skill from https://github.com/letta-ai/skills/tree/main/tools/social-cli into .github/skills/social-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "social-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add letta-ai/skills --skill social-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install letta-ai/skills social-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/letta-ai/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/tools/social-cli .opencode/skills/social-cli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "social-cli" agent skill from https://github.com/letta-ai/skills/tree/main/tools/social-cli into .opencode/skills/social-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "social-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
social-cliAgent-optimized CLI for Bluesky (ATProto) and X (Twitter). An agent skill from letta-ai/skills.
Social CLI is an agent skill from letta-ai/skills. Agent-optimized CLI for Bluesky (ATProto) and X (Twitter). YAML in, YAML out, exit codes for automation. Use when the task involves posting, replying, reading feeds, searching, annotating URLs, or running a sync/check/dispatch agent loop across social platforms.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files and assets (for example `references/agent-loop.md`, `references/commands.md` and `references/outbox-schema.md`).
It sits in Agent Workflows, covering Subagents and Email management. It works with Bluesky and X (Twitter). The repository describes itself as: A shared repository for skills. Intended to be used with Letta Code, Claude Code, Codex CLI, and other agents that support skills. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6785511. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pnpmgitnodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.combsky.socialFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ATPROTO_APP_PASSWORDX_API_KEYX_API_SECRETX_ACCESS_TOKENX_ACCESS_TOKEN_SECRETX_BEARER_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Social CLI loads about 1.6k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 68 tokens; SKILL.md has 354 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
Create a `.env` in the working directory where you run `social-cli`:├── .envAutomated 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.
The full file from letta-ai/skills at commit 6785511, republished under its MIT licence (© letta-ai). 354 words, ~1,626 tokens.
.claude/skills/social-cli/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Agent-optimized social CLI. Bluesky + X. YAML in, YAML out, exit codes for automation.
Repo: https://github.com/letta-ai/social-cli
git clone https://github.com/letta-ai/social-cli.git
cd social-cli
pnpm install
pnpm buildLink the binary globally or invoke via node dist/cli.js / pnpm start from the repo directory.
Create a .env in the working directory where you run social-cli:
# Bluesky / ATProto
ATPROTO_HANDLE=you.bsky.social
ATPROTO_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx
ATPROTO_PDS=https://bsky.social # optional, defaults to bsky.social
# X / Twitter (OAuth 1.0a)
X_API_KEY=...
X_API_SECRET=...
X_ACCESS_TOKEN=...
X_ACCESS_TOKEN_SECRET=...
X_BEARER_TOKEN=... # optional, for app-only endpointsOnly credentials for platforms you actually use are required.
social-cli whoami
social-cli rate-limitsThe canonical automation workflow. Each phase reads/writes YAML files in the working directory.
social-cli sync # pull notifications → inbox-{platform}.yaml
social-cli check || exit 0 # anything actionable? exit 1 = nothing to do
# read inbox, decide, write outbox-{platform}.yaml
social-cli dispatch # execute outbox, archive resultssync: deduplicates against sent_ledger-{platform}.yaml and caps inbox size.check: exits 0 if inbox has actionable items, 1 otherwise. Wrap with || exit 0 in cron loops.dispatch: executes the outbox atomically. Writes dispatch_result-{platform}.yaml and appends to sent_ledger-{platform}.yaml for replay protection.# Post / reply / thread
social-cli post "Hello world" -p bsky
social-cli reply "Thanks" --id "at://did:plc:.../app.bsky.feed.post/abc" -p bsky
social-cli thread "p1" "p2" "p3" -p bsky
# Engagement
social-cli like "at://..." -p bsky
social-cli delete "at://..." -p bsky
social-cli follow "handle.bsky.social" -p bsky
# Reading
social-cli search "query" -p bsky -n 10 # → stdout YAML
social-cli feed -p bsky -n 20 # → feed.yaml (or -o - for stdout)
social-cli feed --feed "at://did:.../app.bsky.feed.generator/name" -n 10 # custom feed
social-cli profile "handle.bsky.social" -p bsky
social-cli whoami
social-cli rate-limitsUses the at.margin.note lexicon (W3C Web Annotation model). Annotations work on any URL, not just ATProto posts. They appear in margin.at and Semble.
# Annotate a web page
social-cli annotate "Note about this article" --target https://example.com
# Anchor to an exact passage
social-cli annotate "Key insight" --target https://example.com \
--quote "exact passage from the page" --motivation highlightingMotivations: commenting, highlighting, questioning, describing, linking.
inbox-{platform}.yaml)notifications:
- id: "at://did:plc:xxx/app.bsky.feed.post/abc"
platform: bsky
type: mention # mention, reply, like, follow, repost, quote
author: someone.bsky.social
authorId: "did:plc:xxx"
postId: "at://..."
text: "Hey, what do you think?"
timestamp: "2026-03-25T12:00:00Z"
parentPostId: "at://..." # for replies
parentPostText: "..." # context
rootPostId: "at://..." # thread root
rootPostText: "..."outbox-{platform}.yaml)Write decisions as a dispatch list. Each entry is a single action.
dispatch:
- reply:
platform: bsky
id: "at://did:plc:xxx/app.bsky.feed.post/abc"
text: "Thanks for the mention"
- post:
text: "Hello from my agent"
platforms: [bsky, x] # post to both
- thread:
platform: bsky
posts:
- "Thread post 1"
- "Thread post 2"
- like:
platform: bsky
id: "at://..."
- annotate:
platform: bsky
id: "https://example.com/article"
text: "Key observation"
motivation: commenting
quote: "exact text to anchor to"
- ignore:
id: "notif_003"
reason: "spam"dispatch_result-{platform}.yaml is written after every dispatch. Exit codes:
| Code | Meaning |
|---|---|
| 0 | All actions succeeded |
| 1 | Invalid outbox (schema error, missing creds) |
| 2 | Partial failure (some succeeded, some failed) |
Thread failures include a resumeFrom field with the index and remaining posts so you can retry just the tail.
| Platform | Limit |
|---|---|
| Bluesky | 300 chars |
| X | 280 chars |
The CLI rejects over-limit posts before hitting the API.
| Feature | Bluesky | X |
|---|---|---|
Annotations (at.margin.note) | Yes | No |
| Search | Yes | Yes |
| Feed | Yes (custom feeds) | Yes (home/user) |
| Threads | Yes | Yes |
| Notifications | mention, reply, like, follow, repost, quote | mentions only |
| Quote post context | Yes | Yes |
Retry-After.resumeFrom.sent_ledger-{platform}.yaml prevents duplicate dispatch across runs.Everything is scoped to your current working directory, so you can run multiple agents with isolated state:
./
├── .env
├── inbox-bsky.yaml # sync output
├── inbox-x.yaml
├── outbox-bsky.yaml # your decisions
├── outbox-x.yaml
├── dispatch_result-bsky.yaml # last dispatch outcome
├── dispatch_result-x.yaml
├── sent_ledger-bsky.yaml # replay protection
├── sent_ledger-x.yaml
└── feed.yaml # optional feed snapshotsreferences/commands.md: full command map with all flagsreferences/outbox-schema.md: complete outbox YAML schemareferences/agent-loop.md: patterns for cron/systemd automation loops© letta-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (references, assets) in tools/social-cli of letta-ai/skills.
Open the folder on GitHubat commit 6785511
Social CLI 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Social CLI this skillletta-ai/skills | 149 | — | ~1.6k | Automated safety check: Notes | MIT | |
| Clawteamwin4r/ClawTeam-OpenClaw | 1.5k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Multi Agent RoomGoldziher/basemind | 108 | — | ~1.8k | Automated safety check: Pass | MIT | |
| WebGPTNhahan/WebGPT | 120 | — | ~1.4k | Automated safety check: Pass | MIT | |
| PrepAIOSAI/AIPass | 288 | — | ~880 | Automated safety check: Pass | MIT | |
| External Context ResearchYeachan-Heo/oh-my-claudecode | 40k | — | ~545 | Automated safety check: Pass | MIT |
win4r/ClawTeam-OpenClaw
Multi-agent swarm orchestration. An agent skill from win4r/ClawTeam-OpenClaw.
Goldziher/basemind
Orchestrate a team of named subagents in shared threads. An agent skill from Goldziher/basemind.
Nhahan/WebGPT
Hands bounded tasks from Codex to a signed-in ChatGPT web session at a chosen reasoning level, or opens a terminal chat in your project that you control.
AIOSAI/AIPass
Session wrap-up. An agent skill from AIOSAI/AIPass.
Yeachan-Heo/oh-my-claudecode
Breaks a research question into two to five facets and sends parallel document-specialist agents to search the web and documentation, then merges the results.
AgentWorkforce/relay
A skill your agent uses when you are a registered relay agent (a spawned worker, or a lead that called registeragent) coordinating with peers in real time over current Agent Relay MCP tools -…
letta-ai/skills
Build and maintain a persistent visual identity for your agent using Flux Kontext Pro.
letta-ai/skills
Fetch and summarize recent AI news from curated RSS feeds (Hugging Face, VentureBeat, The Verge, OpenAI, Anthropic, DeepMind, etc.) and YouTube channels (Yannic Kilcher, Two Minute Papers, AI…
letta-ai/skills
Builds and debugs Letta Code channels, including first-party channel adapters and dynamic user channel plugins under ~/.letta/channels.
letta-ai/skills
Configure LLM models and providers for Letta agents and servers.
letta-ai/skills
Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill.
letta-ai/skills
Semantic search over agent memory files. An agent skill from letta-ai/skills.
Works with
Categories
Agent-optimized CLI for Bluesky (ATProto) and X (Twitter). An agent skill from letta-ai/skills. Social CLI is an agent skill from letta-ai/skills. Agent-optimized CLI for Bluesky (ATProto) and X (Twitter).
Social CLI fits situations like: the task involves posting; annotating URLs; running a sync/check/dispatch agent loop across social platforms.
Run `npx skills add letta-ai/skills --skill social-cli -a claude-code`. Or copy the skill folder (tools/social-cli in letta-ai/skills) into .claude/skills/social-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add letta-ai/skills --skill social-cli -a codex`. Or copy the skill folder (tools/social-cli in letta-ai/skills) into .agents/skills/social-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add letta-ai/skills --skill social-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/social-cli, .gemini/skills/social-cli, .github/skills/social-cli and .opencode/skills/social-cli in your project.
Going by SKILL.md and its folder, Social CLI needs the command-line tools its instructions call (pnpm, git and node) and credentials named ATPROTO_APP_PASSWORD, X_API_KEY, X_API_SECRET and X_ACCESS_TOKEN. Our summary lists: A credential in X_API_KEY; A credential in X_API_SECRET.
SKILL.md names 2 domains. In commands or code: github.com and bsky.social; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Social CLI is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
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. Its references folder adds about 1.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Social CLI: Clawteam (win4r/ClawTeam-OpenClaw, 1.5k stars), Multi Agent Room (Goldziher/basemind, 108 stars), WebGPT (Nhahan/WebGPT, 120 stars) and Prep (AIOSAI/AIPass, 288 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
letta-ai (a GitHub organization) maintains it in letta-ai/skills, which has 149 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 1, 2026.
Source: letta-ai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.