ac-complexity-assessor
SKILL.md
AC Complexity Assessor
Assess complexity for effort estimation and planning.
Purpose
Analyzes features and projects to determine complexity levels, estimate effort, and select appropriate processing pipelines.
Quick Start
from scripts.complexity_assessor import ComplexityAssessor
assessor = ComplexityAssessor(project_dir)
assessment = await assessor.assess_project()
print(assessment.pipeline_type) # SIMPLE/STANDARD/COMPLEX
print(assessment.estimated_hours)
Assessment Output
{
"project_complexity": "STANDARD",
"pipeline_type": "STANDARD",
"metrics": {
"total_features": 75,
"dependency_depth": 4,
"category_count": 8,
"integration_points": 5,
"technology_complexity": 3
},
"estimates": {
"total_hours": 120,
"estimated_cost_usd": 45.00,
"estimated_sessions": 15,
"features_per_session": 5
},
"feature_estimates": [
{
"id": "auth-001",
"complexity": "low",
"estimated_hours": 1.5,
"factors": ["standard_pattern", "no_dependencies"]
}
],
"recommendations": [
"Consider parallelizing UI features",
"auth-003 may need more time due to OAuth"
]
}
Complexity Levels
SIMPLE (1-3 phases)
- < 20 features
- Shallow dependencies (depth < 2)
- Single technology
- No external integrations
STANDARD (7 phases)
- 20-100 features
- Moderate dependencies (depth 2-5)
- 2-3 technologies
- Limited integrations
COMPLEX (8+ phases)
-
100 features
- Deep dependencies (depth > 5)
- Multiple technologies
- Many integrations
Complexity Factors
Feature Complexity
- Implementation difficulty
- Test complexity
- Documentation needs
- Integration requirements
Project Complexity
- Total feature count
- Dependency graph depth
- Technology stack breadth
- External integrations
Risk Factors
- Unfamiliar technologies
- Complex algorithms
- Security requirements
- Performance constraints
Pipeline Selection
SIMPLE Pipeline:
1. Plan → 2. Implement → 3. Verify
STANDARD Pipeline:
1. Analyze → 2. Plan → 3. Test Design
4. Implement → 5. Test → 6. Review → 7. Verify
COMPLEX Pipeline:
1. Deep Analyze → 2. Architecture → 3. Plan
4. Test Design → 5. Implement → 6. Test
7. Integration → 8. Review → 9. Verify
Cost Estimation
cost = (features * avg_tokens_per_feature * cost_per_token)
+ (sessions * session_overhead)
+ (complexity_multiplier * base_cost)
API Reference
See scripts/complexity_assessor.py for full implementation.