discord-send
Skill1 starsChanged 56 days agoMITView on GitHub
Send messages to Discord channels via webhooks. Covers text, embeds, file attachments, threads.
In this repository28 other files it gives its agents.
- journal-coachSkill
- github-templatesSkill
- node-ciSkill
- renovateSkill
- create-readmeSkill
- markdown-styleSkill
- mermaid-syntaxSkill
- obsidian-vaultSkill
- ste100Skill
- forge-detectSkill
- forgejo-issueSkill
- forgejo-prSkill
- web-frontendSkill
- docker-pythonSkill
- pyproject-tomlSkill
- python-ciSkill
- python-cliSkill
- python-devcontainerSkill
- python-projectSkill
- architecture-briefSkill
- design-advisorSkill
- saas-anti-pattern-reviewSkill
- saas-transition-chain-reviewSkill
- saas-transition-reviewSkill
- saas-transition-strategySkill
- security-reviewerSkill
- technical-debt-reviewSkill
- commit-messageSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
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 53
Create thread from message (include thread_name):
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Setup
curl must be installed. Webhook URLs stored in webhooks.json ({"webhooks": {"default": "...", "alerts": "..."}}). If the target is not in webhooks.json, ask the user for the URL and persist it there for future use. Reference targets by name.
Text
curl -s -o /dev/null -w "%{http_code}" -H "Content-Type: application/json" -d '{"content": "Your message"}' "$WEBHOOK_URL"Supports Discord-flavoured Markdown (bold, code, spoilers, quotes, lists).
Embed
curl -s -o /dev/null -w "%{http_code}" -H "Content-Type: application/json" -d '{
"embeds": [{
"title": "Build #42 — Success",
"description": "CI passed",
"color": 5763719,
"fields": [{"name": "Branch", "value": "main", "inline": true}],
"author": {"name": "CI"},
"footer": {"text": "opencode"},
"timestamp": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"
}]
}' "$WEBHOOK_URL"Fields: title, description, color (decimal), fields (name/value/inline, max 25), author (name/url/icon_url), footer (text/icon_url), image/thumbnail (url), timestamp (ISO 8601).
File
curl -s -o /dev/null -w "%{http_code}" -F "payload_json={\"content\":\"See attached\"}" -F "file=@/path/to/file.txt" "$WEBHOOK_URL"Multiple files: repeat -F "file=@...".
Threads
Send to existing thread:
curl -s -o /dev/null -w "%{http_code}" -H "Content-Type: application/json" -d '{"content": "Reply"}' "${WEBHOOK_URL}?thread_id=THREAD_ID"Create thread from message (include thread_name):
curl -s -o /dev/null -w "%{http_code}" -H "Content-Type: application/json" -d '{"content": "First post", "thread_name": "Topic"}' "$WEBHOOK_URL"Status codes
The -o /dev/null -w "%{http_code}" flags above return the HTTP status inline:
| Code | Meaning |
| 204 | Success — message delivered |
| 400 | Bad payload — malformed JSON or content |
| 404 | Bad URL — webhook URL is wrong |
| 429 | Rate limited — check Retry-After header |
| 5xx | Server error — retry after a moment |
Note: do not re-run curl with the same -d payload to "check" delivery — that would send a duplicate message. The -o /dev/null -w pattern reports the result on the first (and only) attempt.
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.

