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

ai-dev-requirements

v0.5.0

Published

MCP server for fetching and classifying ONES requirements, tasks, and defects

Readme

AI Development Workflow

中文

An agent harness workflow for AI coding tools, enabling controlled requirement intake, planning, gated execution, verification, review, and handoff.


What's Included

| Deliverable | Description | |-------------|-------------| | Requirements MCP Server (src/) | MCP server for ONES work items. Routes requirements, tasks, and defects by issueType.detailType. | | Agent Harness Workflow Skill (skills/dev-workflow/) | Self-contained agent harness skill. Install it to run requirement intake, planning, gated execution, verification, review, and handoff. | | Grill-me Skills (skills/grill-me/, skills/grilling/) | Fact-first interview entry and decision-tree primitive for ambiguous development requests. ONES sources use one get_grilling_brief call. |


Quick Start

1. Install Agent Harness Workflow Skill

npx skills add daguanren21/ai-dev-workflow

Install to a specific agent with -a:

npx skills add daguanren21/ai-dev-workflow -a claude-code

Once installed, AI coding tools will automatically use the dev-workflow harness to govern the full development process.

2. Install For Codex

Codex loads skills from $CODEX_HOME/skills. If CODEX_HOME is not set, the default is ~/.codex.

From this repository, install all three cooperating skills:

mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R skills/dev-workflow skills/grill-me skills/grilling "${CODEX_HOME:-$HOME/.codex}/skills/"

For local development, use a symlink instead so Codex picks up edits from this checkout after restart:

mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
ln -s "$(pwd)/skills/dev-workflow" "${CODEX_HOME:-$HOME/.codex}/skills/dev-workflow"
ln -s "$(pwd)/skills/grill-me" "${CODEX_HOME:-$HOME/.codex}/skills/grill-me"
ln -s "$(pwd)/skills/grilling" "${CODEX_HOME:-$HOME/.codex}/skills/grilling"

Restart Codex after installing or updating the skill.

3. Trigger The Harness

The skill can be triggered automatically when the task looks like AI-assisted development work: requirement intake, issue implementation, task planning, gated execution, verification, review, or handoff.

You can also trigger it explicitly:

Use the dev-workflow harness to implement this requirement: <requirement text or ticket id>
Use the dev-workflow harness. Read ONES-123, write the plan first, then wait for confirmation before implementation.
Use the dev-workflow harness for this GitHub issue: <issue url>

When the harness is active, the agent should announce:

I'm using the dev-workflow harness to drive this development task.

Requirement-driven work has two non-bypassable approval gates: approve the current user stories before planning, then approve the current implementation plan after coverage validation passes. Mechanical tasks with an obvious bounded result do not need to trigger the full harness.

Expected flow:

Context -> Grill -> User Stories -> Stories Approval -> Plan -> Coverage Validation -> Plan Approval -> Execution -> Verification -> Review -> Handoff

4. Install MCP Server (Optional)

If you use ONES for requirement management:

npm install -g ai-dev-requirements

Create .requirements-mcp.json in your project root:

{
  "sources": {
    "ones": {
      "enabled": true,
      "apiBase": "https://your-org.ones.com",
      "auth": {
        "type": "ones-pkce",
        "emailEnv": "ONES_ACCOUNT",
        "passwordEnv": "ONES_PASSWORD"
      },
      "openApiAuth": {
        "type": "token",
        "tokenEnv": "ONES_OPENAPI_TOKEN"
      }
    }
  },
  "defaultSource": "ones"
}

Add to your .mcp.json:

{
  "mcpServers": {
    "requirements": {
      "command": "npx",
      "args": ["ai-dev-requirements"],
      "env": {
        "ONES_ACCOUNT": "${ONES_ACCOUNT}",
        "ONES_PASSWORD": "${ONES_PASSWORD}",
        "ONES_OPENAPI_TOKEN": "${ONES_OPENAPI_TOKEN}"
      }
    }
  }
}

openApiAuth is optional and independent from the internal ones-pkce product session. It is used for documented Wiki metadata and search requests when available. Wiki creates and updates always use the product session plus the live JSONv1 collaboration protocol, so they do not require a Personal API Key.

