Back to Skills

enhance-reporter

verified

Use when generating the unified enhancement report from aggregated findings. Called by orchestrator after all enhancers complete.

View on GitHub

Marketplace

awesome-slash

avifenesh/awesome-slash

Plugin

enhance

development

Repository

avifenesh/awesome-slash
290stars

plugins/enhance/skills/reporter/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/avifenesh/awesome-slash/blob/main/plugins/enhance/skills/reporter/SKILL.md -a claude-code --skill enhance-reporter

Installation paths:

Claude
.claude/skills/enhance-reporter/
Powered by add-skill CLI

Instructions

# 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):

```markdown

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3579 chars

Issues Found:

  • name_directory_mismatch