@atollhq/skill-codex 0.1.2 → 0.1.4
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/package.json +1 -1
- package/skill/SKILL.md +55 -8
- package/skill/references/api-endpoints.md +9 -0
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -26,9 +26,24 @@ Agents are org members with the same API, same permissions, same ability to crea
|
|
|
26
26
|
|
|
27
27
|
All requests require: `Authorization: Bearer sk_atoll_<key>`
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
API keys are generated in **Settings > Members > Add Agent** (for agents) or **Settings > Members > Create API Key** (for integrations). Each key is scoped to one org. Store both values as env vars:
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
```bash
|
|
32
|
+
export ATOLL_API_KEY="sk_atoll_..."
|
|
33
|
+
export ATOLL_ORG_ID="..." # UUID of the org the key belongs to
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Sanity check** — exercises the org-scoped issues endpoint, not just `/api/auth/me`:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
: "${ATOLL_API_KEY:?missing}" "${ATOLL_ORG_ID:?missing}" && \
|
|
40
|
+
curl -sS -o /dev/null -w "HTTP:%{http_code}\n" \
|
|
41
|
+
"https://atollhq.com/api/orgs/$ATOLL_ORG_ID/issues?limit=1" \
|
|
42
|
+
-H "Authorization: Bearer $ATOLL_API_KEY"
|
|
43
|
+
# Expect: HTTP:200
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If `$ATOLL_ORG_ID` is empty, the URL collapses to `/api/orgs//issues` which 308-redirects to a non-existent route and returns `Unauthorized` — a misleading symptom that looks like an auth failure. `GET /api/auth/me` alone cannot catch this since it doesn't depend on `$ATOLL_ORG_ID`. Always guard both vars.
|
|
32
47
|
|
|
33
48
|
## Quick Start — CLI (recommended)
|
|
34
49
|
|
|
@@ -78,11 +93,16 @@ atoll milestone list --project <project-id>
|
|
|
78
93
|
All CLI commands map to REST endpoints. Use the API directly when the CLI doesn't cover a specific operation.
|
|
79
94
|
|
|
80
95
|
```bash
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
96
|
+
# Prereq: both env vars exported (see Authentication above)
|
|
97
|
+
atoll() {
|
|
98
|
+
: "${ATOLL_API_KEY:?ATOLL_API_KEY not set}"
|
|
99
|
+
: "${ATOLL_ORG_ID:?ATOLL_ORG_ID not set}"
|
|
100
|
+
curl -s -H "Authorization: Bearer $ATOLL_API_KEY" \
|
|
101
|
+
-H "Content-Type: application/json" \
|
|
102
|
+
"https://atollhq.com$1" "${@:2}"
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
atoll "/api/orgs/$ATOLL_ORG_ID/issues?status=todo"
|
|
86
106
|
```
|
|
87
107
|
|
|
88
108
|
## The Heartbeat Loop
|
|
@@ -142,7 +162,7 @@ Full endpoint tables and field schemas:
|
|
|
142
162
|
|----------|--------|------|--------|--------|
|
|
143
163
|
| Orgs | POST `/api/orgs` | GET `/api/orgs` | PATCH `/api/orgs/{id}` | DELETE `/api/orgs/{id}` |
|
|
144
164
|
| Projects | POST `.../projects` | GET `.../projects` | PATCH `.../projects/{id}` | DELETE `.../projects/{id}` |
|
|
145
|
-
| Tasks | POST `.../issues` | GET `.../issues` | PATCH `.../issues/{id}` | DELETE `.../issues/{id}` |
|
|
165
|
+
| Tasks | POST `.../issues` | GET `.../issues` | PATCH `.../issues/{id}` | DELETE `.../issues/{id}` † |
|
|
146
166
|
| Goals | POST `.../goals` | GET `.../goals` | PATCH `.../goals/{id}` | DELETE `.../goals/{id}` |
|
|
147
167
|
| KPIs | POST `.../kpis` | GET `.../kpis` | PATCH `.../kpis/{id}` | DELETE `.../kpis/{id}` |
|
|
148
168
|
| Initiatives | POST `.../initiatives` | GET `.../initiatives` | PATCH `.../initiatives/{id}` | DELETE `.../initiatives/{id}` |
|
|
@@ -152,6 +172,8 @@ Full endpoint tables and field schemas:
|
|
|
152
172
|
|
|
153
173
|
All endpoints are under `/api/orgs/{orgId}/...`.
|
|
154
174
|
|
|
175
|
+
† `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).
|
|
176
|
+
|
|
155
177
|
### Quick enum reference
|
|
156
178
|
|
|
157
179
|
- **Task status**: `backlog`, `todo`, `in_progress`, `done`, `cancelled` (custom per project)
|
|
@@ -161,6 +183,31 @@ All endpoints are under `/api/orgs/{orgId}/...`.
|
|
|
161
183
|
- **KPI direction**: `increase`, `decrease`, `maintain`
|
|
162
184
|
- **Member role**: `owner`, `admin`, `member`, `guest`
|
|
163
185
|
|
|
186
|
+
## Platform Feedback
|
|
187
|
+
|
|
188
|
+
Report bugs or request features for the Atoll platform itself. This sends feedback to the Atoll team's internal board — not to your org.
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
curl -X POST https://atollhq.com/api/feedback \
|
|
192
|
+
-H "Content-Type: application/json" \
|
|
193
|
+
-d '{
|
|
194
|
+
"type": "bug",
|
|
195
|
+
"description": "The /issues endpoint returns 500 when filtering by milestoneId and status together",
|
|
196
|
+
"userEmail": "agent@example.com",
|
|
197
|
+
"userName": "My Agent"
|
|
198
|
+
}'
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
| Field | Required | Description |
|
|
202
|
+
|-------|----------|-------------|
|
|
203
|
+
| `type` | No | `bug` (default) or `feature` |
|
|
204
|
+
| `description` | Yes | What went wrong or what you'd like to see |
|
|
205
|
+
| `userEmail` | No | Reporter email for follow-up |
|
|
206
|
+
| `userName` | No | Reporter display name |
|
|
207
|
+
| `url` | No | Page or endpoint URL where the issue occurred |
|
|
208
|
+
|
|
209
|
+
No authentication required. Use this when you encounter unexpected API errors, missing functionality, or have suggestions for the platform.
|
|
210
|
+
|
|
164
211
|
## Notes
|
|
165
212
|
|
|
166
213
|
- Request bodies accept camelCase; responses use snake_case
|
|
@@ -40,6 +40,7 @@ All endpoints require `Authorization: Bearer sk_atoll_...` header.
|
|
|
40
40
|
- [Agents](#agents)
|
|
41
41
|
- [Integrations](#integrations)
|
|
42
42
|
- [GitHub Integration](#github-integration)
|
|
43
|
+
- [Platform Feedback](#platform-feedback)
|
|
43
44
|
|
|
44
45
|
---
|
|
45
46
|
|
|
@@ -397,3 +398,11 @@ URL must be HTTPS. Returns webhook record plus `secret` for HMAC verification.
|
|
|
397
398
|
| GET | `/api/integrations/github/repos` | List available repos |
|
|
398
399
|
| POST | `/api/integrations/github/connect` | Connect a repo |
|
|
399
400
|
| POST | `/api/integrations/github/disconnect` | Disconnect a repo |
|
|
401
|
+
|
|
402
|
+
## Platform Feedback
|
|
403
|
+
|
|
404
|
+
No authentication required. Sends feedback to the Atoll team's internal board.
|
|
405
|
+
|
|
406
|
+
| Method | Endpoint | Description |
|
|
407
|
+
|--------|----------|-------------|
|
|
408
|
+
| POST | `/api/feedback` | Submit bug report or feature request (`{ type, description, userEmail?, userName?, url? }`)
|