Guide · Agent skill
How to use the Annual Security Reports Aggregator agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
AnnualReports is an agent skill that keeps a local catalog of several hundred annual cybersecurity reports from vendors such as CrowdStrike, Mandiant, IBM, Verizon and Microsoft. This guide is for security analysts, CISOs, students and researchers who want an agent to list, fetch and compare these reports. By the end you will know how to install the skill, phrase requests that trigger it, and read its answers with the right caveats.
Quick start
- 1Download the ZIP. Download the AnnualReports ZIP from this page.
- 2Install the skill. Unzip it into ~/.claude/skills/ for all projects or into a project's .claude/skills/ folder, or upload the ZIP under Settings → Capabilities → Skills in the Claude apps.
- 3Install Bun. Make sure the Bun runtime is available, since the scripts are run with bun.
- 4Run a proof command. Run the ListSources tool to confirm the seed catalog loads.
- 5Ask for a listing or fetch. Request reports by vendor, category or name in plain language.
- 6Run an update when needed. Ask the agent to update the annual reports to refresh the catalog from upstream.
- 7Review the sourced answer. Check that each figure names its vendor, year and report, and note any vendors left out.
What is an agent skill, and what does AnnualReports make the agent do?
An agent skill is a folder of instructions and tools that an AI agent loads when a request matches the skill's purpose. AnnualReports adds one capability with three modes: UPDATE refreshes the catalog from a public GitHub list, FETCH lists or downloads a specific report, and ANALYZE compares trends across vendors.
Every figure in an ANALYZE answer is meant to name its vendor, year and report. The skill does not provide real-time threat feeds or live CVE lookups.
- UPDATE: refreshes the local source list and reports how many reports were added and removed.
- FETCH: lists reports in a category with direct URLs, or saves a summary of a vendor report page.
- ANALYZE: synthesizes trends such as ransomware across vendors, naming the vendors consulted and those left out.
Install the AnnualReports skill
Download the ZIP from this page. You can install it in one of two ways.
Option 1 is a manual install. Unzip the archive into ~/.claude/skills/ for all your projects, or into a project's .claude/skills/ folder for one project only. Option 2 is to upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
- Requires the Bun runtime, because the scripts are run with bun.
- Internet access is needed for UPDATE and FETCH. No API key or account is needed.
- Setup.md in the skill folder contains the first-install steps and proof commands.
Check that the tools work
Setup.md lists the commands that prove the tools run. The skill ships with a seed catalog, so listing and fetching work on a fresh install. Running UPDATE refreshes that catalog from upstream.
If the catalog file is deleted, the tools stop and tell you to run the update tool again.
bun run ~/.claude/skills/AnnualReports/Tools/ListSources.tsAsk for reports with natural requests
You do not need to type commands. The agent chooses the mode from your wording. Phrases that match the skill's trigger include annual reports, threat reports, vendor reports, ransomware trends, breach stats, DBIR, IBM Cost of Breach, threat landscape, CISO report and CVE trends.
Be specific about the vendor, category or year when you can. For example, ask for the Global Threat Intelligence reports rather than all reports.
- "Update the annual reports" runs UPDATE.
- "What threat reports are available?" runs a FETCH listing.
- "Download the Verizon DBIR report" runs FETCH for one report.
- "Analyze ransomware reports" runs ANALYZE across vendors.
Read the answers and their limits
Expect each statistic to come with its vendor, year and source report. Where vendors disagree, the answer should show both numbers rather than an average. The answer should also name vendors that were not included, because gaps change how much weight the numbers carry.
Reports lag the data they cover. A 2026 report covers 2025 data, so a trend read is not current information. If a fetch fails, the answer should say the report is unavailable and give the reason.
- Check the vendor, year and report named beside each figure.
- Treat missing vendors as a limit on the conclusion.
- Expect full vendor PDFs to be unavailable, because many require registration and the skill saves only summaries.
Safety notes: scripts and network access
The skill runs scripts and uses the network. UPDATE fetches a public GitHub list, and FETCH downloads vendor report pages. Requests identify the tool as LifeOS-AnnualReports/1.0, and include a contact address if you set one in Config.md.
You can add optional preferences in PREFERENCES.md under your LIFEOS customisations folder. When that file exists, its settings apply over the defaults. Review the bundled scripts before running them if your environment requires it.
- Optional PREFERENCES.md and Config.md can hold a contact address.
- No API keys, secrets or accounts are required.
Tips for better results
Ask for one category or one vendor at a time to keep answers focused. Use the search and vendor options of the list tool when you know a name. Reuse saved summaries, since the skill can list the ones already stored.
- Search by vendor or report name with the list tool's search option.
- List every report from one vendor with the vendor option.
- Check saved summaries with the cached-list option before fetching again.
bun run ~/.claude/skills/AnnualReports/Tools/ListSources.ts --search ransomware
bun run ~/.claude/skills/AnnualReports/Tools/FetchReport.ts --list-cachedWhat people use it for
- A CISO compares ransomware trends across several vendors' annual reports for a board briefing.
- A student collects sourced breach statistics with the vendor and year for each figure.
- An analyst finds which vendor reports exist for cloud security or identity before reading them.
- A researcher saves summaries of specific vendor report pages for later reference.
Frequently asked questions
How do I install the AnnualReports agent skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
What do I need to run AnnualReports?
You need the Bun runtime, because the scripts are run with bun, and internet access for UPDATE and FETCH. The source says no API keys or accounts are needed.
Is AnnualReports free?
The source gives the licence as MIT, but it does not state pricing beyond that. Check the licence file in the repository for the terms.
Does AnnualReports give live threat feeds or CVE lookups?
No. The skill explicitly excludes real-time threat feeds and live CVE lookup. It works from a catalog of annual reports, which lag the data they cover.
Why can't I download the full vendor PDF?
Many vendor PDFs require registration, and the skill saves only summaries of report pages. A fetch of a PDF URL fails and reports the reason as unavailable.
What should I do if the catalog is missing or a fetch fails?
If the catalog file is deleted, run the UPDATE tool to rebuild it from upstream. If a fetch fails, the tool prints the reason to stderr and saves no file, so check the error and try again or use a different report.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
AnnualReports suits security analysts, CISOs, students and researchers who want a quick, sourced cross-vendor view of annual threat and breach trends. It is not suited to decisions that need current data, real-time threat intelligence or live CVE lookups, and it cannot supply full vendor PDFs.
Download the skill