@atollhq/skill-codex 0.1.8 → 0.1.10

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 CHANGED
@@ -8,6 +8,8 @@ Gives your Codex agent the ability to manage tasks, goals, KPIs, initiatives, mi
8
8
 
9
9
  ```bash
10
10
  npx @atollhq/skill-codex --key sk_atoll_... --org your-org-id
11
+ # or
12
+ ATOLL_API_KEY=sk_atoll_... ATOLL_ORG_ID=your-org-id npx @atollhq/skill-codex
11
13
  ```
12
14
 
13
15
  Get an API key from **Settings > Members > Add Agent** (or **Create API Key** for integrations) in the Atoll app.
@@ -29,6 +31,7 @@ Once installed, ask Codex anything task-related:
29
31
  "List my Atoll tasks"
30
32
  "Create an issue to fix the login bug, priority 1"
31
33
  "What goals are off pace?"
34
+ "Check my Atoll heartbeat"
32
35
  "Move ATOLL-42 to in_progress"
33
36
  ```
34
37
 
@@ -40,7 +43,9 @@ For terminal-first work, see [`@atollhq/cli`](https://www.npmjs.com/package/@ato
40
43
  npm install -g @atollhq/cli
41
44
  atoll auth login --key sk_atoll_...
42
45
  atoll config set-org your-org-slug
43
- atoll issue list
46
+ atoll heartbeat
47
+ atoll issue list --json
48
+ atoll agent-context
44
49
  ```
45
50
 
46
51
  For multiple agents or orgs, use CLI auth profiles:
@@ -51,6 +56,14 @@ atoll auth login --profile agent-b --key sk_atoll_... --org client
51
56
  atoll --profile agent-b issue list
52
57
  ```
53
58
 
59
+ The companion CLI also supports safer issue removal and local/upstream feedback:
60
+
61
+ ```bash
62
+ atoll issue archive ATOLL-42
63
+ atoll issue delete ATOLL-42 --dry-run
64
+ atoll feedback "The heartbeat output should include blocked issue details"
65
+ ```
66
+
54
67
  ## License
55
68
 
56
69
  MIT
package/bin/install.mjs CHANGED
@@ -20,10 +20,11 @@ function parseArgs(argv) {
20
20
  function printUsage() {
21
21
  console.log(`
22
22
  Usage: npx @atollhq/skill-codex --key <api-key> --org <org-id>
23
+ or: ATOLL_API_KEY=<api-key> ATOLL_ORG_ID=<org-id> npx @atollhq/skill-codex
23
24
 
24
25
  Options:
25
- --key Atoll API key (sk_atoll_...)
26
- --org Organization ID
26
+ --key Atoll API key (sk_atoll_...). Defaults to ATOLL_API_KEY.
27
+ --org Organization ID. Defaults to ATOLL_ORG_ID.
27
28
  --help Show this help message
28
29
 
29
30
  Installs the Atoll integration for Codex CLI:
@@ -34,11 +35,13 @@ Installs the Atoll integration for Codex CLI:
34
35
  }
35
36
 
36
37
  const args = parseArgs(process.argv)
38
+ args.key ??= process.env.ATOLL_API_KEY
39
+ args.org ??= process.env.ATOLL_ORG_ID
37
40
 
38
41
  if (args.help) { printUsage(); process.exit(0) }
39
42
 
