instar-projectlisted
Install: claude install-skill JKHeadley/instar
# /project — Multi-Spec Project Surface
> Spec: `docs/specs/PROJECT-SCOPE-SPEC.md` § Phase 1.7.
> A project bundles many feature initiatives into rounds. The dashboard
> Projects tab, the session-start digest, and the compaction-recovery
> hook keep them visible. This skill is the user-invocable surface for
> inspecting and driving them.
---
## Setup — read auth + port once
```bash
AUTH=$(python3 -c "import json; print(json.load(open('.instar/config.json')).get('authToken',''))" 2>/dev/null)
PORT=$(python3 -c "import json; print(json.load(open('.instar/config.json')).get('port',4040))" 2>/dev/null)
```
Every endpoint except `/health` requires `Authorization: Bearer $AUTH`.
---
## `/project create <plan-doc-path>`
Register a new project from a plan-doc markdown file. The plan-doc
schema is `PlanDocParser`'s contract (spec § Phase 1.6).
**Pre-flight first** (no rate-limit cost):
```bash
curl -sS -X POST -H "Authorization: Bearer $AUTH" \
-H "Content-Type: application/json" \
-d "{\"planDocPath\": \"$(realpath PLAN_DOC.md)\"}" \
"http://localhost:${PORT}/projects/validate"
```
Returns `200 {ok, project, children, errors}`. Iterate until `ok:true`.
**Then create:**
```bash
curl -sS -X POST -H "Authorization: Bearer $AUTH" \
-H "Content-Type: application/json" \
-d "{\"planDocPath\": \"$(realpath PLAN_DOC.md)\"}" \
"http://localhost:${PORT}/projects"
```
- `201` — `{project, children}`.
- `400` — validation failed; surface each error.
- `409` — slug alrea