Skip to content

Usage

Using the full-stack agent

Single task, debugging

For development, debugging/interactive:

$: python dev/test_agent.py "your task"    # one task, in the terminal

Programmatically

i.e., to connect to other agents or systems

Import the agent and give it a task. The thread_id names the conversation, which the agent continues when you give it the same name again:

# python
from atomatic.harness.agent import create_atomatic_agent

agent = create_atomatic_agent()
result = agent.invoke(
    {"messages": [{"role": "user", "content": "your task"}]},
    config={"configurable": {"thread_id": "my-campaign"}},
)
print(result["messages"][-1].content)

create_atomatic_agent can be used as a subagent of other langchain-based agents (such as deepagents); it should be passed in at the creation of your agent graph.

Changing the agent: CONFIG holds everything the agent is built from, so edit (such as adding external mcp tools) by overriding one key:

# python
from deepagents import create_deep_agent
from atomatic.harness.agent import CONFIG

config = CONFIG | {"tools": CONFIG["tools"] + my_mcp_tools}
agent = create_deep_agent(**config)

Override model, system_prompt, skills, backend, or checkpointer the same way.

Interactively

You can connect this agent to any deepagents-compatible GUI, such as forumai-gui.

For convenience, you can use a customized version of the langgraph server which works out of the box with atomatic. See dev.md.

Using your own harness

Skills

Drop atomatic/skills into your directory of choice inside your project:

  • .agents/skills: universal
  • .opencode/skills: Opencode
  • .claude/skills: Claude code

These can be in your home directory (making them universal) or project directory (project specific). We strongly recommend using the tools alongside the skills; the skills reference the tools.

Tools

The tools run as one MCP server over stdio, for any harness which reads MCP, callable via the command atomatic-mcp (from within installed venv).

Claude Code, via command:

$: claude mcp add atomatic --scope project -- /path/to/venv/bin/atomatic-mcp

or in .mcp.json in your project (or ~/.claude.json for every project):

{
  "mcpServers": {
    "atomatic": {
      "command": "/path/to/venv/bin/atomatic-mcp"
    }
  }
}

Opencode, via command:

$: opencode mcp add

or in your global/local opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "atomatic": {
      "type": "local",
      "command": [
        "/path/to/venv/bin/atomatic-mcp"
      ],
      "enabled": true
    }
  }
}