Use when generating the unified enhancement report from aggregated findings. Called by orchestrator after all enhancers complete.
View on GitHubavifenesh/awesome-slash
enhance
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/avifenesh/awesome-slash/blob/main/plugins/enhance/skills/reporter/SKILL.md -a claude-code --skill enhance-reporterInstallation paths:
.claude/skills/enhance-reporter/# enhance-reporter
Generate the unified enhancement report from all enhancer findings.
## Critical Rules
1. **MUST group findings by enhancer type** - Keep related issues together
2. **MUST deduplicate identical issues** - Same file + line + issue = one entry
3. **MUST order by certainty** - HIGH first, then MEDIUM, then LOW (if verbose)
4. **MUST show auto-fixable count** - Help user decide on --apply
5. **NEVER include LOW certainty unless verbose flag** - Reduce noise
## Input Format
Receives aggregated findings from orchestrator:
```json
{
"findings": [
{
"file": "path/to/file.md",
"line": 42,
"issue": "Missing required field",
"fix": "Add 'name' to frontmatter",
"certainty": "HIGH",
"autoFixable": true,
"source": "agent"
}
],
"byEnhancer": {
"agent": { "high": 2, "medium": 1, "low": 0 },
"plugin": { "high": 1, "medium": 3, "low": 2 }
},
"totals": { "high": 3, "medium": 4, "low": 2 }
}
```
## Report Generation
### Step 1: Build Executive Summary
```markdown
## Executive Summary
| Enhancer | HIGH | MEDIUM | LOW | Auto-Fixable |
|----------|------|--------|-----|--------------|
```
Count auto-fixable as `findings.filter(f => f.certainty === 'HIGH' && f.autoFixable).length`
### Step 2: Group Findings
```javascript
function groupFindings(findings) {
const grouped = {
HIGH: {},
MEDIUM: {},
LOW: {}
};
for (const f of findings) {
const key = f.certainty;
const enhancer = f.source;
if (!grouped[key][enhancer]) grouped[key][enhancer] = [];
grouped[key][enhancer].push(f);
}
return grouped;
}
```
### Step 3: Deduplicate
```javascript
function deduplicate(findings) {
const seen = new Set();
return findings.filter(f => {
const key = `${f.file}:${f.line}:${f.issue}`;
if (seen.has(key)) return false;
seen.add(key);
return true;
});
}
```
### Step 4: Format Output
For each certainty level (HIGH, MEDIUM, LOW if verbose):
```markdownIssues Found: