Skip to content
akrimm702Public

About

πŸ”¨ Autonomous optimization loops for AI agent skills, code & repos β€” with mathematical convergence, multi-model validation, and live reporting

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”¨ AutoForge

Stop vibing. Start converging.

Production-grade autonomous optimization for AI agent skills, code, docs & entire repos.

Mathematical convergence Β· Multi-model cross-validation Β· Regression guards Β· Live Unicode reporting

MIT License OpenClaw Skill ClawHub


Most "self-improving agent" approaches boil down to "reflect on your output." That's a vibe check, not optimization. AutoForge is different.

Typical "Reflect" AutoForge
When to stop "Looks good to me" 3Γ— 100% pass, 5Γ— retained, or 3Γ— discard
Progress Chat history TSV with pass rates & diffs per iteration
Validation Same model checks itself Multi-model blind cross-validation
Reporting Final summary Live Unicode bars + dashboard after every iteration
Regressions "Oops, broke something" Regression guard with individual eval tracking
Modes One generic loop 7 specialized modes
Patches Full rewrite per iteration Incremental patches (max 30% per iter)
Track record Demo 50+ iterations across 6 production skills

πŸ—οΈ Architecture

Core Loop

                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚  Define target +     β”‚
                         β”‚  evals               β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                   β”‚
                                   β–Ό
                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚  Baseline scan       β”‚
                         β”‚  (Iteration 1)       β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                   β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
                    β–Ό
           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     proposed     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”Œβ”€β”€β–Άβ”‚   Optimizer   │────────────────▢│   Validator   β”‚
       β”‚   β”‚  (Claude Opus)β”‚                  β”‚    (GPT-5)    β”‚
       β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                                              β”‚
       β”‚                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚                              β”‚                               β”‚
       β”‚                              β–Ό                               β–Ό
       β”‚                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚                     β”‚ βœ… improved  β”‚                 β”‚ ❌ discarded β”‚
       β”‚                     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
       β”‚                            β”‚                               β”‚
       β”‚                            β–Ό                               β–Ό
       β”‚                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚                     β”‚ Regression  β”‚                β”‚  Log finding β”‚
       β”‚                     β”‚ Guard βœ“     β”‚                β”‚  for retry   β”‚
       β”‚                     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                            β”‚
       β”‚                            β–Ό
       β”‚                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚                   β”‚  Log to TSV     β”‚
       β”‚                   β”‚  + report.sh    β”‚
       β”‚                   β”‚  + findings.md  β”‚
       β”‚                   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                          β”‚
       β”‚                          β–Ό
       β”‚                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚       No         β”‚  Converged?  β”‚
       └──────────────────              β”‚
                          β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β”‚               β”‚               β”‚
                 β–Ό               β–Ό               β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚ 3Γ— 100% βœ…  β”‚ β”‚ 5Γ— retained  β”‚ β”‚ 3Γ— discardβ”‚
          β”‚   Deploy!   β”‚ β”‚  Converged   β”‚ β”‚   Stop ⚠️  β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                                 β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  report --final  β”‚
                        β”‚  + summary.sh    β”‚
                        β”‚  + visualize.py  β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Multi-Model Validation

  Iter 1 (Optimizer)          Iter 2 (Validator)         Iter 3 (Optimizer)
  ─────────────────           ──────────────────         ─────────────────

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Claude Opus  β”‚            β”‚    GPT-5     β”‚           β”‚ Claude Opus  β”‚
  β”‚              β”‚            β”‚              β”‚           β”‚              β”‚
  β”‚ Analyze      β”‚            β”‚ Blind review β”‚           β”‚ Fix findings β”‚
  β”‚ Find issues  β”‚            β”‚ of output    β”‚           β”‚ from GPT-5   β”‚
  β”‚ Write fixes  β”‚            β”‚ (no context) β”‚           β”‚              β”‚
  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜            β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜           β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                           β”‚                          β”‚
         β–Ό                           β–Ό                          β–Ό
  pass_rate: 62%              pass_rate: 78%              pass_rate: 95%
  status: improved            status: improved            status: improved

         └────── TSV ──────────────── TSV ──────────────── TSV β”€β”€β”€β”€β”€β”€β”˜

  Different model validates β†’ no "grading your own homework" blind spot

