agent-skill-harbor
v0.15.6
Published
Skill governance for companies. Skill discovery for teams.
Maintainers
Readme
Agent Skill Harbor
Skill Governance for companies.
Skill Discovery for teams.
Agent Skill Harbor catalogs Agent Skills (SKILL.md) across your GitHub organization and publishes a browsable internal catalog.
Overview
- Governance: mark skills as recommended, discouraged, or prohibited
- Provenance: track copied or installed skills back to their origin
- Git-native: collected data is stored in
data/as YAML/JSON and committed back to Git - Backend-less: the catalog site is a prerendered web app
- Workflow-friendly: collection and post-collection processing run as separate jobs
Demo site:
- https://skill-mill.github.io/agent-skill-harbor-demo/
Quick Start
npx agent-skill-harbor init my-skill-harbor
cd my-skill-harbor
pnpm install
pnpm install --dir collector
# edit .env and set GH_ORG
gh auth login && GH_TOKEN=$(gh auth token) pnpm collect
# Or edit .env and set GH_TOKEN, then run:
# pnpm collect
pnpm devpnpm install installs the root package (agent-skill-harbor) for CLI + web.pnpm install --dir collector installs the collector runtime used by pnpm collect and pnpm post-collect.
CLI Commands
When installed, the main CLI is available as harbor or agent-skill-harbor.
| Command | Description |
| -------------------------- | -------------------------------------- |
| harbor init [dir] | Scaffold a new project |
| harbor setup <plugin-id> | Scaffold optional plugin runtime files |
Daily project operations are exposed through the generated root scripts:
pnpm collect
pnpm post-collect
pnpm dev
pnpm build
pnpm previewUnder the hood, generated projects call the packaged runtime entry modules directly:
node collector/node_modules/agent-skill-harbor-collector/dist/src/runtime/collect-command.jsnode collector/node_modules/agent-skill-harbor-collector/dist/src/runtime/post-collect-command.jsnode node_modules/agent-skill-harbor/dist/src/runtime/dev.jsnode node_modules/agent-skill-harbor/dist/src/runtime/build.jsnode node_modules/agent-skill-harbor/dist/src/runtime/preview.js
Organization Setup
- Create a new project with
npx agent-skill-harbor init. - Push it to a private repository in your organization.
- Configure
GH_TOKENas a GitHub Actions secret. - Enable GitHub Pages or Cloudflare Pages.
- Run the generated
CollectSkillsworkflow once.
The generated CollectSkills workflow is a thin caller pinned to Harbor's reusable workflow at wf-v0.
Inside the reusable workflow:
collectinstalls onlycollector/core dependencies and runs collectionpost_collectrestores the collected artifact, installscollector/core dependencies again, then installs only enabled optional plugin manifests- the final
data/directory is committed back to the repository
This keeps GitHub collection and optional post-collect dependencies structurally separate.
See Organization Setup for details.
Project Structure
my-skill-harbor/
├── .env
├── config/
│ ├── harbor.yaml
│ └── governance.yaml
├── collector/
│ ├── package.json
│ └── plugins/
│ └── <plugin-id>/
├── data/
│ ├── assets/
│ ├── collects.yaml
│ ├── plugins/
│ ├── skills.yaml
│ └── skills/
├── guide/
├── .github/workflows/
└── package.jsonNotes:
- root
package.jsondepends only onagent-skill-harbor collector/package.jsonis a Harbor-managed runtime manifest foragent-skill-harbor-collector- optional plugin manifests and example user-defined plugins live under
collector/plugins/<plugin-id>/
Post-Collect Plugins
Built-in plugins are enabled from config/harbor.yaml.
Examples:
builtin.detect-driftbuiltin.notify-slackbuiltin.audit-promptfoo-securitybuiltin.audit-skill-scanner
Optional runtime files are scaffolded with harbor setup:
harbor setup example-user-defined-plugin
harbor setup builtin.audit-promptfoo-security
harbor setup builtin.audit-skill-scannerGenerated files go under collector/plugins/<plugin-id>/.
See Post-Collect Plugins.
Documentation
License
MIT
