@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 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 @atoll/skill-claude --key <api-key> --org <org-slug>
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atollhq/skill-claude",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Install the Atoll project management skill for Claude Code",
5
5
  "bin": {
6
6
  "skill-claude": "./bin/install.mjs"
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 atoll ...
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