home / skills / bejranonda / llm-autonomous-agent-plugin-for-claude / autonomous-development

autonomous-development skill

/skills/autonomous-development

This skill enables autonomous development across requirements to production by planning milestones, auto-debugging, and continuous quality assurance.

npx playbooks add skill bejranonda/llm-autonomous-agent-plugin-for-claude --skill autonomous-development

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
16.6 KB
---
name: autonomous-development
description: Comprehensive autonomous development strategies including milestone planning, incremental implementation, auto-debugging, and continuous quality assurance for full development lifecycle management
version: 1.0.0
---

## Overview

The Autonomous Development skill provides comprehensive strategies, patterns, and best practices for managing full development lifecycles autonomously - from user requirements to production-ready implementation with minimal human intervention.

## When to Apply

Use Autonomous Development strategies when:
- Implementing features from high-level requirements
- Managing complex multi-phase development projects
- Need to maintain quality while developing autonomously
- Implementing with continuous testing and validation
- Debugging and fixing issues automatically
- Ensuring parameter consistency and type safety

## Milestone Planning Strategies

### Requirements Decomposition

**Pattern: Feature-to-Milestone Mapping**

```
User Requirement → Feature Breakdown → Milestone Plan

Example: "Add MQTT broker with certificate support"

Decomposition:
1. Dependencies & Configuration (Simple)
   - Install required libraries
   - Create configuration module
   - Time: 10-15 minutes

2. Core Functionality (Medium)
   - Implement main feature logic
   - Add error handling
   - Time: 20-30 minutes

3. Integration & Testing (Medium)
   - Write unit tests
   - Write integration tests
   - Time: 15-25 minutes

4. Documentation (Simple)
   - API documentation
   - Usage examples
   - Time: 10-15 minutes
```

**Complexity Assessment Matrix**

```
Simple Milestone:
├─ Single file modification
├─ Well-defined scope
├─ No external dependencies
├─ Existing patterns to follow
└─ Estimated: 10-20 minutes

Medium Milestone:
├─ Multiple file modifications
├─ Some external dependencies
├─ Integration with existing code
├─ Moderate complexity
└─ Estimated: 20-45 minutes

Complex Milestone:
├─ Multiple component changes
├─ New dependencies or frameworks
├─ Significant integration work
├─ Architectural considerations
└─ Estimated: 45-90 minutes

Expert Milestone:
├─ Major architectural changes
├─ Multiple system integrations
├─ Advanced algorithms or patterns
├─ Security-critical implementations
└─ Estimated: 90+ minutes
```

### Milestone Sequencing

**Pattern: Dependency-First Ordering**

```
Order milestones to minimize dependencies:

1. Foundation Layer
   - Dependencies
   - Configuration
   - Data models

2. Core Logic Layer
   - Business logic
   - Core algorithms
   - Main functionality

3. Integration Layer
   - API endpoints
   - External integrations
   - Service connections

4. Quality Layer
   - Testing
   - Documentation
   - Validation
```

## Incremental Development Patterns

### Commit-Per-Milestone Strategy

**Pattern: Working State Commits**

```
Each milestone must result in a working state:

✅ Good Milestone:
- Feature partially complete but functional
- All tests pass for implemented functionality
- No breaking changes to existing code
- Commit: "feat: add user authentication (phase 1/3)"

❌ Bad Milestone:
- Feature incomplete and non-functional
- Tests failing
- Breaking changes uncommitted
- Half-implemented logic
```

**Conventional Commit Format**

```
<type>(<scope>): <description>

[optional body]

[optional footer]

Types:
- feat: New feature
- fix: Bug fix
- refactor: Code refactoring
- test: Adding tests
- docs: Documentation
- chore: Maintenance
- perf: Performance improvement

Examples:
feat(mqtt): add broker connection with SSL
fix(auth): correct token validation logic
test(api): add integration tests for user endpoints
docs(readme): update installation instructions
```

### Progressive Enhancement Pattern

```
Start simple, enhance progressively:

Phase 1: Basic Implementation
├─ Core functionality only
├─ No error handling
├─ No optimization
└─ Purpose: Prove concept works

Phase 2: Error Handling
├─ Add try-catch blocks
├─ Add input validation
├─ Add logging
└─ Purpose: Make it robust

Phase 3: Optimization
├─ Performance improvements
├─ Memory optimization
├─ Caching if needed
└─ Purpose: Make it efficient

Phase 4: Polish
├─ Documentation
├─ Examples
├─ Edge case handling
└─ Purpose: Make it production-ready
```

## Auto-Debugging Strategies

### Error Classification System

