deniz.in

Markets

Weather

Loading weather

· via dev.to (home feed)

Eight installable agent skills and a first NextDNS MCP server land on npm

A dev.to author publishes alpha-skills: eight reusable agent skills plus a stdio MCP server for the NextDNS API, with a CI workaround for npm's OIDC trusted-publishing gap.

Eight installable agent skills and a first NextDNS MCP server land on npm

What was released

A developer publishing as Alpha018 has released alpha-skills, a catalog of eight installable agent skills, along with a first MCP server distributed through npm. According to a post on dev.to, the motivation was months of watching an AI agent re-solve the same problems again and again because the solutions had never been written down once in a form others could reuse — the kind of technical debt the author notes never appears on a roadmap.

Eight skills across three categories

The skills live in a skills/ directory divided into three groups: external for third-party APIs, local for homelab infrastructure and personal workflows, and general for cross-project utilities. One skill sits in external, one in local, and six in general. Each installs individually via a single npx command, for example npx skills add Alpha018/alpha-skills -s nextdns-api.

The external entry, nextdns-api, is a full reference for the NextDNS REST API covering profiles, security and privacy settings, parental controls, deny and allow lists, analytics, and query logs. The local entry, progressive-search, encodes a discovery workflow: code questions route to CodeGraph, documentation questions to QMD, and the skill falls back to grep and find when neither answers, keeping an in-session graph of what has already been found so searches are not repeated.

The six general skills target broader concerns. agent-context-generator creates, refreshes, or audits a project's CLAUDE.md or AGENTS.md based on the repository's actual dependencies, structure, and scripts rather than a generic template. Three skills cover NestJS: nestjs-iam-patterns handles authentication and authorization (JWT access and refresh tokens, sessions with Passport and Redis, API keys, RBAC, granular permissions, ABAC, Google Sign-In, and TOTP/2FA); nestjs-advanced-patterns covers internals such as DI tokens, dynamic modules, worker threads, circuit breakers, and WebSocket gateways plus a decision table for picking a microservice transporter; nestjs-graphql spans both code-first and schema-first GraphQL, including subscriptions, DataLoader for the N+1 problem, and query depth and cost limits, with a hardening section the author says was verified against Apollo Server's source code. Rounding out the catalog are tuning-claude-code, which designs a full Claude Code configuration stack including path-scoped rules and custom subagents, and obsidian-second-brain, a decision guide for running an Obsidian vault that also states when Obsidian is the wrong tool.

A house style that emerged

According to the post, no style guide existed when the first skills were written, but a pattern became obvious by the fourth. Each skill opens with a decision guide rather than a feature dump, telling the agent which option fits the situation at hand and when the tool is a poor choice. SKILL.md files stay lean, under 500 lines, with deeper material pushed into references/ files that the body loads only when needed. The frontmatter description is treated as the highest-leverage field, since a vague one means the skill silently never activates, so every skill ships an evals/trigger-eval. with should-trigger and should-not-trigger cases. Persisted files also get a pass to strip AI tics and keep output plain ASCII.

The MCP server and the publishing workaround

The server, @alpha018/nextdns-mcp, is a stdio MCP server run through npx that exposes the NextDNS API: reading and updating profile settings, managing list entries, pulling analytics, and reading logs. It is built on the same reference document that backs the nextdns-api skill, so the two stay synchronized deliberately.

Getting it onto npm reportedly cost more than ten CI commits. The post explains that @semantic-release/npm does not support OIDC trusted publishing: its verifyConditions step demands an NPM_TOKEN or a preconfigured .npmrc regardless of workflow permissions, and id-token: write only buys provenance signing through the plugin, not authentication. The working setup is two shared workflows generalized across every package under mcp-servers/. A PR workflow detects changed package directories and runs lint, typecheck, build, and test on Node 22 and 24. A publish workflow, on every push to main, builds and tests each changed package, runs semantic-release with npmPublish disabled to handle versioning and changelogs without npm authentication, compares the resulting version against what is live on npm, and publishes with --provenance directly through the npm CLI when they differ.

Why it matters

This is a small but clear example of agent work maturing from ad-hoc prompting into maintained, installable tooling. Solving a problem once, packaging the solution with an explicit decision procedure, and shipping trigger evaluations turns individual agents' repeated effort into something shareable — the same shift libraries once brought to code. The trigger-eval files address a real failure mode, skills that never fire because of vague descriptions, and the semantic-release workaround is a practical reference for anyone else hitting npm's trusted-publishing gap in automated pipelines.

  • #ai-agents
  • #mcp
  • #npm
  • #open-source
  • #nestjs

Related posts