CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

58

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./groups/ubuntu-engineering/skills/ubuntu-review-new/SKILL.md
SKILL.md
Quality
Evals
Security

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.
  • If performing a bin-NEW review, read and apply all rules in 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.

Repository
canonical/copilot-collections
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.