Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

8 Agent Skills and my first MCP server published to npm

Description and use

The article details an automated workflow for publishing eight agent skills and an MCP server to npm, leveraging semantic‑release for versioning and npm CLI for OIDC‑based publishing, along with GitHub Actions for CI.

Problem

Repetitive manual re‑solving of the same problems and difficulty publishing npm packages with OIDC trusted publishing.

Outcome

Eight reusable Agent Skills and an MCP server are now publishable, installable, and versioned automatically. The publishing process is fully CI‑driven, uses OIDC for trusted publishing, and eliminates manual steps after the initial bootstrap.

Workflow

  • Create a skills repository with a skills/ directory split into external/, local/, and general/ categories.
  • Write each skill’s SKILL.md with a decision guide, progressive disclosure, trigger‑eval, and plain ASCII content.
  • Publish the skills package to npm using npx skills add commands for each skill.
  • Set up two GitHub Actions workflows: pr-test-mcp-servers.yml to lint, typecheck, build, and test on PRs; build-publish-mcp-servers.yml to version with semantic‑release and publish via npm CLI with OIDC when the version changes.
  • Handle four gotchas: manual first publish, correct bin path, proper npmrc configuration, and ensuring provenance signing.
  • Use npm publish --provenance after semantic‑release updates the local version.
  • Verify the published version matches the local version before publishing.

Evidence

This is the part that cost me more than ten CI commits to get right.

Source

The split that solved it: semantic-release handles versioning; the npm CLI handles publishing through OIDC.

Source

  • Record date: 2026-09-12T02:01:34.398Z