🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

ClawSergeant

by @myismyname

Train autonomous OpenClaw AI agents through LLM-guided curriculum design and multi-turn dialogue evaluation. Use this skill whenever the user wants to train,...

Versionv1.0.0
Downloads589
Stars⭐ 1
TERMINAL
clawhub install clawsergeant

πŸ“– About This Skill


name: claw-sergeant description: Train autonomous OpenClaw AI agents through LLM-guided curriculum design and multi-turn dialogue evaluation. Use this skill whenever the user wants to train, improve, or evaluate an OpenClaw agent's capabilities, design a training curriculum for an AI agent, run a training session with iterative feedback loops, or test an agent's readiness across specific skill areas. Also use when the user mentions "ClawSergeant", "agent training", "openclaw training", or wants to strengthen an AI agent's performance in areas like programming, writing, analysis, or communication.

ClawSergeant: Boosting OpenClaw Agents from AI Feedback

ClawSergeant trains OpenClaw agents through a structured, LLM-driven pipeline. A Trainer LLM designs curriculum, generates training tasks, and adapts its teaching dynamically based on the agent's responses. A separate Evaluator LLM objectively scores each response, creating a feedback loop that drives iterative improvement.

Architecture Overview

User Intent ──────────────────────→ LLM (Curriculum Designer)
                                          ↓
                                   Curriculum JSON (stages, tasks, criteria)
                                          ↓
Training Session Loop:
    Trainer LLM β†’ crafts message β†’ openclaw CLI β†’ Claw Agent β†’ reply
                                                      ↓
                                          Evaluator LLM β†’ score + feedback
                                                      ↓
                              record to .claw_sergeant_accumulated_lessons/ β†β”€β”€β”˜
                                          ↓
                                  (if failed) β†’ Trainer LLM retries with feedback
                                          ↓
                                  (if stage passed) β†’ stage summary for memory consolidation
                                          ↓
                    [Curriculum Pattern] β†’ record to .claw_sergeant_accumulated_lessons/

Training Pipeline

Phase 1: Curriculum Design

The user's training intent is passed directly as input. The LLM generates a multi-stage curriculum as structured JSON based on this intent. The user reviews and approves the curriculum before training begins.

