GitHub npm Ops

Automates GitHub issue triage, CI security checks, and npm provenance releases with recovery playbooks.

2|Updated Jul 6, 2026
One-click install
npx skills add https://github.com/NAMEWTA/learning-open-code --skill github-npm-ops-namewta
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: GitHub npm Ops
Source: https://github.com/NAMEWTA/learning-open-code/tree/main/speculo/skills/github-npm-ops
Command: npx skills add https://github.com/NAMEWTA/learning-open-code --skill github-npm-ops-namewta

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Managing GitHub issues, CI failures, security alerts, and npm releases involves many error-prone manual steps, and a single misconfigured token or mismatched tag can break a release with no clear recovery path. ## Core Features & Use Cases - Issue and PR Transport: Read, search, create, and idempotently comment-and-close GitHub issues via a dry-run-first script that requires explicit authorization before any write. - CI and Security Operations: Diagnose failing workflow runs, distinguish flaky tests from real failures, and run scheduled Dependabot, secret scanning, and code scanning alert reviews. - npm Release Pipeline: Execute preflight checks, version bumps, tag placement, provenance publishing, CHANGELOG-based release notes injection, and three-endpoint verification (workflow, GitHub Release, npm registry). - Failure Recovery: Follow scenario-based playbooks for re-tagging before publish, patching releases after publish, and handling npm errors like E403, E404, E422, and EUSAGE. - Use Case: A maintainer pushing tag v0.0.10 sees the release workflow fail at the npm publish step; the skill identifies an expired granular token, guides token regeneration, and safely re-triggers the same tag after confirming npm never received the tarball. ## Quick Start Ask the agent to run the release-preflight operation for your repository and target version to validate branch, auth, tag, and workflow readiness before publishing.

Frequently Asked Questions about GitHub npm Ops

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish an npm package with provenance from GitHub Actions?▼

Create a granular npm access token with bypass-2FA enabled, store it as the NPM_TOKEN secret, and run npm publish --provenance --access public in a tag-triggered workflow with id-token: write permission. The package.json repository.url must match the GitHub repository.

How do I fix a failed npm publish in a GitHub release workflow?▼

First check whether npm received the tarball with npm view <pkg> version. If not uploaded, delete the local and remote tag, fix the root cause such as an expired token, and re-push the same tag. If already uploaded, never re-publish the same version; bump to the next patch version instead.

Why does npm publish fail with E403 two-factor authentication required?▼

E403 occurs when using a classic token or a granular token without the bypass-2FA option. Generate a new Granular Access Token with read-and-write permission on the target scope and bypass two-factor authentication enabled, then update the GitHub secret.

Why is my GitHub Release body empty after automated release?▼

The release action's generate_release_notes option relies on PR titles and labels, so repositories that push directly to main get only a compare link. Extract the version section from CHANGELOG.md with awk and inject it via the body_path input of softprops/action-gh-release.

Can I re-publish the same npm version after unpublishing?▼

No. npm permanently blocks re-publishing the same version even after unpublish within the 24-hour window. You must bump to a new version number and record the superseded release in the CHANGELOG.

How do I tell a flaky CI test from a real failure?▼

Re-run the failed job on the same commit with gh run rerun --failed; two consecutive failures indicate a real bug. Environment-related errors like DNS timeouts or external service 500s typically signal flakiness, which should be tracked with a flaky-test label rather than silently retried.