← ClaudeAtlas

poll-slacklisted

Poll Slack channels for unanswered questions directed at the user. Use this skill when checking Slack for new questions to answer, or during an engineer-agent poll cycle.
tomharris/engineer-agent · ★ 0 · Code & Development · score 65
Install: claude install-skill tomharris/engineer-agent
# Poll Slack for Questions Check configured Slack channels for messages matching keywords that may need a response. Iterates over all projects that have Slack configured. ## Tools Needed - `Bash` — run the [Spy](https://github.com/tomharris/spy) Slack CLI: - `spy read <channel> <count> --json -w <workspace>` — read recent messages in a channel - `spy thread <channel> <ts> --json -w <workspace>` — read thread context - `Read` — read config and state - `Write` — create queue items - `Glob` — check for existing queue items ## Steps ### 1. Load Config Read `~/.local/share/engineer-agent/engineer.yaml`. Extract the `projects` map and the optional `agent.slack` block. Resolve the Spy invocation settings: - **Binary:** `agent.slack.bin` if set, otherwise `spy` (assumed on `PATH`). - **Workspace** (resolved per project below): `projects.<slug>.slack.workspace` if set, otherwise `agent.slack.workspace`. Pass it as `-w <workspace>` on every `spy` call. If neither is set, omit `-w` and rely on Spy's own default — but note `spy` errors when multiple workspaces are signed in and no default is set. ### 2. Load Dedup State Read `~/.local/share/engineer-agent/state/last-poll.yaml`. This contains per-project state under `projects.<slug>`. ### 3. Iterate Over Projects For each project slug in the `projects` config map that has a `slack` section configured: Extract `projects.<slug>.slack.channels`, `projects.<slug>.slack.keywords`, and `projects.<slug>.slack.ignore_bots`.