Hardcore Mode gives you direct access to the raw files that define your agent’s behavior. Instead of the visual designer, you edit YAML and Markdown files in a file tree.Documentation Index
Fetch the complete documentation index at: https://docs.costcare.ai/llms.txt
Use this file to discover all available pages before exploring further.
File structure
Every agent is a folder with the following layout:agent.yaml and flow.yaml are system files managed by the platform — they are not available in Hardcore Mode. Never edit them..md files under skills/ use the same format: a YAML settings header and a system prompt body. The same file type covers agent prompts, sub-agent prompts, and skills — one consistent format for all three.
workflows/
main.yaml is the entry point — the engine runs it for every incoming message. You can have multiple workflow files; additional ones are called via run_workflow actions from main.yaml or other workflows.
Each workflow file is a list of steps executed in order. Steps share a WorkflowState — a key-value store you can write to and read from across steps.
Minimal example
Step types
- skill
- evaluate
- if
- action
Run an LLM using the config and prompt defined in a skill file.The LLM receives the system prompt from the skill file, the full conversation history, and any messages accumulated by earlier steps (e.g. previous tool results).
Actions
| Action | Stops execution | Description |
|---|---|---|
respond | ✓ | Sends a reply. Supports {key} placeholders from workflow state. |
do_nothing | ✓ | Stops silently — no reply is sent. |
transfer_to_human | ✓ | Escalates the conversation to a human. |
run_workflow | ✓ | Runs another workflow file as a sub-flow. |
set_value | — | Writes key: value to workflow state and continues to the next step. |
run_workflow example
run_workflow example
set_value example
set_value example
skills/{name}.md
A skill file has two parts separated by---:
Full example
Settings header fields
| Field | Required | Description |
|---|---|---|
skill | ✓ | Must match the filename without .md |
description | — | Short description shown in the file list |
llm.model | ✓ | Model to use (see Models) |
llm.thinking_budget | — | Anthropic extended thinking budget in tokens (e.g. 8000) |
llm.reasoning_effort | — | OpenAI reasoning effort: low | medium | high |
tools | — | List of tool names. Use [] for no tools. |
max_iterations | — | Maximum tool-call loops before stopping (default: 10) |
Injecting workflow state into prompts
Use{values.key} anywhere in the system prompt body to inject a value from workflow state:
Models
- Anthropic
- OpenAI
Recommended for most use cases.
Use
| Model | Best for |
|---|---|
claude-haiku-4-5-20251001 | Fast, cost-efficient tasks |
claude-sonnet-4-6 | Balanced performance |
claude-opus-4-6 | Most capable, complex reasoning |
llm.thinking_budget to enable extended thinking (tokens budget, e.g. 8000).Tools
| Tool | Description |
|---|---|
search_qa | Semantic search over this org’s Q&A knowledge base |
web_search | Live web search |
list_files | List files in this agent’s directory |
read_file | Read a file from this agent’s directory |
write_file | Create or overwrite a file in this agent’s directory |
delete_file | Delete a file from this agent’s directory |
Rules & gotchas
Step IDs must be unique
Step IDs must be unique
id values must be unique within a workflow file. Duplicate IDs cause unpredictable behavior.skill: must match the filename exactly
skill: must match the filename exactly
skill: must exactly match skills/{skill}.md — the match is case-sensitive.Stopping actions end execution immediately
Stopping actions end execution immediately
respond, do_nothing, transfer_to_human, and run_workflow stop execution immediately. Any steps listed after them in the workflow do not run.set_value does not stop execution
set_value does not stop execution
Unlike other actions,
set_value writes a value to workflow state and moves on to the next step — it never stops the workflow.evaluate outputs land in workflow state
evaluate outputs land in workflow state
Fields produced by
evaluate are stored in workflow state and can be read by any later if branch or respond placeholder.Never edit agent.yaml or flow.yaml
Never edit agent.yaml or flow.yaml
These are system files managed by the platform. Editing them directly may break your agent in unexpected ways.