@atollhq/skill-gemini 0.3.1 → 0.4.1
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
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
|
|
@@ -96,9 +116,13 @@ atoll issue view ATOLL-42 # alias kept for humans
|
|
|
96
116
|
|
|
97
117
|
# Create a task
|
|
98
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
|
|
99
121
|
|
|
100
122
|
# Update a task
|
|
101
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
|
|
102
126
|
|
|
103
127
|
# Assign a task
|
|
104
128
|
atoll issue assign ATOLL-42 --to <user-id>
|
|
@@ -107,6 +131,13 @@ atoll issue assign ATOLL-42 --to self
|
|
|
107
131
|
# Comments
|
|
108
132
|
atoll comment add ATOLL-42 --body "Working on this now"
|
|
109
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
|
+
|
|
110
141
|
# Safe removal
|
|
111
142
|
atoll issue archive ATOLL-42
|
|
112
143
|
atoll issue unarchive ATOLL-42
|
|
@@ -119,6 +150,7 @@ atoll feedback "The status error should list custom board statuses"
|
|
|
119
150
|
# Projects & milestones
|
|
120
151
|
atoll project list
|
|
121
152
|
atoll milestone list --project <project-id>
|
|
153
|
+
atoll milestone upsert --project <project-id> --name "v1.0" --date 2026-06-01
|
|
122
154
|
```
|
|
123
155
|
|
|
124
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.
|
|
@@ -129,6 +161,77 @@ CLI JSON conventions:
|
|
|
129
161
|
- List commands return `{ resource, items, total, limit, offset, nextOffset, truncated, hint }`.
|
|
130
162
|
- Diagnostics and errors go to stderr.
|
|
131
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`.
|
|
165
|
+
|
|
166
|
+
## AI-Assisted Setup
|
|
167
|
+
|
|
168
|
+
When a user needs help setting up Atoll, lean into the AI workflow. Atoll is most useful when the user's AI assistant helps turn messy context into projects, issues, goals, KPIs, and agent instructions.
|
|
169
|
+
|
|
170
|
+
If you are the AI assistant with CLI access, prefer doing the setup directly after confirming the intended org/profile and scope. Start with read-only orientation:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
atoll auth profiles
|
|
174
|
+
atoll heartbeat --json
|
|
175
|
+
atoll issue list --json --limit 10
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
If the user is setting up Atoll in another AI tool, give them a copyable prompt. Keep secrets out of chat: tell the user to run auth commands locally and never ask them to paste `sk_atoll_...` keys into a model conversation unless they explicitly choose that risk.
|
|
179
|
+
|
|
180
|
+
### Prompt: Create the First Board
|
|
181
|
+
|
|
182
|
+
```text
|
|
183
|
+
I am setting up Atoll for my team. Help me create the first project an AI agent could understand.
|
|
184
|
+
Ask me 3-5 questions about the current push, then propose:
|
|
185
|
+
- one project name
|
|
186
|
+
- the outcome this project should drive
|
|
187
|
+
- 3-5 initial issues with clear titles, context, priorities, and owners if known
|
|
188
|
+
- which issue an agent should pick up first and why
|
|
189
|
+
Keep the setup small. I want a useful first board, not a full migration.
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Prompt: Turn a Project Into Issues
|
|
193
|
+
|
|
194
|
+
```text
|
|
195
|
+
I have an Atoll project but need help turning it into actionable issues.
|
|
196
|
+
Interview me about the project, then write 5 issues an AI agent could execute.
|
|
197
|
+
For each issue include:
|
|
198
|
+
- title
|
|
199
|
+
- why it matters
|
|
200
|
+
- acceptance criteria
|
|
201
|
+
- suggested priority
|
|
202
|
+
- any context the agent would need before starting
|
|
203
|
+
Make the issues specific enough that I can paste them into Atoll with minimal editing.
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Prompt: Install and Authenticate the CLI
|
|
207
|
+
|
|
208
|
+
```text
|
|
209
|
+
Help me connect this workspace to Atoll.
|
|
210
|
+
First, explain what the Atoll CLI will let you do and what credentials you need.
|
|
211
|
+
Then walk me through installing @atollhq/cli, adding an agent in Atoll, authenticating with the API key, and running a safe read-only check like `atoll issue list`.
|
|
212
|
+
Do not ask me to paste secrets into chat unless I explicitly choose to. Tell me where to run each command locally.
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Prompt: Run the First Heartbeat
|
|
216
|
+
|
|
217
|
+
```text
|
|
218
|
+
You are helping me set up Atoll for agentic project management.
|
|
219
|
+
Use the Atoll CLI to orient before doing any work.
|
|
220
|
+
Run `atoll heartbeat`, summarize what you can see, identify the highest-leverage next action, and tell me whether you have enough access to list issues and update your assigned work.
|
|
221
|
+
If anything is missing, explain the exact setup step I need to complete in Atoll.
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Prompt: Draft the Strategy Chain
|
|
225
|
+
|
|
226
|
+
```text
|
|
227
|
+
Help me define the strategy chain for my Atoll workspace.
|
|
228
|
+
Ask me what business outcome matters most this month, then propose:
|
|
229
|
+
- one goal with a clear target date
|
|
230
|
+
- 1-2 KPIs that show whether we are on pace
|
|
231
|
+
- one initiative expected to move the KPI
|
|
232
|
+
- 3 issues that belong under that initiative
|
|
233
|
+
Keep it practical. I want the smallest strategy layer that would help an AI agent choose better work.
|
|
234
|
+
```
|
|
132
235
|
|
|
133
236
|
## Quick Start — API (for advanced use)
|
|
134
237
|
|
|
@@ -228,6 +331,8 @@ Full endpoint tables and field schemas:
|
|
|
228
331
|
| Comments | POST `.../comments` | GET `.../comments` | PATCH `.../comments/{id}` | DELETE `.../comments/{id}` |
|
|
229
332
|
| Subtasks | POST `.../subtasks` | GET `.../subtasks` | PATCH `.../subtasks/{id}` | DELETE `.../subtasks/{id}` |
|
|
230
333
|
|
|
334
|
+
Initiative create accepts `title` or legacy `name`, plus camelCase aliases `goalId`, `ownerId`, and `targetDate`.
|
|
335
|
+
|
|
231
336
|
All endpoints are under `/api/orgs/{orgId}/...`.
|
|
232
337
|
|
|
233
338
|
† `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`.
|
|
@@ -282,4 +387,4 @@ atoll feedback resend fb_123
|
|
|
282
387
|
- All timestamps are ISO 8601 UTC
|
|
283
388
|
- Board statuses are customizable per project -- query `/board-columns` for available values
|
|
284
389
|
- API changes appear in real-time on the web board
|
|
285
|
-
- List endpoints support `limit` (default 25, max 100) and `offset`
|
|
390
|
+
- 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
|
|
|
@@ -137,7 +137,7 @@ For portfolio-style initiatives (grouping projects):
|
|
|
137
137
|
}
|
|
138
138
|
```
|
|
139
139
|
|
|
140
|
-
Use `title` for create/update requests; Atoll keeps the legacy `name` field in sync for compatibility.
|
|
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
141
|
|
|
142
142
|
Add/remove projects with `{ "project_id": "uuid" }`.
|
|
143
143
|
|
|
@@ -256,7 +256,7 @@ URL must be HTTPS. Response includes `secret` for HMAC signature verification.
|
|
|
256
256
|
|
|
257
257
|
All endpoints return JSON. Successful: `200` or `201`. Errors: `{ "error": "message" }` with `400`, `401`, `402`, `403`, `404`, `409`, or `500`.
|
|
258
258
|
|
|
259
|
-
|
|
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 }`.
|
|
260
260
|
|
|
261
261
|
## Notes
|
|
262
262
|
|