@atollhq/skill-gemini 0.3.0 → 0.4.0
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 +2 -0
- package/package.json +1 -1
- package/skill/SKILL.md +39 -2
- package/skill/references/api-endpoints.md +5 -1
- package/skill/references/api-fields.md +4 -2
package/README.md
CHANGED
|
@@ -57,6 +57,8 @@ atoll auth login --profile agent-b --key sk_atoll_... --org-id org-uuid --projec
|
|
|
57
57
|
atoll --profile agent-b issue list
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
+
Always persist `--org-id` on named profiles, or pass `--org-id` per command. Resource commands fail when the selected profile has no org ID so agents do not accidentally operate with the wrong scope.
|
|
61
|
+
|
|
60
62
|
The companion CLI also supports safer issue removal and upstream feedback with local retry drafts:
|
|
61
63
|
|
|
62
64
|
```bash
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -33,6 +33,26 @@ export ATOLL_API_KEY="sk_atoll_..."
|
|
|
33
33
|
export ATOLL_ORG_ID="..." # UUID of the org the key belongs to
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
For OpenClaw / ClawHub, prefer skill-scoped config in `~/.openclaw/openclaw.json` instead of global shell exports:
|
|
37
|
+
|
|
38
|
+
```json5
|
|
39
|
+
{
|
|
40
|
+
skills: {
|
|
41
|
+
entries: {
|
|
42
|
+
"atoll-api": {
|
|
43
|
+
enabled: true,
|
|
44
|
+
apiKey: "sk_atoll_...",
|
|
45
|
+
env: {
|
|
46
|
+
ATOLL_ORG_ID: "..."
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`apiKey` maps to `ATOLL_API_KEY`; optional defaults such as `ATOLL_PROJECT`, `ATOLL_TEAM`, and `ATOLL_BASE_URL` belong under `env`.
|
|
55
|
+
|
|
36
56
|
**Sanity check** — exercises the org-scoped issues endpoint, not just `/api/auth/me`:
|
|
37
57
|
|
|
38
58
|
```bash
|
|
@@ -72,7 +92,9 @@ atoll auth use agent-a
|
|
|
72
92
|
atoll --profile agent-b issue list
|
|
73
93
|
```
|
|
74
94
|
|
|
75
|
-
Profiles can store default project, team, and base URL values.
|
|
95
|
+
Profiles can store default org ID, project, team, and base URL values. For named profiles, always persist `--org-id` or pass `--org-id` per command. Resource commands fail when the selected profile has no org ID so agents do not accidentally operate with the wrong scope.
|
|
96
|
+
|
|
97
|
+
`atoll issue list` and `atoll issue create` apply the selected default team unless a command-level `--team` override is passed.
|
|
76
98
|
|
|
77
99
|
Common commands:
|
|
78
100
|
|
|
@@ -94,9 +116,13 @@ atoll issue view ATOLL-42 # alias kept for humans
|
|
|
94
116
|
|
|
95
117
|
# Create a task
|
|
96
118
|
atoll issue create --title "Fix login bug" --status todo --priority 1
|
|
119
|
+
atoll issue upsert --match-title --project <project-id> --title "Fix login bug" --status todo
|
|
120
|
+
atoll issue bulk-create --file ./issues.json --continue-on-error
|
|
97
121
|
|
|
98
122
|
# Update a task
|
|
99
123
|
atoll issue update ATOLL-42 --status in_progress
|
|
124
|
+
atoll issue upsert ATOLL-42 --status in_progress
|
|
125
|
+
atoll issue bulk-update --file ./updates.json --dry-run
|
|
100
126
|
|
|
101
127
|
# Assign a task
|
|
102
128
|
atoll issue assign ATOLL-42 --to <user-id>
|
|
@@ -105,6 +131,13 @@ atoll issue assign ATOLL-42 --to self
|
|
|
105
131
|
# Comments
|
|
106
132
|
atoll comment add ATOLL-42 --body "Working on this now"
|
|
107
133
|
|
|
134
|
+
# Dependencies
|
|
135
|
+
atoll dependency bulk-add --file ./dependencies.json --continue-on-error
|
|
136
|
+
|
|
137
|
+
# Graph plans
|
|
138
|
+
atoll plan validate --file ./plan.json
|
|
139
|
+
atoll plan apply --file ./plan.json --dry-run
|
|
140
|
+
|
|
108
141
|
# Safe removal
|
|
109
142
|
atoll issue archive ATOLL-42
|
|
110
143
|
atoll issue unarchive ATOLL-42
|
|
@@ -117,6 +150,7 @@ atoll feedback "The status error should list custom board statuses"
|
|
|
117
150
|
# Projects & milestones
|
|
118
151
|
atoll project list
|
|
119
152
|
atoll milestone list --project <project-id>
|
|
153
|
+
atoll milestone upsert --project <project-id> --name "v1.0" --date 2026-06-01
|
|
120
154
|
```
|
|
121
155
|
|
|
122
156
|
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.
|
|
@@ -127,6 +161,7 @@ CLI JSON conventions:
|
|
|
127
161
|
- List commands return `{ resource, items, total, limit, offset, nextOffset, truncated, hint }`.
|
|
128
162
|
- Diagnostics and errors go to stderr.
|
|
129
163
|
- `atoll agent-context` returns a versioned command/flag manifest and available profile context.
|
|
164
|
+
- `atoll plan validate/apply` consumes `schemaVersion: "atoll.plan.v1"` files with `milestones`, `issues`, `dependencies`, `initiativeLinks`, and `milestoneLinks`; local `key` values can be referenced by `milestoneKey`, `issueKey`, `dependsOn`, `blockedBy`, or `blocks`.
|
|
130
165
|
|
|
131
166
|
## Quick Start — API (for advanced use)
|
|
132
167
|
|
|
@@ -226,6 +261,8 @@ Full endpoint tables and field schemas:
|
|
|
226
261
|
| Comments | POST `.../comments` | GET `.../comments` | PATCH `.../comments/{id}` | DELETE `.../comments/{id}` |
|
|
227
262
|
| Subtasks | POST `.../subtasks` | GET `.../subtasks` | PATCH `.../subtasks/{id}` | DELETE `.../subtasks/{id}` |
|
|
228
263
|
|
|
264
|
+
Initiative create accepts `title` or legacy `name`, plus camelCase aliases `goalId`, `ownerId`, and `targetDate`.
|
|
265
|
+
|
|
229
266
|
All endpoints are under `/api/orgs/{orgId}/...`.
|
|
230
267
|
|
|
231
268
|
† `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`.
|
|
@@ -280,4 +317,4 @@ atoll feedback resend fb_123
|
|
|
280
317
|
- All timestamps are ISO 8601 UTC
|
|
281
318
|
- Board statuses are customizable per project -- query `/board-columns` for available values
|
|
282
319
|
- API changes appear in real-time on the web board
|
|
283
|
-
- List endpoints support `limit` (default 25, max 100) and `offset`
|
|
320
|
+
- List endpoints support `limit` (default 25, max 100), `offset` pagination, and optional `shape=envelope` / `response_shape=cli` for `{ resource, items, total, limit, offset, nextOffset, truncated, hint }`
|
|
@@ -120,6 +120,7 @@ Plan limits are enforced when creating projects, human members, agents/integrati
|
|
|
120
120
|
- `orderDir` -- `asc` or `desc` (default)
|
|
121
121
|
- `limit` -- max results (default 25, max 100)
|
|
122
122
|
- `offset` -- pagination offset
|
|
123
|
+
- `shape=envelope` or `response_shape=cli` -- opt into CLI-compatible list responses: `{ resource, items, total, limit, offset, nextOffset, truncated, hint }`
|
|
123
124
|
|
|
124
125
|
**GET task detail** returns enriched data: `milestone`, `assignee`, `assignees`, `sub_tasks`, `issue_labels`, and `isBlocked`.
|
|
125
126
|
|
|
@@ -207,6 +208,8 @@ Roles: `owner`, `admin`, `member`, `guest`.
|
|
|
207
208
|
| POST | `/api/orgs/{id}/initiatives/{initiativeId}/projects` | Add project to initiative |
|
|
208
209
|
| DELETE | `/api/orgs/{id}/initiatives/{initiativeId}/projects` | Remove project from initiative |
|
|
209
210
|
|
|
211
|
+
Create accepts `title` or legacy `name`, plus camelCase aliases `goalId`, `ownerId`, and `targetDate`.
|
|
212
|
+
|
|
210
213
|
## Initiative Links
|
|
211
214
|
|
|
212
215
|
| Method | Endpoint | Description |
|
|
@@ -328,8 +331,9 @@ Custom statuses per project. Each column defines a valid status value.
|
|
|
328
331
|
| Method | Endpoint | Description |
|
|
329
332
|
|--------|----------|-------------|
|
|
330
333
|
| GET | `/api/orgs/{id}/issues/{issueId}/pr-links` | List linked pull requests |
|
|
334
|
+
| POST | `/api/orgs/{id}/issues/{issueId}/pr-links` | Attach a GitHub PR URL (`{ url }`) |
|
|
331
335
|
|
|
332
|
-
PR links
|
|
336
|
+
Attach PRs manually with a canonical GitHub pull request URL such as `https://github.com/owner/repo/pull/123`; malformed or non-PR URLs return `400`. PR links can also be created automatically via the GitHub webhook integration.
|
|
333
337
|
|
|
334
338
|
## Project Status Updates
|
|
335
339
|
|
|
@@ -129,7 +129,7 @@ Recording a snapshot auto-updates the KPI's `current_value`.
|
|
|
129
129
|
For portfolio-style initiatives (grouping projects):
|
|
130
130
|
```json
|
|
131
131
|
{
|
|
132
|
-
"
|
|
132
|
+
"title": "Q2 Platform Rewrite",
|
|
133
133
|
"description": "Migrate all services to new architecture",
|
|
134
134
|
"owner_id": "member-uuid",
|
|
135
135
|
"start_date": "2026-04-01",
|
|
@@ -137,6 +137,8 @@ For portfolio-style initiatives (grouping projects):
|
|
|
137
137
|
}
|
|
138
138
|
```
|
|
139
139
|
|
|
140
|
+
Use `title` for create/update requests; create also accepts legacy `name`. Atoll keeps the legacy `name` field in sync for compatibility. Create accepts `goalId`, `ownerId`, and `targetDate` aliases for `goal_id`, `owner_id`, and `target_date`.
|
|
141
|
+
|
|
140
142
|
Add/remove projects with `{ "project_id": "uuid" }`.
|
|
141
143
|
|
|
142
144
|
## Automation Rule Fields
|
|
@@ -254,7 +256,7 @@ URL must be HTTPS. Response includes `secret` for HMAC signature verification.
|
|
|
254
256
|
|
|
255
257
|
All endpoints return JSON. Successful: `200` or `201`. Errors: `{ "error": "message" }` with `400`, `401`, `402`, `403`, `404`, `409`, or `500`.
|
|
256
258
|
|
|
257
|
-
|
|
259
|
+
REST list responses use resource-specific keys by default. Main list endpoints support `?shape=envelope` or `?response_shape=cli` to return `{ resource, items, total, limit, offset, nextOffset, truncated, hint }`.
|
|
258
260
|
|
|
259
261
|
## Notes
|
|
260
262
|
|