Agent skill

Slack Openapi Skill

by holon-run in holon-run/uxc

Operate Slack Web API through UXC with a curated OpenAPI schema, bearer-token auth, and messaging-core guardrails.

MITAuto-check passedBackend & APIs

Install Slack Openapi Skill

skills CLI
$ npx skills add holon-run/uxc --skill slack-openapi-skill -a claude-code

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

GitHub CLI
$ gh skill install holon-run/uxc slack-openapi-skill --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/holon-run/uxc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/slack-openapi-skill .claude/skills/slack-openapi-skill && 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
slack-openapi-skill
GitHub stars
116
Token cost
~1.9k tokens
SKILL.md length
776 words
Files
5 (incl. scripts, references)
Skills in repo
62
Repo updated
First seen
Licence
MIT

At a glance

Operate Slack Web API through UXC with a curated OpenAPI schema, bearer-token auth, and messaging-core guardrails.

  • Works in 5 steps: Open the target Slack app at… → Go to Basic Information → Find App-Level Tokens → …
  • Tasks that involve OpenAPI specifications
  • SKILL.md covers Prerequisites, Scope, Subscribe / Socket Mode Status and Authentication, plus 4 more sections
  • Runs Shell scripts from its folder; reaches slack.com and api.slack.com; needs SLACK_BOT_TOKEN and SLACK_USER_TOKEN

What it does

