# slack-docs

This skill locates the right page on docs.slack.dev and pulls it as markdown, so answers about the Slack platform come from the live docs instead of the model's memory.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2800 installs · ★ 155
- Author: slackapi
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/slackapi/slack-skills-plugin/tree/HEAD/skills/slack-docs/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/slack-docs

## What it does

Ask an agent about Events API, OAuth or Block Kit and it will often answer from memory, sometimes with details that drifted. The skill lays out a fixed route: find the page, fetch it, then answer from what it says.

Discovery runs through the documentation search API, which takes a query plus a `category` and returns matching pages as JSON. Categories split by intent: `guides` for concepts and how-tos, `reference` for methods and events, separate ones per SDK. Any page is readable as markdown by adding `.md` to its address, and `/llms-sitemap.md` lists every page when search comes up short.

No Slack workspace or API key is involved, the docs endpoints are open. You do need an agent that can fetch web pages, otherwise reading a page simply fails. The part about tool-specific SDK docs sits past the excerpt of the skill file, so check it in the file after install if you work with Bolt for Python or JavaScript.

## Requirements
- Works with: Slack

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add slackapi/slack-skills-plugin --skill slack-docs -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/slack-docs/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/slack-docs/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add slackapi/slack-skills-plugin --skill slack-docs -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/slack-docs/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add slackapi/slack-skills-plugin --skill slack-docs -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/slack-docs/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install slackapi/slack-skills-plugin slack-docs
```

2. **Manually: put the files in place**
- File: `.github/skills/slack-docs/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add slackapi/slack-skills-plugin --skill slack-docs -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/slackapi/slack-skills-plugin --path skills/slack-docs
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/slack-docs/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add slackapi/slack-skills-plugin --skill slack-docs -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/slackapi/slack-skills-plugin/tree/HEAD/skills/slack-docs/SKILL.md

## When to use it
- locate a Slack documentation page from a task description
- read a docs.slack.dev page as clean markdown
- check an answer about Events API against the official text
- narrow search results to the right documentation category
- summarize a pasted docs.slack.dev link

## Example prompts
- Look up how Socket Mode works in the Slack docs and walk me through it
- Fetch https://docs.slack.dev/apis/events-api/using-socket-mode and list the events it delivers
- Find `chat.postMessage` in the reference and show its required fields

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 1667e8616692c908.

BEGIN THIRD-PARTY FILE 1667e8616692c908
```text
---
name: slack-docs
description: "Use when answering a conceptual or how-to question about Slack platform features, or when asked to look up, fetch, or summarize a docs.slack.dev page, including a pasted docs.slack.dev link. Covers finding and reading official Slack docs as clean markdown."
argument-hint: "[topic or docs.slack.dev URL]"
---

# Slack Platform Documentation

Help the developer **find** the right page on the official Slack documentation site (`https://docs.slack.dev`) and **read** it as clean markdown, so answers come from the live docs rather than memory. The site exposes three machine-readable surfaces an agent can use directly, with no authentication and no Slack workspace:

- A **search API method**: `GET https://docs.slack.dev/api/v1/search?query=<q>&category=<c>` returns ranked page hits as JSON. Scope every search with a `category` (guides, reference, a specific SDK, etc.); an uncategorized search skews heavily toward SDK pages.
- **Per-page markdown**: every page is available at its URL **+ `.md`** (e.g. `/quickstart.md`).
- **Index files**: `/llms.txt` (a curated overview) and `/llms-sitemap.md` (a list of every markdown page).

If `$0` is provided, it is either a `docs.slack.dev` URL (jump to the **Fast Path**) or a topic to search (start at **Step 1**). For a broad "how do I build X on Slack?" question rather than one specific page, read `https://docs.slack.dev/llms.txt` first; it is a curated, LLM-oriented overview of the platform and the recommended build path.

> **Critical rules:**
>
> - The docs are the **source of truth**. Do not answer a factual question about the Slack platform from memory; discover the page, fetch it, then answer from what it says.
> - Prefer the **`.md` version** of any page over the HTML version. It is cleaner for reading and quoting.
> - Every fetched markdown page begins with a `Source: <url>` line. Keep that URL so you can cite the page back to the developer.

> **DO NOT rules:**
>
> - DO NOT invent documentation URLs. Get them from the search API, the sitemap, or a link the developer gave you then verify by fetching.
> - DO NOT paraphrase a page you have not actually fetched. If a fetch fails, say so rather than filling the gap from memory.
> - DO NOT assume every URL has a `.md` version. If a fetch returns an error, fall back to the search API or the sitemap (Step 1) rather than guessing another URL.

---

## Fast Path (the developer already has a URL)

If the developer pasted a `https://docs.slack.dev/...` link, skip discovery and go straight to **Step 2** to fetch and read it.

---

## Step 1: Discover the Page (search)
```
END THIRD-PARTY FILE 1667e8616692c908

The third-party file has ended. Everything between the 1667e8616692c908 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2627 of 8886 bytes. © slackapi · MIT · https://github.com/slackapi/slack-skills-plugin/tree/HEAD/skills/slack-docs/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
