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

@huddle-marketplace/skills

v0.3.1

Published

63-jurisdiction rental compliance skills for autonomous AI agents. OpenClaw, MCP, LangChain, and CrewAI compatible.

Readme

@huddle-marketplace/skills

63-jurisdiction rental compliance skills for autonomous AI agents.

Validates security deposits, rent payments, late fees, and deposit returns against real statutes across 50 US states, 13 Canadian provinces, and federal overlays. OpenClaw, MCP, LangChain, and CrewAI compatible.

Compliance source status: this package is being prepared for enterprise MCP/CLI exposure. Public-facing outputs must distinguish source-backed legal rules from Huddle platform policy and operational controls. Federal overlay and virtual-currency classification claims require counsel review before external reliance. See huddle-marketplace/docs/strategy/COMPLIANCE_CLAIM_REMEDIATION_BACKLOG.md.

npm install @huddle-marketplace/skills

Agent Discovery

Give an autonomous agent the canonical skill URL:

https://weusehuddle.com/api/agent/skill

The public discovery manifest is available at https://weusehuddle.com/api/agent/manifest. npm installs also include strict, installable skill folders under node_modules/@huddle-marketplace/skills/dist/skills/, including dist/skills/huddle/SKILL.md and one folder per jurisdiction or lifecycle skill.


Agent Platform Contract

The Huddle Skill is MCP-first and adapter-neutral. OpenClaw, Hermes, Codex, Claude, Grok, Gemini, and custom enterprise agents should all consume the same canonical tool manifest instead of maintaining separate hand-written tool lists.

import {
  buildAllHuddleAgentAdapterExamples,
  buildHuddleAgentAdapterExample,
  buildHuddleAgentDiscoveryManifest,
  listHuddleAgentToolsForPlatform,
} from "@huddle-marketplace/skills/manifests";

const discovery = buildHuddleAgentDiscoveryManifest({
  baseUrl: "https://www.weusehuddle.com",
});
const claudeTools = listHuddleAgentToolsForPlatform("claude");

console.log(discovery.hostedMcpEndpoint);
console.log(claudeTools.map((tool) => tool.canonicalId));

const codexExample = buildHuddleAgentAdapterExample("codex", {
  baseUrl: "https://www.weusehuddle.com",
});
const allExamples = buildAllHuddleAgentAdapterExamples();

console.log(codexExample.files.map((file) => file.path));
console.log(allExamples.map((example) => example.platformId));

| Platform | Primary interface | Notes | |---|---|---| | OpenClaw | Generated SKILL.md + hosted MCP | Use local skill manifests for jurisdiction checks and hosted MCP for Enterprise Agent tools. | | Hermes | Hosted MCP | Treat Hermes as MCP-first with REST fallback generated from the manifest. | | Codex | Hosted MCP / CLI / TypeScript | Use MCP for live sessions and the CLI for deterministic smoke checks. | | Claude | Hosted MCP / package MCP | Use server-side Enterprise Agent token injection. | | Grok | Hosted MCP / REST | Generate wrappers from canonical MCP tool names and REST paths. | | Gemini | Hosted MCP / REST function declarations | Preserve trustBoundary text in generated function docs. |

Every platform inherits the same boundaries: agents can validate, retrieve redacted proofs, inspect audit logs, and create draft activation handoffs. They cannot autonomously approve, mint, settle, move funds, upload production evidence, post to ERP systems, or bypass human identity verification and final confirmation.

Generated adapter examples include:

  • OpenClaw SKILL.md plus JSON manifest.
  • Hermes hosted MCP config.
  • Codex MCP config and CLI smoke script.
  • Claude Desktop MCP config.
  • Grok REST function declarations.
  • Gemini function declarations.
  • Custom TypeScript client bootstrap.

Each example carries the canonical tool ids, MCP names, REST paths, required scopes, redaction profile, HITL metadata, and trust-boundary text from HUDDLE_AGENT_TOOLS.


Quick Start

import { validate, composeSkills, registry } from "@huddle-marketplace/skills";

// Single jurisdiction — wBTC bond in Texas
const result = await validate("US-TX", {
  type: "deposit-validation",
  depositAmountCents: 200000,   // $2,000 — always in CENTS
  monthlyRentCents: 200000,     // $2,000
  currency: "USDC",
  collateralType: "wbtc",
  instrumentType: "collateralized_lease_guarantee",
});

