@atollhq/skill-claude 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/bin/install.mjs +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +19 -1
- package/skill/references/api-endpoints.md +13 -0
- package/skill/references/api-fields.md +19 -1
package/README.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# @atollhq/skill-claude
|
|
2
|
+
|
|
3
|
+
Install the [Atoll](https://atollhq.com) project management skill for [Claude Code](https://docs.anthropic.com/en/docs/claude-code).
|
|
4
|
+
|
|
5
|
+
Gives your Claude Code agent the ability to manage tasks, goals, KPIs, initiatives, milestones, comments, and webhooks on Atoll — the same API surface a human teammate uses.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx @atollhq/skill-claude --key sk_atoll_... --org your-org-slug
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Get an API key from **Settings > Members > Add Agent** (or **Create API Key** for integrations) in the Atoll app.
|
|
14
|
+
|
|
15
|
+
This does two things:
|
|
16
|
+
|
|
17
|
+
1. Copies the skill into `~/.claude/skills/atoll-api/`
|
|
18
|
+
2. Writes `ATOLL_API_KEY` and `ATOLL_ORG_SLUG` into `~/.claude/settings.json` under `env`
|
|
19
|
+
|
|
20
|
+
Restart Claude Code and the `atoll-api` skill is available.
|
|
21
|
+
|
|
22
|
+
## Using the skill
|
|
23
|
+
|
|
24
|
+
Once installed, ask Claude anything task-related:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
"List my Atoll tasks"
|
|
28
|
+
"Create an issue to fix the login bug, priority 1"
|
|
29
|
+
"What goals are off pace?"
|
|
30
|
+
"Move ATOLL-42 to in_progress"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The skill also documents how to talk to the Atoll API directly via curl, in case your agent needs to.
|
|
34
|
+
|
|
35
|
+
## Companion CLI
|
|
36
|
+
|
|
37
|
+
For terminal-first work, see [`@atollhq/cli`](https://www.npmjs.com/package/@atollhq/cli):
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install -g @atollhq/cli
|
|
41
|
+
atoll auth login --key sk_atoll_...
|
|
42
|
+
atoll config set-org your-org-slug
|
|
43
|
+
atoll issue list
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
For multiple agents or orgs, use CLI auth profiles:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
atoll auth login --profile agent-a --key sk_atoll_... --org acme
|
|
50
|
+
atoll auth login --profile agent-b --key sk_atoll_... --org client
|
|
51
|
+
atoll --profile agent-b issue list
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## License
|
|
55
|
+
|
|
56
|
+
MIT
|
package/bin/install.mjs
CHANGED
|
@@ -23,7 +23,7 @@ function parseArgs(argv) {
|
|
|
23
23
|
|
|
24
24
|
function printUsage() {
|
|
25
25
|
console.log(`
|
|
26
|
-
Usage: npx @
|
|
26
|
+
Usage: npx @atollhq/skill-claude --key <api-key> --org <org-slug>
|
|
27
27
|
|
|
28
28
|
Options:
|
|
29
29
|
--key Atoll API key (sk_atoll_...)
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -50,7 +50,7 @@ If `$ATOLL_ORG_ID` is empty, the URL collapses to `/api/orgs//issues` which 308-
|
|
|
50
50
|
Install globally or use via npx:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
npm install -g @atollhq/cli # or: npx
|
|
53
|
+
npm install -g @atollhq/cli # or: npx @atollhq/cli ...
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Configure once:
|
|
@@ -60,6 +60,18 @@ atoll auth login --key sk_atoll_...
|
|
|
60
60
|
atoll config set-org my-org
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
For machines or agents that need multiple credentials, use auth profiles:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
atoll auth login --profile agent-a --key sk_atoll_... --org acme
|
|
67
|
+
atoll auth login --profile agent-b --key sk_atoll_... --org client
|
|
68
|
+
atoll auth profiles
|
|
69
|
+
atoll auth use agent-a
|
|
70
|
+
|
|
71
|
+
# Run one command as a specific profile
|
|
72
|
+
atoll --profile agent-b issue list
|
|
73
|
+
```
|
|
74
|
+
|
|
63
75
|
Common commands:
|
|
64
76
|
|
|
65
77
|
```bash
|
|
@@ -150,6 +162,12 @@ Every KPI snapshot can be attributed to an initiative or issue, building a recor
|
|
|
150
162
|
|
|
151
163
|
`POST /api/orgs/{id}/issues/bulk` with `{ "issues": [{...}, ...] }` (max 50).
|
|
152
164
|
|
|
165
|
+
### Billing and plan limits
|
|
166
|
+
|
|
167
|
+
Owners/admins can read billing state with `GET /api/orgs/{id}/billing` and start Stripe checkout with `POST /api/orgs/{id}/billing/checkout` using `{ "plan": "starter" }` or `{ "plan": "team" }`.
|
|
168
|
+
|
|
169
|
+
Creation endpoints can return `402` with `code: "PLAN_LIMIT_REACHED"` when an org reaches limits for humans, agents/integrations, active projects, or active issues.
|
|
170
|
+
|
|
153
171
|
## API Reference
|
|
154
172
|
|
|
155
173
|
Full endpoint tables and field schemas:
|
|
@@ -10,6 +10,7 @@ All endpoints require `Authorization: Bearer sk_atoll_...` header.
|
|
|
10
10
|
- [Projects](#projects)
|
|
11
11
|
- [Project Members](#project-members)
|
|
12
12
|
- [Project Teams](#project-teams)
|
|
13
|
+
- [Billing](#billing)
|
|
13
14
|
- [Tasks (Issues)](#tasks-issues)
|
|
14
15
|
- [Dependencies](#dependencies)
|
|
15
16
|
- [Comments](#comments)
|
|
@@ -85,6 +86,18 @@ Access levels: `view`, `edit`, `admin` (default: `view`).
|
|
|
85
86
|
| POST | `/api/orgs/{id}/projects/{projectId}/teams` | Add team (`{ teamId }`) |
|
|
86
87
|
| DELETE | `/api/orgs/{id}/projects/{projectId}/teams?teamId=...` | Remove team |
|
|
87
88
|
|
|
89
|
+
## Billing
|
|
90
|
+
|
|
91
|
+
Org billing is managed through Stripe. Owners/admins can create checkout and billing portal sessions.
|
|
92
|
+
|
|
93
|
+
| Method | Endpoint | Description |
|
|
94
|
+
|--------|----------|-------------|
|
|
95
|
+
| GET | `/api/orgs/{id}/billing` | Get plan, status, usage, limits, and subscription summary |
|
|
96
|
+
| POST | `/api/orgs/{id}/billing/checkout` | Create Stripe Checkout Session (`{ plan: "starter" \| "team" }`) |
|
|
97
|
+
| POST | `/api/orgs/{id}/billing/portal` | Create Stripe Billing Portal Session |
|
|
98
|
+
|
|
99
|
+
Plan limits are enforced when creating projects, human members, agents/integrations, and active tasks. Limit errors return `402` with `code: "PLAN_LIMIT_REACHED"`.
|
|
100
|
+
|
|
88
101
|
## Tasks (Issues)
|
|
89
102
|
|
|
90
103
|
| Method | Endpoint | Description |
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
- [Webhook Fields](#webhook-fields)
|
|
13
13
|
- [Heartbeat Response](#heartbeat-response)
|
|
14
14
|
- [Analytics Response](#analytics-response)
|
|
15
|
+
- [Plan Limit Errors](#plan-limit-errors)
|
|
15
16
|
- [Enums](#enums)
|
|
16
17
|
|
|
17
18
|
---
|
|
@@ -53,6 +54,23 @@ All fields work on both POST (create) and PATCH (update).
|
|
|
53
54
|
```
|
|
54
55
|
Returns `{ issues: [...], count: N }` (201). Max 50 per request.
|
|
55
56
|
|
|
57
|
+
## Plan Limit Errors
|
|
58
|
+
|
|
59
|
+
Creation endpoints may return `402` when an org reaches its billing plan limit:
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"error": "Plan limit reached",
|
|
64
|
+
"code": "PLAN_LIMIT_REACHED",
|
|
65
|
+
"resource": "activeProjects",
|
|
66
|
+
"plan": "free",
|
|
67
|
+
"limit": 2,
|
|
68
|
+
"usage": 2
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
`resource` is one of `humans`, `agents`, `activeProjects`, or `activeIssues`.
|
|
73
|
+
|
|
56
74
|
## Goal Fields
|
|
57
75
|
|
|
58
76
|
```json
|
|
@@ -234,7 +252,7 @@ URL must be HTTPS. Response includes `secret` for HMAC signature verification.
|
|
|
234
252
|
|
|
235
253
|
## Response Format
|
|
236
254
|
|
|
237
|
-
All endpoints return JSON. Successful: `200` or `201`. Errors: `{ "error": "message" }` with `400`, `401`, `403`, `404`, `409`, or `500`.
|
|
255
|
+
All endpoints return JSON. Successful: `200` or `201`. Errors: `{ "error": "message" }` with `400`, `401`, `402`, `403`, `404`, `409`, or `500`.
|
|
238
256
|
|
|
239
257
|
List responses include `total`, `limit`, `offset` for pagination.
|
|
240
258
|
|