用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/first-fluke/cratos --skill slack-integration命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | Slack Integration |
| description | This skill should be used when implementing Slack app functionality using slack-morphism. |
| version | 1.0.0 |
slack-morphism를 사용한 Slack App 연동.
use slack_morphism::prelude::*;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = SlackClient::new(SlackClientHyperConnector::new()?);
let token = SlackApiToken::new(
std::env::var("SLACK_BOT_TOKEN")?.into()
);
let session = client.open_session(&token);
Ok(())
}
SLACK_BOT_TOKEN=xoxb-your-token
SLACK_SIGNING_SECRET=your-signing-secret
SLACK_APP_TOKEN=xapp-your-app-token
async fn handle_slack_event(
Json(event): Json<SlackPushEvent>,
) -> impl IntoResponse {
match event {
SlackPushEvent::EventCallback(callback) => {
if let SlackEventCallbackBody::Message(msg) = callback.event {
let normalized = normalize_slack_message(&msg);
// 처리
}
}
SlackPushEvent::UrlVerification(challenge) => {
return Json(json!({ "challenge": challenge.challenge }));
}
_ => {}
}
Json(json!({}))
}
let verifier = SlackEventSignatureVerifier::new(
&std::env::var("SLACK_SIGNING_SECRET")?
)?;
verifier.verify(timestamp, body, signature)?;
.cratos/skills/channel-agent/resources/slack-guide.md