Check and process messages from autonomous AILANG agents. Use when starting a session, after agent handoffs, or when checking for completion notifications.
npx skills add https://github.com/majiayu000/claude-skill-registry --skill Agent Inbox
Check for messages from autonomous agents at session start and process completion notifications.
Most common usage:
# List all messages
ailang messages list
# Show only unread messages
ailang messages list --unread
# Read full message content
ailang messages read MSG_ID
# Acknowledge (mark as read)
ailang messages ack MSG_ID
ailang messages ack --all
# Send a message
ailang messages send user "Your message" --title "Title" --from "agent-name"
# Send bug/feature to GitHub (for cross-instance visibility)
ailang messages send user "Bug report" --type bug --github
Expected output (at session start):
📬 AGENT INBOX: 2 unread message(s) from autonomous agents
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ID: msg_20251210_143021_abc123
From: sprint-executor
Title: Sprint M-S1 complete
Time: 2025-12-10T14:30:21Z
ID: msg_20251210_143055_def456
From: stapledon
Title: Parser Bug
Time: 2025-12-10T14:30:55Z
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Invoke this skill when:
All messages stored in SQLite database:
~/.ailang/state/collaboration.dbailang messages) and Collaboration Hub dashboardunread, read, archived, deletedailang messages list # All messages
ailang messages list --unread # Only unread
ailang messages list --inbox user # Filter by inbox
ailang messages list --from agent-name # Filter by sender
ailang messages list --json # JSON output
ailang messages list --limit 50 # Limit results
ailang messages read MSG_ID # Full content, marks as read
ailang messages read MSG_ID --peek # View without marking read
ailang messages read MSG_ID --json # JSON output
ailang messages ack MSG_ID # Mark specific message as read
ailang messages ack --all # Mark all as read
ailang messages ack --all --inbox user # Mark all in inbox as read
ailang messages unack MSG_ID # Move back to unread
# Basic send (local only - for coordination)
ailang messages send INBOX "message" --title "Title" --from "agent"
# With GitHub sync (for bugs/features - cross-instance visibility)
ailang messages send INBOX "message" --type bug --github
ailang messages send INBOX "message" --type feature --github
ailang messages send INBOX "message" --github --repo owner/repo
ailang messages import-github # Import from default repo
ailang messages import-github --repo owner/repo # Specific repo
ailang messages import-github --labels bug,help # Filter by labels
ailang messages import-github --dry-run # Preview without importing
SessionStart hook runs automatically and shows unread messages.
If messages exist:
ailang messages ack --allWhen agent reports completion:
# 1. Read the full message
ailang messages read MSG_ID
# 2. Review results mentioned in payload
ls -la eval_results/baselines/v0.4.2/
# 3. Report to user
echo "Sprint complete! Results at: eval_results/baselines/v0.4.2/"
# 4. Acknowledge after processing
ailang messages ack MSG_ID
When agent reports errors:
# 1. Read the full error details
ailang messages read MSG_ID
# 2. Check logs if mentioned
cat .ailang/state/logs/sprint-executor.log
# 3. Diagnose and report to user
echo "Agent encountered error: Tests failing at milestone 3/5"
# 4. Either fix manually or send corrective instructions
# Send response to an agent
ailang messages send sprint-executor "Approved, proceed" \
--title "Approval" --from "user"
# Send notification to user inbox
ailang messages send user "Issue resolved" \
--title "Status update" --from "claude-code"
| Type | Purpose | Goes to GitHub? |
|------|---------|-----------------|
| bug | Bug report | Yes (with --github) |
| feature | Feature request | Yes (with --github) |
| general | Coordination | No (local only) |
Routing guidance:
--github for visibility across all AILANG instances# Bug reports and feature requests go to GitHub for visibility
ailang messages send user "Parser crash" --type bug --github
ailang messages send user "Need async support" --type feature --github
# Runs automatically on session start (if auto_import: true in config)
ailang messages import-github
# Or manually with filters
ailang messages import-github --labels help-wanted
You can write instructions as GitHub issues and have agents pick them up:
ailang-message labelimport-github runs automaticallyCreate ~/.ailang/config.yaml:
github:
expected_user: YourGitHubUsername # REQUIRED: Must match gh auth status
default_repo: sunholo-data/ailang # Default repo for issues
create_labels:
- ailang-message
watch_labels:
- ailang-message
auto_import: true # Auto-import on session start
Prerequisites:
brew install ghgh auth logingh auth statusgh auth switch --user USERNAMEAuto-label creation: Labels are automatically created if they don't exist:
from:agent-name (purple) - who sent the messagebug (red), feature (cyan), general (light blue)ailang-message (blue) - identifies AILANG messagesMessages support correlation IDs for tracking handoff chains:
{
"message_id": "msg_20251210_103045_abc123",
"correlation_id": "sprint_M-S1",
"from_agent": "sprint-executor",
"to_inbox": "user",
"title": "Sprint complete",
"payload": "All milestones complete"
}
Benefits:
For complete specification, see resources/message_format.md
{
"type": "sprint_complete",
"correlation_id": "sprint_M-S1",
"payload": {
"sprint_id": "M-S1",
"milestones_complete": 5,
"result": "All tests passing"
}
}
{
"type": "error",
"correlation_id": "sprint_M-S1",
"payload": {
"error": "Tests failing: 5 benchmarks broken",
"details": ".ailang/state/logs/sprint-executor.log"
}
}
{
"type": "plan_ready",
"correlation_id": "sprint_M-S1",
"payload": {
"sprint_id": "M-S1",
"plan_path": "design_docs/planned/M-S1-plan.md"
}
}
See resources/message_format.md for complete message format specification.
See resources/troubleshooting.md for common issues and solutions.
| Command | Purpose |
|---------|---------|
| ailang messages list | View all messages |
| ailang messages list --unread | View only unread |
| ailang messages read MSG_ID | View full message |
| ailang messages ack MSG_ID | Mark as read |
| ailang messages ack --all | Mark all as read |
| ailang messages unack MSG_ID | Mark as unread |
| ailang messages send INBOX "msg" | Send message |
| ailang messages reply MSG_ID "text" | Reply to GitHub issue thread |
| ailang messages import-github | Import from GitHub |
| ailang messages watch | Watch for new messages |
| ailang messages cleanup | Remove old messages |
Aliases: msg is an alias for messages
ailang msg list # Same as: ailang messages list
~/.ailang/state/collaboration.dbailang messages readA skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.
Walk the operator through creating the first NanoClaw agent for a DM channel — resolve the operator's channel identity, wire the DM messaging group to a new agent, and trigger a welcome DM via the normal delivery path. Use after channel credentials are configured and the service is running.
Authoring playbook for building agents that triage and reply to customer messages — support tickets, email inquiries, chat questions, refund requests, or product issues. Use this when the user wants an agent that handles inbound customer questions, drafts replies, escalates hard cases, summarizes tickets, or follows a support playbook.
Reference skill for Zoom Team Chat. Use after routing to a chat workflow when building user-scoped messaging integrations, chatbot experiences, rich cards, buttons, slash commands, or chat webhooks.
LLM Agent 多语言注入规范。在修改 Agent 提示词、添加新的 Agent 端点、处理用户可见的后端消息(message_code)时使用。
> Advanced and operational chat.agent capabilities for Trigger.dev, loaded on demand. Load this when working on the raw Sessions primitive (sessions / SessionHandle), a custom chat transport or the realtime wire protocol, durable sub-agents (AgentChat, chat.stream.writer), human-in-the-loop, steering, actions, background injection (chat.defer / chat.inject), fast starts (preload, Head Start via @trigger.dev/sdk/chat-server), context resilience (compaction, recovery boot, OOM, large payloads), chat.local run-scoped state, offline testing with mockChatAgent, or prerelease/version upgrades. For the everyday chat.agent({...}) definition and the useTriggerChatTransport happy path, use the trigger-authoring-chat-agent skill instead.
Install and authenticate, on demand, the CLIs the sandbox does not prebake — Node/npm, `gws` (Google Workspace), `gcloud`, `agents-cli` (call remote A2A/ADK agents), and `mcp-cli` (use MCP-server tools). Use this whenever one of those tools is needed but missing (a `node`/`npm`/`gws`/`gcloud`/`agents-cli`/`mcp-cli` command returns "command not found"), or before starting any task that requires one — Google Workspace work (Drive, Gmail, Sheets, Calendar, Chat), GCP via `gcloud`, calling another agent deployed remotely over HTTP (Cloud Run or Vertex Agent Runtime), or using tools exposed by an MCP server. Setup only (install + config + headless auth); each tool's own usage lives in its own skill(s).
Use when preparing HubSpot customer briefs for meetings, renewals, QBRs, sales calls, escalations, handoffs, or follow-ups.
Take majiayu000/agent inbox from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference brew.
Without those the skill loads but fails at the first command.