Agent skill
ring:gandalf-webhook
Send tasks to Gandalf (AI team member) via webhook and get responses back. Publish to Alfarrábio, send Slack notifications, ask for business context, and more.
Install this agent skill to your Project
npx add-skill https://github.com/LerianStudio/ring/tree/main/default/skills/gandalf-webhook
SKILL.md
Gandalf Webhook
Send tasks to Gandalf and get responses back. Gandalf is Lerian's AI team member running on a dedicated Mac mini with access to Slack, Google Workspace, GitHub, Jira, Alfarrábio (report server), and more.
Endpoint
POST http://gandalf.heron-justitia.ts.net:18792/task
Tailscale only. No auth token — identity resolved from your Tailscale node.
Actions
publish — instant (<1s)
Write content directly to Alfarrábio and get the URL back. No agent bootstrap.
curl -s -X POST http://gandalf.heron-justitia.ts.net:18792/task \
-H "Content-Type: application/json" \
-d '{
"action": "publish",
"message": "My Report Title",
"content": "<html>...full report...</html>",
"context": "optional context"
}'
Response (synchronous):
{
"ok": true,
"task_id": "a1b2c3d4",
"status": "done",
"response": "https://alfarrabio.lerian.net/my-report-title.html"
}
notify — instant (<1s)
Send a Slack message. Prefix with #channel: to target a specific channel.
curl -s -X POST http://gandalf.heron-justitia.ts.net:18792/task \
-H "Content-Type: application/json" \
-d '{
"action": "notify",
"message": "#pull-requests: PR #1900 lib-commons v4 ready for review"
}'
Without #channel: prefix, sends to #gandalf-notifications.
ask — full agent (~30-60s)
Open a full OpenClaw agent session. Use for anything that needs intelligence: business context, analysis, cross-tool tasks. This is the default when action is omitted.
# Send task
RESP=$(curl -s -X POST http://gandalf.heron-justitia.ts.net:18792/task \
-H "Content-Type: application/json" \
-d '{
"action": "ask",
"message": "What is the current status of the Voluti integration?",
"context": "investigating INC-72"
}')
TASK_ID=$(echo $RESP | jq -r .task_id)
# Poll until done
for i in $(seq 1 60); do
RESULT=$(curl -s http://gandalf.heron-justitia.ts.net:18792/task/$TASK_ID)
STATUS=$(echo $RESULT | jq -r .status)
if [ "$STATUS" != "processing" ]; then
echo $RESULT | jq .
break
fi
sleep 5
done
Fields
| Field | Required | Description |
|---|---|---|
message |
Yes | What to do. For publish, this becomes the report title. |
action |
No | publish (instant), notify (instant), ask (full agent). Default: ask. |
content |
No | Inline content (HTML, markdown, text). Required for publish. Max 5MB. |
context |
No | What you're working on (repo, PR, feature). |
Polling (for ask only)
GET http://gandalf.heron-justitia.ts.net:18792/task/{task_id}
publish and notify return the result synchronously — no polling needed.
When to Use What
| Need | Action | Speed |
|---|---|---|
| Publish HTML/markdown report | publish |
<1s |
| Send Slack notification | notify |
<1s |
| Ask business/product question | ask |
30-60s |
| Complex cross-tool task | ask |
30-300s |
Anything without action field |
ask |
30-300s |
Constraints
- Rate limit: 10 requests/min per Tailscale node
- Content limit: 5MB inline
- Agent timeout: 300s (for
askactions) - Tailscale only: not accessible from the public internet
- No file uploads: send content inline as JSON string
Health Check
curl -s http://gandalf.heron-justitia.ts.net:18792/health
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
ring:regulatory-templates
5-stage regulatory template orchestrator - manages setup, Gate 1 (analysis + auto-save), Gate 2 (validation), Gate 3 (generation), optional Test Gate, optional Contribution Gate. Supports any regulatory template (BACEN, RFB, CVM, SUSEP, COAF, or other).
ring:using-finops-team
3 FinOps agents: 2 for Brazilian financial regulatory compliance (BACEN, RFB, Open Banking), 1 for infrastructure cost estimation when onboarding customers. Supports any regulatory template via open intake system.
ring:regulatory-templates-gate1
Gate 1 sub-skill - performs regulatory compliance analysis, field mapping, batch approval by confidence level, and auto-saves dictionary after approval. Supports both pre-defined templates (dictionary exists) and new templates (any spec).
ring:regulatory-templates-gate2
Gate 2 sub-skill - validates uncertain mappings from Gate 1 and confirms all field specifications through testing.
ring:regulatory-templates-gate3
Gate 3 sub-skill - generates complete .tpl template file with all validated mappings from Gates 1-2.
ring:infrastructure-cost-estimation
Orchestrates infrastructure cost estimation with tier-based or custom TPS sizing. Offers pre-configured tiers (Starter/Growth/Business/Enterprise) or custom TPS input. Skill discovers components, asks shared/dedicated for EACH, selects environment(s), reads actual Helm chart configs, then dispatches agent for accurate calculations.
Didn't find tool you were looking for?