```
Error Categories and Fix Strategies:

1. Syntax Errors (100% auto-fixable)
   - Missing colons, brackets, quotes
   - Indentation errors
   - Strategy: Parse and fix immediately

2. Import Errors (95% auto-fixable)
   - Missing imports
   - Incorrect module paths
   - Strategy: Auto-add imports, fix paths

3. Type Errors (90% auto-fixable)
   - Type mismatches
   - Type hint violations
   - Strategy: Add type conversions or fix hints

4. Name Errors (85% auto-fixable)
   - Undefined variables
   - Typos in names
   - Strategy: Fix typos or add definitions

5. Logic Errors (60% auto-fixable)
   - Wrong algorithm
   - Incorrect conditions
   - Strategy: Analyze and refactor logic

6. Integration Errors (70% auto-fixable)
   - Connection failures
   - API mismatches
   - Strategy: Add retry logic, fix endpoints

7. Performance Errors (40% auto-fixable)
   - Timeouts
   - Memory issues
   - Strategy: Optimize algorithms, add caching
```

### Debug Loop Pattern

```
Maximum 5 iterations per issue:

Iteration 1: Quick Fix (confidence > 90%)
├─ Fix obvious issues (typos, imports)
├─ Success rate: 70%
└─ Time: 30 seconds

Iteration 2: Pattern-Based Fix (confidence 70-90%)
├─ Apply known successful patterns
├─ Success rate: 50%
└─ Time: 1-2 minutes

Iteration 3: Analysis-Based Fix (confidence 50-70%)
├─ Deep error analysis
├─ Root cause investigation
├─ Success rate: 30%
└─ Time: 3-5 minutes

Iteration 4: Alternative Approach (confidence 30-50%)
├─ Try different implementation
├─ Success rate: 20%
└─ Time: 5-10 minutes

Iteration 5: Last Attempt (confidence < 30%)
├─ Aggressive fixes
├─ Success rate: 10%
└─ Time: 10-15 minutes

If all iterations fail → Manual intervention required
```

### Common Fix Patterns

**Connection Retry Pattern**

```python
# Problem: Connection refused
# Fix: Add exponential backoff retry

import time
from functools import wraps

def with_retry(max_attempts=3, backoff_factor=2):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            for attempt in range(max_attempts):
                try:
                    return func(*args, **kwargs)
                except ConnectionError as e:
                    if attempt == max_attempts - 1:
                        raise
                    delay = backoff_factor ** attempt
                    time.sleep(delay)
            return None
        return wrapper
    return decorator

@with_retry(max_attempts=3)
def connect_to_service():
    # Connection logic
    pass
```

**Type Conversion Pattern**

```python
# Problem: Type mismatch (str vs int)
# Fix: Add safe type conversion

def safe_int(value, default=0):
    try:
        return int(value)
    except (ValueError, TypeError):
        return default

# Usage
user_id = safe_int(request.params.get('user_id'))
```

**Null Safety Pattern**

```python
# Problem: NoneType attribute error
# Fix: Add null checks

# Bad
result = data.get('user').get('name')

# Good
result = data.get('user', {}).get('name', 'Unknown')

# Better
user = data.get('user')
result = user.get('name', 'Unknown') if user else 'Unknown'
```

**Parameter Validation Pattern**

```python
# Problem: Invalid parameters
# Fix: Add validation decorator

from functools import wraps
from typing import get_type_hints

def validate_params(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        hints = get_type_hints(func)
        for param_name, param_type in hints.items():
            if param_name in kwargs:
                value = kwargs[param_name]
                if not isinstance(value, param_type):
                    raise TypeError(
                        f"{param_name} must be {param_type}, "
                        f"got {type(value)}"
                    )
        return func(*args, **kwargs)
    return wrapper

@validate_params
def create_user(name: str, age: int) -> dict:
    return {'name': name, 'age': age}
```

## Parameter Consistency Validation

### Cross-File Parameter Validation

```
Critical validation checklist:

1. Function Signatures
   ✓ Parameter names match between definition and calls
   ✓ Parameter order consistent
   ✓ Default values aligned

2. Configuration Files
   ✓ Config keys match code usage
   ✓ Environment variables consistent
   ✓ No undefined config references

3. Type Consistency
   ✓ Type hints present and correct
   ✓ Return types specified
   ✓ Type conversions explicit

4. API Contracts
   ✓ Request parameters match backend expectations
   ✓ Response structure consistent
   ✓ Error codes standardized

5. Database Schemas
   ✓ Column names match model attributes
   ✓ Data types aligned
   ✓ Foreign key constraints correct
```

### Validation Automation Pattern

