@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 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.2 --base-url https://www.usecoil.com
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.2",
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.2"
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.2
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.2
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 API key ID. |
150
- | `created_by_actor_name` | string/null | API key display name when available. |
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.