Regression Guard

  Best state: evals Aβœ… Bβœ… Cβœ… Dβœ… E❌  (80%)

  New iteration:     Aβœ… Bβœ… Cβœ… D❌ Eβœ…  (80%)
                                  β–²       β–²
                            was passing   now passing
                            now failing   was failing

  Total rate: same (80%)
  But D regressed! β†’ status: regression β†’ revert β†’ log finding

Findings Loop

  optimize ──▢ test ──▢ findings.md ──▢ optimize ──▢ test ──▢ ...

  Round 1: 3 findings (stale flag, wrong path, missing example)
  Round 2: 2 resolved, 1 new finding (edge case)
  Round 3: All resolved β†’ clean convergence

  Safety: maxFindingsLoops (default: 3) prevents infinite cycles

Project Mode β€” Three Phases

  Phase 1                    Phase 2                      Phase 3
  SCAN & PLAN                CROSS-FILE ANALYSIS          ITERATIVE FIX LOOP
  ─────────────              ───────────────────          ──────────────────

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Walk repo    β”‚           β”‚ README ↔ CLI     β”‚    β”Œβ”€β”€β”€β–Άβ”‚ Surgical fix β”‚
  β”‚ tree         β”‚           β”‚ Dockerfile ↔ depsβ”‚    β”‚    β”‚ across files β”‚
  β”‚              │──────────▢│ CI ↔ scripts     │───▢│    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
  β”‚ Build file   β”‚           β”‚ .env ↔ code refs β”‚    β”‚           β”‚
  β”‚ priority map β”‚           β”‚ imports ↔ reqs   β”‚    β”‚           β–Ό
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚ .gitignore ↔ out β”‚    β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚    β”‚ Validate     β”‚
                                                     β”‚    β”‚ consistency  β”‚
                                                     β”‚    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                                                     β”‚           β”‚
                                                     β”‚     Not   β”‚  Done?
                                                     └─── yet β—€β”€β”€β”˜

πŸš€ Quick Start

Install

# Via ClawHub
clawhub install autoforge

# Or clone
git clone https://github.com/akrimm702/autoforge.git
cp -r autoforge ~/.openclaw/workspace/skills/autoforge

Configure reporting (optional)

export AF_CHANNEL="telegram"        # telegram | discord | slack
export AF_CHAT_ID="-100XXXXXXXXXX"  # chat/group ID
export AF_TOPIC_ID="1234"           # thread ID (optional)

No env vars? Reports print to stdout with ANSI colors.

Tell your agent

Start autoforge mode: prompt for the coding-agent skill.
Evals: PTY handling correct? Workspace protection enforced? Clear structure?

The agent reads the skill, runs the loop, tracks everything in TSV, reports live, and stops when convergence math says it's done.


πŸ”§ Seven Modes

prompt β€” Mental Simulation

Simulates 5 realistic scenarios per iteration, evaluates Yes/No against defined evals, calculates pass rate mathematically. No code execution.

Best for: SKILL.md files, prompt engineering, documentation, briefing templates.

code β€” Real Execution

Runs code in a sandbox, measures exit codes, stdout, stderr, runtime. Evaluates against concrete test criteria.

Best for: Shell scripts, Python tools, data pipelines, build systems.

audit β€” CLI Testing

Tests documented commands against actual CLI behavior (--help, read-only). Catches docs-vs-reality drift. Two variants: Simple (2 iterations) or Deep (iterative with multi-model).

Best for: Verifying skill documentation matches real CLI behavior.

project β€” Whole Repository ⭐

Scans an entire repo, builds a file-map with priorities, runs cross-file consistency checks, and iteratively fixes issues across multiple files.

Best for: README ↔ CLI drift, Dockerfile ↔ dependency mismatches, CI ↔ project structure gaps.

Cross-file checks include:

  • README documents what the CLI actually does
  • Dockerfile installs the right dependency versions
  • CI workflows reference correct paths and scripts
  • .env.example covers all env vars used in code
  • Every import has a matching dependency declaration
  • .gitignore excludes build artifacts and secrets

e2e β€” End-to-End Testing πŸ†•

