Read this before finalizing a component change, changing source resolution, or touching a lock file; lock edits are easy to get wrong. Explains how to refresh azldev component lock files with 'azldev comp update', covering when to run update versus render, the update/render/commit/re-render/amend workflow, and per-component versus -a refresh. Triggers include comp update, refresh lock, bump pin, change snapshot, upstream distro, lock drift, version bump, finalize component.
npx skills add https://github.com/microsoft/azurelinux --skill azldev-update-component
azldev comp update (comp is an alias for component) refreshes one or more
component lock files under locks/. A lock pins the resolved upstream commit plus
an input fingerprint computed from the component's render inputs — its TOML config,
overlays, the pinned upstream commit, and the distro release version. If any of
those change, the lock is stale.
update| Situation | Run update? |
| --- | --- |
| Adding a new upstream component (no lock yet) | Yes — first, to create the lock before render/build can resolve it |
| Finalizing a component change for a PR | Yes — once at the end |
| Changing source resolution (commit pin, upstream distro/version, or snapshot) | Yes — also mid-workflow (see below) |
| Iterating on overlays / build config / metadata | No — once the lock exists, render alone is enough while iterating |
| Just reading or building existing components | No |
Refresh a single component with -p <name>. Use -a (all components) only for
coordinated mass refreshes (e.g. a new distro snapshot) or when investigating
lock drift across many components — it is slow. For day-to-day work use -p. Add
-O json for machine-readable lock output when debugging.
For most edits — overlays, build flags, metadata — run update once at the end,
then re-render *after committing* so the generated changelog and release reflect
your new commit:
azldev comp update -p <name>
azldev comp render -p <name>
git add <changed-component-config-and-source-paths> \
locks/<name>.lock \
specs/<first-char>/<name>/
git commit -m "fix(<name>): ..."
# Re-render and amend so the changelog / Release: track the new commit.
azldev comp render -p <name>
git add specs/<first-char>/<name>/
git commit --amend --no-edit
Changelog generation and release calculation are separate. When a spec uses
%autochangelog, rpmautospec derives it from the component's git history for
every release mode. For non-manual release modes, azldev also derives or bumps
Release: from that history. The first render happens before your commit exists,
so a fresh render *after* committing incorporates the new changelog entry and any
automatic release bump. Amending folds that output into a single clean commit and
keeps rendered-spec / lock CI gates (which run against committed state) green.
For a component with release.calculation = "manual", increment the release
counter yourself in the same change. Manual mode is not an exemption from the
post-commit render-stage-amend cycle: when the spec uses %autochangelog, that
render incorporates the new commit.
A source-resolution change follows the same rule, using one commit followed by a
post-render amend:
azldev comp update -p <name>; sanity-check locks/<name>.lock.azldev comp render -p <name> — the spec body now tracks the newly resolved source. %changelog / Release: still reflect the previous source; that is expected until you commit.update only if you change a source-resolution input again.azldev comp update -p <name>, then stage and commit all component inputs changed above with the refreshed lock and rendered output: git add <changed-component-config-and-source-paths> \
locks/<name>.lock \
specs/<first-char>/<name>/
git commit -m "update(<name>): ..."
azldev comp render -p <name> — %changelog / Release: now reflect the new lock.git add specs/<first-char>/<name>/, then git commit --amend --no-edit so the source change and rendered output land together.Generated by azldev docs agent; do not hand-edit. Generated for azldev version v0.1.0.
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take microsoft/azldev-update-component from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.