```python
# Automated parameter validation

def validate_function_calls(codebase):
    issues = []

    # Extract all function definitions
    definitions = extract_function_definitions(codebase)

    # Extract all function calls
    calls = extract_function_calls(codebase)

    for call in calls:
        definition = definitions.get(call.function_name)

        if not definition:
            issues.append({
                'type': 'undefined_function',
                'function': call.function_name,
                'location': call.location
            })
            continue

        # Check parameter count
        if len(call.args) != len(definition.params):
            issues.append({
                'type': 'parameter_count_mismatch',
                'function': call.function_name,
                'expected': len(definition.params),
                'actual': len(call.args)
            })

        # Check parameter names (for keyword args)
        for arg_name in call.kwargs:
            if arg_name not in definition.param_names:
                issues.append({
                    'type': 'undefined_parameter',
                    'function': call.function_name,
                    'parameter': arg_name
                })

    return issues
```

## Quality Assurance Patterns

### Quality Score Calculation

```
Quality Score (0-100):

Code Quality (40 points):
├─ Syntax correctness (10)
├─ Style compliance (10)
├─ Code complexity (10)
└─ Best practices (10)

Test Quality (30 points):
├─ Test coverage (15)
├─ Test success rate (10)
└─ Test quality (5)

Documentation Quality (20 points):
├─ Docstrings (10)
├─ Comments (5)
└─ Examples (5)

Security Quality (10 points):
├─ No vulnerabilities (5)
├─ Secure patterns (5)

Thresholds:
├─ 85-100: Excellent (production-ready)
├─ 70-84: Good (acceptable)
├─ 50-69: Fair (needs improvement)
└─ 0-49: Poor (not acceptable)
```

### Auto-Fix Priority System

```
Fix Priority Order:

Priority 1 (Always fix):
├─ Syntax errors
├─ Import errors
├─ Undefined variables
├─ Type errors (obvious)
└─ Success rate: 95%+

Priority 2 (Usually fix):
├─ Style violations
├─ Missing docstrings
├─ Unused imports
├─ Simple complexity issues
└─ Success rate: 80-95%

Priority 3 (Suggest fix):
├─ Complex refactoring
├─ Performance optimizations
├─ Architecture improvements
└─ Success rate: 60-80%

Priority 4 (Report only):
├─ Design decisions
├─ Major refactoring
├─ Architectural changes
└─ Requires human judgment
```

## Testing Strategies for Autonomous Development

### Test Generation Priorities

```
Test Priority Matrix:

Critical Path Tests (Must have):
├─ Core functionality tests
├─ Error handling tests
├─ Edge case tests
└─ Coverage target: 100%

Integration Tests (Should have):
├─ Component integration
├─ External service integration
├─ End-to-end workflows
└─ Coverage target: 80%

Performance Tests (Nice to have):
├─ Load tests
├─ Stress tests
├─ Benchmark tests
└─ Coverage target: 50%
```

### Test-First Development Pattern

```
For autonomous development:

1. Generate Test Cases First
   - Based on requirements
   - Cover happy path and edge cases
   - Include error scenarios

2. Implement to Pass Tests
   - Write minimal code to pass
   - Refactor after passing
   - Maintain test coverage

3. Expand Tests as Needed
   - Add tests for bugs found
   - Add tests for edge cases discovered
   - Keep tests up-to-date
```

## Requirements Verification Patterns

### Acceptance Criteria Validation

```
Verification Checklist Template:

Functional Requirements:
├─ [ ] Feature X implemented
├─ [ ] Feature Y working
├─ [ ] All specified behaviors present
└─ [ ] Edge cases handled

Non-Functional Requirements:
├─ [ ] Performance targets met
├─ [ ] Security requirements satisfied
├─ [ ] Scalability considered
└─ [ ] Maintainability ensured

Quality Requirements:
├─ [ ] Tests passing (100%)
├─ [ ] Code quality ≥ 85/100
├─ [ ] Documentation complete
└─ [ ] No critical issues

User Experience:
├─ [ ] Easy to use
├─ [ ] Clear error messages
├─ [ ] Good documentation
└─ [ ] Examples provided
```

## Integration with Learning System

### Pattern Storage for Development

```json
{
  "dev_pattern": {
    "requirement_type": "mqtt_integration",
    "complexity": "medium",

    "successful_approach": {
      "milestone_count": 5,
      "milestone_sequence": [
        "dependencies",
        "core_logic",
        "integration",
        "testing",
        "documentation"
      ],
      "avg_milestone_time": 9.7,
      "total_time": 48.5
    },

    "common_issues": [
      {
        "issue": "certificate_path_mismatch",
        "frequency": 0.65,
        "fix": "use_relative_paths",
        "success_rate": 0.95
      },
      {
        "issue": "connection_timeout",
        "frequency": 0.45,
        "fix": "add_retry_logic",
        "success_rate": 0.88
      }
    ],

    "quality_metrics": {
      "avg_code_quality": 92,
      "avg_test_coverage": 91,
      "avg_security_score": 94
    },

    "skill_effectiveness": {
      "code-analysis": 0.94,
      "testing-strategies": 0.91,
      "security-patterns": 0.88
    }
  }
}
```

