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

@stainlu/rlp-cli

v0.1.3

Published

CLI tool to sync local skills to your RLP Agent Card

Readme

RLP CLI

Make your local AI agent discoverable to the world.

Local AI agents like Claude Code, Codex, and Clawdbot have powerful skills but are invisible to others. Google's A2A (Agent-to-Agent) protocol defines /.well-known/agent-card.json for agent discovery, but local agents can't host their own files.

Faam solves this by hosting your agent card at https://agent-<account_id>.faam.io/.well-known/agent-card.json, making your local agent discoverable and monetizable.

Installation

npm install -g @stainlu/rlp-cli

# or use npx directly
npx -p @stainlu/rlp-cli rlp <command>

Quick Start

  1. Get your account key from Faam Dashboard

  2. Login with your key:

    rlp login --key <your_account_key>
  3. Configure your agent:

    rlp init
    rlp config set name "My AI Agent"
    rlp config set description "What my agent does"
  4. Sync your skills:

    rlp sync-skills
  5. View your agent card:

    https://agent-<your_account_id>.faam.io/.well-known/agent-card.json

Commands

rlp login --key <account_key>

Store your RLP account key locally.

rlp login --key abc123def456...

Options:

  • -k, --key <account_key> - Your Faam account key (required)
  • --api-url <url> - Custom API URL (default: https://rlp-worker.stainlu.workers.dev)

rlp logout

Remove stored account key.

rlp logout

rlp init

Create a template agent-card.json configuration file.

rlp init

Options:

  • -f, --force - Overwrite existing config file

rlp config

Manage agent-card.json configuration.

# Show all config values
rlp config show

# Get a specific value
rlp config get name

# Set a value
rlp config set name "My AI Agent"
rlp config set provider.organization "My Company"
rlp config set capabilities.streaming true

# Delete a value
rlp config delete icon_url

# List available config keys
rlp config list

rlp sync-skills

Sync local skills and agent card configuration to Faam.

rlp sync-skills

Options:

  • -n, --dry-run - Preview changes without syncing
  • -p, --path <directory> - Custom skills directory path
  • --no-delete - Don't delete remote skills that are not in local

rlp status

Show current account and skills sync status.

rlp status

Skills Discovery

The CLI automatically discovers skills from these locations:

  1. ~/.claude/skills/*/SKILL.md (Claude Code personal)
  2. .claude/skills/*/SKILL.md (Claude Code project)
  3. ~/.codex/skills/*/SKILL.md (Codex personal)
  4. .codex/skills/*/SKILL.md (Codex project)

SKILL.md Format

Each skill should have a SKILL.md file with YAML frontmatter:

---
name: my-skill
description: What this skill does
tags:
  - category
  - type
---

# My Skill

Detailed instructions for the skill...

## Example

```bash
example command

## Config Files

### Account Config (`~/.rlp/config.json`)

Stores your authentication credentials:

```json
{
  "account_key": "your_account_key",
  "account_id": "your_account_uuid",
  "api_url": "https://rlp-worker.stainlu.workers.dev"
}

Agent Card Config (~/.rlp/agent-card.json)

Defines your agent card metadata. Create with rlp init or edit directly:

{
  "name": "My AI Agent",
  "description": "An AI agent with custom skills",
  "version": "1.0.0",
  "provider": {
    "organization": "My Company",
    "url": "https://mycompany.com"
  },
  "capabilities": {
    "streaming": false,
    "push_notifications": false
  },
  "default_modes": {
    "input": ["text/plain", "application/json"],
    "output": ["text/plain", "application/json"]
  },
  "is_public": true,
  "skills": [
    {
      "id": "my-skill",
      "name": "My Skill",
      "description": "What this skill does",
      "tags": ["category"]
    }
  ]
}

Skills can be defined in agent-card.json OR as SKILL.md files. If a skill ID exists in both, the SKILL.md file takes precedence.

License

MIT


Optional: rlp-sync Skill for AI Agents

This section is completely optional. You can always run npx -p @stainlu/rlp-cli rlp sync-skills directly without any additional setup.

If you want your AI agent (Claude Code, Codex, Clawdbot, etc.) to automatically know how to sync skills when you say "sync my skills to Faam", you can install a helper skill:

  1. Create ~/.claude/skills/rlp-sync/SKILL.md:
---
name: rlp-sync
description: Sync local skills to your Faam Agent Card
---

# Sync Skills to Faam

Run the RLP CLI to sync your local skills:

\`\`\`bash
npx -p @stainlu/rlp-cli rlp sync-skills
\`\`\`

If not logged in yet, ask the user for their account key and run:
\`\`\`bash
npx -p @stainlu/rlp-cli rlp login --key <ACCOUNT_KEY>
\`\`\`

Get your account key from: https://faam.io/partner/dashboard?tab=agent
  1. Tell your agent: "sync my skills to Faam"

This is purely for convenience - the CLI works exactly the same whether or not you have this skill installed.