First-party
Below is the complete skill definition this hub loads when the skill is triggered — what the agent sees as its instructions, verbatim and unabridged.
# Brain CRUD
Full CRUD interface to the AXE Brain vault. Any model or agent on the fleet can use this.
## API
Base: `https://brain.axe.onl`
Auth: `X-AXE-Key` header or `Authorization: Bearer <key>`
Key: env `AXE_FLEET_KEY`
## Operations
### Save
```bash
curl -s -X POST https://brain.axe.onl/api/save \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"<title>","content":"<body>","source":"<model>@<node>","context":"<type>","tags":"<comma-sep>"}'
```
Context types: `decision`, `reference`, `finding`, `note`, `status`
Source format: `model@node` (e.g. `claude@jla`, `qwen@forge`)
### Search (keyword)
```bash
curl -s "https://brain.axe.onl/api/search?q=<query>&limit=10" -H "X-AXE-Key: $AXE_FLEET_KEY"
```
### Search (semantic)
```bash
curl -s -X POST https://brain.axe.onl/api/semantic \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"<text>","limit":5}'
```
### Browse recent
```bash
curl -s "https://brain.axe.onl/api/audit?limit=15" -H "X-AXE-Key: $AXE_FLEET_KEY"
```
### Neural process (full 6-layer pipeline)
```bash
curl -s -X POST https://brain.axe.onl/api/neural/process \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"<text>","source":"<model>@<node>","save":false}'
```
### DPO feedback
```bash
curl -s -X POST https://brain.axe.onl/api/neural/feedback \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"<prompt>","chosen":"<good>","rejected":"<bad>"}'
```
### Export training pairs
```bash
curl -s "https://brain.axe.onl/api/neural/training" -H "X-AXE-Key: $AXE_FLEET_KEY"
```
## Python (stdlib only)
```python
import urllib.request, json, os
KEY = os.getenv("AXE_FLEET_KEY")
BASE = "https://brain.axe.onl"
HEADERS = {"X-AXE-Key": KEY, "Content-Type": "application/json"}
def brain_save(title, content, source, context="note", tags="axe"):
data = json.dumps({"title": title, "content": content, "source": source, "context": context, "tags": tags}).encode()
req = urllib.request.Request(f"{BASE}/api/save", data=data, headers=HEADERS, method="POST")
return json.loads(urllib.request.urlopen(req).read())
def brain_search(query, limit=10):
req = urllib.request.Request(f"{BASE}/api/search?q={query}&limit={limit}", headers=HEADERS)
return json.loads(urllib.request.urlopen(req).read())
def brain_semantic(query, limit=5):
data = json.dumps({"query": query, "limit": limit}).encode()
req = urllib.request.Request(f"{BASE}/api/semantic", data=data, headers=HEADERS, method="POST")
return json.loads(urllib.request.urlopen(req).read())
```Full CRUD interface to the AXE Brain vault. Any model or agent on the fleet can use this.
Base: https://brain.axe.onl
Auth: X-AXE-Key header or Authorization: Bearer <key>
Key: env AXE_FLEET_KEY
curl -s -X POST https://brain.axe.onl/api/save \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"<title>","content":"<body>","source":"<model>@<node>","context":"<type>","tags":"<comma-sep>"}'
Context types: decision, reference, finding, note, status
Source format: model@node (e.g. claude@jla, qwen@forge)
curl -s "https://brain.axe.onl/api/search?q=<query>&limit=10" -H "X-AXE-Key: $AXE_FLEET_KEY"
curl -s -X POST https://brain.axe.onl/api/semantic \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"<text>","limit":5}'
curl -s "https://brain.axe.onl/api/audit?limit=15" -H "X-AXE-Key: $AXE_FLEET_KEY"
curl -s -X POST https://brain.axe.onl/api/neural/process \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"<text>","source":"<model>@<node>","save":false}'
curl -s -X POST https://brain.axe.onl/api/neural/feedback \
-H "X-AXE-Key: $AXE_FLEET_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"<prompt>","chosen":"<good>","rejected":"<bad>"}'
curl -s "https://brain.axe.onl/api/neural/training" -H "X-AXE-Key: $AXE_FLEET_KEY"
import urllib.request, json, os
KEY = os.getenv("AXE_FLEET_KEY")
BASE = "https://brain.axe.onl"
HEADERS = {"X-AXE-Key": KEY, "Content-Type": "application/json"}
def brain_save(title, content, source, context="note", tags="axe"):
data = json.dumps({"title": title, "content": content, "source": source, "context": context, "tags": tags}).encode()
req = urllib.request.Request(f"{BASE}/api/save", data=data, headers=HEADERS, method="POST")
return json.loads(urllib.request.urlopen(req).read())
def brain_search(query, limit=10):
req = urllib.request.Request(f"{BASE}/api/search?q={query}&limit={limit}", headers=HEADERS)
return json.loads(urllib.request.urlopen(req).read())
def brain_semantic(query, limit=5):
data = json.dumps({"query": query, "limit": limit}).encode()
req = urllib.request.Request(f"{BASE}/api/semantic", data=data, headers=HEADERS, method="POST")
return json.loads(urllib.request.urlopen(req).read())
Fetch this skill’s definition over the open API — no key required.
curl -s /v1/skills/brain-crud