agents/<slug>/. There is only one kind of thing in Condor β an agent β and this page dissects the one you talk to.
AGENT.md β the brain
AGENT.md is the agentβs system prompt with a small frontmatter header:
agent_key names the LLM harness it thinks with β change it (or pick a model in the chatβs model picker) and the same brain runs on a different model. The body then does three jobs:
- Names its tools. Two MCP servers:
mcp-hummingbot(market data, portfolio, executors, orders, bots, DEX discovery β the trading surface) andcondor(notifications, routines, trading agents, servers, memory, skills, andconsult/delegate). One deliberate absence: connecting or removing exchange keys is not available to the assistant β keys are managed by you, in Settings β Keys and Wallets. - Sets the routing discipline (next section).
- States the rules: lead with the answer; confirm dangerous actions (orders, swaps, LP changes) before acting; keep tool chains short; never explore source code.
A coordinator, not a tool-caller
The most important instruction inAGENT.md is a routing check that runs before any tool call:
- Does a skill match? Its skill index is injected into context as
[SKILLS]β if a playbook covers the request, Condor reads it and follows its steps instead of improvising. - Does a domain agent match? The
[AGENTS]index lists your expert agents. Domain work goes to the specialist, which holds the domainβs tools and memory. - Only then does it reach for raw tools.
consult blocks and relays the answer inline β for quick lookups and small changes you are waiting on; delegate runs the task in a detached background session that pings you when done β for multi-step work like a full deployment or anything that waits on a backtest.
One rule is absolute: Condor never hand-writes routine code in chat. Authoring or fixing a routine is always delegated β to itself, in a background session that reads the routine_cookbook playbook, writes the routine into the library, and tests it before reporting back.
Skills β how it operates
A skill is a playbook: when to apply it, and the steps. Each is a folder holding aSKILL.md:
source field is worth a pause: builtin skills ship with Condor, but source: chat means Condor wrote this one itself β it discovered a reusable procedure during a conversation and saved it with manage_skill. The library is self-editing: skills get created, refined, and deleted as the agent works, and you can open any of them in a text editor.
Here is the library on a real install:
Two more mechanics:
- A skill can carry a routine.
references_routine: logs_summaryinlog_analyzermeans the executable part is a routine, not prose β the skill says when, the routine does what. If the routine disappears, reading the skill flags it (routine_ok: false) rather than silently invoking nothing. - There is one shared library, and Condor is its only publisher.
agents/_shared/skills/(playbooks likeroutine_cookbook,strategy_builder,backtest_flow,self_improve) is read by every agent, but only the Condor assistant may publish into it β a shared playbook lands in every agentβs context, so it must read correctly from every seat. A skill that belongs to one domain agent is written to that agent instead.
Memory β what it knows about you
Skills are how the agent operates, shared across users. Memory is what it knows about you β per user, understore/user_<id>/, and shared across your sessions and with your trading agents.
MEMORY.md is the index β one line per memory β and it is injected into every session as [USER MEMORY], so the agent starts each conversation already knowing the headline of everything it has learned. The detail lives in memories/<name>.md, read on demand:
preference | fact | feedback | reference), with a Why and a How to apply β this one written after two deployments failed, so the third wouldnβt. The agentβs writing rules are strict: save only what is new and stable about the user, never ephemeral conversation detail.
Memory is also accountable. Every write and delete is appended to audit.log as a timestamped JSON line, and you can review or delete any memory yourself β /memory in Telegram, or ask the agent to run manage_memory(action="audit").
Memory vs. skills, in one table
Learn more
- Skill: Agent Builder β the playbook Condor follows to build new agents with this same anatomy
- Agent Architecture β how agents execute against the Hummingbot API
- Managing Sessions β watching an agent work