40
43
  if (!args.key || !args.org) {
41
- console.error('Error: --key and --org are required\n')
44
+ console.error('Error: provide --key and --org, or set ATOLL_API_KEY and ATOLL_ORG_ID\n')
42
45
  printUsage()
43
46
  process.exit(1)
44
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atollhq/skill-codex",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Install the Atoll project management integration for Codex CLI",
5
5
  "bin": {
6
6
  "skill-codex": "bin/install.mjs"
package/skill/SKILL.md CHANGED
@@ -75,12 +75,20 @@ atoll --profile agent-b issue list
75
75
  Common commands:
76
76
 
77
77
  ```bash
78
+ # Agent orientation
79
+ atoll heartbeat
80
+ atoll heartbeat --signals-only
81
+ atoll heartbeat --severity critical
82
+ atoll heartbeat --json
83
+ atoll agent-context
84
+
78
85
  # List tasks
79
- atoll issue list
80
- atoll issue list --status todo --priority 1
86
+ atoll issue list --json
87
+ atoll issue list --status todo --priority 1 --limit 25
81
88
 
82
89
  # View a task
83
- atoll issue view ATOLL-42
90
+ atoll issue get ATOLL-42
91
+ atoll issue view ATOLL-42 # alias kept for humans
84
92
 
85
93
  # Create a task
86
94
  atoll issue create --title "Fix login bug" --status todo --priority 1
@@ -95,11 +103,29 @@ atoll issue assign ATOLL-42 --to self
95
103
  # Comments
96
104
  atoll comment add ATOLL-42 --body "Working on this now"
97
105
 
106
+ # Safe removal
107
+ atoll issue archive ATOLL-42
108
+ atoll issue unarchive ATOLL-42
109
+ atoll issue delete ATOLL-42 --dry-run
110
+ atoll issue delete ATOLL-42 --force
111
+
112
+ # Report friction to Atoll maintainers
113
+ atoll feedback "The status error should list custom board statuses"
114
+
98
115
  # Projects & milestones
99
116
  atoll project list
100
117
  atoll milestone list --project <project-id>
101
118
  ```
102
119
 
120
+ Prefer the CLI for routine task operations, heartbeat checks, comments, and feedback. Use direct API calls when the CLI does not expose the needed endpoint yet.
121
+
122
+ CLI JSON conventions:
123
+
124
+ - Use `--json` for machine-readable output.
125
+ - List commands return `{ resource, items, total, limit, offset, nextOffset, truncated, hint }`.
126
+ - Diagnostics and errors go to stderr.
127
+ - `atoll agent-context` returns a versioned command/flag manifest and available profile context.
128
+
103
129
  ## Quick Start — API (for advanced use)
104
130
 
105
131
  All CLI commands map to REST endpoints. Use the API directly when the CLI doesn't cover a specific operation.
@@ -119,7 +145,7 @@ atoll "/api/orgs/$ATOLL_ORG_ID/issues?status=todo"
119
145
 
120
146
  ## The Heartbeat Loop
121
147
 
122
- The primary pattern for autonomous agents. `GET /api/orgs/{id}/heartbeat` returns a computed briefing:
148
+ The primary pattern for autonomous agents. Prefer `atoll heartbeat --json` when the CLI is available; it wraps `GET /api/orgs/{id}/heartbeat` and returns the same computed briefing:
123
149
 
124
150
  - **Goal status** with days remaining
125
151
  - **KPI pace**: `pace_needed` vs `pace_actual`, trend (`accelerating`/`decelerating`/`flat`), staleness
@@ -129,6 +155,15 @@ The primary pattern for autonomous agents. `GET /api/orgs/{id}/heartbeat` return
129
155
 
130
156
  Signal types: `kpi_off_pace`, `kpi_stale`, `issue_stale`, `issue_blocked`, `milestone_overdue`, `initiative_stalled`, `webhook_failing`. Severity: `info`, `warning`, `critical`.
131
157
 
158
+ Useful CLI forms:
159
+
160
+ ```bash
161
+ atoll heartbeat
162
+ atoll heartbeat --signals-only
163
+ atoll heartbeat --severity critical
164
+ atoll heartbeat --json
165
+ ```
166
+
132
167
  **The agent loop:**
133
168
  1. Call heartbeat
134
169
  2. Read signals (highest severity first)
@@ -141,7 +176,8 @@ Signal types: `kpi_off_pace`, `kpi_stale`, `issue_stale`, `issue_blocked`, `mile
141
176
  ### Pick up and complete a task
142
177
 
143
178
  ```bash
144
- atoll issue list --status todo --assignee self # find assigned work
179
+ atoll heartbeat --signals-only # orient first
180
+ atoll issue list --status todo --assignee self --json # find assigned work
145
181
  atoll issue update ATOLL-42 --status in_progress # start work
146
182
  atoll comment add ATOLL-42 --body "Progress update…" # report progress
147
183
  atoll issue update ATOLL-42 --status done # complete
@@ -190,7 +226,7 @@ Full endpoint tables and field schemas:
190
226
 
191
227
  All endpoints are under `/api/orgs/{orgId}/...`.
192
228
 
193
- † `DELETE /issues/{id}` requires `owner` or `admin` role — any caller without that role (including member-role agents) gets `403`. If you just need to remove a task, use `POST /api/orgs/{orgId}/issues/{issueId}/archive` (soft delete, no role gate); reverse with `DELETE` on the same path (unarchive).
229
+ † `DELETE /issues/{id}` requires `owner` or `admin` role — any caller without that role (including member-role agents) gets `403`. If you just need to remove a task, use `POST /api/orgs/{orgId}/issues/{issueId}/archive` (soft delete, no role gate); reverse with `DELETE` on the same path (unarchive). In the CLI, prefer `atoll issue archive <id>`. Permanent `atoll issue delete <id>` requires `--force` and supports `--dry-run`.
194
230
 
195
231
  ### Quick enum reference
196
232
 
@@ -226,6 +262,14 @@ curl -X POST https://atollhq.com/api/feedback \
226
262
 
227
263
  No authentication required. Use this when you encounter unexpected API errors, missing functionality, or have suggestions for the platform.
228
264
 
265
+ The CLI can record the same feedback locally, and optionally submit upstream:
266
+
267
+ ```bash
268
+ atoll feedback "The /issues endpoint returns 500 when filtering by milestoneId and status together"
269
+ atoll feedback --send "heartbeat should emit issue_blocked signals directly"
270
+ atoll feedback list --json
271
+ ```
272
+
229
273
  ## Notes
230
274
 
231
275
  - Request bodies accept camelCase; responses use snake_case
@@ -231,6 +231,14 @@ Returns computed briefing with goal status, KPI pace/trend, initiative progress,
231
231
 
232
232
  Signal types: `kpi_off_pace`, `kpi_stale`, `issue_stale`, `issue_blocked`, `milestone_overdue`, `initiative_stalled`, `webhook_failing`. Severity: `info`, `warning`, `critical`.
233
233
 
234
+ CLI equivalent:
235
+
236
+ ```bash
237
+ atoll heartbeat --json
238
+ atoll heartbeat --signals-only
239
+ atoll heartbeat --severity critical
240
+ ```
241
+
234
242
  ## Activity
235
243
 
236
244
  | Method | Endpoint | Description |
@@ -419,3 +427,11 @@ No authentication required. Sends feedback to the Atoll team's internal board.
419
427
  | Method | Endpoint | Description |
420
428
  |--------|----------|-------------|
421
429
  | POST | `/api/feedback` | Submit bug report or feature request (`{ type, description, userEmail?, userName?, url? }`)
430
+
431
+ CLI equivalent:
432
+
433
+ ```bash
434
+ atoll feedback "Describe the bug or feature request"
435
+ atoll feedback --send "Submit upstream as well"
436
+ atoll feedback list --json
437
+ ```