Live tests against real tools and APIs β€” not mocked, not simulated. All evals are live category (99%+ confidence weight).

Best for: Integration testing, API validation, webhook verification, deployment checks.

Safety: NEVER destructive commands without --dry-run, ALWAYS timeouts, max 10 API calls/iteration.

personal β€” Agent Self-Improvement πŸ†•

Analyzes real session logs, memory files, and cron run history to find behavioral patterns β€” repeated mistakes, slow responses, user corrections, missing proactivity, style mismatches, tool misuse.

Best for: Improving agent behavior from real usage data.

⚠️ READ ONLY β€” findings are proposals, never auto-applied to SOUL.md or AGENTS.md.


πŸ“Š Live Reporting

After each iteration, report.sh sends live updates:

πŸ“Š AutoForge: coding-agent

πŸ“ Iter 1   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  45%  baseline
βœ… Iter 2   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  62%  improved
βœ… Iter 3   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘  78%  improved
βœ… Iter 4   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘  85%  improved
⚠️ Iter 5   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘  82%  regression β†’ reverted
βœ… Iter 6   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘  90%  improved
βœ… Iter 7   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘  92%  retained
βœ… Iter 8   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘  95%  improved
βœ… Iter 9   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  100% improved
βœ… Iter 10  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  100% improved

──────────────────────
Iterations: 10  βœ… Keep: 8  ❌ Discard: 0  ⚠️ Regression: 1  ➑️ Retained: 1
πŸ† Best: 100% (Iter 9)  πŸ“ˆ Ξ” +55pp
πŸ” Findings: 3 found, 3 resolved

βœ… Loop converged β€” 2Γ— 100% confirmed

Dashboard mode (--dashboard)

πŸ“Š AutoForge Dashboard: coding-agent
═══════════════════════════════════

πŸ“ˆ Velocity:  5.5 pp/iter (strong)
⚑ Efficiency: 80% keep rate
🎯 Convergence: 95% confidence
⏱️  Runtime: 12m 34s (10 iterations)

πŸ”¬ Eval Breakdown:
  Structural (S): 100%  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
  Simulated  (M):  95%  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘
  Live       (L): 100%  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

πŸ”€ Validators: claude:100% / gpt:98%

TSV format

Every iteration logged in machine-readable TSV:

iteration  summary              pass_rate  change              status      confidence    blast    validators
1          Baseline             45%        Original            baseline    S:45%/M:40%   -        -
2          Add subcommands      62%        16 commands added   improved    S:80%/M:50%   +16/-0   claude:62%
...
10         Final validation     100%       All checks green    improved    S:100%/M:100% +2/-0    claude:100%/gpt:98%

πŸ“ Convergence Rules

No vibes. No "looks good." Mathematical stop conditions:

Condition Rule Purpose
⬇️ Minimum iters Must reach N before any stop Prevents premature convergence
πŸ›‘ Max 30 iters Hard safety cap Cost protection
❌ 3Γ— discard streak Stop + analyze Detects structural problems
❌ 3Γ— regression streak Stop + analyze Detects fundamental issues
βœ… 3Γ— 100% pass Confirmed perfect After minimum reached
➑️ 5Γ— retained streak Fully converged No further improvement possible

Multi-model convergence: When validators are configured, convergence requires ALL validators β‰₯ threshold. A single validator below threshold blocks convergence.

Validator noise detection: In multi-model setups, validators can produce false positives. AutoForge recognizes config/path confusion, inverted checks, normal English flagged as forbidden references, and over-counting. After all real fixes, if >3 discards stem from non-reproducible complaints β†’ declare convergence.


πŸ›‘οΈ Regression Guard

Unlike simple pass-rate tracking, AutoForge tracks every individual eval across iterations:

  1. After baseline, store all individually passing evals as the "guard set"
  2. On each iteration, check ALL evals β€” not just total pass rate
  3. If total rate improves BUT a guard eval now fails β†’ regression
  4. Revert to best state, log the regression as a finding for future iterations
  5. Findings feed back into the loop β€” no information is lost

This catches the classic "fix one thing, break another" failure mode that total pass rate alone misses.


πŸ”€ Multi-Model Cross-Validation

