Skip to content
Back to skills

Forge Registry

ASecurity

User-invoked only: /forge-registry. Builds the opt-in, read-only registry of all Forge projects (status, last run, tickets, ports); manual because it reads other projects.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsnode

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add ForgeyClap/Forge-Core --skill forge-registry --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Forge Registry?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Forge Registry
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/forgeyclap-forge-registry-046548c6/badge)](https://www.skillsdirectory.com/skills/forgeyclap-forge-registry-046548c6)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: forge-registry
description: "User-invoked only: /forge-registry. Builds the opt-in, read-only registry of all Forge projects (status, last run, tickets, ports); manual because it reads other projects."
disable-model-invocation: true
---

# forge-registry — global project registry (opt-in, read-only)

An **opt-in** aggregate across every Forge project on this machine. It never runs automatically and never
changes any project — it only reads and writes one global index.

## When to use
- The owner asks "show me all my Forge projects" / "which projects have open tickets / failing tests".
- Before a portfolio-wide sweep, to see status/ports/last-run at a glance.

## How to run
```
node .claude/forge-bin/forge-registry.cjs scan            # scan ~/Documents, write the registry
node .claude/forge-bin/forge-registry.cjs scan --json     # also print the aggregate to stdout
node .claude/forge-bin/forge-registry.cjs scan --root <dir> --run <run_id>
```
Outputs (global):
- `~/.claude/forge/registry/projects.json` — machine-readable index.
- `~/.claude/forge/registry/index.html` — a self-contained home-view (open it directly in a browser; data
  is inlined, no server needed).

Each record: `project_id, name, path, stack, status, last_run_id, last_run_status, last_run_at,
open_tickets, test_status, port`. `test_status` reads a run's `doctor.json` (from Forge Doctor) when present.

## Hard rules (isolation + honesty)
- **Reads** other projects' `.claude/` read-only (that is the opt-in aggregation job); it **NEVER writes**
  into any scanned project. The only thing written is the global registry dir.
- Every record is secret-redacted before writing (defense in depth) — never persists a raw key.
- Real `DASHBOARD_STATE.json` / `run.json` data only; a missing/malformed file yields honest defaults
  (`unknown`), never a fabricated status. (: the retired per-project server.cjs that used to write
  `DASHBOARD_STATE.json` is removed, so a project synced since then will simply never have one — the same
  honest-default path a project that never started that old dashboard already went through.)
- Opt-in only: it never runs on `require`, only via the `scan` command.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.