skills/FLAME-operator/SKILL.md
Probe FLAME health, inspect hit rates, diagnose model failures, recover demoted tiers, and maintain free-tier routing state within the RM0 and constitutional boundaries.
npx skillsauth add ariffazil/openclaw-workspace FLAME-operatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Skill ID: FLAME-operator · Version: 2.0.0 · Axis: ops Load when: Probing FLAME health, checking hit-rates, recovering demoted tiers, debugging model failures. Do NOT load for: Adding paid models (constitutional boundary), changing agent cascade.
# Health probe — all 12 tiers, latency + content sanity
free-llm --mode probe
# Hit-rate dashboard — calls, success rate, avg latency per model
free-llm --mode stats
# Integrity snapshot — SHA256 of hit-rate state (NOT a seal)
free-llm --mode snapshot-checksum
# S5 Auto-recovery — attempt to re-promote demoted tiers after cooldown
free-llm --mode recover
free-llm --mode recover --json # machine-readable
# Batch inference — one prompt per line
free-llm --batch /path/to/prompts.txt
# Single inference with JSON output
free-llm "prompt" --json
FLAME runs 12 tiers of free/cheap models across Groq, SEA-LION, Gemini, Cerebras, OpenRouter, and Ollama. Auto-demotion fires at 3 consecutive fails. Auto-recovery attempts re-promotion after a 30-minute cooldown.
# List all tiers
python3 -c "
import json
cfg = json.load(open('/root/A-FORGE/flame/flame_config.json'))
for t in cfg['chains']['RM0-TOOLS-FREELOOP']['tiers']:
w = t.get('weight', 1)
print(f'{t[\"provider\"]}/{t[\"model\"]} (weight={w})')
"
| Signal | Meaning | Action | |--------|---------|--------| | ✅ 200 + content | Model healthy | None | | ❌ HTTP 4xx | Auth/key/config broken | Check vault.env, verify key | | ❌ HTTP 429 | Rate limited | Model auto-demoted, wait 5 min | | ❌ Empty content | Safety filter or model issue | Mark as degraded in hit-rate | | ⚠️ >5s latency | Model slow | Demote in next reorder cycle |
FLAME auto-reorders every 5 minutes based on:
# Force immediate reorder
python3 -c "
from flame_router import FlameEngine
e = FlameEngine()
new_order = e.reorder_by_latency()
for t in new_order: print(f'{t[\"provider\"]}/{t[\"model\"]}')
"
<think> markers) and does NOT
increment consecutive_fails. Only genuine model-faults trigger demotion.# Attempt recovery of all demoted tiers (30-min cooldown per tier)
free-llm --mode recover
# Already installed at:
systemctl status flame-recover.timer
curl test the endpointflame_config.json → set active: true on the tierfree-llm --mode probe to verify2026-08-04 path correction — verified live. Doc referenced wrong directory for 9 days (state file zeroed since 2026-07-26 because no FLAME process was writing to that path). Canonical paths below. A compat symlink was created at the legacy path so old monitoring tools keep working.
Hit-Rate: /root/.local/share/flame/flame_hitrate.jsonl
State: /root/.local/share/flame/flame_state.json ← canonical (FLAME writes here)
Seal: /root/A-FORGE/flame/flame_seal.txt
Compat: /root/.local/share/arifos/flame_state.json → ../flame/flame_state.json
If you see the legacy path returning zeros or missing: it was the bug. Read the canonical path above. Do NOT edit the legacy file — it's a symlink.
Each line in hitrate.jsonl is a call record with provider, model, success, latency, timestamp.
# Direct model test (bypass FLAME)
curl -s "PROVIDER_BASE/chat/completions" \
-H "Authorization: Bearer $KEY" \
-d '{"model":"MODEL_ID","messages":[{"role":"user","content":"Reply READY"}],"max_tokens":10}'
# Check current tier state (active/inactive/demoted)
python3 -c "
from flame_router import FlameEngine
e = FlameEngine()
for k,v in e.hitrates.items():
status = '🟢' if v.active else '🔴'
demoted = f' (demoted {v.demoted_at})' if v.demoted_at > 0 else ''
print(f'{status} {k}: {v.calls}c {v.hit_rate:.0%}hr {v.avg_latency_ms:.0f}ms{demoted}')
"
# Attempt recovery
free-llm --mode recover
# Force reorder
python3 -c "
from flame_router import FlameEngine
e = FlameEngine()
new_order = e.reorder_by_latency()
for t in new_order: print(f'{t[\"provider\"]}/{t[\"model\"]}')
"
FLAME-operator is a maintenance skill, not a governance skill. It does not:
For governance decisions (adding providers, changing cascade order), use the agent lane with arif_judge.
testing
OpenClaw edge agent bridge — operational triage, doctor, restart, and A2A bridge routing for the federation edge (Telegram surface). USE WHEN: "openclaw unhealthy", "gateway down", "edge bot not responding", "a2a bridge disconnected", "watchdog tripped", "openclaw doctor", "openclaw restart". NOT for token/security audit — use FORGE-telegram-audit.
tools
Generate images, videos, TTS, voice clone, and music via MiniMax MCP server. Use when user asks to "draw", "generate image", "create picture", "make a photo", "text to image", "image generation".
testing
Single load-bearing constitutional-judgment skill. Routes all F1–F13, verdict, hold, seal, scope, authority and floor-check calls through the live arif_judge surface. Replaces 7 overlapping predecessors (arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge).
development
MANDATORY LSP grounding gate BEFORE any code mutation on .ts, .py, .js, .tsx, .jsx files. Forces the agent to read real-time compiler diagnostics and structural project context before editing — eliminating blind guesses and anchoring every mutation in F2 (TRUTH). Routes through arifOS kernel (:8088) for centralized gate logic.