A small local dashboard for discovering, searching, enabling, disabling, and safely deleting local AI agent tools such as Codex skills, Claude Code skills, commands, and agents.
简体中文 | English
The app is designed for personal workstations. It scans known local tool folders, builds a searchable index, and opens a browser UI. Generated indexes and local paths stay on your machine and are ignored by Git by default.
- Browser dashboard with search and filters.
- Supports Codex, Claude Code, and generic local skill folders.
- Detects newly added tools on refresh.
- Removes missing tools from the generated overview on refresh.
- Generates invocation prompts for a selected tool.
- Soft enable / disable state stored locally.
- Safe delete: moves a tool to a local backup folder instead of permanently deleting it.
- Restore deleted tools from the dashboard.
- No third-party Python dependencies.
- Windows, macOS, or Linux
- Python 3.10+
The one-click .bat launchers are Windows-specific. On macOS or Linux, use the Python commands below.
Double-click:
open_dashboard.bat
Or run:
python .\tool_registry.py webpython3 tool_registry.py webThen open the local URL printed in the terminal.
On launch or refresh, the registry scans these default locations when they exist:
~/.codex/skills~/.agents/skills~/.claude/skills~/.claude/commands~/.claude/agents~/.claude/plugins~/.codex/plugins/cache
You can scan a custom root:
python tool_registry.py --root /path/to/skills webGenerated local files are written to .tool_registry/:
index.jsonregistry.jsonskills_overview.mdstate.jsondeleted_skills/
These files may contain local paths, so they are excluded by .gitignore.
In the browser dashboard:
- Use the search box to find tools.
- Filter by provider:
codex,claude,agents, orlocal. - Filter by kind:
skill,command, oragent. - Select a tool to view details.
- Enter a task and click
Copy prompt. - Click
EnableorDisableto update local state. - Click
Deleteto move a tool into.tool_registry/deleted_skills/. - Click
Deletedto view and restore deleted backups.
Delete is intentionally conservative. It moves the tool folder or file into a local backup folder, and refuses to delete Codex system skills.
python tool_registry.py refresh
python tool_registry.py list
python tool_registry.py search review
python tool_registry.py show subtitle-refine
python tool_registry.py prompt subtitle-refine --task "Clean this SRT subtitle"
python tool_registry.py disable subtitle-refine
python tool_registry.py enable subtitle-refine
python tool_registry.py export --format overview
python tool_registry.py deleted
python tool_registry.py restore <deleted-backup-id>This repository should not contain personal data. Runtime-generated files may include local filesystem paths and user-specific tool names, so .tool_registry/, dashboard.html, and last_prompt.txt are ignored.
Before publishing your fork, you can run:
git status --ignoredMake sure no generated local data is staged.
MIT
git init
git add .
git commit -m "Initial release"
git branch -M main
git remote add origin https://github.com/<you>/local-tool-registry.git
git push -u origin mainBefore pushing, check:
git status --ignoredGenerated local files should stay ignored.