---
name: iso-package-audit
description: Categorize operator USB package-list entries, capture package size/flat-size evidence on FreeBSD, and emit a Colibri package-audit manifest.
---

# iso-package-audit

Use this skill for Track B package-list hygiene. It classifies package-list
entries and records size evidence before any removal is proposed. Do not remove
packages during the audit commit.

## Manifest output

Write the result to:

```sh
tmp/colibri/iso-package-audit/<run_id>.json
tmp/colibri/iso-package-audit/latest.json
```

Schema: `clawdie.iso.package-audit.v1`. See `docs/ISO-MANIFESTS.md`.

## Categories

Use exactly one primary category per package:

- `boot-critical` — kernel/firmware/X/SDDM/network/power pieces needed for the
  live USB to boot and present a usable session.
- `operator-workflow` — tools the operator intentionally uses from the live USB,
  such as browser, CLIs, terminal/editor, or remote access.
- `diagnostic` — hardware/debug/reporting tools such as `btop`, `hw-probe`,
  `dmidecode`, or graphics/audio diagnostics.
- `candidate-to-defer` — rarely used or replaceable packages that may be removed
  later after build/hardware evidence supports it.

## FreeBSD evidence commands

Run on the FreeBSD build host with the target package branch configured. Fetch
before reporting repo state:

```sh
git fetch origin
git status --short --branch
git rev-parse --short HEAD
```

For installed packages on a mounted image or host package DB:

```sh
pkg info -s <pkgname>
pkg info -f <pkgname> | egrep '^(Name|Version|Installed size|Flat size)'
```

For packages present only in the offline repo, inspect package metadata from the
archive under `tmp/packages` and record the exact command used.

## Audit output expectations

For each package-list entry, record:

- package name
- package-list file path and line number when practical
- category
- package archive size and flat/installed size
- reason kept
- deferral risk if categorized as `candidate-to-defer`
- evidence command or metadata source

If editing a package list, add comments only. Do not remove packages in the same
change as the first audit pass.

## Finish

Write the `clawdie.iso.package-audit.v1` manifest and a concise human summary
with totals per category and total size by category. If markdown package-list
comments were edited, run:

```sh
./scripts/check-format.sh
```
