After harbor init:
pnpm install
pnpm install --dir collector
pnpm collect
pnpm post-collect
pnpm dev
pnpm build
pnpm previewThese scripts expand to:
pnpm collect→node collector/node_modules/agent-skill-harbor-collector/dist/src/runtime/collect-command.jspnpm post-collect→node collector/node_modules/agent-skill-harbor-collector/dist/src/runtime/post-collect-command.jspnpm dev→node node_modules/agent-skill-harbor/dist/src/runtime/dev.jspnpm build→node node_modules/agent-skill-harbor/dist/src/runtime/build.jspnpm preview→node node_modules/agent-skill-harbor/dist/src/runtime/preview.js
If you want to verify generated-project behavior before npm publish, the simplest option is to point dependencies at the local working tree.
In the generated project:
- set
package.jsontofile:/absolute/path/to/agent-skill-harbor - set
collector/package.jsontofile:/absolute/path/to/agent-skill-harbor/collector
Example:
{
"dependencies": {
"agent-skill-harbor": "file:/Users/you/ws/agent-skill-harbor"
}
}{
"dependencies": {
"agent-skill-harbor-collector": "file:/Users/you/ws/agent-skill-harbor/collector"
}
}Then rebuild the local packages and reinstall them in the generated project:
cd /absolute/path/to/agent-skill-harbor
pnpm cli:build
pnpm --dir collector build
cd /absolute/path/to/generated-project
pnpm install
pnpm install --dir collector- Node.js 24+
- pnpm 10+
git clone https://github.com/skill-mill/agent-skill-harbor.git
cd agent-skill-harbor
pnpm install
pnpm --dir collector install
pnpm setup:dev
pnpm cli:build
pnpm --dir collector build
pnpm devThe development server starts at http://localhost:5173.
pnpm setup:dev prepares the repository root as a demo project by:
- copying
templates/init/.env.exampleto.env.exampleand.env - downloading demo
config/,data/, andguide/
pnpm verify
pnpm --dir collector verify
pnpm build
pnpm cli:build
pnpm --dir collector build
pnpm storybook
pnpm storybook:build
pnpm dev
pnpm build
pnpm preview
GH_TOKEN=$(gh auth token) node collector/dist/src/runtime/collect-command.js
node collector/dist/src/runtime/post-collect-command.js --collect-id <collect_id>agent-skill-harbor/
├── bin/ # harbor CLI entrypoint
├── src/ # CLI + web sources
├── collector/ # collector + post-collect package
│ ├── bin/
│ ├── src/
│ └── plugins/
├── templates/ # init/setup templates
├── static/
├── guide/
├── docs/
├── config/
└── data/
- root package (
agent-skill-harbor) owns CLI + web collector/package (agent-skill-harbor-collector) owns collect + post-collect- optional plugin manifests live under
collector/plugins/<plugin-id>/ - collector core and optional plugin dependencies remain separate install surfaces
- built-in
notify-slackis part of collector core
The reusable workflow still uses two jobs:
collectpost_collect
This is intentional for:
- artifact boundary
- easier reruns of post-collect only
- clearer security separation between GitHub collection and optional plugin dependencies