Slack Openapi Skill is an agent skill from holon-run/uxc. Operate Slack Web API through UXC with a curated OpenAPI schema, bearer-token auth, and messaging-core guardrails.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/slack-web.openapi.json` and `references/usage-patterns.md`).

It sits in Backend & APIs, covering OpenAPI specifications and LLM guardrails. It works with Slack and OpenAPI. The repository describes itself as: A unified CLI for discovering and invoking tools across OpenAPI, MCP, GraphQL, gRPC, and JSON-RPC. The licence is MIT.

When your agent uses it

  • Tasks that involve OpenAPI specifications
  • Tasks that involve LLM guardrails

Example prompts

  • “/slack-openapi-skill”

Requirements

  • A Bash shell
  • A credential in SLACK_BOT_TOKEN
  • A credential in SLACK_USER_TOKEN

Workflow steps

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

  1. Open the target Slack app at https://api.slack.com/apps
  2. Go to Basic Information
  3. Find App-Level Tokens
  4. Generate a token with the connections:write scope
  5. Enable Socket Mode in the app configuration before relying on subscribe-based event intake

What it can do on your machine

Read from SKILL.md and the folder at commit 562d47c. 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

    Ships 1 file in scripts/ (Shell), which the agent can run.

    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:

    • slack.com
    • api.slack.com

    Also links to:

    • docs.slack.dev

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

  • Credentials

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

    • SLACK_BOT_TOKEN
    • SLACK_USER_TOKEN

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

Context cost

Slack Openapi Skill loads about 1.9k tokens when it runs, and up to ~9k if it reads all its reference files. Until then it costs about 34 tokens; SKILL.md has 776 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from holon-run/uxc at commit 562d47c, republished under its MIT licence (© holon-run). 776 words, ~1,874 tokens.

Download SKILL.mdSave it as .claude/skills/slack-openapi-skill/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
slack-openapi-skill
description
Operate Slack Web API through UXC with a curated OpenAPI schema, bearer-token auth, and messaging-core guardrails.

Slack Web API Skill

Use this skill to run Slack Web API operations through uxc + OpenAPI.

Reuse the uxc skill for shared execution, auth, and error-handling guidance.

Prerequisites

  • uxc is installed and available in PATH.
  • Network access to https://slack.com/api.
  • Access to the curated OpenAPI schema URL:
    • https://raw.githubusercontent.com/holon-run/uxc/main/skills/slack-openapi-skill/references/slack-web.openapi.json
  • A Slack bot token and, for selected thread/history reads, an optional user token.

Scope

This skill covers a Messaging Core surface:

  • auth validation
  • channel lookup and inspection
  • conversation history reads
  • thread replies reads
  • posting messages, including replies via thread_ts
  • adding reactions

This skill does not cover:

  • Slack OAuth app installation flow
  • file upload flows
  • users.*, admin.*, or usergroups.* method families

Subscribe / Socket Mode Status

Slack inbound events can be delivered through Socket Mode. uxc now has a built-in Slack Socket Mode transport, but this skill still treats it as a limited event-ingest path rather than a fully packaged workflow surface.

Current uxc subscribe status:

  • Slack Web API request/response calls are supported by this skill
  • a live Socket Mode smoke test succeeded with the built-in transport:
    • uxc subscribe start https://slack.com/api --transport slack-socket-mode --auth slack-app --sink file:...
    • the runtime opened a fresh temporary WebSocket URL automatically
    • the initial Slack hello frame was received
  • a real inbound message event was validated end-to-end:
    • while the Socket Mode job was running, a live Slack message event was delivered as an events_api envelope
    • the sink recorded the message payload and ack_sent=true

What the current built-in transport already handles:

  • app-level xapp-... auth via --auth
  • automatic apps.connections.open before each connect attempt
  • raw Socket Mode frame capture
  • automatic ack for envelopes that carry envelope_id

What is still not packaged:

  • event-shape guidance per subscribed Slack event family
  • higher-level workflow packaging for common Slack event intake flows

Slack Socket Mode is now a validated IM subscribe provider at the transport/runtime level.

Authentication

Slack Web API uses Authorization: Bearer <token>.

Token types used in practice:

  • xoxb-...: Bot User OAuth Token. This is the recommended default for this skill.
  • xoxp-...: User OAuth Token. Use this only when you explicitly want user-token semantics.
  • xapp-...: App-level token. Use this for Socket Mode subscribe, not for normal Web API methods.

To create an app-level xapp-... token for Socket Mode:

  1. Open the target Slack app at https://api.slack.com/apps
  2. Go to Basic Information
  3. Find App-Level Tokens
  4. Generate a token with the connections:write scope
  5. Enable Socket Mode in the app configuration before relying on subscribe-based event intake

Use the Slack Bot User OAuth Token (xoxb-...) for the default binding and for most messaging operations:

bash
uxc auth credential set slack-bot \
  --auth-type bearer \
  --secret-env SLACK_BOT_TOKEN

uxc auth binding add \
  --id slack-bot \
  --host slack.com \
  --path-prefix /api \
  --scheme https \
  --credential slack-bot \
  --priority 100
Option 2: User Token (Explicit Override For Selected Reads)

Use a separate Slack User OAuth Token (xoxp-...) when the method requires user-token semantics, especially thread/history access outside bot-accessible conversations:

bash
uxc auth credential set slack-user \
  --auth-type bearer \
  --secret-env SLACK_USER_TOKEN

Do not bind slack-user by default to the same host/path. Invoke it explicitly when needed:

bash
uxc auth binding match https://slack.com/api
slack-openapi-cli --auth slack-user get:/conversations.replies channel=C1234567890 ts=1717171717.000100

If you intentionally want writes to appear as the installing user rather than the bot, you can also invoke write methods with --auth slack-user, but treat that as an explicit override rather than the default path.

Show full SKILL.md (274 more words)Show less

Core Workflow

  1. Use the fixed link command by default:

    • command -v slack-openapi-cli
    • If missing, create it: uxc link slack-openapi-cli https://slack.com/api --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/slack-openapi-skill/references/slack-web.openapi.json
    • slack-openapi-cli -h
  2. Inspect operation schema first:

    • slack-openapi-cli get:/auth.test -h
    • slack-openapi-cli get:/conversations.history -h
    • slack-openapi-cli post:/chat.postMessage -h
  3. Prefer read validation before writes:

    • slack-openapi-cli get:/auth.test
    • slack-openapi-cli get:/conversations.list limit=20 types=public_channel,private_channel
    • slack-openapi-cli get:/conversations.info channel=C1234567890
  4. Execute with key/value or positional JSON:

    • key/value: slack-openapi-cli get:/conversations.history channel=C1234567890 limit=20
    • positional JSON: slack-openapi-cli post:/chat.postMessage '{"channel":"C1234567890","text":"Hello from UXC"}'

Operation Groups

Read / Lookup
  • get:/auth.test
  • get:/conversations.list
  • get:/conversations.info
  • get:/conversations.history
  • get:/conversations.replies
Messaging / Reactions
  • post:/chat.postMessage
  • post:/reactions.add

Guardrails

  • Keep automation on the JSON output envelope; do not use --text.
  • Parse stable fields first: ok, kind, protocol, data, error.
  • Bot token is the recommended default for send and basic read flows.
  • Bot token means Slack Bot User OAuth Token (xoxb-...); do not confuse it with xapp-... app-level tokens.
  • User token means Slack User OAuth Token (xoxp-...); use --auth slack-user when you intentionally need user identity or user-token-only reads.
  • get:/conversations.replies has token-type restrictions:
    • bot token works for IM and MPIM threads the bot can access
    • public/private channel thread reads should use --auth slack-user
  • get:/conversations.history only returns conversations visible to the supplied token; a bot token is limited to joined conversations.
  • Slack rate limits for conversations.history and conversations.replies vary by app distribution. Slack documents a tighter limit for newly created commercially distributed non-Marketplace apps starting on May 29, 2025; do not assume generic Tier 3 behavior.
  • Treat post:/chat.postMessage and post:/reactions.add as write/high-risk operations; require explicit user confirmation before execution.
  • slack-openapi-cli <operation> ... is equivalent to uxc https://slack.com/api --schema-url <slack_openapi_schema> <operation> ....

References

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

Files

SKILL.md and 4 other files (scripts, references) in skills/slack-openapi-skill of holon-run/uxc.

  • SKILL.md
  • agents/openai.yaml
  • references/slack-web.openapi.json
  • references/usage-patterns.md
  • scripts/validate.sh

Open the folder on GitHubat commit 562d47c

Compare with similar skills

Slack Openapi Skill 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.

Slack Openapi Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Slack Openapi Skill this skillholon-run/uxc116—~1.9kAutomated safety check: PassMIT
Aliyun Green Moderationcinience/alicloud-skills397—~728Automated safety check: PassMIT
Airbyte AgentKilo-Org/kilo-marketplace190—~2.2kAutomated safety check: PassCustom licence
ToolJet Marketplace Plugin BuilderToolJet/ToolJet41k—~2.1kAutomated safety check: PassAGPL-3.0
Step Partsearthtojake/text-to-cad18k1 repos~1.5kAutomated safety check: PassMIT
API DesignerJeffallan/claude-skills12k2 repos~2kAutomated safety check: PassMIT

Similar skills

  • Aliyun Green Moderation

    cinience/alicloud-skills

    A skill your agent uses when managing Alibaba Cloud Content Moderation (Green) via OpenAPI/SDK, including the user needs content moderation resource and policy operations, including…

    397 GitHub stars~728 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Airbyte Agent

    Kilo-Org/kilo-marketplace

    Drive the airbyte-agent CLI to manage Airbyte connectors, workspaces, and organizations.

    190 GitHub stars~2.2k tokensUpdated 9 days ago
    Sales & SupportAuto-check passed
  • Turns an API description, such as an OpenAPI file or a Postman collection, into a connector plugin for ToolJet's marketplace and checks it with the repo's validator.

    41k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Step Parts

    earthtojake/text-to-cad

    Find, evaluate, and download common purchasable CAD parts from step.parts, including named off-the-shelf actuators, servos, motors, electronics boards, connectors, screws, bolts, nuts, washers…

    18k GitHub starsUsed in 1 repo~1.5k tokens
    Backend & APIsAuto-check passed
  • API Designer

    Jeffallan/claude-skills

    Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.

    12k GitHub starsUsed in 2 repos~2k tokens
    Backend & APIsAuto-check passed
  • OpenAPI to MCP Server

    mcp-use/mcp-use

    Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.

    11k GitHub stars~5.2k tokensUpdated today
    Backend & APIsAuto-check passed

More from holon-run/uxc

All 62 skills in this repo
  • Context7 MCP Skill

    holon-run/uxc

    Query up-to-date library documentation and code examples using Context7 MCP.

    116 GitHub stars~564 tokensUpdated 23 days ago
    Auto-check passed
  • Deepwiki MCP Skill

    holon-run/uxc

    Ask questions and read documentation about any GitHub repository using DeepWiki MCP.

    116 GitHub stars~700 tokensUpdated 23 days ago
    Auto-check passed
  • Operate Linear workspace issues, projects, and teams through Linear GraphQL API using UXC.

    116 GitHub stars~1.8k tokensUpdated 23 days ago
    Auto-check passed
  • Operate Notion Public API through UXC with a curated OpenAPI schema for search, block traversal, page reads, content writes, and data source/database inspection.

    116 GitHub stars~2.3k tokensUpdated 23 days ago
    Auto-check passed
  • Operate Alchemy Prices API reads through UXC with a curated OpenAPI schema, path-templated API-key auth, and read-first guardrails.

    116 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Uxc

    holon-run/uxc

    Discover and call remote schema-exposed interfaces with UXC.

    116 GitHub stars~1.8k tokensUpdated 23 days ago
    Auto-check passed

Works with

Categories

Questions about Slack Openapi Skill

What does Slack Openapi Skill do?

Operate Slack Web API through UXC with a curated OpenAPI schema, bearer-token auth, and messaging-core guardrails. Slack Openapi Skill is an agent skill from holon-run/uxc. Operate Slack Web API through UXC with a curated OpenAPI schema, bearer-token auth, and messaging-core guardrails.

When should I use Slack Openapi Skill?

Slack Openapi Skill fits situations like: tasks that involve OpenAPI specifications; tasks that involve LLM guardrails.

How do I install Slack Openapi Skill in Claude Code?

Run `npx skills add holon-run/uxc --skill slack-openapi-skill -a claude-code`. Or copy the skill folder (skills/slack-openapi-skill in holon-run/uxc) into .claude/skills/slack-openapi-skill in your project. Claude Code loads it when a task matches its description.

How do I install Slack Openapi Skill in Codex?

Run `npx skills add holon-run/uxc --skill slack-openapi-skill -a codex`. Or copy the skill folder (skills/slack-openapi-skill in holon-run/uxc) into .agents/skills/slack-openapi-skill in your project. Codex loads it when a task matches its description.

Can I use Slack Openapi Skill 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 holon-run/uxc --skill slack-openapi-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/slack-openapi-skill, .gemini/skills/slack-openapi-skill, .github/skills/slack-openapi-skill and .opencode/skills/slack-openapi-skill in your project.

What does Slack Openapi Skill need to run?

Going by SKILL.md and its folder, Slack Openapi Skill needs a shell for the scripts in its folder and credentials named SLACK_BOT_TOKEN and SLACK_USER_TOKEN. Our summary lists: A Bash shell; A credential in SLACK_BOT_TOKEN; A credential in SLACK_USER_TOKEN.

Does Slack Openapi Skill access the network?

SKILL.md names 3 domains. In commands or code: slack.com and api.slack.com; the agent is likely to contact these when it follows the instructions. As links in the text: docs.slack.dev. This is read from the text; nothing was executed.

Is Slack Openapi Skill 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Slack Openapi Skill use?

Slack Openapi Skill is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Slack Openapi Skill use?

About 1.9k tokens (SKILL.md is roughly 7.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 7.1k tokens, read only when the agent opens those files.

What are the alternatives to Slack Openapi Skill?

Skills that share tags, products or a category with Slack Openapi Skill: Aliyun Green Moderation (cinience/alicloud-skills, 397 stars), Airbyte Agent (Kilo-Org/kilo-marketplace, 190 stars), ToolJet Marketplace Plugin Builder (ToolJet/ToolJet, 41k stars) and Step Parts (earthtojake/text-to-cad, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Slack Openapi Skill?

holon-run (a GitHub organization) maintains it in holon-run/uxc, which has 116 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on September 15, 2026.

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