| name | federalavd-artifact-authoring |
| description | Create, update, and validate FederalAVD image artifacts and software download definitions. Use when adding customer-example artifacts, editing downloads.json, packaging installers, documenting download sources, or preparing artifacts for connected or air-gapped image builds. |
| argument-hint | [artifact folder or software name] |
FederalAVD Artifact Authoring
Use this workflow for content under customer-examples/artifacts/ and entries in
customer-examples/parameters/imageManagement/downloads.json.
Procedure
- Read
docs/artifacts-guide.md and docs/update-image-artifacts.md.
- Inspect a neighboring artifact that uses the same installer or package type.
- Keep customer-specific content out of the example. Tell users to copy examples into the
git-ignored
customer/artifacts/ folder before customization.
- Select the source supported by
deployments/Update-ImageArtifacts.ps1:
DownloadUrl, APIUrl, GitHubRepo, or WingetId.
- Make
DestinationFileName match the filename consumed by the installation script.
- Set every
DestinationFolders value to the exact artifact folder name. An empty destination
is allowed only when the package is intentionally copied to the artifact root.
- Document the authoritative source, exact connected download command,
-OutFile filename,
expected folder, and offline transfer procedure in the artifact README.
- For public endpoints or runtime downloads, review
docs/air-gapped-clouds.md and document
the pre-staging alternative. Do not use WingetId as an air-gapped strategy.
- Keep every
.ps1 file ASCII-only.
- Run the bundled validator from the repository root:
& .github/skills/federalavd-artifact-authoring/scripts/Test-ArtifactPackage.ps1 `
-ArtifactPath customer-examples/artifacts/<ArtifactFolder>
- Run the narrowest behavior test available for the changed installer or packaging path.
- Report source URLs that could not be verified and files that must be manually staged.
See the review checklist before completing the change.