Borrowing it
Nothing to install: this file belongs to ai-ventures-hub/shelf. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ai-ventures-hub/shelf/main/.cursor/skills/shelf-register/SKILL.mdgit clone --depth 1 https://github.com/ai-ventures-hub/shelfWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ai-ventures-hub/shelf/shelf-register)<a href="https://agentmods.dev/skills/ai-ventures-hub/shelf/shelf-register"><img src="https://agentmods.dev/badge/skills/ai-ventures-hub/shelf/shelf-register/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ai-ventures-hub/shelf/shelf-register"><img src="https://agentmods.dev/badge/skills/ai-ventures-hub/shelf/shelf-register.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.01531 |
| Opus 5 | $0.00028 | $0.00766 |
| Sonnet 5 | $0.00011 | $0.00306 |
| Haiku 4.5 | $0.00006 | $0.00153 |
Grade A, and why
shelf-register scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Register a project in Shelf
Shelf is a macOS personal command center for local tools. After a project is built, register it so the user can launch it later without remembering commands.
Prerequisites
- Shelf MCP server configured in the client (Shelf → MCP Connections → Connect Claude / Cursor / Codex)
- Prefer absolute project paths
Fast path (preferred)
Call shelf_register_project with the absolute projectPath — it inspects,
saves (idempotently: re-registering the same folder updates instead of
duplicating), and launches in one call with onPortConflict: "reassign" by
default. Read the outcome:
launched— done; report the tool id and URL.needs_setup— dependencies missing (e.g. nonode_modules). Ask the user, then call again withrunSetup: true; setup never runs without that flag.saved_needs_review— detection was not confident. Fall back to the manual workflow below to confirm the launch command, thenshelf_upsert_tool.saved_launch_failed— inspectstate.code(e.g.deps_missing,port_timeout,bad_launch_command) andshelf_get_logs, then fix.- Use
dryRun: trueto preview the gate without saving anything.
After a successful register, still add capabilities and verify agentAccess
via shelf_upsert_tool when the tool offers agent interfaces — the fast path
does not auto-generate capability phrases.
Manual workflow (fine-grained control)
- Call
shelf_inspect_projectwith the absoluteprojectPathfor suggested name, launchCommand, port/url, tags, and DESIGN.md signals. Reviewsignals/confidencebefore trusting the draft. - Check for a project-local DESIGN.md (Community bridge for agents):
- Prefer the inspect result (
designMd), or callshelf_get_design_mdwith the toolidorprojectPath. - When
found: true, read it and follow its tokens/guidance for UI work in that project. - Resource URI:
shelf://tools/{id}/design-md - Missing DESIGN.md is normal — do not treat as an error.
- Prefer the inspect result (
- Confirm the port (web apps):
- Inspect already prefers a free port when the framework default is busy; still call
shelf_find_free_portif you need more candidates. - Keep
portandurlin sync (http://127.0.0.1:<port>/).
- Inspect already prefers a free port when the framework default is busy; still call
- Draft a Shelf tool config (start from inspect suggestions):
- name: short product name
- description: one or two sentences
- projectPath: absolute folder path
- launchCommand:
- Python with venv →
.venv/bin/python app.py(not barepython3when Flask/deps live in.venv) - Node / Next →
npm run dev -- --port <port>(orpnpm/yarn/bunequivalent) - Vite →
npm run dev -- --port <port> - Docker →
docker compose up
- Python with venv →
- port / url when it is a local web app (must match the launch flags)
- tags: small set (e.g.
Image Tools,Client Projects) - capabilities: short task phrases an agent can match (e.g.
batch optimize images,convert images to WebP) - agentAccess: declare only real CLI, MCP, or HTTP API interfaces the tool itself exposes; mark
setupRequiredhonestly. Never include credentials.shelf_inspect_projectsuggests detected interfaces in itsagentAccessresponse field — verify before saving. Omitting it is fine for GUI-only tools and limits NOTHING:shelf_launch_tool/shelf_stop_toolwork for every registered tool. Amanual_onlyreadiness means "no child interface declared", never "cannot launch". - notes: inputs, common errors, last known working setup
- Show the draft to the user and get confirmation before writing.
- Call MCP
shelf_upsert_toolwith the confirmed fields.- Read
warnings/suggestedPortin the response. If present, re-upsert on the suggested port (or passautoFixPort: true) — do not treat a busy-port upsert as fully healthy.
- Read
- Optionally call
shelf_launch_tool— it works regardless of readiness state oragentAccess. Prefershelf_stop_toolwhen finished so the GUI is not left with an orphaned listener. If you need a second instance while the port is busy, useonPortConflict: "reassign"(Shelf picks a free port, rewrites launch/url, and persists). Default launch adopts an already-listening port instead of erroring. - Verify with
shelf_get_logs/shelf_get_status. - Tell the user the tool id and how to find it in the Shelf GUI library.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 101 lines · 57 tokens per session scan A 63f40127de38
shelf-register is a skill published in the GitHub repository ai-ventures-hub/shelf (2 stars, last pushed 14d ago), licensed MIT. It adds 57 tokens to every session and 1,531 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
help-flow
Help about Rosetta: explains capabilities and usage.
external-lib-flow
Workflow for onboarding an external private library so AI can use it without source access.
modernization-flow
Workflow for converting, modernizing, upgrading, or re-architecting code (e.g. C++→Java, monolith→microservices), etc.
coding-flow
Light coding workflow: features, fixes, refactors, unit tests, etc.; scales small to large.
adhoc-flow
Workflow for the rest of tasks: lightweight documentation, build, track, synchronize, etc.
coding-agents-prompting-flow
Workflow for authoring and adapting AI-agent prompts: skills, agents, workflows, rules, etc.