For complex audits, split optimizer and validator across different models:

Role Example Models Task
Optimizer Claude Opus, GPT-4.1 Finds issues, writes fixes
Validator GPT-5, Gemini Checks against ground truth independently

The validator doesn't see the optimizer's reasoning β€” just the output. This prevents the "same model validates its own work" blind spot.

Confidence-Weighted Eval Categories

Category Confidence Weight When used
structural (S) High (95%+) 1.0Γ— Static analysis, format checks
simulated (M) Medium (70-90%) 1.5Γ— Mental simulation, hypothetical
live (L) Highest (99%+) 2.0Γ— Actually executed and measured

Weighted pass rate: Ξ£(passing Γ— weight) / Ξ£(all Γ— weight) Γ— 100

prompt = simulated Β· code/e2e = live Β· audit/project = mixed


πŸ† Real-World Results

Production runs, not demos.

coding-agent SKILL.md β€” 553 lines rewritten across 10 iterations. 16 Codex subcommands + 40 Claude CLI flags documented. 45% β†’ 100%. Discovered --yolo was never a real flag.

ACP Router β€” 90% β†’ 100% in 9 iterations. Agent coverage doubled from 6 to 12 harnesses. Thread spawn recovery policy written from scratch.

Sub-Agents Documentation β€” 70% β†’ 100% in 14 iterations with multi-model validation. 6 real bugs found in upstream docs. Identified 4 categories of validator false positives.

backup.sh β€” Added rsync support, validation checks, restore-test. Code mode with sandboxed test runs. 3 iterations to stable, 2 more to polish.

AutoForge on itself 🀯 β€” Self-forged in project mode: 67% β†’ 100% in 8 iterations. Fixed 2 script bugs, cleaned config/doc inconsistencies across 7 files.


βš™οΈ Configuration

Environment Variables

Variable Default Description
AF_CHANNEL telegram Report delivery channel
AF_CHAT_ID (none) Chat/group ID. Unset = stdout
AF_TOPIC_ID (none) Thread/topic ID

V2 Config (in task prompt or JSON)

{
  "mode": "e2e",
  "target": "./my-skill/SKILL.md",
  "validators": ["anthropic/claude-sonnet-4", "openai/gpt-4.1"],
  "convergenceThreshold": 95,
  "regressionThreshold": 5,
  "maxFindingsLoops": 3,
  "evalCategories": true,
  "incrementalPatches": true
}

All config fields are optional. Without them, classic single-model mode.

Execution Flags

Flag Behavior
--dry-run (default) Only TSV + proposed files. Target unchanged.
--live Overwrites target. Auto-backup to results/backups/.
--resume Continue from existing TSV.

πŸ—‚οΈ Directory Structure

autoforge/
β”œβ”€β”€ SKILL.md                ← OpenClaw skill definition (the brain)
β”œβ”€β”€ README.md               ← You are here
β”œβ”€β”€ LICENSE                 ← MIT
β”œβ”€β”€ .gitignore
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ report.sh           ← Live reporting (dashboard, trends, JSON)
β”‚   β”œβ”€β”€ summary.sh          ← Markdown summary generator
β”‚   └── visualize.py        ← PNG progress charts + multi-run comparison
β”œβ”€β”€ references/
β”‚   β”œβ”€β”€ eval-examples.md    ← Pre-built evals by category
β”‚   └── ml-mode.md          ← ML training integration guide
β”œβ”€β”€ examples/
β”‚   └── demo-config.json    ← Example run configurations
└── results/                ← Your run data (gitignored)
    └── .gitkeep

🀝 Contributing

  1. Fork β†’ feature branch β†’ PR
  2. Run shellcheck scripts/report.sh and python3 -m py_compile scripts/visualize.py
  3. Include real-world results from your own runs if possible

Good contributions: new eval templates, additional channel support, bug fixes with repro steps, production run case studies.


License

MIT β€” see LICENSE.


Built by Alexander Krimm.

Battle-tested across 50+ iterations on 6 production skills.

Stop reflecting. Start forging. πŸ”¨

About

πŸ”¨ Autonomous optimization loops for AI agent skills, code & repos β€” with mathematical convergence, multi-model validation, and live reporting

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages