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

@agentworkforce/workload-router

v3.0.35

Published

Routing and profile utilities for AgentWorkforce workload orchestration.

Downloads

21,747

Readme

@agentworkforce/workload-router

Routing and profile utilities for AgentWorkforce workload orchestration.

Install

npm install @agentworkforce/workload-router

Usage

usePersona(intent, options?)

Despite the use* prefix, this is not a React hook. It is a plain synchronous factory: call it, get back a PersonaContext bundling the resolved persona and grouped install metadata. Nothing is installed, spawned, or written to disk — run install.commandString yourself when you are ready to materialize the persona's skills.

usePersona resolves only the internal built-in catalog (persona-maker / persona-authoring). Optional personas such as code-reviewer and frontend-implementer are distributed through installable persona packs and should be loaded through the CLI/source cascade, then passed to useSelection or materializeSkillsFor.

import { usePersona } from '@agentworkforce/workload-router';

Return shape

const { selection, install } = usePersona('persona-authoring');
  • selection: the resolved persona choice for the given intent/profile. Includes personaId, tier, runtime, skills, inputs, mount, and rationale.
  • install: grouped install metadata.
  • install.plan: a pure description of what skill installs would be needed for that persona on that harness. No processes run when you read this.
  • install.command: the full install command as an argv array for spawn/execFile.
  • install.commandString: the same full install command as a shell-escaped string.
  • install.cleanupCommand / install.cleanupCommandString: a rm -rf over the ephemeral artifact paths the provider scatters during install (the provider's lockfile is deliberately preserved). For empty plans this is a shell no-op (:). Run it after the agent has consumed the skills.

Example

import { spawnSync } from 'node:child_process';
import { usePersona } from '@agentworkforce/workload-router';

const { selection, install } = usePersona('persona-authoring');

spawnSync(install.commandString, { shell: true, stdio: 'inherit' });
// hand `selection` to your harness launcher of choice.

Persona shape

Personas may declare prompt-visible runtime inputs:

{
  "id": "release-checker",
  "intent": "release-check",
  "tags": ["release"],
  "description": "Checks release readiness.",
  "skills": [],
  "inputs": {
    "PACKAGE_NAME": {
      "description": "Package or workspace to inspect.",
      "env": "PACKAGE_NAME",
      "default": "."
    },
    "REPORT_PATH": "release-report.md"
  },
  "mount": {
    "readonlyPatterns": ["*", "!docs/**"]
  },
  "tiers": {
    "best": {
      "harness": "codex",
      "model": "openai-codex/gpt-5.3-codex",
      "systemPrompt": "Check $PACKAGE_NAME and write ${REPORT_PATH}.",
      "harnessSettings": {
        "reasoning": "high",
        "timeoutSeconds": 1200,
        "sandboxMode": "workspace-write",
        "workspaceWriteNetworkAccess": true
      }
    }
    // best-value and minimum omitted in this fragment
  }
}

Input keys must be env-style uppercase names. The router validates and carries the declarations through PersonaSpec and PersonaSelection; launchers decide how to resolve and render them. The standard persona-kit policy is explicit value, env var, default, then fail.

Codex runtimes may also set harnessSettings.sandboxMode, harnessSettings.approvalPolicy, harnessSettings.workspaceWriteNetworkAccess, and harnessSettings.webSearch; persona-kit maps those to Codex launch flags.

Development

pnpm --filter @agentworkforce/workload-router build
pnpm --filter @agentworkforce/workload-router test