Remix publish-placeholder-package
Publish a placeholder npm package at version 0.0.0 so package names are reserved and npm OIDC permissions can be configured before CI publishing. Use when creating a brand-new package that is not ready for full release.
install
source · Clone the upstream repo
git clone https://github.com/remix-run/remix
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/remix-run/remix "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agents/skills/publish-placeholder-package" ~/.claude/skills/remix-run-remix-publish-placeholder-package && rm -rf "$T"
manifest:
.agents/skills/publish-placeholder-package/SKILL.mdsource content
Publish Placeholder Package
Overview
Use this skill to publish a minimal placeholder package to npm at
0.0.0.
This is used to reserve the package name and unblock npm-side OIDC configuration for CI publishing.
Workflow
- Confirm publish target.
- Collect:
- npm package name (for example,
)@remix-run/my-package - package directory in repo (for example,
)packages/my-package
- npm package name (for example,
- Validate the package does not already exist at
:0.0.0
npm view <package-name>@0.0.0 version
- If it already exists, stop and report that no placeholder publish is needed.
- Build a temporary placeholder package outside the repo.
- Always publish from a temp directory to avoid shipping real package files by mistake.
- Create the temp directory and write a minimal
:package.json
tmp_dir="$(mktemp -d)" cd "$tmp_dir" cat > package.json <<'JSON' { "name": "<package-name>", "version": "0.0.0", "description": "Placeholder package for Remix CI/OIDC setup", "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/remix-run/remix.git", "directory": "<repo-package-dir>" }, "publishConfig": { "access": "public" } } JSON
- Add a short README:
cat > README.md <<'MD' # Placeholder Package This package is a placeholder published at `0.0.0` to reserve the npm name and configure CI publish permissions. MD
- Ensure npm auth is valid (expect re-auth/OTP).
- Check session:
npm whoami
- If not authenticated, run:
npm login
- Expect npm to require a fresh login and/or one-time password. If prompted for OTP, request it from the user and continue.
- Publish the placeholder.
- Publish with public access:
npm publish --access public
- If the account enforces 2FA for writes, publish with OTP:
npm publish --access public --otp <code>
- Verify and report.
- Verify the published version:
npm view <package-name>@0.0.0 version
- Report:
- package name
- published version (
)0.0.0 - confirmation that npm package exists for OIDC permission setup
- Clean up temp files.
rm -rf "$tmp_dir"
Notes
- Keep placeholder publish minimal. Do not publish full source code for this step.
- This is a one-time bootstrap step. Normal releases should continue through CI.