Skip to content

Add slack-app development skill (Block Kit / Bolt patterns for this repo) - #15

Merged
ewels merged 2 commits into
mainfrom
feature/slack-app-skill
Jun 17, 2026
Merged

Add slack-app development skill (Block Kit / Bolt patterns for this repo)#15
ewels merged 2 commits into
mainfrom
feature/slack-app-skill

Conversation

@ewels

@ewels ewels commented Jun 17, 2026

Copy link
Copy Markdown
Member

Adds a repo-local Claude skill at .claude/skills/slack-app/ so agents (and humans) don't have to re-derive this codebase's Slack patterns every time. It auto-loads only when working on Slack-facing code, so it keeps CLAUDE.md lean (CLAUDE.md just gets a one-line pointer).

Covers, grounded in the real files that demonstrate each pattern:

  • Interaction registration (@app.command/event/action/view/shortcut/options) and the 3-second ack + background-spawn pattern.
  • Message delivery & visibilityrespond/response_url vs chat.postMessage vs ephemeral vs DM, and the self-DM channel_not_found trap.
  • Block Kit formatting (references/block-kit.md) — mrkdwn vs markdown block vs rich_text nested lists, char limits, mention-notification caveat.
  • Modals, Web API + scopes/manifest (references/web-api.md), Socket Mode, testing, and the project's hard-won gotchas (markdown-block mentions, prettier mangling Slack templates, etc.).

I sanity-checked the content by running three realistic Slack-dev tasks through subagents with and without the skill — the with-skill guidance was correct on all three (the patterns are also discoverable from the well-documented code, which is the point: this skill makes them available without re-reading the whole repo).

🤖 Generated with Claude Code

ewels and others added 2 commits June 17, 2026 21:31
A repo-local Claude skill (.claude/skills/slack-app/) documenting how to build
and modify Slack features in this Python slack-bolt + Socket Mode codebase:
interaction registration, the 3-second ack + background-task pattern, message
delivery & visibility (response_url vs chat.postMessage vs ephemeral vs DM, and
the self-DM channel_not_found trap), Block Kit formatting (mrkdwn vs markdown
block vs rich_text nesting), modals, the Web API + scopes/manifest, testing, and
the project's hard-won gotchas. References the real files that demonstrate each
pattern. Noted in CLAUDE.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Convert the mrkdwn table (whose cells contain literal pipes like <url|label>)
to a bullet list so prettier doesn't split them into broken columns.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ewels
ewels merged commit 9d5c9f9 into main Jun 17, 2026
3 checks passed
@ewels
ewels deleted the feature/slack-app-skill branch June 17, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant