Skip to content
Agentmart
Submit a tool

list-specs

List SpecForge specs — either every spec in the store (mode "all") or just the specs attached to this session (mode "mine").

Skill by NitinJ

IndexedMIT★ 5
Write a review

Chalk Labs

Need help deploying list-specs?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/nitinj-list-specs

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

List SpecForge specs — either every spec in the store (mode "all") or just the specs attached to this session (mode "mine"). Use when the user asks to "list specs", "show all specs", "what specs do I have open", or wants to open/detach a spec. Starts or reuses the daemon, prints a table, and offers to open/detach.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/list-specs

Tools it pre-approves 3

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Read,
  • Bash,
  • AskUserQuestion

What's inside

Skill name
list-specs
Description
List SpecForge specs — either every spec in the store (mode "all") or just the specs attached to this session (mode "mine"). Use when the user asks to "list specs", "show all specs", "what specs do I have open", or wants to open/detach a spec. Starts or reuses the daemon, prints a table, and offers to open/detach.
License
MIT
Allowed tools
Read,, Bash,, AskUserQuestion
Instructions
70 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (1)

  • SKILL.md

SKILL.md (first lines)

# list-specs

`${CLAUDE_PLUGIN_ROOT}` below denotes the installed plugin directory. Claude and
Pi export it; Codex provides the exact value in SpecForge SessionStart context.
Substitute that value in every path and shell command.

## Run the CLI

- **All specs** (mode "all"): `node "${CLAUDE_PLUGIN_ROOT}/lib/specforge-cli.mjs" listall`
- **This session's specs** (mode "mine"): `node "${CLAUDE_PLUGIN_ROOT}/lib/specforge-cli.mjs" list`

The default output is compact: one line per spec — `id  status  type  attached  title` —
where `attached` reads `mine` when it names the calling session (so the picker can
classify rows from the lines alone), a session id when another session holds it,
or `free`. `listall` adds `index: <url>` (and ensures the daemon is up). Pass
`--json` for the machine shape: `session` plus `rows`
(`{ id, title, type, status, attached }`, where `attached` is a session id or
`free`). `list` reads straight from the store (no daemon needed). The picker's
actions handle the daemon themselves: `open` starts it when needed and returns a
URL, while `detach` is store-only — so both work whether or not the daemon was
already running.

## Present the result

Render `rows` as a compact, numbered table — **# · id · title · type · status · attached** —
showing `attached` as `free`, `mine` (this session), or `held: <first 8 of the id>`. For
"all", also print `indexUrl` (the browser index links each row to `/spec/<id>`).

## Then offer to open / detach (the picker)

Classify each row (the compact output renders `mine` for the calling session;
`--json` output carries the raw session id instead):

| `attached` | meaning | action |
| --- | --- | --- |
| `free` | unattached | **open** (attach to this session) |
| `mine` (compact), or equals `session` (`--json`) | attached here | **detach** |
| any other id | held by another live session | none (show it greyed) |

If at least one row is actionable, call **AskUserQuestion** ("Open or detach a spec?").
AskUserQuestion allows **4 options max**, so offer up to **3** actionable specs plus a
**"Just viewing"** option (4 total):

- free specs → label `Open · <title>` (use `<id8>` if untitled)
- this session's specs → label `Detach · <title>`
- always include **"Just viewing"** (does nothing)

The user can also pick **"Other"** (always available) and type any id from the table.
If more than 3 rows are actionable, show the 3 most useful (free specs first) and note
that "Other" accepts any id.

Act on the choice:

- **Open `<id>`** → `node "${CLAUDE_PLUGIN_ROOT}/lib/specforge-cli.mjs" open <id>`
  (attaches it to this session; fails if another live session holds it). Print the
  returned `url`. In Codex, finish the turn; the host-owned watcher delivers browser
  comments automatically. Do not start a watcher. In Claude Code, arm one background
  `review-wait` if none is running; Pi delivery is extension-managed.
- **Detach `<id>`** → `node "${CLAUDE_PLUGIN_ROOT}/lib/specforge-cli.mjs" detach <id>`.
  Confirm it's freed.
- **Other `<id>`** → open it if free, detach it if it's attached here, else say it's
  held by another session.
- **Just viewing** → stop, no action.

Skip the picker when nothing is actionable. In "mine" mode with no rows, say no spec
is attached to this session and point to the list-all command to open one — that is
`/specforge:listall` under Claude Code and `/spec-listall` under Pi. Name the one
your harness registers; the other does not exist there.

From NitinJ/specforge, MIT.

Signals

Stars
5
Forks
0
Open issues
1
Last commit (this folder)
Sep 9, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from NitinJ

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get list-specs running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying list-specs?

CallGet help
Cite this page

list-specs skill. Agent Mart. https://agentmart.dev/skills/nitinj-list-specs (last updated 2026-10-24)