| name | static-analysis-runner |
| description | Run static analysis tools including SonarQube, ESLint, and multi-language linters |
| allowed-tools | ["Bash","Read","Write","Glob"] |
| graph | {"domains":["domain:software-engineering"],"specializations":["specialization:software-architecture"],"skillAreas":["skill-area:code-analysis-linting","skill-area:sast"],"roles":["role:tech-lead","role:principal-engineer"],"workflows":["workflow:code-review"],"topics":["topic:code-review-best-practices"]} |
Static Analysis Runner Skill
Overview
Runs static analysis tools including SonarQube, ESLint/TSLint, and multi-language linters with custom rule configuration and report aggregation.
Capabilities
- Run SonarQube analysis
- Execute ESLint/TSLint
- Multi-language support
- Custom rule configuration
- Report aggregation
- Quality gate evaluation
- Trend analysis
Target Processes
- refactoring-plan
- security-architecture-review
- performance-optimization
Input Schema
{
"type": "object",
"required": ["paths"],
"properties": {
"paths": {
"type": "array",
"items": { "type": "string" },
"description": "Paths to analyze"
},
"tools": {
"type": "array",
"items": {
"type": "string",
"enum": ["sonarqube", "eslint", "tslint", "pylint", "rubocop", "checkstyle"]
},
"default": ["eslint"]
},
"config": {
"type": "object",
"properties": {
"configFile": {
"type": "string",
"description": "Path to linter config file"
},
"rules": {
"type": "object",
"description": "Rule overrides"
},
"fix": {
"type": "boolean",
"default": false
}
}
},
"qualityGate": {
"type": "object",
"properties": {
"maxErrors": { "type": "number" },
"maxWarnings": { "type": "number" }
}
}
}
}
Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tool": { "type": "string" },
"files": { "type": "array" },
"errors": { "type": "number" },
"warnings": { "type": "number" }
}
}
Usage Example
{
kind: 'skill',
skill: {
name: 'static-analysis-runner',
context: {
paths: ['src/**/*.ts'],
tools: ['eslint'],
config: {
configFile: '.eslintrc.js',
fix: false
},
qualityGate: {
maxErrors: 0,
maxWarnings: 10
}
}
}
}