console.log(result.compliant);    // true
console.log(result.confidence);   // 0.9
console.log(result.citations);    // Source-backed citations where available

// Stacked validation - federal overlay + state rules
const composed = await composeSkills(["US-CFTC", "US-TX"], {
  type: "deposit-validation",
  depositAmountCents: 200000,
  monthlyRentCents: 200000,
  currency: "USDC",
  collateralType: "wbtc",
  instrumentType: "collateralized_lease_guarantee",
  wbtcUsdcRatio: 1.05,
  custodyType: "smart_contract",
  sentinelMonitoring: true,
  sentinelMode: "CO_PILOT",
  lastSentinelCheckMs: Date.now() - 60000,
  auditLogEnabled: true,
  lastDecisionReasoning: "LTV nominal",
});

console.log(composed.compliant);          // true
console.log(composed.layers.length);      // 2
console.log(composed.checks[0].name);     // "[US-CFTC] federal-overlay"
console.log(composed.citations.length);   // merged + deduplicated

API Reference

validate(jurisdiction, input)

Run a single jurisdiction's skill against the input.

const result = await validate("US-CA", input);
// result: SkillResult

composeSkills(jurisdictions, input, options?)

Stack multiple jurisdictions into one layered compliance proof. Layers run in parallel.

const result = await composeSkills(["US-CFTC", "US-IL"], input);
// result: ComposedResult — { compliant, confidence, layers[], checks[], citations[], remediation[] }

// Advisory mode: only US-CFTC determines overall compliance
const result = await composeSkills(["US-CFTC", "US-TX"], input, {
  mode: "advisory",
  criticalJurisdictions: ["US-CFTC"],
});

registry

Pre-loaded registry with all 64 jurisdictions.

registry.get("US-TX")               // HuddleSkill | undefined
registry.jurisdictions()            // JurisdictionCode[]
registry.isSupported("US-TX")       // boolean
registry.search(["deposit-validation"])  // HuddleSkill[]

explain(jurisdiction, result)

Human-readable explanation of a validation result.

const text = explain("US-TX", result);
// "This transaction passes the currently enabled Texas checks (confidence: 90%)..."

Jurisdictions

US States (50)

| Tier | States | Capabilities | |---|---|---| | Tier 1 — Full statute logic | TX, FL, CA, NY | deposit-validation, deposit-return, reviewed federal overlays | | Tier 2 — Real rules | IL, WA, CO, MA, PA, OH, GA, NC, VA, MI | deposit-validation, payment-compliance, deposit-return, deposit-interest | | Tier 3 — Capped states | 26 states with statutory caps | deposit-validation, source-backed local rules | | Tier 4 — No-cap states | Remaining states | deposit-validation, source-backed local rules |

Canadian Provinces (13)

| Tier | Provinces | |---|---| | Full statute | BC, ON, QC (bilingual), NS | | Template | AB, MB, SK, NB, PE, NL, NT, YT, NU |

Federal Overlays

| Code | Coverage | |---|---| | US-CFTC | Federal overlay checks under counsel review: digital-asset custody posture, reserve controls, Sentinel monitoring, and audit logging | | CA-QC | CCQ art. 1904 deposit prohibition, TAL jurisdiction, bilingual FR/EN citations |


Web3-Native Features

wBTC Bond Recognition

When collateralType: "wbtc" is set, skills recognize that HuddleDepositVaultV3's on-chain Golden Rule (wBTC value ≥ original principal, enforced by Solidity) structurally satisfies — and exceeds — statutory interest requirements:

// IL requires 5% annual interest on deposits
// wBTC bond → interest check returns confidence: 0.98 (higher than legacy 0.75)
const result = await validate("US-IL", {
  type: "deposit-validation",
  collateralType: "wbtc",  // ← Web3 path
  ...
});
// check "deposit-interest-requirement": passed: true, confidence: 0.98
// note: "SATISFIED: wBTC bond appreciation via HuddleDepositVaultV3 structurally exceeds..."

Composition Engine

Federal overlay + state validation in one call:

const result = await composeSkills(["US-CFTC", "US-TX", "US-IL"], input);
// Runs all 3 in parallel, merges checks, deduplicates citations

Framework Adapters

