@usecoil/skill-claude 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/README.md +1 -1
- package/package.json +2 -2
- package/skill/SKILL.md +14 -2
- package/skill/references/api-endpoints.md +31 -0
- package/skill/references/api-fields.md +23 -2
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ installed CLI and installs the compatible `@usecoil/cli` package when
|
|
|
7
7
|
`coil` is not already available:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npx --yes @usecoil/skill-claude@0.1.
|
|
10
|
+
npx --yes @usecoil/skill-claude@0.1.4 --base-url https://www.usecoil.com
|
|
11
11
|
coil config set-base-url https://www.usecoil.com --profile prod
|
|
12
12
|
printf '%s' "$COIL_API_KEY" | coil auth login --profile prod --key -
|
|
13
13
|
coil --profile prod agent-context --json
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usecoil/skill-claude",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Claude Code skill package for Coil agent workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"coilCompatibility": {
|
|
30
30
|
"cli": "0.1.x",
|
|
31
|
-
"preferredVersion": "0.1.
|
|
31
|
+
"preferredVersion": "0.1.5"
|
|
32
32
|
},
|
|
33
33
|
"coilRuntime": {
|
|
34
34
|
"name": "claude",
|
package/skill/SKILL.md
CHANGED
|
@@ -16,7 +16,7 @@ it can do:
|
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
if ! command -v coil >/dev/null 2>&1; then
|
|
19
|
-
npm install --global @usecoil/cli@0.1.
|
|
19
|
+
npm install --global @usecoil/cli@0.1.5
|
|
20
20
|
fi
|
|
21
21
|
coil --version
|
|
22
22
|
```
|
|
@@ -77,7 +77,7 @@ The runtime-specific installer or registry handles placement; Coil operations
|
|
|
77
77
|
always use the same public JSON CLI:
|
|
78
78
|
|
|
79
79
|
```bash
|
|
80
|
-
npm install --global @usecoil/cli@0.1.
|
|
80
|
+
npm install --global @usecoil/cli@0.1.5
|
|
81
81
|
coil config set-base-url https://www.usecoil.com --profile prod
|
|
82
82
|
printf '%s' "$COIL_API_KEY" | coil auth login --profile prod --key -
|
|
83
83
|
coil --profile prod agent-context --json
|
|
@@ -124,6 +124,18 @@ result has `reconciliation_required`, relay the required reconciliation action
|
|
|
124
124
|
verbatim and do not retry the webhook. A policy-review action means a human
|
|
125
125
|
must decide the governance policy; it is not an instruction to weaken policy.
|
|
126
126
|
|
|
127
|
+
Provider integration status is a specific success-envelope case. When the
|
|
128
|
+
current credential-scoped `execution_readiness` contains a `blocked` scope,
|
|
129
|
+
`GET /api/integrations/{provider}` returns the same required Coil action at
|
|
130
|
+
`meta.human_action` and the temporary compatibility alias `data.human_action`.
|
|
131
|
+
The current CLI promotes one copy to top-level `human_action`; older clients
|
|
132
|
+
that unwrap `data` still retain the alias. Relay the Coil `url` verbatim even
|
|
133
|
+
when `execution_readiness[].actionUrl` is `null`. A non-null provider
|
|
134
|
+
`actionUrl` is a separate safe external provider-authorization link. Do not
|
|
135
|
+
invent, rewrite, or treat either URL as approval or authority. Automatic
|
|
136
|
+
`open`, `half_open`, `degraded`, `ready`, and `unknown` states do not require
|
|
137
|
+
this handoff.
|
|
138
|
+
|
|
127
139
|
## Common Workflows
|
|
128
140
|
|
|
129
141
|
### Orient
|
|
@@ -11,6 +11,12 @@ Content-Type: application/json
|
|
|
11
11
|
|
|
12
12
|
Coil organization API keys (`ak_...`) are accepted by agent-compatible routes.
|
|
13
13
|
|
|
14
|
+
Coil first-party credentials authenticate durable named agents. The agent ID is
|
|
15
|
+
the machine actor ID; the credential ID identifies only one credential.
|
|
16
|
+
Existing credentials were identity-preserving backfilled. Credential
|
|
17
|
+
administration requires a human organization admin, and permanent credential
|
|
18
|
+
plaintext is returned only once.
|
|
19
|
+
|
|
14
20
|
## Auth and Context
|
|
15
21
|
|
|
16
22
|
| Method | Path | Notes |
|
|
@@ -20,6 +26,20 @@ Coil organization API keys (`ak_...`) are accepted by agent-compatible routes.
|
|
|
20
26
|
| DELETE | `/api/auth/api-keys/{id}` | Revokes a Coil organization API key for human org admins. |
|
|
21
27
|
| POST | `/api/auth/verify-key` | Verifies a Coil organization API key without exposing it. |
|
|
22
28
|
|
|
29
|
+
Named-agent management is human-admin only:
|
|
30
|
+
|
|
31
|
+
| Method | Path | CLI |
|
|
32
|
+
| --- | --- | --- |
|
|
33
|
+
| GET | `/api/agents` | `coil agents list --json` |
|
|
34
|
+
| POST | `/api/agents` | `coil agents create --name ... --json` |
|
|
35
|
+
| GET | `/api/agents/{id}` | `coil agents view <agent-id> --json` |
|
|
36
|
+
| POST | `/api/agents/{id}/setup` | `coil agents setup <agent-id> --runtime ... --profile ... --json` |
|
|
37
|
+
| POST | `/api/agents/{id}/credentials` | `coil agents issue-credential <agent-id> --json` |
|
|
38
|
+
| DELETE | `/api/agents/{id}/credentials/{credentialId}` | `coil agents revoke-credential <agent-id> <credential-id> --json` |
|
|
39
|
+
|
|
40
|
+
`--replace` changes the generated local setup command. It does not revoke an
|
|
41
|
+
existing credential. Replacement credentials keep the same durable agent ID.
|
|
42
|
+
|
|
23
43
|
CLI discovery wrapper:
|
|
24
44
|
|
|
25
45
|
```bash
|
|
@@ -130,6 +150,17 @@ under `error.details.human_action`.
|
|
|
130
150
|
| GET | `/api/integrations/smartlead/campaigns/sequences?campaignId={id}` | `coil smartlead sequences --campaign <id> --json` |
|
|
131
151
|
| POST | `/api/integrations/smartlead/send` | `coil smartlead send <scrape-id> --campaign <id> --json` |
|
|
132
152
|
|
|
153
|
+
`GET /api/integrations/{provider}` includes current credential-scoped
|
|
154
|
+
`execution_readiness`. For a `blocked` scope, the response returns one
|
|
155
|
+
server-generated absolute Coil operator URL at canonical `meta.human_action`
|
|
156
|
+
and the temporary compatibility alias `data.human_action`. Relay that Coil URL
|
|
157
|
+
verbatim even when `execution_readiness[].actionUrl` is `null`. The CLI exposes
|
|
158
|
+
one top-level `human_action` in JSON and an explicit text-mode URL. A safe,
|
|
159
|
+
non-null `execution_readiness[].actionUrl` remains a separate provider-side
|
|
160
|
+
authorization link and must not be rewritten or treated as Coil approval.
|
|
161
|
+
`open`, `half_open`, `degraded`, `ready`, and `unknown` states do not include a
|
|
162
|
+
required human action.
|
|
163
|
+
|
|
133
164
|
## Feedback
|
|
134
165
|
|
|
135
166
|
| Method | Path | CLI |
|
|
@@ -53,6 +53,23 @@ URL explicitly. Do not invent
|
|
|
53
53
|
one when the server does not return it. Legacy Actor Lab `approval_url` remains
|
|
54
54
|
available during the compatibility window.
|
|
55
55
|
|
|
56
|
+
### Provider integration status
|
|
57
|
+
|
|
58
|
+
`GET /api/integrations/{provider}` reports the current credential-scoped
|
|
59
|
+
`execution_readiness` records. If a current scope is `blocked`, the raw API
|
|
60
|
+
success envelope contains the same `Human action` object at both
|
|
61
|
+
`meta.human_action` (canonical) and `data.human_action` (temporary compatibility
|
|
62
|
+
alias for clients that unwrap `data`). The current CLI exposes one copy as
|
|
63
|
+
top-level `human_action` in JSON and prints its label and URL explicitly in
|
|
64
|
+
text mode.
|
|
65
|
+
|
|
66
|
+
`execution_readiness[].actionUrl` remains the separately validated provider
|
|
67
|
+
authorization URL and may be `null`; it must not be copied into the Coil
|
|
68
|
+
action. Relay the absolute Coil URL verbatim even when the provider URL is
|
|
69
|
+
`null`. Only `blocked` requires this operator handoff. `open`, `half_open`,
|
|
70
|
+
`degraded`, `ready`, and `unknown` retain automatic retry or reconciliation
|
|
71
|
+
semantics and do not advertise required human intervention.
|
|
72
|
+
|
|
56
73
|
## Scrape
|
|
57
74
|
|
|
58
75
|
| Field | Type | Notes |
|
|
@@ -146,8 +163,8 @@ Supported operators include equality, contains, empty/not-empty, booleans, and d
|
|
|
146
163
|
| `scrape_id` | string/null | Required for scrape-scoped automation. |
|
|
147
164
|
| `status` | `draft`/`published`/`disabled` | API-key agents create drafts. |
|
|
148
165
|
| `created_by_actor_type` | `human`/`machine` | Actor attribution. |
|
|
149
|
-
| `created_by_actor_id` | string | User ID or
|
|
150
|
-
| `created_by_actor_name` | string/null |
|
|
166
|
+
| `created_by_actor_id` | string | User ID or durable Coil agent ID. |
|
|
167
|
+
| `created_by_actor_name` | string/null | Durable agent display name when available. |
|
|
151
168
|
| `published_by_user_id` | string/null | Human admin publisher. |
|
|
152
169
|
| `published_at` | ISO string/null | Publication timestamp. |
|
|
153
170
|
|
|
@@ -225,5 +242,9 @@ Settings are stored in org-scoped JSON. Common keys:
|
|
|
225
242
|
## Agent Caveats
|
|
226
243
|
|
|
227
244
|
- API-key agents currently behave as org members, not org admins.
|
|
245
|
+
- A first-party credential authenticates a durable named agent. Credential IDs and agent IDs are separate; existing credentials were identity-preserving backfilled.
|
|
246
|
+
- Browser credential checking does not update `last_used_at` and does not prove that an external agent runtime is connected.
|
|
247
|
+
- Replacement uses temporary credential overlap and explicit old-credential revocation.
|
|
248
|
+
- Clerk organization API keys remain a separate compatibility path.
|
|
228
249
|
- Admin-gated actions include destructive scrape/automation operations, automation policy management, and automation publishing.
|
|
229
250
|
- Prefer `coil feedback` for platform friction discovered while operating Coil.
|