kaneolisted
Install: claude install-skill vanducng/skills
# Kaneo
Self-hosted Kaneo (`usekaneo/kaneo`). Prefer REST with an API key. MCP is optional.
Instance values (URL, workspace id, project ids, token env) live in a private
rules file **outside this repo**. This skill ships no hostnames or ids.
```
$HOME/.config/vd/kaneo-rules/<alias>.kaneo-rules.md
```
Copy `references/workspace.kaneo-rules.example.md` to onboard an instance.
Read the whole rules file before any write.
Do not vendor `usekaneo/kaneo` `.agents/skills` - those are Kaneo-the-product
UI skills (animation, design), not tracker ops.
## Auth
1. Load `$HOME/.config/vd/kaneo-rules/<alias>.kaneo-rules.md`.
2. Source its environment file and export the named token env var. Never print it.
3. Send `Authorization: Bearer $TOKEN` on every call. Kaneo also accepts the
same value as `x-api-key`. Create keys under Settings -> Account -> Developer.
Refuse when the rules file or token env is missing.
## REST (default)
Base is the rules `base_url` with no trailing slash. Paths are under `/api`.
Use the task UUID returned by the API for task routes, not the display key such
as `<PROJECT>-123`.
```bash
AUTH=(-H "Authorization: Bearer $TOKEN")
curl -fsS "${AUTH[@]}" "$BASE/api/auth/organization/list"
curl -fsS "${AUTH[@]}" "$BASE/api/project?workspaceId=$WS"
curl -fsS "${AUTH[@]}" "$BASE/api/column/$PROJECT_ID"
curl -fsS "${AUTH[@]}" "$BASE/api/task/tasks/$PROJECT_ID"
curl -fsS "${AUTH[@]}" "$BASE/api/task/$TASK_ID"
```
Common write routes:
| Action | Request |
|---|-