feishu-notify
Skill16 starsChanged 6 months agoMITView on GitHub
Send notifications to Feishu/Lark. Internal utility used by other skills, or manually via /feishu-notify. Supports push-only (webhook) and interactive (bidirectional) modes. Use when user says \"发飞书\", \"notify feishu\", or other skills need to send status updates.
- Sends data out
5 other projects use a version of this, 4 of them edited.
Adopted by
Most recently taken up by
- castle-x/skills-xtheir own version, first seen Nov 1, 2026
- talhaMah56/claude_skillsedited, first seen Sep 12, 2026
- wanshuiyin/Auto-claude-code-research-in-sleepedited, first seen Jul 15, 2026
- raja21068/AutoResearchedited, first seen May 5, 2026
- Yusong-Enceladus/claude-skillsedited, first seen Mar 18, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 4
- wanshuiyin/Auto-claude-code-research-in-sleep★ 19k91% same
- Yusong-Enceladus/claude-skills★ 892% same
- raja21068/AutoResearch★ 292% same
- talhaMah56/claude_skills★ 091% same
Wrote their own version · 1
- castle-x/skills-x★ 18same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository56 other files it gives its agents.
- argument-stress-testSkill
- citation-auditSkill
- comm-lit-review-claude-singleSkill
- comparative-lawSkill
- exa-searchSkill
- figure-descriptionSkill
- figure-specSkill
- formula-derivationSkill
- grant-proposalSkill
- legal-writingSkill
- llm-wikiSkill
- mermaid-diagramSkill
- novelty-checkSkill
- overleaf-syncSkill
- paper-claim-auditSkill
- paper-compileSkill
- paper-figureSkill
- paper-illustrationSkill
- paper-planSkill
- paper-posterSkill
- paper-slidesSkill
- paper-writeSkill
- paper-writingSkill
- prism-pipelineSkill
- proof-checkerSkill
- proof-writerSkill
- rebuttalSkill
- research-litSkill
- research-pipelineSkill
- research-refine-pipelineSkill
- research-refineSkill
- research-reviewSkill
- research-wikiSkill
- semantic-scholarSkill
- comm-lit-reviewSkill
- feishu-notifySkill
- formula-derivationSkill
- grant-proposalSkill
- mermaid-diagramSkill
- novelty-checkSkill
- paper-compileSkill
- paper-figureSkill
- paper-illustrationSkill
- paper-planSkill
- paper-posterSkill
- paper-slidesSkill
- paper-writeSkill
- paper-writingSkill
- proof-writerSkill
- rebuttalSkill
- research-litSkill
- research-pipelineSkill
- research-refine-pipelineSkill
- research-refineSkill
- research-reviewSkill
- statute-case-mapperSkill
The file
We split this skill into the rules it gives an agent
7 rules. 6 are common, 0 are distinctive, and 1 is very specific to this project.
6
Common
Most of the 4 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Zero-impact guarantee: If no feishu.json config exists, this skill does nothing and returns silently.
- Common: line 113
Push mode: Check curl exit code. If non-zero, log warning but do NOT block the workflow.
- Common: line 114
Interactive mode: If bridge is unreachable, fall back to push mode (if webhook configured) or skip silently.
- Common: line 129
This check is always guarded: If the config file doesn't exist, the skill skips the notification block entirely — zero overhead, zero side …
- Common: line 150
Config file absent = mode off: No error, no warning, no log.
- Common: line 152
Interactive timeout = auto-proceed: Don't hang forever waiting for a reply.
- Common: line 154
No secrets in notifications: Never include API keys, tokens, or passwords in Feishu messages.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Feishu/Lark Notification
Send a notification: $ARGUMENTS
Overview
This skill provides Feishu/Lark integration for Prism. It is designed as an internal utility — other skills call it at key events (experiment done, review scored, checkpoint waiting). It can also be invoked manually.
Zero-impact guarantee: If no feishu.json config exists, this skill does nothing and returns silently. All existing workflows are completely unaffected.
Configuration
The skill reads ~/.claude/feishu.json. If this file does not exist, all Feishu functionality is disabled — skills behave exactly as before.
Config Format
{
"mode": "push",
"webhook_url": "https://open.feishu.cn/open-apis/bot/v2/hook/YOUR_WEBHOOK_ID",
"interactive": {
"bridge_url": "http://localhost:5000",
"timeout_seconds": 300
}
}Modes
| Mode | "mode" value | What it does | Requires |
| Off | "off" or file absent | Nothing. Pure CLI as-is | Nothing |
| Push only | "push" | Send webhook notifications at key events. Mobile push, no reply | Feishu bot webhook URL |
| Interactive | "interactive" | Full bidirectional. Approve/reject from Feishu, reply to checkpoints | feishu-claude-code running |
Workflow
Step 1: Read Config
cat ~/.claude/feishu.json 2>/dev/null- File not found → return silently, do nothing
"mode": "off"→ return silently, do nothing"mode": "push"→ proceed to Step 2 (push)"mode": "interactive"→ proceed to Step 3 (interactive)
Step 2: Push Notification (webhook)
Send a rich card to the Feishu webhook:
curl -s -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"msg_type": "interactive",
"card": {
"header": {
"title": {"tag": "plain_text", "content": "TITLE"},
"template": "COLOR"
},
"elements": [
{"tag": "markdown", "content": "BODY"}
]
}
}'Card templates by event type:
| Event | Title | Color | Body |
experiment_done | Experiment Complete | green | Results table, delta vs baseline |
review_scored | Review Round N: X/10 | blue (≥6) / orange (<6) | Score, verdict, top 3 weaknesses |
checkpoint | Checkpoint: Waiting for Input | yellow | Question, options, context |
error | Error: [type] | red | Error message, what failed |
pipeline_done | Pipeline Complete | purple | Final summary, deliverables |
custom | Custom | blue | Free-form message from $ARGUMENTS |
Return immediately after curl — push mode never waits for a response.
Step 3: Interactive Notification (bidirectional)
Interactive mode uses feishu-claude-code as a bridge:
- Send message to the bridge:
curl -s -X POST "$BRIDGE_URL/send" \ -H "Content-Type: application/json" \ -d '{"type": "EVENT_TYPE", "title": "TITLE", "body": "BODY", "options": ["approve", "reject", "custom"]}' - Wait for reply (with timeout):
Returns:curl -s "$BRIDGE_URL/poll?timeout=$TIMEOUT_SECONDS"{"reply": "approve"}or{"reply": "reject"}or{"reply": "user typed message"}or{"timeout": true} - On timeout: Fall back to
AUTO_PROCEEDbehavior (proceed with default option). - Return the user's reply to the calling skill so it can act on it.
Step 4: Verify Delivery
- Push mode: Check curl exit code. If non-zero, log warning but do NOT block the workflow.
- Interactive mode: If bridge is unreachable, fall back to push mode (if webhook configured) or skip silently.
Helper Function (for other skills)
Other skills should use this pattern to send notifications:
### Feishu Notification (if configured)
Check if `~/.claude/feishu.json` exists and mode is not "off":
- If **push** mode: send webhook notification with event summary
- If **interactive** mode: send notification and wait for user reply
- If **off** or file absent: skip entirely (no-op)This check is always guarded. If the config file doesn't exist, the skill skips the notification block entirely — zero overhead, zero side effects.
Event Catalog
Skills send these events at these moments:
| Skill | Event | When |
/research-review | review_scored | After each round's review score |
/research-review | pipeline_done | Loop complete (positive or max rounds) |
/research-refine | review_scored | After each round's review score |
/research-refine | pipeline_done | All rounds complete |
/research-lit | checkpoint | Literature survey complete |
/research-review | pipeline_done | Critical review report ready |
/research-pipeline | checkpoint | Between workflow stages |
/research-pipeline | pipeline_done | Full pipeline complete |
Key Rules
- NEVER block a workflow because Feishu is unreachable. Always fail open.
- NEVER require Feishu config — all skills must work without it.
- Config file absent = mode off. No error, no warning, no log.
- Push mode is fire-and-forget. Send curl, check exit code, move on.
- Interactive timeout = auto-proceed. Don't hang forever waiting for a reply.
- Respect
AUTO_PROCEED: In interactive mode, if the user doesn't reply within timeout, use the same auto-proceed logic as the calling skill. - No secrets in notifications. Never include API keys, tokens, or passwords in Feishu messages.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

