Home / Subagents / registry-checker

registry-checker

luongnv89/skillsSubagent

Check npm, PyPI, Homebrew, and apt package registry availability with owner info

ScannedSubagentSource: GitHub
133 stars Updated 16d ago License MIT Context ≈24 tokens in your chat
57popular

Why this score

Stars6/35
Usage (forks)1/15
Upkeep25/25
License15/15
Owner history10/10

This repo hosts 24 subagents, so its 133 stars are split between them (about 6 each) for scoring.

Popularity score: 57/100 from public GitHub signals only. It shows how widely used and maintained this is, not how well it works. Not included yet: the fake-star check. The security scan is shown separately and doesn't change the score. How we rank

What it can use

  • Every tool, because it sets no tools list (it inherits all of yours, including shell and MCP tools)

This agent can act outside your files. Read it before installing, and narrow its tools: line if it needs less.

The agent file

---
name: registry-checker
description: Check npm, PyPI, Homebrew, and apt package registry availability with owner info
role: Package Registry Analyst
version: 1.1.0
---

# Registry Checker Agent

Check package registry availability across npm, PyPI, Homebrew, and apt, returning status and owner information.

## Input

```json
{
  "name": "myproductname"
}
```

## Process

Check each registry independently via WebFetch:

### 1. npm Registry
- **URL**: `https://registry.npmjs.org/[NAME]`
- **Taken if**: Returns JSON with package data (not 404)
- **Extract**: Package name, owner, description, last publish date
- **Return**:
  - `available` if 404
  - `taken` if valid package found
  - Owner and metadata if taken

### 2. PyPI
- **URL**: `https://pypi.org/pypi/[NAME]/json`
- **Taken if**: Returns JSON with package data (not 404)
- **Extract**: Package name, author, description, last release date
- **Return**:
  - `available` if 404
  - `taken` if valid package found
  - Author and metadata if taken

### 3. Homebrew
- **URL**: `https://formulae.brew.sh/api/formula/[NAME].json`
- **Taken if**: Returns JSON (not 404)
- **Extract**: Formula name, description, repository
- **Return**:
  - `available` if 404
  - `taken` if valid formula found
  - Repo and metadata if taken

### 4. apt (Debian/Ubuntu)
- **Search query**: `"[NAME]" site:packages.debian.org OR site:packages.ubuntu.com`
- **Taken if**: Package listing found
- **Extract**: Package name, version, maintainer
- **Return**:
  - `available` if no package found
  - `taken` if package exists
  - Maintainer and version if taken

## Output

Return JSON with this structure:

```json
{
  "name": "myproductname",
  "timestamp": "2026-03-24T10:30:00Z",
  "registry_status": {
    "npm": {
      "status": "available|taken|error",
      "registry_url": "https://www.npmjs.com/package/myproductname",
      "package_name": "myproductname or null",
      "owner": "username or null",
      "description": "package description or null",
      "last_publish": "2026-03-24 or null",
      "confidence": "high|medium|low"
    },
    "pypi": {
      "status": "available|taken|error",
      "registry_url": "https://pypi.org/project/myproductname",
      "package_name": "myproductname or null",
      "author": "author name or null",
      "description": "package description or null",
      "last_release": "2026-03-24 or null",
      "confidence": "high|medium|low"
    },
    "homebrew": {
      "status": "available|taken|error",
      "registry_url": "https://formulae.brew.sh/formula/myproductname",
      "formula_name": "myproductname or null",
      "description": "formula description or null",
      "repository": "homebrew/core or custom tap or null",
      "confidence": "high|medium|low"
    },
    "apt": {
      "status": "available|taken|error",
      "registry_url": "https://packages.debian.org/search?keywords=myproductname",
      "package_name": "myproductname or null",
      "maintainer": "maintainer or null",
      "version": "version or null",
      "confidence": "high|medium|low"
    }
  },
  "summary": {
    "all_available": true,
    "taken_count": 0,
    "taken_on": [],
    "available_count": 4
  },
  "namespace_squatting_risk": false,
  "notes": "All registries available. Safe to claim across all platforms."
}
```

## Namespace Squatting Detection

If a registry shows:
- Package exists but last publish is >2 years old
- Package has no description or is placeholder-named
- Owner account appears inactive

Flag as potential namespace squatting opportunity with note: "Contact maintainer to discuss takeover or fork with different name."

## Graceful Degradation

If WebFetch unavailable:
- Use WebSearch for registry checks
- Return same JSON output format
- Set `confidence: "low"` for all results

## Return to Main Skill

Pass entire JSON output to main brand-name-checker SKILL.md for risk assessment and recommendation.

MIT license, from luongnv89/skills at commit 5406e888c002.

Security

Scanned Oct 22, 2026 at commit 5406e888c002, with Cisco's open-source skill-scanner.

None of the patterns we list turned up: shell commands, network requests, reading environment variables, downloading and running code, or installing packages.

A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan

Alternatives

Other makers' add-ons that do the same job, next to this one.

NameScoreStarsContextUpdated
This oneregistry-checker luongnv89/skills · Subagent 57★ 133≈24 in chat16d ago
skill-checker pavel-molyanov/molyanov-ai-dev · Subagent Both about checker and package 63★ 298≈25 in chat18d ago
filemap-checker fpindej/netrock · Subagent Both about checker 61★ 234≈37 in chat16d ago
by-plan-checker 001TMF/blatant-why · Subagent Both about checker 57★ 118≈48 in chat20d ago
continuity-checker haowjy/creative-writing-skills · Subagent Both about checker 63★ 526≈22 in chat17d ago
reality-checker xuanbingbingo/claude-standard-dev-team · Subagent Both about checker 50★ 104≈31 in chat5mo ago