Agent skill

Uap Release Analyzer

by ckpxgfnksd-max in ckpxgfnksd-max/uap-release-analyzer

Inventory, extract, and analyze tranches of declassified UAP/UFO files — including war.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications.

MITAuto-check passedDocuments & Office

Install Uap Release Analyzer

skills CLI
$ npx skills add ckpxgfnksd-max/uap-release-analyzer --skill uap-release-analyzer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ckpxgfnksd-max/uap-release-analyzer uap-release-analyzer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
uap-release-analyzer
GitHub stars
155
Token cost
~2.6k tokens
SKILL.md length
1,151 words
Files
15 (incl. scripts, references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Inventory, extract, and analyze tranches of declassified UAP/UFO files — including war.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications.

  • Works in 6 steps: Inventory — what files came down, sizes,… → Text extraction — pull text where there… → Entity surfacing — locations, agencies,… → …
  • The user points at a folder of UAP/UFO/declassified PDFs
  • SKILL.md covers When to use, Why a skill, The standard workflow and Report structure, plus 6 more sections
  • Runs Python scripts from its folder

What it does

Uap Release Analyzer is an agent skill from ckpxgfnksd-max/uap-release-analyzer. Inventory, extract, and analyze tranches of declassified UAP/UFO files — including war.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications. Use this skill whenever the user points at a folder of UAP/UFO/declassified PDFs, asks "what's in this release?", references war.gov/UFO/, AARO, PURSUE, FOIA tranches, FBI 62-HQ-83894, or asks for keyword/entity/redaction analysis across a corpus of declassified documents — even if they don't explicitly ask for an "analysis." Also triggers on requests to…

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including scripts and reference files (for example `ARTICLE.md`, `ARTICLE_CN.md` and `README.md`).

It sits in Documents & Office, covering PDF and CSV and tabular files. The repository describes itself as: A Claude skill for analyzing tranches of declassified UAP/UFO documents (war.gov PURSUE, FBI Vault, NARA, AARO). Inventory + text extraction + entity surfacing + standardized… The licence is MIT.

When your agent uses it

  • The user points at a folder of UAP/UFO/declassified PDFs
  • Asks whats in this release?
  • References war.gov/UFO/
  • FBI 62-HQ-83894

Example prompts

  • “PURSUE”
  • “s in this release?”
  • “t explicitly ask for an”
  • “/uap-release-analyzer”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Inventory — what files came down, sizes, page counts, which agency.
  2. Text extraction — pull text where there is a text layer; flag the (often majority) of files that are scanned and need OCR.
  3. Entity surfacing — locations, agencies, phenomena vocabulary, named people.
  4. Redaction pattern analysis — which FOIA exemptions show up where, which files are most redacted.
  5. Cross-document patterns — year clusters, agency × location heatmap, names that appear in 5+ files.
  6. A standardized report the user can read in ten minutes.

What it can do on your machine

Read from SKILL.md and the folder at commit c171d88. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 5 files in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Uap Release Analyzer loads about 2.6k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 190 tokens; SKILL.md has 1,151 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~190
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ckpxgfnksd-max/uap-release-analyzer at commit c171d88, republished under its MIT licence (© ckpxgfnksd-max). 1,151 words, ~2,561 tokens.

Download SKILL.mdSave it as .claude/skills/uap-release-analyzer/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.
name
uap-release-analyzer
description
Inventory, extract, and analyze tranches of declassified UAP/UFO files — including war.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications. Use this skill whenever the user points at a folder of UAP/UFO/declassified PDFs, asks "what's in this release?", references war.gov/UFO/, AARO, PURSUE, FOIA tranches, FBI 62-HQ-83894, or asks for keyword/entity/redaction analysis across a corpus of declassified documents — even if they don't explicitly ask for an "analysis." Also triggers on requests to compare tranches, summarize a single declassified PDF, classify documents by agency, or surface (b)(1)/(b)(6)/NOFORN redaction patterns. Produces a standardized inventory.csv, per-file digest, entities.json, and REPORT.md.
license
Complete terms in LICENSE.txt

UAP / Declassified Release Analyzer

This skill turns a folder of declassified UAP/UFO documents into a structured analytic report. It was built from a real workflow against the May 2026 war.gov/UFO/ "PURSUE" tranche (162 files, 4,000+ pages, mixed FBI/DOW/NASA/DOS/NARA sources), so it's tuned to the quirks of that universe — but it generalizes to any tranche of FOIA-released government PDFs.

When to use

Trigger on prompts like "analyze the UFO files I just downloaded", "build me a report on this UAP release", "what's in ~/Downloads/release_01/?", "compare release 1 and release 2", "find redaction patterns in these FBI files", "summarize this AARO PDF", or whenever the user references a directory of declassified documents and wants any kind of summary, inventory, or pattern surfacing. Also trigger if the user just dumps a path and asks "what's interesting in here?" — this skill is the right tool.

Why a skill

The work has a fixed shape that repeats across every new tranche:

  1. Inventory — what files came down, sizes, page counts, which agency.
  2. Text extraction — pull text where there is a text layer; flag the (often majority) of files that are scanned and need OCR.
  3. Entity surfacing — locations, agencies, phenomena vocabulary, named people.
  4. Redaction pattern analysis — which FOIA exemptions show up where, which files are most redacted.
  5. Cross-document patterns — year clusters, agency × location heatmap, names that appear in 5+ files.
  6. A standardized report the user can read in ten minutes.

Doing this freshly every time wastes effort and produces inconsistent outputs. The bundled scripts make every tranche analyzable the same way.

The standard workflow

Run scripts in this order. Each writes intermediate artifacts that the next step consumes. They are idempotent and incremental — re-running on the same folder skips work that's already done.

release_root/
  release_NN/                 # the actual PDFs/PNGs/JPGs (input)
  text/                       # extracted text per PDF (created)
  inventory.csv               # one row per file (created)
  analytics/                  # aggregated outputs (created)
    top_terms.csv
    terms_by_agency.csv
    entities.json
    per_file_digest.csv
    cross_doc.json
  REPORT.md                   # human-readable analytic writeup (created)

Step 1 — Inventory. Run scripts/inventory.py <release_root>. This walks the release directory, classifies each file by filename prefix (see references/agency_vocab.md), reads PDF page counts, and writes inventory.csv. Don't write inventory by hand — the script handles encrypted PDFs, weird filenames with spaces or em-dashes, and files that pypdf can't open.

Step 2 — Text extraction. Run scripts/extract_text.py <release_root> [start] [end]. Extracts text via pdfplumber, writing one .txt per PDF into text/. Skips files that already have a non-empty .txt. Many FBI / NARA / older photo-PDFs have no text layer — those will produce 0-char files; that's expected and fine, the analytics treat them as "scanned, OCR needed". The optional [start] [end] slice arguments let you process in chunks if your sandbox has a per-call timeout (the war.gov FBI sections are 200+ pages each — extract them in batches of ~25 if running in a 45-second-call environment).

Run scripts in the foreground of your turn, not via background-and-end-turn patterns. The pipeline is fast enough (a few minutes from cold) that you can stay in-turn. If a single extract_text.py call would actually time out, prefer the [start] [end] chunking pattern over backgrounding — chunked calls each finish quickly, the script is idempotent, and progress is visible.

Step 3 — Analytics. Run scripts/analyze.py <release_root>. Reads the extracted text + inventory, then writes the contents of analytics/. This is fast even on 800K+ characters of text.

Step 4 — Report. Run scripts/build_report.py <release_root>. Reads inventory + analytics and writes a REPORT.md with the sections listed under "Report structure" below.

When the user just says "analyze the release at <path>", run all four in sequence with that path. When they ask a narrower question ("how many files?", "which file is most redacted?"), call only the relevant script or read the existing artifacts directly.

Report structure

Always use this exact section order in REPORT.md so reports across tranches stay comparable. If a section has no data for this tranche, leave a one-line "no data" note — don't omit the heading.

# <Release name> — Raw Analytics
**Source:** ... · **Cleared for release:** ...
**Files in this analysis:** N of M (note any gaps)

## 1. Inventory                    — counts, total size, page counts, by agency
## 2. What's actually in the release  — narrative summary of the major buckets
## 3. Where the activity is concentrated  — top locations
## 4. Phenomena terminology         — UAP/craft/orb/disc/etc. with counts
## 5. Agency cross-references       — agencies named in text
## 6. Year clusters                 — when is this material from
## 7. Redactions                    — top markers + most-redacted files
## 8. Notable individual files
## 9. Cross-document patterns
## 10. What's missing / caveats     — OCR gaps, files we couldn't pull, etc.
## 11. Files in this analysis       — paths to inventory.csv / analytics/*

The "What's missing" section matters — it's what makes the report honest. Always call out files we couldn't OCR, files referenced on a source page but not downloaded, and heuristic limits of the entity extraction.

Show full SKILL.md (503 more words)Show less

Agency classification

Files are classified by filename prefix. The full vocabulary is in references/agency_vocab.md. The high-confidence prefixes from the war.gov universe:

  • 65_hs1*, fbi-photo-*, usper-*, serial*, 2024-04-30-* → FBI
  • dow-uap*, western_us_event* → DOW (Department of War)
  • nasa-uap* → NASA
  • dos-uap*, 059uap* → DOS (State)
  • 18_*, 38_*, 59_*, 255*, 331_*, 341_*, 342_* → NARA (record-group prefixes)
  • otherwise → OTHER (flag for the user; might be a new bucket worth adding to the vocab)

If you encounter a tranche with prefixes not in the vocab, add them to references/agency_vocab.md (the table) and scripts/inventory.py + scripts/analyze.py (PREFIX_RULES) rather than scattering inline filename checks across scripts. A useful threshold: if OTHER exceeds ~3% of files in any tranche, that's a signal the vocab needs extending, not the data being weird.

When bootstrapping a brand-new tranche (e.g., the user has just downloaded release_02/ and asks "what's the fastest way to a written report?"), surface this vocab-extension workflow in your reply alongside run_all.py. Otherwise the user will discover the OTHER bucket only after the fact.

FOIA / classification markers

references/foia_codes.md lists the FOIA exemptions and classification stamps to look for. Most of the meaningful redaction signal in modern tranches comes from (b)(1) (national security), (b)(3) (statutory), (b)(6) (personal privacy), and the classification banners SECRET//NOFORN, REL TO USA, CUI, FOUO. The analyzer counts these by file so the report can name the most-redacted documents.

Pulling files from war.gov/UFO/ (PURSUE releases)

If the user wants to pull from the source page rather than analyzing files they already have, see references/war_gov_quirks.md. It documents the things that bit us on the first run: the page renders 10 records per page across paginated DOM, the "Download" button is hooked through <a download>-style behavior so URLs are only available after the modal opens, ~28 of 162 records are served via inline viewer (no clean URL), and www.war.gov is typically not on a workspace egress allowlist (you'll need browser-driven downloads or a one-time allowlist). Don't reinvent the scrape — check the reference first.

Working with the user

  • Start narrow. Ask for the path if they didn't give one. Don't guess.
  • Show progress. Tranches are big (the May 2026 release was 2.5 GB / 4,000 pages); print [N/total] lines as you go so the user isn't flying blind.
  • Don't run OCR by default. Tesseract on 4,000 scanned pages takes hours. Note the gap in the "What's missing" section and offer OCR as a follow-up.
  • Surface cross-tranche links if the user has more than one release in the parent folder — a sibling release_02/ makes "what's new vs. release_01?" the obvious next question.
  • Honest caveats. Entity extraction here is keyword-list + regex, not full NER. Year mentions ≠ incident dates. Say so in the report.

Bundled scripts

  • scripts/inventory.py <release_root> — build inventory.csv
  • scripts/extract_text.py <release_root> [start] [end] — extract text in optional chunks
  • scripts/analyze.py <release_root> — write analytics/
  • scripts/build_report.py <release_root> — write REPORT.md
  • scripts/run_all.py <release_root> — convenience: run the four in order

Bundled references

  • references/agency_vocab.md — filename-prefix → agency rules
  • references/foia_codes.md — FOIA exemptions and classification stamps
  • references/war_gov_quirks.md — how war.gov/UFO/ is structured + scraping notes

Read references on demand. Don't preload them into context unless the user's question is in their domain.

© ckpxgfnksd-max, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 14 other files (scripts, references) in the repository root of ckpxgfnksd-max/uap-release-analyzer.

  • SKILL.md
  • .gitignore
  • ARTICLE.md
  • ARTICLE_CN.md
  • LICENSE.txt
  • README.md
  • evals/evals.json
  • references/agency_vocab.md
  • references/foia_codes.md
  • references/war_gov_quirks.md
  • scripts/analyze.py
  • scripts/build_report.py
  • scripts/extract_text.py
  • scripts/inventory.py
  • scripts/run_all.py

Open the folder on GitHubat commit c171d88

Compare with similar skills

Uap Release Analyzer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Uap Release Analyzer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uap Release Analyzer this skillckpxgfnksd-max/uap-release-analyzer155—~2.6kAutomated safety check: PassMIT
Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences2742 repos~2.7kAutomated safety check: PassApache-2.0
Research Integrity Auditxuzhougeng/wisp-science1k—~2.6kAutomated safety check: PassAGPL-3.0
File ReadingWide-Moat/open-computer-use1261 repos~3.1kAutomated safety check: PassProprietary
CSV To Executive Reportskrun-dev/skrun210—~1.1kAutomated safety check: PassMIT
Compdf Documents To PDFComPDFKit/compdf-skills109—~850Automated safety check: PassNone

Similar skills

  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Research Integrity Audit

    xuzhougeng/wisp-science

    学术审查 / research-integrity screening of a manuscript's figures and reported numbers.

    1k GitHub stars~2.6k tokensUpdated today
    Documents & OfficeAuto-check passed
  • File Reading

    Wide-Moat/open-computer-use

    A skill your agent uses when a file has been uploaded but its content is NOT in your context — only its path at /mnt/user-data/uploads/ is listed in an uploadedfiles block.

    126 GitHub starsUsed in 1 repo~3.1k tokens
    Documents & OfficeAuto-check passed
  • Turn a CSV of operational data (sales, usage, signups, support tickets) into a multi-page styled PDF executive report with narrative + matplotlib charts.

    210 GitHub stars~1.1k tokensUpdated 18 days ago
    Documents & OfficeAuto-check passed
  • Compdf Documents To PDF

    ComPDFKit/compdf-skills

    Convert Word, Excel, PPT, HTML, TXT, CSV, RTF, PNG, and JPG files into PDF with ComPDF.

    109 GitHub stars~850 tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed
  • Multi Source Data Integration Extraction

    Drchronx/ai-agent-research-starter-kit

    Automatically merge scattered Excel and CSV files, normalize column names, and extract structured tables from PDF, HTML, TXT, or Markdown documents.

    139 GitHub stars~671 tokensUpdated 4 mo ago
    Documents & OfficeAuto-check passed

Questions about Uap Release Analyzer

What does Uap Release Analyzer do?

Inventory, extract, and analyze tranches of declassified UAP/UFO files — including war.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications. Uap Release Analyzer is an agent skill from ckpxgfnksd-max/uap-release-analyzer.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications.

When should I use Uap Release Analyzer?

Uap Release Analyzer fits situations like: the user points at a folder of UAP/UFO/declassified PDFs; asks whats in this release?; references war.gov/UFO/; FBI 62-HQ-83894.

How do I install Uap Release Analyzer in Claude Code?

Run `npx skills add ckpxgfnksd-max/uap-release-analyzer --skill uap-release-analyzer -a claude-code`. Or copy the skill folder (the ckpxgfnksd-max/uap-release-analyzer repository) into .claude/skills/uap-release-analyzer in your project. Claude Code loads it when a task matches its description.

How do I install Uap Release Analyzer in Codex?

Run `npx skills add ckpxgfnksd-max/uap-release-analyzer --skill uap-release-analyzer -a codex`. Or copy the skill folder (the ckpxgfnksd-max/uap-release-analyzer repository) into .agents/skills/uap-release-analyzer in your project. Codex loads it when a task matches its description.

Can I use Uap Release Analyzer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ckpxgfnksd-max/uap-release-analyzer --skill uap-release-analyzer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uap-release-analyzer, .gemini/skills/uap-release-analyzer, .github/skills/uap-release-analyzer and .opencode/skills/uap-release-analyzer in your project.

What does Uap Release Analyzer need to run?

Going by SKILL.md and its folder, Uap Release Analyzer needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Uap Release Analyzer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Uap Release Analyzer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Uap Release Analyzer use?

Uap Release Analyzer is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Uap Release Analyzer use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Uap Release Analyzer?

Skills that share tags, products or a category with Uap Release Analyzer: Instrument Data To Allotrope (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars), Research Integrity Audit (xuzhougeng/wisp-science, 1k stars), File Reading (Wide-Moat/open-computer-use, 126 stars) and CSV To Executive Report (skrun-dev/skrun, 210 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uap Release Analyzer?

ckpxgfnksd-max (a GitHub user) maintains it in ckpxgfnksd-max/uap-release-analyzer, which has 155 GitHub stars. The repository was last updated on May 9, 2026.

Source: ckpxgfnksd-max/uap-release-analyzer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.