Skip to content
Back to skills

Classifier Lab Subagent

ASecurity

Validate subagent reliability by running 3 concurrent classifier training loops. Each subagent runs /classifier-lab (deterministic code) and reports via JSON stream. The subagent's only job: run the skill, fix crashes, write /test-lab tests. 90% code, 10% agent. HP adjustment between rounds uses /scillm Gemini structured JSON, not agent judgment.

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
code-qualitybash

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add grahama1970/agent-skills --skill classifier-lab-subagent --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Classifier Lab Subagent?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Classifier Lab Subagent
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/grahama1970-classifier-lab-subagent/badge)](https://www.skillsdirectory.com/skills/grahama1970-classifier-lab-subagent)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: classifier-lab-subagent
description: >
  Validate subagent reliability by running 3 concurrent classifier training loops.
  Each subagent runs /classifier-lab (deterministic code) and reports via JSON stream.
  The subagent's only job: run the skill, fix crashes, write /test-lab tests. 90% code, 10% agent.
  HP adjustment between rounds uses /scillm Gemini structured JSON, not agent judgment.

triggers:
  - classifier lab subagent
  - test subagent reliability
  - concurrent classifier training
  - subagent experiment
  - validate subagent architecture

allowed-tools: [Bash, Read, Write, Glob, Grep]

metadata:
  short-description: "3-concurrent subagent classifier training experiment"
  author: "Graham + Horus"
  version: "1.0.0"

provides:
  - subagent-reliability-validation
  - concurrent-training-orchestration

composes:
  - classifier-lab
  - scillm
  - scillm
  - test-lab
  - agentic-evals
taxonomy:
  - agents
  - orchestration
  - reliability
  - classifier
disciplines:
  - ml-training
  - agentic-orchestration
  - evaluation-quality
---

# /classifier-lab-subagent

Validate whether subagents can reliably run long-running deterministic tasks.

## The Experiment

3 subagents run concurrently, each training a different text classifier model on the
same HuggingFace dataset (`ag_news`). Each subagent runs `/classifier-lab`'s existing
self-improvement loop. The orchestrator watches JSON streams, enforces timeouts, and
collects results.

**The point:** Determine if subagents can reliably perform long-running tasks when
90% of the intelligence is in the code and the subagent is just a process runner.

## Architecture

```
Project agent (interactive session)
    │
    ├── Decides: dataset, 3 models, initial HPs, gate threshold
    ├── Writes: config YAMLs for each model
    ├── Tests: preflight sanity (1 epoch each)
    │
    └── orchestrator.py (asyncio)
         ├── Subagent 1: distilbert-base-uncased
         ├── Subagent 2: bert-tiny
         └── Subagent 3: all-MiniLM-L6-v2
              │
              Each subagent:
              1. Runs classifier-lab/run.sh with config
              2. Script streams JSON to stdout
              3. If crash → debug, write /test-lab test, retry
              4. If blocked → report to orchestrator
              5. Between rounds: /scillm Gemini for structured HP suggestions
```

## What the Subagent Gets

```
Run this command:
  classifier-lab/run.sh e2e --task "ag_news" --dataset ag_news --modality text \
    --backbones {model} --gate-f1 0.95 --max-rounds 5

The script streams JSON progress. Let it run.

If it crashes: read the error, fix the obvious issue, write a /test-lab test, rerun.
If you can't fix it after 3 attempts: report "blocked" with the error.
Do not modify training logic. Do not change the self-improvement loop.
Do not add features. Just run it and report.
```

## What the Orchestrator Does

- Spawns 3 subagents via /subagent-service
- Reads JSON streams from each
- Heartbeat: no output for 120s → kill
- Wall-clock: 30min max per subagent
- Collects final metrics from all 3
- Reports: which succeeded, which failed, which blocked
- Computes subagent reliability rate

## HP Adjustment via /scillm (not agent judgment)

Between rounds, the self-improvement loop calls /scillm Gemini with structured JSON:

```json
POST http://localhost:4001/v1/chat/completions
{
  "model": "text",
  "messages": [{"role": "user", "content": "...round history..."}],
  "response_format": {"type": "json_object"}
}
```

Returns:
```json
{
  "learning_rate": 3e-5,
  "batch_size": 16,
  "epochs": 5,
  "dropout": 0.2,
  "reasoning": "Overfitting after epoch 3, reduce LR and increase dropout"
}
```

The code applies this directly. No agent interpretation needed.

## Usage

```bash
# Run the full experiment (3 concurrent subagents)
./run.sh experiment

# Preflight only (test each model for 1 epoch)
./run.sh preflight

# Single model test (no subagent, local)
./run.sh single --model distilbert-base-uncased

# Check results
./run.sh results
```

## Success Criteria

The experiment succeeds if:
1. All 3 subagents complete (not blocked/crashed)
2. At least 2/3 reach the accuracy gate (95%)
3. JSON streams were continuous (no heartbeat timeouts)
4. Total wall-clock time < 90 minutes

This tells us: subagents CAN reliably run deterministic code with monitoring.
If it fails: subagents can't even babysit a script, and we know the ceiling.

Files in this skill

  • SKILL.md4.4 KB
  • fixtures/agentic_eval.json501 B
  • harness.py20.4 KB
  • orchestrator.py28.1 KB
  • pyproject.toml268 B
  • run.sh1.7 KB
  • sanity.sh1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.