# Developer Skill Pack Runbook

This runbook covers the end-to-end Developer Mode flow for Kendr skill packs.

## Local KendrWeb

```bash
cp .env.example .env
docker compose up --build
```

Open:

- Web: `http://127.0.0.1:8080`
- API health: `http://127.0.0.1:8787/api/health`
- Portal: `http://127.0.0.1:8080/portal.html`

Sign in through the portal, then open `user-dashboard.html#developer`.

## Create and Validate

1. Create a new draft in Developer Mode.
2. Fill in slug, label, version, author, tags, `SKILL.md`, and `mcp.json`.
3. Add an optional Python MCP server when the pack needs bundled tools.
4. Save the draft.
5. Confirm validation shows no errors.

For zip uploads:

1. Save the draft once so it has an id.
2. Upload a `.zip` archive using the same skill-pack layout.
3. KendrWeb validates the archive without executing code.

## Private Desktop Test

1. Start Kendr Desktop with `KENDR_WEB_BASE_URL` pointed at the same KendrWeb origin.
2. Sign in to the same Kendr account in Desktop settings.
3. Open Skills.
4. Install the pack from Private developer skills.
5. Run an agentic task that should trigger the skill.
6. Disable the pack and confirm its guidance and MCP tools are no longer advertised.

## Submit For Marketplace

1. Return to `user-dashboard.html#developer`.
2. Validate the pack.
3. Submit for review.
4. The pack is locked while pending.

## Admin Review

1. Sign in as an admin.
2. Open `admin-dashboard.html#developer-skills`.
3. Review owner, author, validation, archive checksum, and metadata.
4. Approve to publish or reject with notes.

Approved packs appear in:

- `GET /api/skills/catalog`
- `GET /api/skills/packs/<slug>/archive`
- `/skills.html`
- Kendr Desktop Marketplace

Rejected packs return to editable state for the owner.

## Production Publishing

Production uses the `developer_skill_packs` Docker volume mounted at `/data/kendr-skill-packs`. Do not store user uploads under the repository `skill-packs/` directory; that directory is for curated packs shipped with the repo.
