Generated banner for Report Regressions
Generated logo for Report Regressions

Report Regressions

Trail of BitsOfficialPublished by Trail of Bits

  • Skill
  • Content generator
  • Security
  • CC-BY-SA-4.0
  • No issues found

From the author

Use when assembling or refreshing an evidence-linked regression report from saved campaign decisions.
— the description by Trail of Bits

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The report-regressions skill provides a systematic procedure for assembling and refreshing regression reports based on saved campaign data. It ensures that campaign outcomes are documented with proper evidence, maintaining integrity by strictly separating the reporting process from the adjudication or repair of records. The skill guides the user through reconciling campaign indexes, executing rendering scripts, and validating the final output to ensure comprehensive coverage and accurate status reporting.

What it does

  • Reconciles campaign indexes against frozen scope and assigned changes.
  • Executes reporting scripts to generate HTML, Markdown, and JSON outputs.
  • Validates campaign data and identifies unresolved findings or validation errors.
  • Categorizes findings into confirmed totals, incomplete fixes, and latent bugs.
  • Seals campaign reports and artifacts into a structured JSON format.
  • Provides a summary of campaign coverage and identifies any blocking issues.

When to use it

  • When you need to generate a formal regression report from a completed campaign.
  • When refreshing existing reports with updated campaign decisions.
  • When you need to verify that campaign evidence meets project standards.
  • When documenting coverage gaps and pending human reviews for a campaign.

Advantages

  • Ensures consistent reporting standards across different campaigns.
  • Maintains a clear separation between reporting and decision-making.
  • Automates the generation of multi-format reports from raw campaign data.
  • Provides clear status indicators for campaign completion and blockers.

Usage examples

“Generate a regression report for the latest campaign using the frozen scope and progress ledger.”
The agent reconciles the campaign index, runs the reporting script, and produces a sealed report-stage.json file along with HTML and Markdown documentation.
“Refresh the regression report for the current campaign and identify any unresolved findings.”
The agent re-validates the campaign data, updates the report artifacts, and returns a summary detailing coverage and any remaining unresolved issues.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/trailofbits/report-regressions/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip report-regressions.zip -d .agents/skills

Documentation by Trail of Bits

Report a campaign

When to Use

Input: frozen scope.json, campaign index, progress ledger, sealed stage packages and registry assignment. Follow project guidance for every scoped change before reporting.

When NOT to Use

Adjudicating evidence or repairing records; return those needs to the caller.

Report

  1. Read the standard, labels and file contract. Reconcile the index against frozen scope, assigned changes and discovered candidates. Preserve PR/commit IDs and accepted duplicate mappings.

  2. Run report.py via uv run --no-project with the campaign directory and --output ASSIGNED_DIRECTORY/reports to render HTML, Markdown and JSON. Exit 1 means changed evidence or an invalid index; return its diagnostics and record the stage as blocked. Exit 0 may include UNRESOLVED findings; report each unresolved_reason and the verification level of confirmed findings. Never repair decisions, invent evidence or edit hashes to pass validation.

  3. Inspect counts and links. Preserve adjudicated outcomes/ratings. Separate incomplete fixes, latent/pre-existing bugs, rejected claims and unresolved work from confirmed totals.

  4. Ensure reports include coverage gaps, setup/execution evidence, rating reasons and pending human review. Report missing information; do not claim completion while required content is absent. Seal report-stage.json with the assigned inputs and generated reports as artifacts; record validation failures as blocked.

Report Back

Keep detailed findings in the reports. Return only:

  • Status: complete or blocked for report production.

  • Reports: sealed report-stage.json and validated output paths; identify incomplete outputs.

  • Result: one sentence describing campaign coverage and unresolved work.

  • Blocker: affected records, validation errors or required caller action.

A complete report may describe an incomplete campaign.

Rationalizations to Reject

  • “All agents finished”: that does not establish coverage or resolved candidates.

Files

SKILL.md

Report a campaign

When to Use

Input: frozen scope.json, campaign index, progress ledger, sealed stage packages and registry assignment. Follow project guidance for every scoped change before reporting.

When NOT to Use

Adjudicating evidence or repairing records; return those needs to the caller.

Report

  1. Read the standard, labels and file contract. Reconcile the index against frozen scope, assigned changes and discovered candidates. Preserve PR/commit IDs and accepted duplicate mappings.

  2. Run report.py via uv run --no-project with the campaign directory and --output ASSIGNED_DIRECTORY/reports to render HTML, Markdown and JSON. Exit 1 means changed evidence or an invalid index; return its diagnostics and record the stage as blocked. Exit 0 may include UNRESOLVED findings; report each unresolved_reason and the verification level of confirmed findings. Never repair decisions, invent evidence or edit hashes to pass validation.

  3. Inspect counts and links. Preserve adjudicated outcomes/ratings. Separate incomplete fixes, latent/pre-existing bugs, rejected claims and unresolved work from confirmed totals.

  4. Ensure reports include coverage gaps, setup/execution evidence, rating reasons and pending human review. Report missing information; do not claim completion while required content is absent. Seal report-stage.json with the assigned inputs and generated reports as artifacts; record validation failures as blocked.

Report Back

Keep detailed findings in the reports. Return only:

  • Status: complete or blocked for report production.

  • Reports: sealed report-stage.json and validated output paths; identify incomplete outputs.

  • Result: one sentence describing campaign coverage and unresolved work.

  • Blocker: affected records, validation errors or required caller action.

A complete report may describe an incomplete campaign.

Rationalizations to Reject

  • “All agents finished”: that does not establish coverage or resolved candidates.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Trail of Bits
Publisher
Trail of Bits (Official)
Source
trailofbits/skills · plugins/regression-hunt/skills/report-regressions · commit e4dd0bb
Licence
Creative Commons Attribution-ShareAlike 4.0 International (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Trail of Bits.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download report-regressions.zip