MCP (Model Context Protocol)

import { getMCPToolDefinitions, handleMCPRequest } from "@huddle-marketplace/skills/mcp";

const tools = getMCPToolDefinitions();  // Ready for Claude Desktop
const response = await handleMCPRequest(mcpRequest, registry);

The MCP adapter also includes REST-backed Enterprise Agent API tools for the commercial bond and draft activation surface:

  • huddle_enterprise_list_tools
  • huddle_enterprise_validate_deposit_terms
  • huddle_enterprise_initiate_activation
  • huddle_enterprise_get_commercial_bond_status
  • huddle_enterprise_get_compliance_packet
  • huddle_enterprise_get_principal_protection_proof
  • huddle_enterprise_get_evidence_documents
  • huddle_enterprise_get_audit_events
  • huddle_enterprise_get_erp_export

Pass server-side Enterprise Agent API credentials when handling MCP requests:

const response = await handleMCPRequest(mcpRequest, registry, {
  enterpriseAgent: {
    apiUrl: "https://www.weusehuddle.com",
    token: process.env.HUDDLE_ENTERPRISE_AGENT_API_TOKEN!,
  },
});

These tools call the audited REST API and inherit its scopes, workspace allowlists, redaction profiles, and review boundaries. huddle_enterprise_initiate_activation is draft-only: it returns a human handoff URL and does not approve, mint, settle, move funds, upload evidence, or complete activation.

Enterprise Agent TypeScript Client

import { HuddleClient } from "@huddle-marketplace/skills";

const huddle = new HuddleClient({
  apiUrl: "https://www.weusehuddle.com",
  token: process.env.HUDDLE_ENTERPRISE_AGENT_API_TOKEN!,
});

await huddle.validateDepositTerms({
  jurisdiction: "US-TX",
  depositAmountCents: 240000,
  monthlyRentCents: 240000,
});

const draft = await huddle.initiateActivation({
  jurisdiction: "US-TX",
  depositAmountCents: 240000,
  monthlyRentCents: 240000,
  invitationCode: "LANDLORD-ABC123",
});

console.log(draft.handoffUrl);

OpenClaw

import { toOpenClawSkill } from "@huddle-marketplace/skills/openclaw";

const openClawTool = toOpenClawSkill(usTxSkill);

LangChain

import { registry } from "@huddle-marketplace/skills/langchain";
// DynamicStructuredTool instances for every jurisdiction

TRAIGA Audit Logging

import { withTraiga, ConsoleTraigaAdapter } from "@huddle-marketplace/skills/traiga";

const auditedSkill = withTraiga(usTxSkill, new ConsoleTraigaAdapter());
// Every validation is logged with inputHash, outputHash, decision, confidence

Input Types

All monetary amounts are in cents (integer).

// Deposit validation
{ type: "deposit-validation", depositAmountCents, monthlyRentCents, currency, ... }

// Payment compliance
{ type: "payment-compliance", paymentAmountCents, monthlyRentCents, dueDate, paymentDate, ... }

// Rent increase
{ type: "rent-increase-validation", currentRentCents, proposedRentCents, noticeDateDays, ... }

// Deposit return
{ type: "deposit-return", originalDepositCents, proposedReturnCents, leaseEndDate, returnDate, ... }

// Homeownership readiness
{ type: "homeownership-readiness", annualIncomeCents, monthlyDebtCents, creditScore, ... }

Publishing (Maintainers)

The CI/CD pipeline automatically publishes to npm when a commit on main starts with release:.

Steps

  1. Bump version in package.json
  2. Run prepublish gate locally:
    npm run prepublishOnly   # lint + test (146 tests) + build
  3. Commit and push:
    git add packages/huddle-skills/
    git commit -m "release: v0.2.0"
    git push origin main
  4. GitHub Actions triggers .github/workflows/huddle-skills-ci.yml:
    • test job: lint → 146 tests → build → verify dist
    • publish job (only on release: prefix + NPM_TOKEN secret): npm publish --access public

Required GitHub Secret

NPM_TOKEN — create at npmjs.com/settings/tokens (Automation token, read+write), add to repo secrets at Settings → Secrets → Actions.

Package Size Budget

Target: < 500KB, tree-shakeable per jurisdiction via named exports.


License

MIT — see LICENSE

Built by Huddle Protocol