Report Regressions
Trail of BitsOfficialPublished by Trail of Bits
- Skill
- Content generator
- Security
- CC-BY-SA-4.0
- No issues found
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
Download the skill as a ZIP:
https://autogineer.com/agent-skills/trailofbits/report-regressions/downloadUnzip 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
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.
Run report.py via
uv run --no-projectwith the campaign directory and--output ASSIGNED_DIRECTORY/reportsto 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 includeUNRESOLVEDfindings; report eachunresolved_reasonand theverificationlevel of confirmed findings. Never repair decisions, invent evidence or edit hashes to pass validation.Inspect counts and links. Preserve adjudicated outcomes/ratings. Separate incomplete fixes, latent/pre-existing bugs, rejected claims and unresolved work from confirmed totals.
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.jsonwith the assigned inputs and generated reports as artifacts; record validation failures as blocked.
Report Back
Keep detailed findings in the reports. Return only:
Status:
completeorblockedfor report production.Reports: sealed
report-stage.jsonand 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
- ATTRIBUTION.mdAdded by AutoGineer945 B
- LICENSELicence file added by AutoGineer19.7 KiB
- SKILL.md2.3 KiB
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
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.
Run report.py via
uv run --no-projectwith the campaign directory and--output ASSIGNED_DIRECTORY/reportsto 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 includeUNRESOLVEDfindings; report eachunresolved_reasonand theverificationlevel of confirmed findings. Never repair decisions, invent evidence or edit hashes to pass validation.Inspect counts and links. Preserve adjudicated outcomes/ratings. Separate incomplete fixes, latent/pre-existing bugs, rejected claims and unresolved work from confirmed totals.
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.jsonwith the assigned inputs and generated reports as artifacts; record validation failures as blocked.
Report Back
Keep detailed findings in the reports. Return only:
Status:
completeorblockedfor report production.Reports: sealed
report-stage.jsonand 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 or Trail of Bits.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download report-regressions.zip