npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dzhechkov/core

v0.2.15

Published

Canonical skill + hooks schemas and the platform-adapter contract for the DZ cross-platform harness.

Readme

@dzhechkov/core

Foundation package of the DZ cross-platform harness. It owns the platform-neutral contracts that every other @dzhechkov/* package depends on.

What it provides

| Module | Exports | Purpose | |---|---|---| | skill.schema | CanonicalSkillFrontmatter, ClaudeSkillFrontmatter | Two-layer Zod schema for SKILL.md frontmatter | | hooks.schema | HookSchema | Shape of lifecycle hooks | | adapter | Adapter, Platform, EmitResult, … | The contract every @dzhechkov/adapter-* implements | | agents-md | mergeAgentsMd, mergeGeminiMd, mergePolicyBlock, fence constants | One parameterized managed-Markdown merge path for skill and always-on policy blocks; authored bytes outside each fence are preserved |

Two-layer skill schema

The Agent Skills open standard defines six frontmatter fields (name, description required; license, compatibility, metadata, allowed-tools optional). Claude Code consumes that standard and adds its own optional fields, and this repo's 90 skills additionally carry ~26 project-local keys.

So the schema has two layers:

  • CanonicalSkillFrontmatter — strict agentskills.io standard. Used by the portable/canonical layer and by non-Claude adapters.
  • ClaudeSkillFrontmatter — the canonical schema relaxed, plus Claude Code extensions, plus passthrough of unknown keys, so every existing SKILL.md validates without edits.

See features/extended-a-migration/agentskills-spec-verification.md for the verified spec this schema is built against.

Managed Markdown

Use mergePolicyBlock(existing, sections) when adding the always-on policy fence to a root AGENTS.md. It uses the same merge implementation as the existing mergeAgentsMd and mergeGeminiMd projections, but with its own dz:policies markers and an early placement so a Codex truncation cap reaches policy before optional skill content.

mergePolicyBlock('# AGENTS.md\n\nTeam notes.\n', ['## Integrity Rule\n\nMeasure before asserting.']);

Expected result: the team notes remain byte-for-byte, followed by one <!-- dz:policies BEGIN … --> / <!-- dz:policies END --> block. Repeating the call is idempotent; a dz:skills block, when present, remains independent.

Status

0.2.15 — staged, not published. This change parameterizes the existing managed-Markdown helper for the independent dz:policies fence; it does not fork a second merger.

Scripts

pnpm --filter @dzhechkov/core build      # tsc -> dist/
pnpm --filter @dzhechkov/core test       # vitest run
pnpm --filter @dzhechkov/core typecheck  # tsc --noEmit