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

@logbookfordevs/afk

v2.0.6

Published

Local workspace for skills, shared profiles, favorite sources, tools, and agent rules.

Readme

AFK 2.0 — Fieldwork

This checkout contains AFK 2.0. For the previous AFK behavior, install a version before 2.0 or fork its tagged source from the pre-2.0 releases.

A local web workspace for the skills and tools you use with coding agents.

AFK 2.0 is released. Build this checkout to try changes listed under Next Release in the changelog before they are published.

pnpm afk:build
node packages/afk/dist/index.js

AFK opens a local web app. Its six sections are Profiles, Installed Skills, Sources & Stacks, Tools, Agent rules, and Settings. Nothing is published online. Use Exit AFK in the header to stop the local server. Exiting preserves saved configuration and skill activation; the browser tab shows a closed screen.

Profiles

Create a shared group from local skills or a repository. Skills CLI prepares repository contents in a private temporary workspace; only selected members are kept under ~/.agents/skills/.disabled/. Existing skill availability is preserved.

Choose Global or a project beside a profile's activation button. Enabling adds symlinks on that scope's .agents/skills and .claude/skills discovery paths. Disabling removes AFK-owned exposure, preserving other profile owners and existing user files. Stored instructions remain available for reading.

afk profiles use <profile-id>
afk profiles enable <profile-id> 'Project name'
afk profiles disable <profile-id> 'Project name'

Use the profile identifier shown in the app’s copied command; it is not necessarily the display name. use prints every member's instructions and resource directory for an agent to read. It does not enable skills, register a slash command, or inject another chat.

Installed Skills

Filter by availability, effective invocation, recorded source, saved profile membership or name within the selected scope. Clear filters resets these filters while retaining the scope. Bulk selections survive filtering. Automatic discovery token estimates count available automatic skills separately for Codex and Claude and follow only the Profile filter. Inspect offers an on-demand estimate for full instructions or a supporting file. These are rough text-length estimates, not tokenizer counts or billing.

Inventory follows the selected scope's .agents/skills directory. Project views exclude global-only entries. Inspect instructions, toggle individual availability, and choose native invocation preferences. Manual and Automatic preferences write Claude frontmatter and Codex's agents/openai.yaml policy. Project symlinks get an isolated local copy when overridden, preserving the shared original.

Update skills, or Update on one row, runs the protected Skills CLI workflow: updates are staged in isolation and preserve availability and invocation settings. Progress, output and cancellation are available in the dialog. afk skills update [name] -g or afk skills update [name] -p <project> uses the same workflow. Only installations tracked by Skills CLI can update.

Select skills for bulk enable, disable, invocation or deletion. Deletion reviews stored files and links before a second click confirms removal. Enabled profiles and other scopes remain protected; disabled profile definitions keep their members and repository profiles can restore missing members when enabled. Claude sharing links the scope’s Claude skills folder to its canonical agents folder; disconnecting removes only that folder link, preserving the stored skills.

Sources & Stacks

Save repository bookmarks for all skills or use Choose skills to find and select specific names. Search retains your selections. Copy an install command or a sequential install-all script; each command respects the bookmark’s selection. Choose a destination and agent when generating commands. Adding and removing bookmarks do not install or uninstall skills. The default card gallery has a List alternative. Create profile opens a draft using the saved selection, or all current discovered members, while keeping the bookmark.

Stacks group explicit skill selections from multiple original repositories. Create one from any saved source, choosing explicit members, import pasted JSON, or fetch a direct HTTPS manifest URL. Review the groups before saving. Copy install script uses the chosen destination and agent, sequentially; copying does not execute it. Install runs here after target review; All skills bookmarks offer a one-off picker that leaves the bookmark unchanged. Progress and output are retained during the server session, and cancellation keeps completed or partial installations. Refresh manifest reviews remote changes before replacing saved edits and does not update installed skills. See the publisher schema and example.

Tools

Tools are always global. Save a name, install command, and optional update command. An empty update command reuses install. Run explicitly from your home folder and inspect the exit status and output. Install all and Update all review commands and run them sequentially, reporting failures while continuing with other tools. Keep the tab open for the batch to finish. Removing an entry does not uninstall the tool.

Agent rules

