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

dimctl-skill

v0.1.1

Published

Agent Skill for the dim container-image build daemon. Installs SKILL.md (Anthropic Agent Skills format) and depends on the dimctl CLI as a runtime tool.

Readme

dimctl-skill

An Anthropic Agent Skill that teaches an AI agent how to drive the dim container-image build daemon through the dimctl CLI. For operators who run AI agents (Claude Code, Codex CLI, Continue.dev, Cursor, custom Anthropic-SDK agents) and want them to build container images on demand.

What you get

  • SKILL.md — frontmatter (name, description, allowed-tools) + the agent's playbook. Anthropic Agent Skills format; any compatible runtime auto-discovers it.
  • dimctl CLI — installed as a transitive dependency, used by the agent at runtime.
  • dimctl-skill init — installer that detects which AI runtimes you have, copies SKILL.md into each one's skill directory, and persists DIM_ADDR / DIM_TOKEN.

Install on a new machine

# 1. Node ≥ 18 must be present.
node --version

# 2. Install the skill (pulls dimctl as a dep).
npm install -g dimctl-skill

# 3. Run init — detects Claude Code / Codex / Continue.dev / Cursor and
#    wires SKILL.md into each one's skill folder. Prompts for daemon
#    URL + token.
dimctl-skill init

# 4. Reload your shell (so DIM_ADDR / DIM_TOKEN are exported) and restart
#    your agent. Done.

dimctl-skill init is idempotent — re-run it any time the daemon URL or token changes; it diffs SKILL.md and only rewrites when content differs.

Detected runtimes

| Runtime | Detection marker | Action | |---|---|---| | Claude Code | ~/.claude/ exists | Auto-installs SKILL.md to ~/.claude/skills/dimctl/SKILL.md | | Codex CLI (OpenAI) | ~/.codex/ exists | Prints manual integration hint (Codex uses one AGENTS.md per scope, no per-skill folder) | | Continue.dev | ~/.continue/ exists | Auto-installs to ~/.continue/rules/dimctl/SKILL.md | | Cursor | ~/.cursor/ exists | Prints manual integration hint (project-scoped .cursorrules) |

If no runtime is detected, init falls back to installing into ~/.claude/skills/dimctl/SKILL.md as a default and tells you to point your agent there.

init options

dimctl-skill init [options]

  --addr=URL       daemon base URL (default: prompt or http://127.0.0.1:8080)
  --token=TOKEN    bearer token  (default: prompt)
  --no-env         skip env-var setup; only copy SKILL.md
  --force          overwrite SKILL.md even if content is unchanged
  -h, --help       show help

Non-interactive (CI / dotfiles) install:

npm install -g dimctl-skill
dimctl-skill init --addr=http://daemon.internal:8080 --token=$DIM_TOKEN

Env file persistence

init writes the daemon URL and token to:

  • Linux / macOS~/.config/dimctl/env (mode 0600, export DIM_ADDR=... syntax). Source it from your shell rc:
    echo 'source ~/.config/dimctl/env' >> ~/.bashrc
  • Windows%APPDATA%\dimctl\env.ps1 (PowerShell $env:DIM_ADDR='...' syntax). Dot-source it from your $PROFILE:
    . "$env:APPDATA\dimctl\env.ps1"

The env file holds the secret — it's mode 0600 on Unix; lock down the directory ACL accordingly on Windows.

How an agent uses this

After init, the agent runtime (Claude Code etc.) sees dimctl in its available-skills list. When the user's message matches the skill's description trigger ("build this repo and push to X", "is build N done", "show me the logs of build N", "what's the digest"), the agent loads SKILL.md and follows the playbook:

  1. Pre-flight: check dimctl creds list to verify both git & registry hosts are configured.
  2. dimctl submit ... to launch the build, capture the ULID.
  3. dimctl logs <id> --follow to stream logs to completion.
  4. dimctl get <id> -o json | jq .status .digest to confirm success and report the digest.

The agent treats 4xx errors as deterministic (no retry), only retries on transient network failures, and never echoes the token.

What this skill is NOT

  • Not the dim daemon itself — that's dim (formerly imgbuild), run by your operator.
  • Not the admin CLI — credential / user / token management is intentionally outside the agent's reach. The skill knows to say "ask your operator" when it hits an operator-only gate.
  • Not provider-locked — the Anthropic Agent Skills format is plain markdown + YAML frontmatter; any runtime that reads SKILL.md and injects the body into a system prompt can use this skill.

License

MIT