mcpbeat

Azldev Remove Component

microsoft/azldev-remove-component

Read this before deleting or dropping a component; there is no azldev remove command, so doing it wrong leaves dangling state. Explains the manual removal workflow for deleting component metadata, cleaning references, and validating any related output-affecting changes. Triggers include remove component, delete package, drop component, prune dependency.

867 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
5305
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/azurelinux --skill azldev-remove-component

The instruction itself

5 sections, as written by the author

Remove a component

There is no azldev command to remove a component — it is a manual edit. A

deletion-only change needs no package build, but changes to dependants, package/image

configuration, or other built inputs must follow the repository's normal validation

requirements. The steps below delete the component's definition, lock, and rendered

spec, then clean up references.

Before you start

Confirm the component exists and see what it produces:

azldev comp list -p <name> -q -O json

Check for reverse dependencies first: if other components BuildRequires or

Requires this one, removing it breaks their builds. Search the tree for the

component and its binary subpackage names before deleting anything.

Steps

  • Remove the definition. Delete the component's dedicated

<name>/<name>.comp.toml directory, or remove its inline [components.<name>]

entry from whichever included TOML defines it.

  • Remove publish / package config references. If your project configures

publish channels or package groups, drop any references to the component or to

its binary subpackages. Publishing is component-scoped; per-binary exceptions

are binary-RPM-scoped — search for both.

  • Remove the lock. There is no azldev command for this:
   rm locks/<name>.lock
  • Remove the rendered spec. Let azldev prune orphaned spec directories:
   azldev comp render -a --clean-stale

--clean-stale (only valid with -a) removes rendered-spec directories that no

longer correspond to a configured component. It re-renders everything, so it is

slow; for a targeted removal you can instead delete the component's rendered

spec under specs/ by hand.

  • Check other references. Grep for the component (and its binary names) in

image definitions and any *.kiwi / package-list files, and remove or replace

them — an image that installs a now-removed package will not build.

Verify

azldev comp list -p <name> -q -O json   # should report the component is not found

Also confirm the lock and rendered spec directory are gone and that no image or

package configuration still references the component.

If the removal required changes to dependants or package/image configuration, build

and test the affected outputs according to the repository's normal validation policy.

Notes

  • Dependants with manual release. If removing this component forces a change

in a *dependant* (e.g. dropping a BuildRequires), and that dependant sets

release.calculation = "manual", bump its release counter yourself in the same

change. Components with automatic release calculation (auto, autorelease,

static) are handled by the normal commit/render/amend cycle.

  • Remove exclusive dependencies together. If a package is only needed by the

component you are dropping, remove it in the same change to keep the tree

consistent.

Generated by azldev docs agent; do not hand-edit. Generated for azldev version v0.1.0.

How to use it

Copy the folder

Take microsoft/azldev-remove-component from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.