From marsai-default
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.
npx claudepluginhub v4-company/marsai --plugin marsai-defaultThis skill uses the workspace's default tool permissions.
Send tasks to Gandalf and get responses back. Gandalf is V4-Company's AI team member running on a dedicated Mac mini with access to Slack, Google Workspace, GitHub, Jira, Alfarrábio (report server), and more.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Send tasks to Gandalf and get responses back. Gandalf is V4-Company's AI team member running on a dedicated Mac mini with access to Slack, Google Workspace, GitHub, Jira, Alfarrábio (report server), and more.
POST http://gandalf.heron-justitia.ts.net:18792/task
Tailscale only. No auth token — identity resolved from your Tailscale node.
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.v4-company.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 auth-service 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
| 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). |
ask only)GET http://gandalf.heron-justitia.ts.net:18792/task/{task_id}
publish and notify return the result synchronously — no polling needed.
| 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 |
ask actions)curl -s http://gandalf.heron-justitia.ts.net:18792/health