MCP security boundaries

  • ONES titles, descriptions, test cases, and attachment metadata are marked as untrusted data. Instructions embedded in them must never drive tool calls.
  • Rich HTML is converted to bounded plain text. URL credentials, query strings, fragments, remote error bodies, and internal API base URLs are not returned to the model.
  • Image downloads accept only configured-source URLs or URLs issued by the authenticated ONES attachment API. Redirects are revalidated; private-network targets are rejected unless they are the configured source itself.
  • A tool call downloads at most 8 PNG/JPEG/GIF/WebP images, each at most 8 MiB with a 10-second timeout.
  • Mutation tools remain separate calls and require explicit user confirmation in the workflow.

5. Add Companion MCP Servers (Optional)

Requirements are not limited to ONES. Pair with official MCP servers for GitHub / Jira / Figma:

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" }
    },
    "figma": {
      "url": "https://mcp.figma.com/mcp"
    }
  }
}

Supported Requirement Platforms

| Platform | Integration | Description | |----------|-------------|-------------| | ONES | Built-in adapter | Directly supported by this MCP server, OAuth2 PKCE auth | | GitHub Issues | External MCP | Use github/github-mcp-server | | Jira | External MCP | Use Atlassian Rovo MCP Server |

This project uses an adapter architecture (BaseAdapter). To add a new platform as a built-in adapter, extend SourceType and implement BaseAdapter.


Agent Harness Workflow Skill

A self-contained AI-assisted agent harness skill that governs the full development lifecycle:

Context -> Grill -> User Stories -> Stories Approval -> Plan -> Coverage Validation -> Plan Approval -> Execution -> Verification -> Review -> Handoff

The harness follows a feedforward + feedback model: it guides the agent with plans, artifacts, and task boundaries, then uses deterministic gates such as lint, typecheck, build, tests, and review as backpressure before handoff.

Skill directory structure:

skills/dev-workflow/
├── SKILL.md                         # Skill entry (YAML frontmatter + harness definition)
└── references/
    ├── workflow.md                  # Agent harness lifecycle
    ├── requirement-validation.md    # Coverage validation gate contract
    ├── task-types.md                # Harness task types, scheduler modes, declaration syntax
    ├── service-transform.md         # Service-layer transform pattern for Mock/API adaptation
    └── templates/                   # Task declaration templates
        ├── code-dev-task.md
        ├── code-fix-task.md
        ├── code-refactor-task.md
        ├── doc-write-task.md
        ├── research-task.md
        └── test-task.md

Project Structure

ai-dev-workflow/
├── skills/
│   ├── grill-me/                    # Ambiguity-resolution entry
│   ├── grilling/                    # Interview primitive
│   └── dev-workflow/                # Agent Harness Workflow Skill
│
├── src/                             # Requirements MCP Server source
│   ├── index.ts                     # Stdio bootstrap
│   ├── server.ts                    # MCP Server factory & tool registration (SDK v2)
│   ├── adapters/
│   │   ├── base.ts                  # BaseAdapter abstract class
│   │   ├── ones.ts                  # ONES adapter
│   │   └── index.ts                 # Factory function createAdapter()
│   ├── config/
│   │   └── loader.ts                # Config loading & env resolution
│   ├── tools/
│   │   ├── get-work-item.ts         # get_work_item tool
│   │   ├── get-grilling-brief.ts    # get_grilling_brief tool
│   │   ├── search-requirements.ts   # search_requirements tool
│   │   └── list-sources.ts          # list_sources tool
│   ├── types/
│   │   ├── auth.ts
│   │   ├── config.ts
│   │   └── requirement.ts
│   └── utils/
│       ├── http.ts
│       ├── map-status.ts
│       └── ones-issue-kind.ts
│
├── packages/ai-dev-requirements/   # Publishable Changesets workspace package
│   ├── package.json
│   ├── tsdown.config.ts
│   └── skills/
├── tests/                           # Tests
├── .requirements-mcp.json.example   # MCP Server config template
├── package.json                     # Private workspace orchestrator
├── tsconfig.json
└── vitest.config.ts

Tech Stack

| Technology | Purpose | |------------|---------| | TypeScript | MCP Server language | | @modelcontextprotocol/server | MCP protocol SDK v2 | | Zod | Schema validation & type inference | | tsdown | Build tool (ESM + CJS + dts) | | Vitest | Test framework | | Changesets v3 | Version PRs, changelogs, and npm publishing | | Node.js >= 20 | Runtime |


Development

# Install dependencies
pnpm install

# Dev mode
pnpm dev

# Build
pnpm build

# Run tests
pnpm test

# Type check
pnpm typecheck

License

MIT