Pre Release NPM Package
DevOps & Securitypre-release-npm-packagePre Release NPM Package is an Agent Skill for devops & security published in the microsoft/fluentui-system-icons repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Prepare already-public npm packages for pre-release publishing. Keywords: prerelease, pre-release, publish, npm, alpha, beta, rc, release group.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/microsoft/fluentui-system-icons/blob/HEAD/.github/skills/pre-release-npm-package/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/pre-release-npm-package, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Pre-Release NPM Package Preparation
This skill prepares already-public packages for pre-release publishing. No code changes are needed — the skill validates the pre-release branch and guides the user to trigger the CI workflow, where the package(s) are selected via the workflow's projects input.
Scope: Only already-public packages can be pre-released. A private package (
"private": true) must first be made public and released through the standard publishing pipeline before it is eligible for pre-release. Being already released also implies the package belongs to a release group underrelease.groups.*.projectsinnx.json, which is whatnx release publishrequires.
After this skill completes, the Publish Prerelease NPM GitHub Actions workflow (.github/workflows/publish-prerelease.yml) can be triggered to build, version, and publish the selected packages to npm. Each package is versioned and published independently.
Step 1: Validate or Create Pre-Release Branch
Check the current git branch:
git branch --show-current
If the branch matches release/pre/react-icons/<feature-name>:
- Confirm with the user that they want to proceed on this branch.
If the branch does NOT match:
- Ask the user for the
<feature-name>(kebab-case, e.g.,sprite-subsetting). - Create and checkout the branch:
git checkout -b "release/pre/react-icons/<feature-name>"
Important: The branch MUST follow the
release/pre/react-icons/<feature-name>naming convention. The publish-prerelease workflow blocks execution onmain.
Step 2: Trigger the Pre-Release
Inform the user of next steps:
- Push the branch to GitHub:
git push -u origin release/pre/react-icons/<feature-name> - Navigate to Publish Prerelease NPM workflow
- Click Run workflow and:
- select the pre-release branch,
- set
projectsto the already-public package(s) to pre-release using Nx selection syntax (e.g.react-icons,react-icons,react-icons-file-type,react-*, ortag:npm:standalone), - optionally set
exclude, - choose
preid(alpha/beta/rc), and optionally enabledry-run.
- For detailed instructions, see Prerelease Publishing Guide
Note: Each selected package is versioned and published independently. Cross-package dependencies are not auto-included: a pre-released package keeps depending on the already-published version of its repo dependencies. If you also want a dependent to consume a new prerelease, select it explicitly too.