Edit one AGENTS.md and supporting Markdown in your AFK folder. Type {{ to insert a reference. Save keeps the local document; Sync previews and applies saved rules to Codex, Claude or custom file destinations. Existing instructions outside AFK's marked region are preserved. Backups, conflict review and explicit replacement protect edits made by other tools. Broken markers and missing references block sync.

Git or your storage provider can transport the folder. AFK does not fetch remote rules or automatically apply changes. Running agents may need a new conversation to pick up changed instructions.

Settings

One settings.json stores definitions and selected activation. Choose a location in the app, including a folder synced by your own storage provider. AFK does not provide a synchronization service. A small machine-local pointer remembers the chosen settings location.

Add projects through folder browsing. Import reviews local folder mappings and leaves profiles inactive until explicitly prepared and enabled. Saved tool commands never run during import. JSON export contains configuration only; AFK folder ZIP export includes saved rules and references. ZIP import reviews destination mappings and leaves agent files unchanged until an explicit sync.

AFK_SETTINGS=/path/to/settings.json afk
afk ui --no-open
afk settings export /path/to/export.json

Manage from your agent

The bundled afk-cli skill complements the web app. Run afk guide to retrieve its absolute SKILL.md path, then ask your agent to read it. The command works without a browser or configured settings; installing the skill separately is optional.

Agents can edit simple definitions using afk settings schema, validate a candidate with afk settings validate, and inspect local consistency with afk doctor --json. Doctor never repairs files or runs commands automatically.

afk manage describe lists the shared operations. Run a selected operation with afk manage <operation> --input <JSON file|-> for profile preparation, activation, invocation, tools, rules preview/sync, and portable imports. These run without a browser and return JSON. See the agent guide for payloads, skill installation, and preservation rules.

Old setup/catalog/rules/hooks/MCP/custom-agent orchestration commands are outside this CLI's scope. Previous behavior remains in released changelog entries and Git history; existing user files are not automatically migrated or removed.

More documentation

Development

From the repository root:

pnpm afk:build
node packages/afk/dist/index.js ui --no-open
pnpm afk:typecheck
pnpm afk:test

The server binds loopback and requires a per-session token for local APIs.

Update AFK itself

Run afk update to rerun the hosted release installer and install the latest AFK release. afk update --dry-run prints the command without running it. This is separate from updating installed skills and works without reading AFK settings.

Run in the background

afk --background
afk status
afk restart
afk stop

Background start prints the local URL without opening a browser. Status shows the URL, process ID, resident memory (RSS) and log location. Stop gracefully closes the background instance; foreground sessions are independent. Runtime records and logs stay under ~/.afk/, separate from your portable settings. Starting again reuses the running instance. afk ui --background is also accepted. Exit AFK can close a background server from the app; closing the browser tab leaves it running. Background instances use the settings selected when they start. afk restart uses the running server’s current port and settings path, even if your terminal’s AFK_SETTINGS changed. If no background instance is running, it suggests afk --background. Foreground sessions are untouched. To switch via AFK_SETTINGS, stop and start explicitly.

Choose a fixed port

afk --port 4310
afk --background --port 4310

With --port, the app uses http://127.0.0.1:4310. Without it, AFK picks an available port. Ports must be integers from 1 to 65535; an occupied port causes an error rather than a fallback. Browser-blocked ports such as 6666 are rejected before starting; choose a web port such as 4310 or 8080. If the background instance already uses another port, run afk stop before restarting with your chosen port. The port is a launch option, not a saved setting. afk ui accepts the same options.

afk status reports the server’s current resident RAM in MiB, including Node.js and native allocations. It excludes the browser tab and child tool processes. Older running servers show memory as unavailable until restarted after updating. afk restart is available in AFK 2.0.3 and newer.

Install a curated stack (2.0.6+)

Run afk install https://example.com/stack.json to review a version 1 manifest, choose an agent and destination, save it in Sources & Stacks, and install its selections through Skills CLI. The saved stack remains on installation failure; reload an open app to see it. For automation: afk install example.com/stack.json --agent codex -g --yes. Use -p <folder> for a project without registering it in AFK. No profile or web app is required. See stack installation for limits, partial failures, and npm/local-checkout invocation. This command requires AFK 2.0.6 or newer.

All-skills source bookmarks offer Install all skills… on the card and Install all instead… in the picker. Both skip AFK skill discovery while keeping agent and folder confirmation. Saved selections and stacks retain their explicit members.