## Best Practices

### DO's

✅ **Break Down Complexity**
- Decompose requirements into small, manageable milestones
- Each milestone should be independently testable
- Commit each working milestone

✅ **Validate Continuously**
- Run tests after each change
- Check parameter consistency frequently
- Validate type safety throughout

✅ **Debug Systematically**
- Start with high-confidence fixes
- Use pattern-based approaches
- Learn from failures

✅ **Document Progressively**
- Document as you implement
- Keep documentation synchronized
- Include usage examples

✅ **Learn from Experience**
- Store successful patterns
- Record failed approaches
- Optimize based on learnings

### DON'Ts

❌ **Don't Skip Validation**
- Never commit without tests passing
- Don't ignore parameter mismatches
- Don't skip quality checks

❌ **Don't Implement Everything at Once**
- Avoid big-bang implementation
- Don't commit non-working code
- Don't skip incremental commits

❌ **Don't Ignore Patterns**
- Don't repeat failed approaches
- Don't ignore learned patterns
- Don't make same mistakes twice

❌ **Don't Compromise Quality**
- Don't accept quality score < 70
- Don't skip security validation
- Don't skip documentation

## Advanced Patterns

### Parallel Milestone Execution

```
When milestones are independent:

Sequential (slower):
Milestone 1 → Milestone 2 → Milestone 3
Total time: 30 minutes

Parallel (faster):
Milestone 1 ─┐
Milestone 2 ─┼→ Sync → Milestone 4
Milestone 3 ─┘
Total time: 12 minutes

Use parallel execution for:
- Independent components
- Test generation
- Documentation updates
- Multiple bug fixes
```

### Adaptive Planning Pattern

```
Adjust plan based on execution:

Initial Plan:
├─ Milestone 1: 15 min (estimated)
├─ Milestone 2: 20 min (estimated)
├─ Milestone 3: 15 min (estimated)
└─ Total: 50 minutes

After Milestone 1 (took 25 min):
├─ Reason: Unexpected complexity
├─ Adjust remaining estimates: +10 min each
├─ New total: 70 minutes
└─ Re-evaluate approach if needed
```

The Autonomous Development skill provides comprehensive guidance for managing full development lifecycles with minimal human intervention, ensuring high quality and continuous improvement through learning.

Overview

This skill offers end-to-end autonomous development strategies for managing the full software lifecycle with minimal human intervention. It covers milestone planning, incremental implementation, automated debugging, parameter validation, and continuous quality assurance. The goal is production-ready outputs with reproducible, privacy-first processes.

How this skill works

The skill decomposes high-level requirements into sequenced milestones using a complexity matrix and dependency-first ordering. It enforces a commit-per-milestone workflow, progressive enhancement phases, and automated validation loops that detect and auto-fix common errors (syntax, imports, types) while escalating complex issues for review. Quality is measured with configurable scorecards and prioritized auto-fix rules.

When to use it

  • Implementing new features from high-level requirements
  • Managing multi-phase or cross-team development projects
  • Running autonomous agents that must maintain code quality and safety
  • Automating debugging and repeatable fix loops for CI failures
  • Validating cross-file parameter contracts and API contracts

Best practices

  • Decompose each requirement into small, measurable milestones with clear complexity estimates
  • Commit only working states per milestone and use conventional commit messages
  • Follow progressive enhancement: implement a simple proof, then add robustness, optimization, and polish
  • Automate common fixes first (syntax, imports, type mismatches) and reserve human review for architectural changes
  • Enforce test-first generation for critical paths and maintain quality thresholds before release

Example use cases

  • Autonomously implement a new backend feature: dependency setup, core logic, integration tests, docs
  • Auto-debug CI failures with up to five iterative repair attempts before requesting human intervention
  • Validate parameter consistency across modules and config files before integration tests run
  • Run quality scoring and automated fixes to reach a predefined release threshold (e.g., ≥85)
  • Generate prioritized test suites and enforce test-first development for core workflows

FAQ

How many auto-debug iterations does the agent attempt?

It runs a maximum of five iterative repair attempts per issue, escalating to manual intervention if unresolved.

Which error types are auto-fixable?

Syntax and most import issues are highly auto-fixable; type and name errors are largely fixable; logic and performance issues may require human review.