CLAUDE.md context file, and interacting with the running scheduler through the MCP server. Both are set up automatically when you create a new project with al new.
CLAUDE.md — project context for Claude Code
Everyal new project includes a CLAUDE.md at the project root. This is a symlink to a reference document shipped with the @action-llama/action-llama package that contains everything Claude Code needs to work on an Action Llama project:
- How agent configuration works (SKILL.md for portable metadata + instructions, config.toml for runtime config)
- How agent prompts are assembled at runtime (system prompt, user prompt blocks, trigger context)
- Available agent commands (signals, subagent calls, resource locks)
- Credential context and environment variables
- Filesystem constraints inside the Docker container
CLAUDE.md automatically. This means you can ask Claude to create new agents, edit SKILL.md instructions, configure webhooks, and adjust agent params — and it understands the full context of how Action Llama works.
What you can do
- “Create a new agent that monitors Sentry for new errors and opens GitHub issues” — Claude writes a
SKILL.mdwith instructions and aconfig.tomlwith the right runtime config (credentials, schedule, webhooks). - “Add webhook support to the dev agent for issue comments” — Claude edits the
config.tomlto add a webhook trigger and updates the SKILL.md instructions to handle both scheduled and webhook triggers. - “Change the reviewer agent to use GPT-4o” — Claude updates the
modelsfield in the agent’sconfig.toml. - “The dev agent keeps force-pushing, fix the instructions” — Claude reads the SKILL.md body and adds explicit rules.
Claude Code reads
CLAUDE.md from the project root automatically. You don’t need to paste documentation or explain how Action Llama works — it already knows.Slash commands — development workflows
Action Llama projects include five Claude Code slash commands in.claude/commands/. These are markdown prompt templates that you invoke with /<name> in Claude Code to perform common development workflows.
New projects created with al new include these automatically. For existing projects, run:
Available commands
Usage
Commands that accept an agent name use Claude Code’s$ARGUMENTS mechanism — type the command followed by the agent name:
al new and al mcp init.
Slash commands live in
.claude/commands/ as plain markdown files. You can customize them or add your own — Claude Code discovers them automatically.MCP server — live gateway interaction
The MCP server lets Claude Code interact with a running Action Llama scheduler over stdio. Instead of switching to a terminal to check status, trigger runs, or read logs, you can ask Claude directly.Setup
New projects created withal new include a .mcp.json file that Claude Code discovers automatically:
.mcp.json in the project root. Claude Code picks it up on next launch.
How it works
When Claude Code starts, it spawnsal mcp serve as a subprocess. The MCP server communicates over stdin/stdout using JSON-RPC. Under the hood, it calls the same gateway HTTP API that the CLI uses — so anything you can do with al commands, Claude can do through the MCP server.
Available tools
The MCP server exposes nine tools, all prefixedal_:
Example conversations
Check what’s running:“What’s the status of my agents?”Claude calls
al_status and shows scheduler state, which agents are idle/running/paused, and queue depths.
Trigger a run and watch the result:
“Run the dev agent and show me what it did”Claude calls
al_run with name dev, waits a moment, then calls al_logs to show the agent’s actions in conversation format.
Debug a failing agent:
“The reviewer agent keeps erroring out. Show me the last few runs.”Claude calls
al_logs with name reviewer, level error, and reviews the output. It can then read the SKILL.md via al_agents and suggest fixes.
Start everything from scratch:
“Start the scheduler and pause the devops agent — I only want dev running right now”Claude calls
al_start, waits for it to come up, then calls al_pause with name devops.
Log viewing
Theal_logs tool supports the same filtering as the CLI:
By default, logs are formatted in conversation style — showing assistant text, bash commands, tool starts, and errors. This gives Claude a clean view of what the agent actually did, without noise.
Resources
The MCP server also exposes agent SKILL.md files as resources atal://agents/{name}/skill. This lets Claude Code read the full instructions for any agent without going through the filesystem.
CLI commands
al mcp serve
Starts the MCP stdio server. This is what Claude Code spawns as a subprocess — you don’t typically run it directly.
The environment is resolved the same way as all CLI commands: explicit
-E flag, then AL_ENV env var, then .env.toml’s environment field. If your project is bound to a remote environment, MCP tool calls go to the remote gateway automatically.
al mcp init
Writes (or merges into) .mcp.json in the project root so Claude Code discovers the MCP server automatically.
If
.mcp.json already exists, merges the action-llama entry into the existing mcpServers object. If an action-llama entry already exists, it is overwritten.
al claude init
Scaffolds Claude Code slash commands into .claude/commands/ in the project directory. Existing command files are not overwritten.
See Also
- Agent Docs — SKILL.md, AGENTS.md, and CLAUDE.md reference
- CLI Commands — all CLI commands
- Gateway API — the HTTP API that the MCP server calls
- Getting Started — create your first project