ワンクリックで
add-slack
Add Slack as a channel. Can replace WhatsApp entirely or run alongside it. Uses Socket Mode (no public URL needed).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Add Slack as a channel. Can replace WhatsApp entirely or run alongside it. Uses Socket Mode (no public URL needed).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
"自动化论文检索、翻译、导入和学习闭环系统。每日从 arXiv 检索论文、自动翻译标题和摘要、导入 Zotero、生成 Obsidian 笔记和学习报告。"
"生成各种类型的图表和流程图:流程图、时序图、类图、甘特图、思维导图等。支持 Mermaid、PlantUML、Graphviz 等格式。"
"GitHub CLI (gh) 自动化操作。管理仓库、Issues、Pull Requests、Workflows、Releases 等。支持所有 gh 命令。"
"深度反思学习过程,巩固知识,发现盲点,优化学习策略。基于笔记内容生成反思报告、学习建议、知识图谱。"
"从 arXiv 自动检索论文、翻译标题摘要、导入 Zotero、生成 Obsidian 笔记。支持关键词检索、自动去重、中文翻译。"
"生成论文学习报告:每日总结、每周总结、月度报告、季度报告、年度总结。统计学习进度、分析研究方向、追踪知识积累。"
| name | add-slack |
| description | Add Slack as a channel. Can replace WhatsApp entirely or run alongside it. Uses Socket Mode (no public URL needed). |
This skill configures Slack for AcademiClaw. The channel code is already included in this minimal installation. This skill handles authentication, registration, and configuration.
Note: Slack support is in beta. The channel implementation may have limitations compared to WhatsApp/Telegram.
Check if Slack tokens are set in .env:
grep -q "SLACK_BOT_TOKEN=" .env 2>/dev/null && echo "Slack configured" || echo "Not configured"
Do they already have a Slack app configured? If yes, collect the Bot Token and App Token now. If no, we'll create one in Phase 3.
Verify the Slack channel code is present:
test -f src/channels/slack.ts && echo "Slack channel code present" || echo "ERROR: Slack channel code not included in minimal build"
If Slack code is missing, inform the user that Slack is not included in the minimal installation. They can either:
npm list @slack/bolt 2>/dev/null && echo "@slack/bolt installed" || echo "Installing @slack/bolt..."
If not installed:
npm install @slack/bolt
npm run build
Build must be clean before proceeding.
If the user doesn't have a Slack app, guide them:
I need you to create a Slack app:
- Go to https://api.slack.com/apps and click Create New App
- Choose From scratch
- App name: Something like "AcademiClaw Assistant"
- Pick your workspace
- Go to Socket Mode and enable it
- Under Basic Information > App-Level Tokens, create a token with scope
connections:write- Copy the App-Level Token (starts with
xapp-)- Go to OAuth & Permissions and add scopes:
chat:writechannels:history,groups:history,im:historychannels:read,groups:read,users:read- Go to Event Subscriptions > Subscribe to bot events and add:
message.channelsmessage.groupsmessage.im- Install the app to your workspace and copy the Bot Token (starts with
xoxb-)
Wait for the user to provide both tokens.
Add to .env:
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_APP_TOKEN=xapp-your-app-token
Channels auto-enable when their credentials are present — no extra configuration needed.
Sync to container environment:
mkdir -p data/env && cp .env data/env/env
npm run build
If service is running, restart it:
# macOS
launchctl kickstart -k gui/$(id -u)/com.academiclaw
# Linux: systemctl --user restart academiclaw
Tell the user:
- Add the bot to a Slack channel (right-click channel → View channel details → Integrations → Add apps)
- In that channel, the channel ID is in the URL when you open it in a browser:
https://app.slack.com/client/T.../C0123456789— theC...part is the channel ID- Alternatively, right-click the channel name → Copy link — the channel ID is the last path segment
The JID format for AcademiClaw is:
slack:C0123456789
Wait for the user to provide the channel ID.
npx tsx setup/index.ts --step register \
--jid "slack:<channel-id>" \
--name "<channel-name>" \
--trigger "@<trigger>" \
--folder "slack_main" \
--channel slack \
--assistant-name "<name>" \
--is-main \
--no-trigger-required # Only for main channel
For trigger-only channels:
npx tsx setup/index.ts --step register \
--jid "slack:<channel-id>" \
--name "<channel-name>" \
--trigger "@<trigger>" \
--folder "slack_<name>" \
--channel slack
Tell the user:
Send a message in your registered Slack channel:
- For main channel: Any message works
- For trigger-only:
@<assistant-name> hello(using the configured trigger word)The bot should respond within a few seconds.
tail -f logs/academiclaw.log
SLACK_BOT_TOKEN and SLACK_APP_TOKEN are set in .env AND synced to data/env/envsqlite3 store/messages.db "SELECT * FROM registered_groups WHERE jid LIKE 'slack:%'"launchctl list | grep academiclawmessage.channels, message.groups, message.im)If the bot logs missing_scope errors:
.envmkdir -p data/env && cp .env data/env/envlaunchctl kickstart -k gui/$(id -u)/com.academiclawThe Slack channel supports:
If running npm run dev while the service is active:
# macOS:
launchctl unload ~/Library/LaunchAgents/com.academiclaw.plist
npm run dev
# When done testing:
launchctl load ~/Library/LaunchAgents/com.academiclaw.plist