Local-first skill manager for humans and coding agents.
简体中文 · Quick Start · Web UI · Agent Usage · Testing
pkmg turns scattered local scripts into a reusable local skill inventory.
It is a lightweight script-layer manager for the local-agent workflow: discover, inspect, edit, version, and run existing skills without turning the stack into a heavy platform.
pkmg is the CLI face of pokemand-go, short for a Go-built "pocket command" manager.
skill is becoming a more natural local pattern for agent workflows.
That helps with locality, but it still leaves one annoying layer unresolved:
- scripts are duplicated across skills and projects
- local capabilities become hard to browse and harder to trust
- once version history matters, ad-hoc files become messy fast
- agents need structured discovery, not "please read this folder"
pkmg sits exactly on that layer.
It is not trying to replace agents, skill files, or project-specific automation. It is a lightweight manager for the script side of local skills: one place to organize them, version them, search them, inspect them, and reuse them across workflows.
- Local-first by default. No registry or cloud dependency is required.
- Agent-friendly from day one. JSON commands expose a stable discovery surface.
- Light enough to stay out of the way. Go backend, embedded page, CDN UI dependencies.
- Version-aware. Script edits automatically produce local snapshots.
- Human-usable. A tiny Web UI gives you create, edit, copy, restore, and folder-open flows.
- Initialize a user-level skill workspace
- Store managed scripts under a dedicated local data directory
- List, search, inspect, and run skills from the CLI
- Emit structured JSON for agent workflows
- Launch a lightweight local Web UI with:
- local skill listing
- search
- create
- edit
- copy
- version switching
- open containing folder
go install github.com/CoderSerio/pokemand-go@latestgit clone https://github.com/CoderSerio/pokemand-go.git
cd pokemand-go
go build -o bin/pkmg .Initialize the workspace:
pkmg initOpen or create a skill script:
pkmg open cleanup.shList skills:
pkmg list
pkmg list --jsonSearch skills:
pkmg search cleanup
pkmg search cleanup --jsonInspect a skill:
pkmg inspect cleanup.sh
pkmg inspect cleanup.sh --jsonRun a skill:
pkmg run cleanup.sh
pkmg run cleanup.sh arg1 arg2Launch the Web UI:
pkmg uiBy default, pkmg uses user-level directories instead of repo-local data/.
- Config root:
os.UserConfigDir()/pkmg - Data root:
PKMG_DATA_DIR, or configureddataPath, oros.UserConfigDir()/pkmg - Scripts root:
<data-root>/scripts - Version snapshots:
<data-root>/.pkmg
Environment overrides:
export PKMG_CONFIG_DIR=/your/custom/config
export PKMG_DATA_DIR=/your/custom/dataThis keeps managed skills outside the repository by default, which is a better fit for reusable local tooling.
- Backend: Go HTTP server + WebSocket command transport
- Frontend: a single embedded page
- UI dependencies: loaded from CDN to keep the binary lean
Current local skill workflow:
- search local skills
- create a new skill from the editor modal
- edit an existing skill with a lightweight code view
- copy a skill with system-style copy naming
- restore an older version
- open the containing folder in the OS file browser
If you are integrating pkmg into an agent workflow, prefer the structured CLI surface first.
Recommended commands:
pkmg list --json
pkmg search "<query>" --json
pkmg inspect "<relative-path>" --json
pkmg run "<relative-path>" [args...]That gives an agent a predictable local capability inventory without scraping the UI.
For repo-specific guidance aimed at agents, see AGENTS.md.
Automated:
go test ./...Quick smoke flow:
go build ./...
pkmg init
pkmg list --json
pkmg ui