Apply software release engineering practices to self-improving LLM agents to achieve stable evolution. AgentDevel uses implementation-blind critique, executable diagnosis, and flip-centered gating to prevent regression while enabling auditable improvement trajectories.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add ADu2021/skillXiv --skill rerec-agent-development-release-engineering --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Rerec Agent Development Release Engineering?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/adu2021-rerec-agent-development-release-engineering)More formats (shields.io, HTML) on the badges page.
---
name: rerec-agent-development-release-engineering
title: "AgentDevel: Reframing Self-Evolving LLM Agents as Release Engineering"
version: 0.0.2
engine: skillxiv-v0.0.2-claude-opus-4.6
license: MIT
url: "https://arxiv.org/abs/2601.04620"
keywords: [LLM Agents, Self-Improvement, Release Engineering, Quality Assurance]
description: "Apply software release engineering practices to self-improving LLM agents to achieve stable evolution. AgentDevel uses implementation-blind critique, executable diagnosis, and flip-centered gating to prevent regression while enabling auditable improvement trajectories."
---
## When to Use This Skill
- Building self-improving LLM agents for production deployment
- Scenarios requiring auditability and non-regression guarantees
- Multi-turn agents where failure modes must be preventable
- Systems needing transparent improvement tracking
- Continuous evolution with stability requirements
## When NOT to Use This Skill
- One-time agent optimization (release engineering overhead unnecessary)
- Experiments requiring rapid iteration
- Scenarios where regression risk is acceptable
## Problem Summary
Current self-improving LLM agents suffer from instability and lack auditability. Improvement trajectories are difficult to track, causing regression into previously-fixed failure modes. Practitioners cannot easily identify what causes improvements or verify that fixes remain stable. This creates risk in deployed agents where stability is critical.
## Solution: Release Engineering Framework for Agents
Apply proven software engineering practices: implementation-blind critique, executable diagnosis, and flip-centered gating.
```python
class AgentReleaseManager:
def __init__(self, agent, test_suite):
self.agent = agent
self.test_suite = test_suite
self.version_history = []
def self_improvement_cycle(self, max_iterations=10):
"""Controlled agent evolution via release engineering"""
current_version = self.snapshot_agent()
self.version_history.append(current_version)
for iteration in range(max_iterations):
# Step 1: Implementation-blind failure detection
failures = self.identify_failures(current_version)
if not failures:
print("No failures detected. Agent stable.")
break
# Step 2: Executable diagnosis (no code inspection)
diagnoses = []
for failure in failures:
# Analyze execution trace only
execution_trace = failure["trace"]
# Identify common patterns without inspecting implementation
diagnosis = self.diagnose_from_trace(execution_trace)
diagnoses.append(diagnosis)
# Step 3: Aggregated failure patterns
patterns = self.aggregate_patterns(diagnoses)
# Step 4: Specification generation
improvements = self.synthesize_improvements(patterns)
# Step 5: Flip-centered gating (only approve improvements that reduce regressions)
for improvement in improvements:
new_version = self.apply_improvement(current_version, improvement)
# Test: Will this fix regressions without introducing new ones?
regression_risk = self.assess_regression_risk(
current_version, new_version
)
if regression_risk < REGRESSION_THRESHOLD:
# Approve and lock in improvement
current_version = new_version
self.version_history.append(current_version)
print(f"Improvement approved: {improvement}")
else:
print(f"Improvement rejected: Too much regression risk")
return current_version
def identify_failures(self, version):
"""Run execution-heavy benchmarks"""
failures = []
for test_case in self.test_suite.get_execution_benchmarks():
result = version.execute(test_case)
if result.failed:
failures.append({
"test": test_case,
"trace": result.execution_trace,
"error": result.error_message
})
return failures
def diagnose_from_trace(self, execution_trace):
"""Analyze execution without accessing implementation"""
# Extract observable failure points from trace
failure_signature = {
"step": execution_trace.get_failure_step(),
"input_state": execution_trace.get_state_before_failure(),
"action_taken": execution_trace.get_action(),
"outcome": execution_trace.get_outcome()
}
return failure_signature
def assess_regression_risk(self, old_version, new_version):
"""Measure risk of improvement causing new failures"""
regressions = 0
total_tests = len(self.test_suite)
for test in self.test_suite:
# Compare behavior between versions
old_result = old_version.execute(test)
new_result = new_version.execute(test)
# Regression = previously passing test now failing
if old_result.passed and new_result.failed:
regressions += 1
regression_rate = regressions / total_tests
return regression_rate
```
## Key Implementation Details
**Three-Layer Quality Control:**
1. **Implementation-Blind Critique**
- No code inspection or model weights analysis
- Only observable behavior through execution traces
- Prevents bias from implementation details
2. **Executable Diagnosis**
- Extract failure patterns from execution traces
- Identify common preconditions and actions
- Aggregate into high-level specifications
3. **Flip-Centered Gating**
- Approve improvements only if they reduce regressions
- Lock in improvements that pass regression test
- Maintain single version line (no branch exploration)
**Measurement Framework:**
- Binary success/failure on each test case
- Regression metrics (previously-passing → now-failing)
- Non-regression verification before commitment
## Performance Results
**Benchmark Evaluation:**
- Execution-heavy benchmarks (tool use, reasoning)
- Stability metrics (regression rate)
- Improvement trajectory auditability
**Key Properties:**
- Prevents regression into known failure modes
- Enables transparent improvement history
- Single version line simplifies management
- Works on execution-observable failures
## Advantages Over Baselines
- **vs. Uncontrolled Evolution**: Regression prevention
- **vs. Manual Review**: Automated diagnosis extraction
- **vs. Search-Based**: No exploration overhead
- **vs. Rollback-Based**: Proactive non-regression
## Deployment Strategy
1. **Establish Test Suite**: Create comprehensive execution benchmarks
2. **Initialize Agent**: Baseline version with known failures
3. **Failure Identification**: Run tests, collect execution traces
4. **Pattern Analysis**: Extract recurring failure signatures
5. **Improvement Synthesis**: Generate candidate fixes
6. **Regression Testing**: Verify improvements don't cause new failures
7. **Version Locking**: Commit improvements that pass gates
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!