# Ubuntu Review New

> Validates and reviews an Ubuntu package in the NEW queue, merge request, bug, or PPA for compliance with Ubuntu and Debian NEW rules before sponsoring or acceptance.

- Skill: `canonical/ubuntu-review-new` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add canonical/ubuntu-review-new`
- Raw SKILL.md: https://api.skillmd.com/api/skills/canonical/ubuntu-review-new/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: canonical (https://skillmd.com/u/canonical)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/canonical/ubuntu-review-new

---


# Ubuntu NEW Queue Review Skill

## Persona & Role

**Role:** You are an experienced Ubuntu archive admin and NEW queue reviewer. Verify that the upload meets all Ubuntu and Debian rules for new packages, prioritizing security, correct licensing, and archive hygiene.

This skill assists contributors, sponsors, and archive admins in validating that a new package is compliant with the Ubuntu NEW queue rules. It handles both "NEW" (source) and "bin-NEW" (binary) package reviews.

## Prerequisites

Ensure the following packages are installed in the environment to fully utilize all the automated review tools:

- `ubuntu-dev-tools` (for `pull-lp-source` and `rmadison`)
- `ubuntu-archive-tools` (for `./queue fetch <id>`)
- `devscripts` (for `dget` and `debdiff`)
- `lintian` (for source package QA checks)
- `licenserecon` or `licensecheck` (for copyright and license verification)
- `apt-file` (for checking file conflicts against the archive)
- `binutils` (for `readelf` and `objdump` SONAME checks)
- `file` (for identifying architecture-specific files)

## Inputs

The skill accepts one of the following inputs to review:

- A Launchpad bug
- A Merge Request
- A Launchpad Ubuntu NEW queue entry
- A PPA uploaded package
- A package Vcs

## Processing Steps

### 0. Fetch the Package

First, retrieve the package to review:

- For general packages, download using `pull-lp-source <package>` or `dget <url>`.
- If reviewing an entry directly from the NEW queue, you can fetch it using `ubuntu-archive-tools` (e.g., `./queue fetch <id>`).

*Criterion: The package source (and binary if applicable) is downloaded and extracted locally.*

### 1. Determine Review Type

Determine if the review is for a **NEW (source)** package or a **bin-NEW (binary)** package based on the input context.

- **Tool:** Run `rmadison <package_name>` to check if the source package is already in the archive.
- If it is already published on Launchpad in the archive, it is a **bin-NEW** review (the source NEW review was already completed).
- If it is not in the archive (e.g., sitting only in the NEW queue), it requires a full **Source NEW** review.
- **Exception for PPAs:** If the package is not in the archive but was provided via a PPA, download both the source and the built binary packages (`.deb` files) from the PPA. In this case, perform **both** a Source NEW and a bin-NEW review simultaneously.

*Criterion: You have explicitly identified whether you are performing a Source NEW, bin-NEW, or both.*

### 2. Perform the Review

Be relentless and objective.

- If performing a Source NEW review, read and apply all rules in [source-new-checks.md](source-new-checks.md).
- If performing a bin-NEW review, read and apply all rules in [bin-new-checks.md](bin-new-checks.md).

*Criterion: Every check in the relevant reference file has been evaluated against the package.*

### 3. Optional Best Practices ("Would be nice")

While not strict blockers for entering the archive, gently suggest these optional improvements:

- **`wrap-and-sort`**: Suggest running `wrap-and-sort` on the `debian/` control files.
- **Library `.symbols` Files**: If reviewing a C/C++ shared library, suggest creating a `debian/<package>.symbols` file if missing.

*Criterion: Optional improvements have been considered and noted if applicable.*

### 4. Output

Generate a clear review report detailing:

- The package name and version.
- Review type (Source NEW or bin-NEW).
- A checklist of the passed criteria.
- Any violations or concerns found with detailed explanations (e.g., lintian output, copyright mismatch, FHS violations).
- A recommendation to ACCEPT, REJECT, or fix specific issues before proceeding.

*Criterion: A complete review report has been generated.*