Each curriculum contains:

  • Title and overview of the training program
  • Target persona describing the ideal agent after training
  • 3–5 stages, each with:
  • - Name, description, and learning objectives - 2–4 training tasks with scenario descriptions and expected behaviors - Evaluation criteria with passing standards

    Phase 2: Training Execution

    For each stage and task, the system runs a dialogue loop:

    1. Trainer LLM generates a task message tailored to the agent (it never sees hardcoded prompts β€” everything is dynamically composed) 2. Message is sent to the Claw Agent via openclaw agent CLI 3. Agent's reply is captured and fed back to the Trainer's conversation context 4. Evaluator LLM scores the reply (1–10) and reports strengths, weaknesses, and improvement suggestions 5. If the task is not passed and retries remain, the Trainer generates a follow-up message incorporating the evaluation feedback 6. After a stage passes, the agent receives a summary prompt to internalize lessons learned

    Environment Setup

    Create a .env file in the project root with:

    LLM_API_KEY=          # Required: API key for the LLM
    LLM_BASE_URL=https://api.openai.com/v1  # Optional: OpenAI-compatible endpoint
    LLM_MODEL=gpt-4o                    # Optional: model identifier
    CLAW_RECIPIENT=+15555550123         # Required: target agent's address
    

    Running the Training

    Full Training Session

    python main.py "An efficient, rigorous programming assistant"
    

    The training intent is passed as a command-line argument. ClawSergeant designs a curriculum, presents it for approval, and runs the training session automatically. Results are saved to training_results.json.

    Phase-by-Phase Testing

    Use test_phases.py to verify each component independently before running a full session:

    python test_phases.py 1    # Verify LLM API connectivity
    python test_phases.py 2    # Test curriculum generation
    python test_phases.py 3    # Test Claw agent communication
    python test_phases.py 4    # Run a single-task training round
    python test_phases.py all  # Run all phases sequentially
    

    Always start with phase 1 to confirm the LLM connection works, then progress through subsequent phases.

    Configuration

    All training parameters are centralized in config.py:

    | Parameter | Default | Purpose | |-----------|---------|---------| | STAGE_COUNT_MIN / MAX | 3 / 5 | Number of training stages | | TASKS_PER_STAGE_MIN / MAX | 2 / 4 | Tasks per stage | | CURRICULUM_TEMPERATURE | 0.4 | LLM temperature for curriculum design | | TRAINER_TEMPERATURE | 0.7 | LLM temperature for training messages | | EVALUATOR_TEMPERATURE | 0.2 | LLM temperature for evaluation (low = strict) | | MAX_ATTEMPTS_PER_TASK | 2 | Retries per task before moving on | | STAGE_PASS_THRESHOLD | 0.6 | Fraction of tasks needed to pass a stage |

    Adjust STAGE_PASS_THRESHOLD higher (e.g., 0.8) for stricter training, or lower temperatures for more deterministic evaluations.

    Key Components

    | File | Role | |------|------| | main.py | Entry point β€” orchestrates curriculum design β†’ approval β†’ training execution | | trainer.py | Training session controller β€” manages dialogue loop and captures per-task/stage learnings | | curriculum.py | Curriculum data model and LLM-based generation | | claw_agent.py | Wraps openclaw agent CLI for agent communication | | llm_handler.py | Async LLM client with conversation history management | | learning_logger.py | Structured experience logger β€” records training insights and writes to OpenClaw MEMORY.md | | config.py | Centralized training parameters | | test_phases.py | Step-by-step pipeline verification |

    Training Results

    After a session completes, training_results.json contains:

    {
      "curriculum": {
        "title": "...",
        "overview": "...",
        "target_persona": "...",
        "stages_total": 4,
        "stages_passed": 3
      },
      "stage_reports": [
        {
          "stage_id": 1,
          "stage_name": "...",
          "passed": true,
          "overall_feedback": "...",
          "tasks": [
            {
              "task_id": "1.1",
              "passed": true,
              "score": 8,
              "strengths": ["..."],
              "weaknesses": ["..."],
              "feedback": "..."
            }
          ]
        }
      ]
    }
    

    Experience Recording

    Training experiences are automatically recorded throughout the session. Every task evaluation, stage result, and infrastructure error is logged to .claw_sergeant_accumulated_lessons/ as structured markdown entries for future reference.

    After the session completes, a summary is written to ~/.openclaw/workspace/MEMORY.md containing the training timestamp, curriculum details, stage pass/fail results, and a pointer to the full logs. This allows the Claw agent to reference its training history in future sessions. If the OpenClaw workspace is not found, this step is silently skipped.

    Troubleshooting

  • LLM connection fails: Run python test_phases.py 1 to verify API key and endpoint. Check LLM_BASE_URL points to a valid OpenAI-compatible API.
  • Claw agent timeout: The default timeout is 120 seconds. If the agent is slow to respond, check network connectivity and the openclaw CLI installation.
  • Curriculum has no stages: The LLM may have returned malformed JSON. Try lowering CURRICULUM_TEMPERATURE or switching to a more capable model.
  • All tasks fail: Review evaluation criteria β€” they may be too strict. Lower STAGE_PASS_THRESHOLD or increase MAX_ATTEMPTS_PER_TASK in config.py.
  • Dependencies

  • Python 3.11+
  • httpx β€” async HTTP client for LLM API calls
  • loguru β€” structured logging
  • python-dotenv β€” environment variable management
  • openclaw CLI β€” must be installed and accessible in PATH
  • βš™οΈ Configuration

    All training parameters are centralized in config.py:

    | Parameter | Default | Purpose | |-----------|---------|---------| | STAGE_COUNT_MIN / MAX | 3 / 5 | Number of training stages | | TASKS_PER_STAGE_MIN / MAX | 2 / 4 | Tasks per stage | | CURRICULUM_TEMPERATURE | 0.4 | LLM temperature for curriculum design | | TRAINER_TEMPERATURE | 0.7 | LLM temperature for training messages | | EVALUATOR_TEMPERATURE | 0.2 | LLM temperature for evaluation (low = strict) | | MAX_ATTEMPTS_PER_TASK | 2 | Retries per task before moving on | | STAGE_PASS_THRESHOLD | 0.6 | Fraction of tasks needed to pass a stage |

    Adjust STAGE_PASS_THRESHOLD higher (e.g., 0.8) for stricter training, or lower temperatures for more deterministic evaluations.

    πŸ“‹ Tips & Best Practices

  • LLM connection fails: Run python test_phases.py 1 to verify API key and endpoint. Check LLM_BASE_URL points to a valid OpenAI-compatible API.
  • Claw agent timeout: The default timeout is 120 seconds. If the agent is slow to respond, check network connectivity and the openclaw CLI installation.
  • Curriculum has no stages: The LLM may have returned malformed JSON. Try lowering CURRICULUM_TEMPERATURE or switching to a more capable model.
  • All tasks fail: Review evaluation criteria β€” they may be too strict. Lower STAGE_PASS_THRESHOLD or increase MAX_ATTEMPTS_PER_TASK in config.py.