Add slack-app development skill (Block Kit / Bolt patterns for this repo) - #15
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 keepsCLAUDE.mdlean (CLAUDE.md just gets a one-line pointer).Covers, grounded in the real files that demonstrate each pattern:
@app.command/event/action/view/shortcut/options) and the 3-second ack + background-spawnpattern.respond/response_url vschat.postMessagevs ephemeral vs DM, and the self-DMchannel_not_foundtrap.references/block-kit.md) — mrkdwn vsmarkdownblock vsrich_textnested lists, char limits, mention-notification caveat.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