{"id":"449743a8-f8fb-478c-a4a2-ffc22ff83338","entityType":"agent","slug":"clawhub-oomol-oo-slack","name":"Slack","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oomol-oo-slack","canonicalPath":"/agent/clawhub-oomol-oo-slack","generatedAt":"2026-10-10T17:34:46.354Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:33:09.945Z","emptyReason":null},"description":"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-slack","sourceUrl":"https://clawhub.ai/oomol/oo-slack","homepage":"https://clawhub.ai/oomol/skills/oo-slack","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/oomol/oo-slack","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/oomol/skills/oo-slack","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Slack technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:33:09.945Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:33:09.945Z","emptyReason":null},"stars":null,"forks":null,"downloads":1358,"packageName":null,"latestVersion":"1.0.10","tractionLabel":"1.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:33:09.885Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T15:33:09.945Z","lastCrawledAt":"2026-10-10T15:33:09.885Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T15:33:09.885Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.10","createdAt":"2026-09-23T10:56:27.346Z","changelog":"- Operate Slack through an OOMOL-connected account using the `oo` CLI, with credentials handled server-side. - Read workspace data including channels, conversations, users, files, messages, threads, reactions, and permalinks. - Search Slack messages with standard Slack modifiers and granular real-time search context. - Send, reply to, update, schedule, and post ephemeral Slack messages, including Block Kit content. - Manage reactions and files, including uploads, downloads, metadata lookup, and deletion with explicit safety guidance. Source: `oomol-lab/skills@e4c868f`","fileCount":3,"zipByteSize":4255},{"version":"1.0.9","createdAt":"2026-09-15T05:48:22.178Z","changelog":"- Operate Slack through the OOMOL-connected `oo` CLI and Slack connector. - Read channels, conversations, messages, threads, files, reactions, and user metadata. - Create, update, schedule, and reply to messages, including rich Block Kit layouts. - Manage reactions, files, conversations, permalinks, and message searches. - Preserve multiline message formatting and follow confirmation safeguards for write and destructive actions. Source: `oomol-lab/skills@75bac03`","fileCount":3,"zipByteSize":4132},{"version":"1.0.7","createdAt":"2026-09-07T09:43:52.232Z","changelog":"- Slack skill for working with Slack through an OOMOL-connected account via the `oo` CLI. - Read and inspect workspace data: channels, conversations, users, files, messages, threads, reactions, and permalinks. - Perform common write actions: post, reply, update, schedule, upload files, open DMs, add reactions, and send ephemeral messages. - Supports message search and search context, with schema-driven payloads for each action. - Preserves multiline Slack message formatting by handling newline text correctly in JSON payloads. Source: `oomol-lab/skills@14e0b86`","fileCount":3,"zipByteSize":4174},{"version":"1.0.6","createdAt":"2026-08-25T04:45:20.349Z","changelog":"- Provides Slack access through the OOMOL `slack` connector and `oo` CLI, without handling raw Slack tokens. - Supports reading Slack data, including channels, conversations, users, files, messages, threads, reactions, and permalinks. - Adds message workflows for posting, replying, updating, scheduling, ephemeral messages, and Block Kit payloads. - Includes file upload/delete support and reaction add/remove actions with clear write/destructive safety guidance. - Documents first-time setup and auth recovery paths for missing CLI, expired credentials, missing scopes, and billing issues. Source: `oomol-lab/skills@3e4b3ff`","fileCount":3,"zipByteSize":4103},{"version":"1.0.4","createdAt":"2026-08-11T08:07:18.809Z","changelog":"- Provides Slack access through the OOMOL-connected `oo` CLI without handling raw tokens. - Supports message workflows: post, reply, update, schedule, delete, and create ephemeral messages. - Includes read/search tools for channels, conversations, threads, users, files, reactions, and permalinks. - Supports Slack file operations, including listing, metadata lookup, upload, and deletion. - Defines clear safety guidance for read, write, and destructive Slack actions. Source: `oomol-lab/skills@46cfb3e`","fileCount":3,"zipByteSize":3726},{"version":"1.0.3","createdAt":"2026-06-23T09:16:53.951Z","changelog":"- Operates Slack through the OOMOL `slack` connector and `oo` CLI with server-side credential handling. - Supports reading Slack data, including conversations, messages, threads, files, reactions, users, and permalinks. - Adds message workflows for posting, replying, updating, scheduling, ephemeral messages, and direct-message conversations. - Includes file upload and deletion actions using Slack’s current external upload flow. - Provides reaction management with add, list, and remove actions. - Documents safety expectations for read, write, and destructive actions, including confirmation before state changes. Source: `oomol-lab/skills@22ace01`","fileCount":3,"zipByteSize":3656},{"version":"1.0.2","createdAt":"2026-06-16T10:02:23.701Z","changelog":"- Operates Slack through the OOMOL `slack` connector using the `oo` CLI, with credentials injected server-side. - Supports reading Slack data, including channels, conversations, messages, threads, users, files, reactions, and permalinks. - Provides messaging actions for posting, replying, updating, scheduling, and sending ephemeral Slack messages. - Includes write actions for reactions, DMs or multi-person DMs, and file uploads. - Marks destructive operations clearly for deleting files/messages or removing reactions, with explicit approval guidance. Source: `oomol-lab/skills@4597539`","fileCount":3,"zipByteSize":3659},{"version":"1.0.1","createdAt":"2026-06-09T10:10:27.884Z","changelog":"- Operates Slack through an OOMOL-connected account using the `oo` CLI and server-side credentials. - Supports reading workspace data, including channels, conversations, users, messages, threads, and permalinks. - Adds message workflows for posting, replying, updating, scheduling, and ephemeral messages. - Includes destructive message deletion with explicit confirmation guidance. - Documents live schema inspection before running connector actions. Source: `oomol-lab/skills@146ef20`","fileCount":3,"zipByteSize":3490}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-slack","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-slack` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/oomol/oo-slack before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T17:34:46.351Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-slack/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:33:09.945Z","emptyReason":null},"readme":"Skill: Slack\n\nOwner: oomol\n\nSummary: Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\n\nTags: latest:1.0.10\n\nVersion history:\n\nv1.0.10 | 2026-09-23T10:56:27.346Z | user\n\n- Operate Slack through an OOMOL-connected account using the `oo` CLI, with credentials handled server-side.\n- Read workspace data including channels, conversations, users, files, messages, threads, reactions, and permalinks.\n- Search Slack messages with standard Slack modifiers and granular real-time search context.\n- Send, reply to, update, schedule, and post ephemeral Slack messages, including Block Kit content.\n- Manage reactions and files, including uploads, downloads, metadata lookup, and deletion with explicit safety guidance.\n\nSource: `oomol-lab/skills@e4c868f`\n\nv1.0.9 | 2026-09-15T05:48:22.178Z | user\n\n- Operate Slack through the OOMOL-connected `oo` CLI and Slack connector.\n- Read channels, conversations, messages, threads, files, reactions, and user metadata.\n- Create, update, schedule, and reply to messages, including rich Block Kit layouts.\n- Manage reactions, files, conversations, permalinks, and message searches.\n- Preserve multiline message formatting and follow confirmation safeguards for write and destructive actions.\n\nSource: `oomol-lab/skills@75bac03`\n\nv1.0.7 | 2026-09-07T09:43:52.232Z | user\n\n- Slack skill for working with Slack through an OOMOL-connected account via the `oo` CLI.\n- Read and inspect workspace data: channels, conversations, users, files, messages, threads, reactions, and permalinks.\n- Perform common write actions: post, reply, update, schedule, upload files, open DMs, add reactions, and send ephemeral messages.\n- Supports message search and search context, with schema-driven payloads for each action.\n- Preserves multiline Slack message formatting by handling newline text correctly in JSON payloads.\n\nSource: `oomol-lab/skills@14e0b86`\n\nv1.0.6 | 2026-08-25T04:45:20.349Z | user\n\n- Provides Slack access through the OOMOL `slack` connector and `oo` CLI, without handling raw Slack tokens.\n- Supports reading Slack data, including channels, conversations, users, files, messages, threads, reactions, and permalinks.\n- Adds message workflows for posting, replying, updating, scheduling, ephemeral messages, and Block Kit payloads.\n- Includes file upload/delete support and reaction add/remove actions with clear write/destructive safety guidance.\n- Documents first-time setup and auth recovery paths for missing CLI, expired credentials, missing scopes, and billing issues.\n\nSource: `oomol-lab/skills@3e4b3ff`\n\nv1.0.4 | 2026-08-11T08:07:18.809Z | user\n\n- Provides Slack access through the OOMOL-connected `oo` CLI without handling raw tokens.\n- Supports message workflows: post, reply, update, schedule, delete, and create ephemeral messages.\n- Includes read/search tools for channels, conversations, threads, users, files, reactions, and permalinks.\n- Supports Slack file operations, including listing, metadata lookup, upload, and deletion.\n- Defines clear safety guidance for read, write, and destructive Slack actions.\n\nSource: `oomol-lab/skills@46cfb3e`\n\nv1.0.3 | 2026-06-23T09:16:53.951Z | user\n\n- Operates Slack through the OOMOL `slack` connector and `oo` CLI with server-side credential handling.\n- Supports reading Slack data, including conversations, messages, threads, files, reactions, users, and permalinks.\n- Adds message workflows for posting, replying, updating, scheduling, ephemeral messages, and direct-message conversations.\n- Includes file upload and deletion actions using Slack’s current external upload flow.\n- Provides reaction management with add, list, and remove actions.\n- Documents safety expectations for read, write, and destructive actions, including confirmation before state changes.\n\nSource: `oomol-lab/skills@22ace01`\n\nv1.0.2 | 2026-06-16T10:02:23.701Z | user\n\n- Operates Slack through the OOMOL `slack` connector using the `oo` CLI, with credentials injected server-side.\n- Supports reading Slack data, including channels, conversations, messages, threads, users, files, reactions, and permalinks.\n- Provides messaging actions for posting, replying, updating, scheduling, and sending ephemeral Slack messages.\n- Includes write actions for reactions, DMs or multi-person DMs, and file uploads.\n- Marks destructive operations clearly for deleting files/messages or removing reactions, with explicit approval guidance.\n\nSource: `oomol-lab/skills@4597539`\n\nv1.0.1 | 2026-06-09T10:10:27.884Z | user\n\n- Operates Slack through an OOMOL-connected account using the `oo` CLI and server-side credentials.\n- Supports reading workspace data, including channels, conversations, users, messages, threads, and permalinks.\n- Adds message workflows for posting, replying, updating, scheduling, and ephemeral messages.\n- Includes destructive message deletion with explicit confirmation guidance.\n- Documents live schema inspection before running connector actions.\n\nSource: `oomol-lab/skills@146ef20`\n\nv1.0.0 | 2026-06-05T01:50:42.667Z | user\n\n- Adds the initial `oo-slack` skill for operating Slack through an OOMOL-connected account via the `slack` connector and `oo` CLI.\n- Supports reading Slack workspace data, including channels, conversations, users, conversation metadata, channel messages, threads, and message permalinks.\n- Supports Slack write workflows such as posting channel messages, replying in threads, sending ephemeral messages, and scheduling messages.\n- Supports bot-owned message maintenance with update and delete actions, with explicit safety guidance for write and destructive operations.\n- Documents the required schema-first workflow so agents inspect live connector contracts before running Slack actions.\n\nArchive index:\n\nArchive v1.0.10: 3 files, 4255 bytes\n\nFiles: skill-card.md (2174b), SKILL.md (6459b), _meta.json (128b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.10\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n### Preserve multiline message text\n\nSlack renders real newline characters in `text`; it renders literal backslash-n\ncharacters as `\\n`. Keep one JSON-encoding boundary:\n\n- Before serialization, message text must contain actual LF characters.\n- In serialized JSON, each intended newline appears as `\\n`. If it appears as\n  `\\\\n`, it has been double-escaped and Slack will display `\\n`.\n- When passing raw JSON to `--data`, write the JSON newline escape exactly once.\n\n```bash\noo connector run \"slack\" \\\n  --action \"post_message\" \\\n  --data '{\"channelId\":\"C123\",\"text\":\"First paragraph.\\n\\nSecond paragraph.\"}' \\\n  --json\n```\n\nIf visible formatting matters, read the posted message back and confirm that\n`text` contains line breaks rather than literal `\\n` characters.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `conversations_members` — List one page of member user IDs for a Slack conversation.\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted through this connection. [destructive]\n- `download_file` — Download a Slack-hosted file into Connector file transit storage using the connected identity's access.\n- `get_channel_messages` — Get recent messages from a Slack conversation.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_current_user` — Get the workspace and user identity of the connected Slack credential.\n- `get_file` — Get metadata for a Slack file.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_reactions` — Get reactions for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack public channels visible to the connected Slack identity.\n- `list_conversations` — List Slack conversations visible to the connected Slack identity.\n- `list_files` — List Slack files visible to the connected Slack identity, optionally filtered by channel or user.\n- `list_users` — List Slack users visible to the connected Slack identity.\n- `open_conversation` — Open or resume a direct message with one Slack user. [write]\n- `post_ephemeral_message` — Post an ephemeral Slack message visible only to one user in a conversation. [write]\n- `post_message` — Post a Slack message. Use text for plain messages, or blocks for rich Block Kit layouts with text as fallback. [write]\n- `remove_reaction` — Remove an emoji reaction from a Slack message. [destructive]\n- `reply_message` — Reply to a Slack thread. Use text, blocks, or attachments for the reply content. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. Use text or blocks for the scheduled content. [write]\n- `search_context` — Search Slack messages with the granular Real-time Search API.\n- `search_messages` — Search messages visible to the Slack user who authorized the connection. Slack search modifiers such as in:channel_name and from:<@UserID> are supported.\n- `update_message` — Update a Slack message posted through this connection. Provide text, blocks, or attachments as the new message content. [write]\n- `upload_file` — Upload a file to Slack using the current external upload flow. Provide fileUrl; binary content is fetched by the connector runtime. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1790160987346\n}\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nSlack lets an agent read, create, update, and delete Slack data through an OOMOL-connected account instead of calling Slack APIs directly.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and workspace users use this skill to let an agent inspect Slack workspace data, search messages, and perform approved Slack write or delete actions through the connected OOMOL Slack account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence reports a suspicious fallback setup path because it tells the agent to run a remote CLI installer without an integrity check or clear user approval.\n\nMitigation: Review the OOMOL CLI installer through an official guide, prefer a package-manager or verified release path when available, and do not let the agent run the installer automatically.\n\nRisk: Slack write and destructive actions can modify or remove workspace messages, reactions, and files.\n\nMitigation: Confirm the exact channel, message, file, target, and payload with the user before running write or destructive actions.\n\n## Reference(s):\n\n- [ClawHub Slack skill release](https://clawhub.ai/oomol/skills/oo-slack)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [OOMOL oo CLI install guide](https://cli.oomol.com/install-guide.md)\n- [Slack homepage](https://slack.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses the oo CLI to inspect live action schemas before constructing Slack connector payloads.]\n\n## Skill Version(s):\n\n1.0.10 (source: release evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.9: 3 files, 4132 bytes\n\nFiles: skill-card.md (2225b), SKILL.md (6147b), _meta.json (127b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.9\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n### Preserve multiline message text\n\nSlack renders real newline characters in `text`; it renders literal backslash-n\ncharacters as `\\n`. Keep one JSON-encoding boundary:\n\n- Before serialization, message text must contain actual LF characters.\n- In serialized JSON, each intended newline appears as `\\n`. If it appears as\n  `\\\\n`, it has been double-escaped and Slack will display `\\n`.\n- When passing raw JSON to `--data`, write the JSON newline escape exactly once.\n\n```bash\noo connector run \"slack\" \\\n  --action \"post_message\" \\\n  --data '{\"channelId\":\"C123\",\"text\":\"First paragraph.\\n\\nSecond paragraph.\"}' \\\n  --json\n```\n\nIf visible formatting matters, read the posted message back and confirm that\n`text` contains line breaks rather than literal `\\n` characters.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted through this connection. [destructive]\n- `get_channel_messages` — Get recent messages from a Slack conversation.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_file` — Get metadata for a Slack file.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_reactions` — Get reactions for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack public channels visible to the connected Slack identity.\n- `list_conversations` — List Slack conversations visible to the connected Slack identity.\n- `list_files` — List Slack files visible to the connected Slack identity, optionally filtered by channel or user.\n- `list_users` — List Slack users visible to the connected Slack identity.\n- `open_conversation` — Open or resume a direct message with one Slack user. [write]\n- `post_ephemeral_message` — Post an ephemeral Slack message visible only to one user in a conversation. [write]\n- `post_message` — Post a Slack message. Use text for plain messages, or blocks for rich Block Kit layouts with text as fallback. [write]\n- `remove_reaction` — Remove an emoji reaction from a Slack message. [destructive]\n- `reply_message` — Reply to a Slack thread. Use text, blocks, or attachments for the reply content. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. Use text or blocks for the scheduled content. [write]\n- `search_context` — Search Slack messages with the granular Real-time Search API.\n- `search_messages` — Search messages visible to the Slack user who authorized the connection. Slack search modifiers such as in:channel_name and from:<@UserID> are supported.\n- `update_message` — Update a Slack message posted through this connection. Provide text, blocks, or attachments as the new message content. [write]\n- `upload_file` — Upload a file to Slack using the current external upload flow. Provide fileUrl; binary content is fetched by the connector runtime. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1789451302178\n}\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nSlack lets agents read, create, update, delete, search, and manage Slack content through the OOMOL-connected oo CLI and Slack connector.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and employees use this skill to operate Slack from an agent through an OOMOL-connected account, including reading conversations, posting messages, managing reactions, uploading files, and updating or deleting content after confirmation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup instructions include running an internet installer for the oo CLI.\n\nMitigation: Use a verified oo CLI installation path before installing instead of piping a remote script directly into a shell.\n\nRisk: The skill can post, upload, update, delete, or remove Slack content through the connected account.\n\nMitigation: Confirm exact payloads, targets, and effects with the user before any write or destructive Slack action.\n\nRisk: Slack workspace access depends on permissions granted to OOMOL and the connected identity.\n\nMitigation: Review the Slack permissions granted to OOMOL and use an account with only the access needed for the task.\n\n## Reference(s):\n\n- [ClawHub Slack Skill](https://clawhub.ai/oomol/skills/oo-slack)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI Install Guide](https://cli.oomol.com/install-guide.md)\n- [Slack](https://slack.com)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON payloads, Configuration guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses live connector schemas before actions; write and destructive Slack operations require confirmation.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.7: 3 files, 4174 bytes\n\nFiles: skill-card.md (2236b), SKILL.md (6147b), _meta.json (127b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.7\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n### Preserve multiline message text\n\nSlack renders real newline characters in `text`; it renders literal backslash-n\ncharacters as `\\n`. Keep one JSON-encoding boundary:\n\n- Before serialization, message text must contain actual LF characters.\n- In serialized JSON, each intended newline appears as `\\n`. If it appears as\n  `\\\\n`, it has been double-escaped and Slack will display `\\n`.\n- When passing raw JSON to `--data`, write the JSON newline escape exactly once.\n\n```bash\noo connector run \"slack\" \\\n  --action \"post_message\" \\\n  --data '{\"channelId\":\"C123\",\"text\":\"First paragraph.\\n\\nSecond paragraph.\"}' \\\n  --json\n```\n\nIf visible formatting matters, read the posted message back and confirm that\n`text` contains line breaks rather than literal `\\n` characters.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted through this connection. [destructive]\n- `get_channel_messages` — Get recent messages from a Slack conversation.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_file` — Get metadata for a Slack file.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_reactions` — Get reactions for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack public channels visible to the connected Slack identity.\n- `list_conversations` — List Slack conversations visible to the connected Slack identity.\n- `list_files` — List Slack files visible to the connected Slack identity, optionally filtered by channel or user.\n- `list_users` — List Slack users visible to the connected Slack identity.\n- `open_conversation` — Open or resume a direct message with one Slack user. [write]\n- `post_ephemeral_message` — Post an ephemeral Slack message visible only to one user in a conversation. [write]\n- `post_message` — Post a Slack message. Use text for plain messages, or blocks for rich Block Kit layouts with text as fallback. [write]\n- `remove_reaction` — Remove an emoji reaction from a Slack message. [destructive]\n- `reply_message` — Reply to a Slack thread. Use text, blocks, or attachments for the reply content. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. Use text or blocks for the scheduled content. [write]\n- `search_context` — Search Slack messages with the granular Real-time Search API.\n- `search_messages` — Search messages visible to the Slack user who authorized the connection. Slack search modifiers such as in:channel_name and from:<@UserID> are supported.\n- `update_message` — Update a Slack message posted through this connection. Provide text, blocks, or attachments as the new message content. [write]\n- `upload_file` — Upload a file to Slack using the current external upload flow. Provide fileUrl; binary content is fetched by the connector runtime. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1788774232232\n}\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nSlack (slack.com). Use this skill for ANY Slack request - reading, creating, updating, and deleting data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to read Slack workspace context and perform common Slack actions through an OOMOL-connected account. It supports schema-driven Slack connector calls for messages, conversations, users, files, reactions, search, and thread workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup instructions include internet installer commands executed directly in a shell.\n\nMitigation: Use a verified or pinned installer source, or inspect and validate the downloaded installer before execution.\n\nRisk: Slack write and destructive actions can change, remove, or overwrite workspace content.\n\nMitigation: Confirm the exact Slack target, payload, and expected effect before approving write or destructive actions.\n\nRisk: The connector relies on OOMOL-managed Slack access for the connected account.\n\nMitigation: Install and use the skill only where OOMOL handling connector access is acceptable for the workspace and account.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-slack)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [Slack homepage](https://slack.com)\n- [Slack icon](https://static.oomol.com/logo/third-party/Slack.svg)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May produce Slack connector calls that return JSON data and execution metadata.]\n\n## Skill Version(s):\n\n1.0.7 (source: server evidence release.version and skill frontmatter metadata.version)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.6: 3 files, 4103 bytes\n\nFiles: skill-card.md (2173b), SKILL.md (6062b), _meta.json (127b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n### Preserve multiline message text\n\nSlack renders real newline characters in `text`; it renders literal backslash-n\ncharacters as `\\n`. Keep one JSON-encoding boundary:\n\n- Before serialization, message text must contain actual LF characters.\n- In serialized JSON, each intended newline appears as `\\n`. If it appears as\n  `\\\\n`, it has been double-escaped and Slack will display `\\n`.\n- When passing raw JSON to `--data`, write the JSON newline escape exactly once.\n\n```bash\noo connector run \"slack\" \\\n  --action \"post_message\" \\\n  --data '{\"channelId\":\"C123\",\"text\":\"First paragraph.\\n\\nSecond paragraph.\"}' \\\n  --json\n```\n\nIf visible formatting matters, read the posted message back and confirm that\n`text` contains line breaks rather than literal `\\n` characters.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted through this connection. [destructive]\n- `get_channel_messages` — Get recent messages from a Slack conversation.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_file` — Get metadata for a Slack file.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_reactions` — Get reactions for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack public channels visible to the connected Slack identity.\n- `list_conversations` — List Slack conversations visible to the connected Slack identity.\n- `list_files` — List Slack files visible to the connected Slack identity, optionally filtered by channel or user.\n- `list_users` — List Slack users visible to the connected Slack identity.\n- `open_conversation` — Open or resume a direct message with one Slack user. [write]\n- `post_ephemeral_message` — Post an ephemeral Slack message visible only to one user in a conversation. [write]\n- `post_message` — Post a Slack message. Use text for plain messages, or blocks for rich Block Kit layouts with text as fallback. [write]\n- `remove_reaction` — Remove an emoji reaction from a Slack message. [destructive]\n- `reply_message` — Reply to a Slack thread. Use text, blocks, or attachments for the reply content. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. Use text or blocks for the scheduled content. [write]\n- `search_messages` — Search messages visible to the Slack user who authorized the connection. Slack search modifiers such as in:channel_name and from:<@UserID> are supported.\n- `update_message` — Update a Slack message posted through this connection. Provide text, blocks, or attachments as the new message content. [write]\n- `upload_file` — Upload a file to Slack using the current external upload flow. Provide fileUrl; binary content is fetched by the connector runtime. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1787633120349\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nEnables an agent to operate Slack through an OOMOL-connected account for reading Slack data and creating, updating, scheduling, or deleting Slack content.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to let an agent inspect Slack conversations, channels, users, files, messages, threads, reactions, and permalinks, and to perform approved Slack write actions through an OOMOL-connected account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Read actions can expose Slack messages, files, channels, and user metadata visible to the connected OOMOL account.\n\nMitigation: Install only when that account's Slack visibility is acceptable for agent access, and review read requests that may surface sensitive workspace content.\n\nRisk: Write and destructive actions can post, update, schedule, upload, react to, or delete Slack content.\n\nMitigation: Review the exact payload, target conversation or file, and expected effect before approving any write or destructive action.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/oomol/skills/oo-slack)\n- [OOMOL Publisher Profile](https://clawhub.ai/user/oomol)\n- [Slack Homepage](https://slack.com)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [OOMOL CLI Install Guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include Slack connector command output and execution identifiers returned by the oo CLI.]\n\n## Skill Version(s):\n\n1.0.6 (source: release evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.4: 3 files, 3726 bytes\n\nFiles: skill-card.md (2081b), SKILL.md (5183b), _meta.json (127b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.4\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted by the bot. [destructive]\n- `get_channel_messages` — Get recent messages from a Slack conversation.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_file` — Get metadata for a Slack file.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_reactions` — Get reactions for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack public channels visible to the bot.\n- `list_conversations` — List Slack conversations visible to the bot.\n- `list_files` — List Slack files visible to the bot, optionally filtered by channel or user.\n- `list_users` — List Slack users visible to the bot.\n- `open_conversation` — Open or resume a direct message with one Slack user. [write]\n- `post_ephemeral_message` — Post an ephemeral Slack message visible only to one user in a conversation. [write]\n- `post_message` — Post a Slack message. Use text for plain messages, or blocks for rich Block Kit layouts with text as fallback. [write]\n- `remove_reaction` — Remove an emoji reaction from a Slack message. [destructive]\n- `reply_message` — Reply to a Slack thread. Use text, blocks, or attachments for the reply content. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. Use text or blocks for the scheduled content. [write]\n- `search_messages` — Search messages visible to the Slack user who authorized the connection. Slack search modifiers such as in:channel_name and from:<@UserID> are supported.\n- `update_message` — Update a Slack message posted by the bot. Provide text, blocks, or attachments as the new message content. [write]\n- `upload_file` — Upload a file to Slack using the current external upload flow. Provide fileUrl; binary content is fetched by the connector runtime. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1786435638809\n}\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nSlack enables agents to read, search, create, update, schedule, upload, react to, and delete Slack workspace data through an OOMOL-connected account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nEmployees, developers, and automation agents use this skill to operate Slack conversations, messages, users, reactions, and files from a connected OOMOL account. It supports Slack read workflows plus user-confirmed write and destructive workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can change Slack state by posting, replying, updating, scheduling, uploading, reacting, or opening conversations.\n\nMitigation: Confirm the exact payload and intended effect with the user before running write actions.\n\nRisk: The skill can remove or overwrite Slack data through delete and remove-reaction actions.\n\nMitigation: Require explicit approval for the specific target before running destructive actions.\n\nRisk: Slack read and search results may include sensitive workspace data.\n\nMitigation: Treat returned messages, users, files, and conversation data as sensitive and share only what is needed for the task.\n\n## Reference(s):\n\n- [Slack homepage](https://slack.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, JSON, guidance]\n\n**Output Format:** [Markdown guidance with shell command examples and JSON payloads or responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires an installed and authenticated oo CLI plus an OOMOL-connected Slack account]\n\n## Skill Version(s):\n\n1.0.4 (source: server release metadata and frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.3: 3 files, 3656 bytes\n\nFiles: skill-card.md (2321b), SKILL.md (5005b), _meta.json (127b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.3\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted by the bot. [destructive]\n- `get_channel_messages` — Get recent messages from a Slack conversation.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_file` — Get metadata for a Slack file.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_reactions` — Get reactions for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack public channels visible to the bot.\n- `list_conversations` — List Slack conversations visible to the bot.\n- `list_files` — List Slack files visible to the bot, optionally filtered by channel or user.\n- `list_users` — List Slack users visible to the bot.\n- `open_conversation` — Open or resume a direct message with one Slack user. [write]\n- `post_ephemeral_message` — Post an ephemeral Slack message visible only to one user in a conversation. [write]\n- `post_message` — Post a Slack message. Use text for plain messages, or blocks for rich Block Kit layouts with text as fallback. [write]\n- `remove_reaction` — Remove an emoji reaction from a Slack message. [destructive]\n- `reply_message` — Reply to a Slack thread. Use text, blocks, or attachments for the reply content. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. Use text or blocks for the scheduled content. [write]\n- `update_message` — Update a Slack message posted by the bot. Provide text, blocks, or attachments as the new message content. [write]\n- `upload_file` — Upload a file to Slack using the current external upload flow. Provide fileUrl; binary content is fetched by the connector runtime. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1782206213951\n}\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nProvides Slack access for reading conversations, messages, threads, files, reactions, and users, and for confirmed write or destructive Slack actions through an OOMOL-connected account. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees, external users, and developers use this skill to inspect Slack data and, with confirmation, create, update, schedule, or delete Slack messages, reactions, and files through an OOMOL-connected Slack account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can read Slack data visible to the connected account. <br>\nMitigation: Review Slack scopes during connection and install only when that account visibility is acceptable. <br>\nRisk: Write actions can post, reply, update, schedule, upload, or open conversations in Slack. <br>\nMitigation: Confirm the exact payload and expected Slack effect with the user before executing write actions. <br>\nRisk: Destructive actions can delete Slack files or messages or remove reactions. <br>\nMitigation: Require explicit approval for the specific target before running destructive actions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-slack) <br>\n- [Slack homepage](https://slack.com) <br>\n- [oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [OOMOL Slack connection](https://console.oomol.com/app-connections?provider=slack) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON payloads] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses an OOMOL-connected Slack account; write and destructive actions require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release evidence and skill metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.2: 3 files, 3659 bytes\n\nFiles: skill-card.md (2104b), SKILL.md (5045b), _meta.json (127b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.2\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted by the bot. [destructive]\n- `get_channel_messages` — Get recent messages from a Slack conversation.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_file` — Get metadata for a Slack file.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_reactions` — Get reactions for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack public channels visible to the bot.\n- `list_conversations` — List Slack conversations visible to the bot.\n- `list_files` — List Slack files visible to the bot, optionally filtered by channel or user.\n- `list_users` — List Slack users visible to the bot.\n- `open_conversation` — Open or resume a direct message or multi-person direct message with one or more Slack users. [write]\n- `post_ephemeral_message` — Post an ephemeral Slack message visible only to one user in a conversation. [write]\n- `post_message` — Post a Slack message. Use text for plain messages, or blocks for rich Block Kit layouts with text as fallback. [write]\n- `remove_reaction` — Remove an emoji reaction from a Slack message. [destructive]\n- `reply_message` — Reply to a Slack thread. Use text, blocks, or attachments for the reply content. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. Use text or blocks for the scheduled content. [write]\n- `update_message` — Update a Slack message posted by the bot. Provide text, blocks, or attachments as the new message content. [write]\n- `upload_file` — Upload a file to Slack using the current external upload flow. Provide fileUrl; binary content is fetched by the connector runtime. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1781604143701\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nThis skill lets an agent operate Slack through OOMOL's Slack connector for reading conversations and managing messages, reactions, files, and DMs. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, employees, and external users use this skill when an agent needs to inspect Slack data or perform approved Slack actions through an OOMOL-connected account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can make real Slack changes, including posting, updating, deleting messages or files, opening DMs, uploading files, and changing reactions. <br>\nMitigation: Confirm the exact target, payload, and expected effect with the user before write actions, and require explicit approval before destructive actions. <br>\nRisk: Connector access depends on the Slack scopes granted to OOMOL's connector. <br>\nMitigation: Install only when the workspace owner is comfortable with the granted scopes, and adjust or reconnect the provider account if access is broader than intended. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Slack skill](https://clawhub.ai/oomol/oo-slack) <br>\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [Slack](https://slack.com) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON payloads] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Slack connector responses are JSON objects with data and meta.executionId fields.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 3 files, 3490 bytes\n\nFiles: skill-card.md (2578b), SKILL.md (4040b), _meta.json (127b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.1\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `delete_message` — Delete a Slack message posted by the bot. [destructive]\n- `get_channel_messages` — Get messages from a Slack channel.\n- `get_conversation` — Get metadata for a Slack conversation.\n- `get_message_permalink` — Get a permalink for a Slack message.\n- `get_thread` — Get messages in a Slack thread.\n- `get_user` — Get metadata for a Slack user.\n- `list_channels` — List Slack channels.\n- `list_conversations` — List Slack conversations visible to the bot.\n- `list_users` — List Slack users visible to the bot.\n- `post_ephemeral_message` — Post an ephemeral message to a Slack conversation. [write]\n- `post_message` — Post a message to a Slack channel. [write]\n- `reply_message` — Reply to a Slack thread. [write]\n- `schedule_message` — Schedule a Slack message to be posted later. [write]\n- `update_message` — Update a Slack message posted by the bot. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Slack state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780999827884\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nThis skill lets an agent operate Slack through the OOMOL `oo` CLI for reading, creating, updating, and deleting Slack data instead of calling the Slack API directly. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees, external users, and developers use this skill to let an agent operate Slack through an OOMOL-connected account for reading channels, conversations, users, messages, and threads, and for posting, updating, scheduling, replying to, or deleting Slack messages when authorized. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Fallback setup can run a remotely fetched oo CLI installer script in a shell. <br>\nMitigation: Install and verify the oo CLI manually where possible, and do not let an agent run the pipe-to-shell installer automatically. <br>\nRisk: Slack write actions can post, update, reply to, or schedule messages, and the destructive action can delete a bot-posted message. <br>\nMitigation: Confirm the exact payload and expected effect with the user before write actions, and require explicit approval for destructive deletion targets. <br>\nRisk: The connected Slack account or bot may expose channels, users, messages, or threads visible to that credential. <br>\nMitigation: Use a Slack bot or account with channel visibility and posting permissions appropriate for the intended workspace and task. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Slack skill page](https://clawhub.ai/oomol/oo-slack) <br>\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [OOMOL oo CLI install guide](https://cli.oomol.com/install-guide.md) <br>\n- [Slack](https://slack.com) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Shell commands, Configuration instructions, Text, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON payload guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Agent actions return JSON from the oo CLI connector, including data and meta.executionId when a Slack action runs.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: release evidence and SKILL.md metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0: 17 files, 10789 bytes\n\nFiles: actions/delete_message.md (777b), actions/get_channel_messages.md (660b), actions/get_conversation.md (644b), actions/get_message_permalink.md (667b), actions/get_thread.md (607b), actions/get_user.md (596b), actions/list_channels.md (611b), actions/list_conversations.md (660b), actions/list_users.md (612b), actions/post_ephemeral_message.md (810b), actions/post_message.md (744b), actions/reply_message.md (739b), actions/schedule_message.md (774b), actions/update_message.md (761b), skill-card.md (2030b), SKILL.md (4457b), _meta.json (127b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.0\"\n  service: \"slack\"\n  categories: \"Communication, Productivity\"\n  homepage: \"https://slack.com\"\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Communication, Productivity. Exposes 14 action(s).\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`delete_message`](actions/delete_message.md) — Delete a Slack message posted by the bot.\n- [`get_channel_messages`](actions/get_channel_messages.md) — Get messages from a Slack channel.\n- [`get_conversation`](actions/get_conversation.md) — Get metadata for a Slack conversation.\n- [`get_message_permalink`](actions/get_message_permalink.md) — Get a permalink for a Slack message.\n- [`get_thread`](actions/get_thread.md) — Get messages in a Slack thread.\n- [`get_user`](actions/get_user.md) — Get metadata for a Slack user.\n- [`list_channels`](actions/list_channels.md) — List Slack channels.\n- [`list_conversations`](actions/list_conversations.md) — List Slack conversations visible to the bot.\n- [`list_users`](actions/list_users.md) — List Slack users visible to the bot.\n- [`post_ephemeral_message`](actions/post_ephemeral_message.md) — Post an ephemeral message to a Slack conversation.\n- [`post_message`](actions/post_message.md) — Post a message to a Slack channel.\n- [`reply_message`](actions/reply_message.md) — Reply to a Slack thread.\n- [`schedule_message`](actions/schedule_message.md) — Schedule a Slack message to be posted later.\n- [`update_message`](actions/update_message.md) — Update a Slack message posted by the bot.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Slack state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Slack is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=slack\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Slack homepage: https://slack.com\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780624242667\n}\n\nFile v1.0.0:actions/delete_message.md\n\n# Slack · `delete_message`\n\nDelete a Slack message posted by the bot.\n\n- **Service**: `slack`\n- **Action**: `delete_message`\n- **Action id**: `slack.delete_message`\n- **Required scopes**: slack.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"delete_message\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"delete_message\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Slack data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.0:actions/get_channel_messages.md\n\n# Slack · `get_channel_messages`\n\nGet messages from a Slack channel.\n\n- **Service**: `slack`\n- **Action**: `get_channel_messages`\n- **Action id**: `slack.get_channel_messages`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"get_channel_messages\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"get_channel_messages\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_conversation.md\n\n# Slack · `get_conversation`\n\nGet metadata for a Slack conversation.\n\n- **Service**: `slack`\n- **Action**: `get_conversation`\n- **Action id**: `slack.get_conversation`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"get_conversation\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"get_conversation\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_message_permalink.md\n\n# Slack · `get_message_permalink`\n\nGet a permalink for a Slack message.\n\n- **Service**: `slack`\n- **Action**: `get_message_permalink`\n- **Action id**: `slack.get_message_permalink`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"get_message_permalink\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"get_message_permalink\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_thread.md\n\n# Slack · `get_thread`\n\nGet messages in a Slack thread.\n\n- **Service**: `slack`\n- **Action**: `get_thread`\n- **Action id**: `slack.get_thread`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"get_thread\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"get_thread\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_user.md\n\n# Slack · `get_user`\n\nGet metadata for a Slack user.\n\n- **Service**: `slack`\n- **Action**: `get_user`\n- **Action id**: `slack.get_user`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"get_user\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"get_user\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/list_channels.md\n\n# Slack · `list_channels`\n\nList Slack channels.\n\n- **Service**: `slack`\n- **Action**: `list_channels`\n- **Action id**: `slack.list_channels`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"list_channels\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"list_channels\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/list_conversations.md\n\n# Slack · `list_conversations`\n\nList Slack conversations visible to the bot.\n\n- **Service**: `slack`\n- **Action**: `list_conversations`\n- **Action id**: `slack.list_conversations`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"list_conversations\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"list_conversations\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/list_users.md\n\n# Slack · `list_users`\n\nList Slack users visible to the bot.\n\n- **Service**: `slack`\n- **Action**: `list_users`\n- **Action id**: `slack.list_users`\n- **Required scopes**: slack.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"list_users\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"list_users\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/post_ephemeral_message.md\n\n# Slack · `post_ephemeral_message`\n\nPost an ephemeral message to a Slack conversation.\n\n- **Service**: `slack`\n- **Action**: `post_ephemeral_message`\n- **Action id**: `slack.post_ephemeral_message`\n- **Required scopes**: slack.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"slack\" --action \"post_ephemeral_message\"\n```\n\n## Run\n\n```bash\noo connector run \"slack\" --action \"post_ephemeral_message\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Slack state. Confirm the exact payload and intended effect with the user before running.","readmeExcerpt":"Skill: Slack Owner: oomol Summary: Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly. Tags: latest:1.0.10 Version history: v1.0.10 | 2026-09-23T10:56:27.346Z | user - Operate Slack through an OOMOL-connected account using the oo CLI, with credentials handled server-side. - Read wo","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"oo connector schema \"slack\" --action \"<action_name>\""},{"language":"bash","snippet":"oo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json"},{"language":"bash","snippet":"oo connector run \"slack\" \\\n  --action \"post_message\" \\\n  --data '{\"channelId\":\"C123\",\"text\":\"First paragraph.\\n\\nSecond paragraph.\"}' \\\n  --json"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"powershell","snippet":"irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: oo-slack\ndescription: \"Slack (slack.com). Use this skill for ANY Slack request — reading, creating, updating, and deleting data. Whenever a task involves Slack, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Slack\"\n  author: \"OOMOL\"\n  version: \"1.0.10\"\n  services: [\"slack\"]\n  icon: \"https://static.oomol.com/logo/third-party/Slack.svg\"\n---\n\n# Slack\n\nOperate **Slack** through your OOMOL-connected account. This skill calls the `slack` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Slack. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"slack\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"slack\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n### Preserve multiline message text\n\nSlack renders real newline characters in `text`; it renders literal backslash-n\ncharacters as `\\n`. Keep one JSON-encoding boundary:\n\n- Before serialization, message text must contain actual LF characters.\n- In serialized JSON, each intended newline appears as `\\n`. If it appears as\n  `\\\\n`, it has been double-escaped and Slack will display `\\n`.\n- When passing raw JSON to `--data`, write the JSON newline escape exactly once.\n\n```bash\noo connector run \"slack\" \\\n  --action \"post_message\" \\\n  --data '{\"channelId\":\"C123\",\"text\":\"First paragraph.\\n\\nSecond paragraph.\"}' \\\n  --json\n```\n\nIf visible formatting matters, read the posted message back and confirm that\n`text` contains line breaks rather than literal `\\n` characters.\n\n## Available actions\n\n- `add_reaction` — Add an emoji reaction to a Slack message. [write]\n- `conversations_members` — List one page of member user IDs for a Slack conversation.\n- `delete_file` — Delete a Slack file. [destructive]\n- `delete_message` — Delete a Slack message posted through this connection. [destructive]\n- `download_file` — Download a Slack-hosted file into Connector file transit storage using the connected identity's access.\n- `get_channel_messages` — Get recent messag"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn77q3r4f5nb0e1z27t9w0r85587zaa6\",\n  \"slug\": \"oo-slack\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1790160987346\n}"},{"path":"skill-card.md","content":"## Description:\n\nSlack lets an agent read, create, update, and delete Slack data through an OOMOL-connected account instead of calling Slack APIs directly.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and workspace users use this skill to let an agent inspect Slack workspace data, search messages, and perform approved Slack write or delete actions through the connected OOMOL Slack account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence reports a suspicious fallback setup path because it tells the agent to run a remote CLI installer without an integrity check or clear user approval.\n\nMitigation: Review the OOMOL CLI installer through an official guide, prefer a package-manager or verified release path when available, and do not let the agent run the installer automatically.\n\nRisk: Slack write and destructive actions can modify or remove workspace messages, reactions, and files.\n\nMitigation: Confirm the exact channel, message, file, target, and payload with the user before running write or destructive actions.\n\n## Reference(s):\n\n- [ClawHub Slack skill release](https://clawhub.ai/oomol/skills/oo-slack)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [OOMOL oo CLI install guide](https://cli.oomol.com/install-guide.md)\n- [Slack homepage](https://slack.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses the oo CLI to inspect live action schemas before constructing Slack connector payloads.]\n\n## Skill Version(s):\n\n1.0.10 (source: release evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1627,"uniquenessScore":39,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T15:33:09.945Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T15:33:09.945Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:34:46.354Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}