image-skill 0.1.1 → 0.1.3
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 -1
- package/bin/image-skill.mjs +45 -8
- package/cli.md +77 -10
- package/llms.txt +17 -11
- package/package.json +1 -1
- package/skill.md +19 -5
package/README.md
CHANGED
|
@@ -16,7 +16,8 @@ Install the executable CLI from npm:
|
|
|
16
16
|
```bash
|
|
17
17
|
npm install -g image-skill
|
|
18
18
|
image-skill doctor --json
|
|
19
|
-
image-skill signup --agent --human-email
|
|
19
|
+
image-skill signup --agent --human-email CONTACT_OR_SPONSOR_EMAIL --agent-name creative-agent --runtime openclaw --save --json
|
|
20
|
+
image-skill credits methods --json
|
|
20
21
|
image-skill credits packs list --json
|
|
21
22
|
image-skill credits quote --pack starter-500 --payment-method stripe_checkout --idempotency-key first-topup-001 --json
|
|
22
23
|
image-skill credits buy --provider stripe --quote-id quote_... --idempotency-key first-buy-001 --json
|
package/bin/image-skill.mjs
CHANGED
|
@@ -7,13 +7,17 @@ import { Readable } from "node:stream";
|
|
|
7
7
|
import { pipeline } from "node:stream/promises";
|
|
8
8
|
import os from "node:os";
|
|
9
9
|
|
|
10
|
-
const VERSION = "0.1.
|
|
10
|
+
const VERSION = "0.1.3";
|
|
11
11
|
const DEFAULT_API_BASE_URL = "https://api.image-skill.com";
|
|
12
12
|
const DEFAULT_CONFIG_PATH = join(
|
|
13
13
|
process.env.XDG_CONFIG_HOME ?? join(os.homedir(), ".config"),
|
|
14
14
|
"image-skill",
|
|
15
15
|
"config.json",
|
|
16
16
|
);
|
|
17
|
+
const SIGNUP_SUGGESTED_COMMAND =
|
|
18
|
+
"image-skill signup --agent --human-email CONTACT_OR_SPONSOR_EMAIL --agent-name NAME --runtime RUNTIME --save --json";
|
|
19
|
+
const SIGNUP_CONTACT_GUIDANCE =
|
|
20
|
+
"Use --human-email for the accountable contact or sponsor inbox for this restricted agent identity. If no individual human is in the loop, use a durable operator/team/agent inbox that can receive future claim, billing, or abuse notices; do not invent a person or use a throwaway inbox.";
|
|
17
21
|
|
|
18
22
|
const argv = process.argv.slice(2);
|
|
19
23
|
const result = await main(argv);
|
|
@@ -41,6 +45,7 @@ async function main(rawArgv) {
|
|
|
41
45
|
"auth logout",
|
|
42
46
|
"whoami",
|
|
43
47
|
"usage quota",
|
|
48
|
+
"credits methods",
|
|
44
49
|
"credits packs list",
|
|
45
50
|
"credits quote",
|
|
46
51
|
"credits buy",
|
|
@@ -172,9 +177,17 @@ async function signup(argv) {
|
|
|
172
177
|
const agentName = flagString(args, "agent-name");
|
|
173
178
|
const runtime = flagString(args, "runtime");
|
|
174
179
|
if (humanEmail === null || agentName === null || runtime === null) {
|
|
175
|
-
return
|
|
180
|
+
return failure(
|
|
176
181
|
"image-skill signup",
|
|
177
|
-
|
|
182
|
+
2,
|
|
183
|
+
"INVALID_ARGUMENTS",
|
|
184
|
+
`signup requires --human-email, --agent-name, and --runtime. ${SIGNUP_CONTACT_GUIDANCE}`,
|
|
185
|
+
false,
|
|
186
|
+
{
|
|
187
|
+
required_flags: ["--human-email", "--agent-name", "--runtime"],
|
|
188
|
+
suggested_command: SIGNUP_SUGGESTED_COMMAND,
|
|
189
|
+
docs_url: "https://image-skill.com/cli.md#image-skill-signup-agent",
|
|
190
|
+
},
|
|
178
191
|
);
|
|
179
192
|
}
|
|
180
193
|
const save = flagBool(args, "save");
|
|
@@ -203,8 +216,7 @@ async function signup(argv) {
|
|
|
203
216
|
"signup --save requires a returned hosted token",
|
|
204
217
|
true,
|
|
205
218
|
{
|
|
206
|
-
suggested_command:
|
|
207
|
-
"image-skill signup --agent --human-email EMAIL --agent-name NAME --runtime RUNTIME --save --json",
|
|
219
|
+
suggested_command: SIGNUP_SUGGESTED_COMMAND,
|
|
208
220
|
docs_url: "https://image-skill.com/cli.md#image-skill-signup-agent",
|
|
209
221
|
},
|
|
210
222
|
);
|
|
@@ -335,6 +347,32 @@ async function quota(argv) {
|
|
|
335
347
|
|
|
336
348
|
async function credits(argv) {
|
|
337
349
|
const [subcommand, ...rest] = argv;
|
|
350
|
+
if (subcommand === "methods") {
|
|
351
|
+
const args = parseArgs(rest);
|
|
352
|
+
const unknownFlags = [...args.flags.keys()].filter(
|
|
353
|
+
(flag) => !["json", "api-base-url"].includes(flag),
|
|
354
|
+
);
|
|
355
|
+
if (!flagBool(args, "json")) {
|
|
356
|
+
return invalid(
|
|
357
|
+
"image-skill credits methods",
|
|
358
|
+
"credits methods requires --json",
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
if (args.positionals.length > 0 || unknownFlags.length > 0) {
|
|
362
|
+
return invalid(
|
|
363
|
+
"image-skill credits methods",
|
|
364
|
+
unknownFlags.length > 0
|
|
365
|
+
? `unsupported flags for credits methods: ${unknownFlags.map((flag) => `--${flag}`).join(", ")}`
|
|
366
|
+
: "credits methods does not accept positional arguments",
|
|
367
|
+
);
|
|
368
|
+
}
|
|
369
|
+
return apiRequest({
|
|
370
|
+
command: "image-skill credits methods",
|
|
371
|
+
method: "GET",
|
|
372
|
+
apiBaseUrl: apiBase(args),
|
|
373
|
+
path: "/v1/payment-methods",
|
|
374
|
+
});
|
|
375
|
+
}
|
|
338
376
|
if (subcommand === "packs") {
|
|
339
377
|
const [packsSubcommand, ...packsRest] = rest;
|
|
340
378
|
if (packsSubcommand !== "list") {
|
|
@@ -483,7 +521,7 @@ async function credits(argv) {
|
|
|
483
521
|
}
|
|
484
522
|
return invalid(
|
|
485
523
|
"image-skill credits",
|
|
486
|
-
"credits requires packs, quote, buy, status, or fake-purchase",
|
|
524
|
+
"credits requires methods, packs, quote, buy, status, or fake-purchase",
|
|
487
525
|
);
|
|
488
526
|
}
|
|
489
527
|
|
|
@@ -1171,8 +1209,7 @@ async function resolveToken(args, options = {}) {
|
|
|
1171
1209
|
"hosted command requires auth; run signup --save, set IMAGE_SKILL_TOKEN, or pass --token-stdin",
|
|
1172
1210
|
false,
|
|
1173
1211
|
{
|
|
1174
|
-
suggested_command:
|
|
1175
|
-
"image-skill signup --agent --human-email EMAIL --agent-name NAME --runtime RUNTIME --save --json",
|
|
1212
|
+
suggested_command: SIGNUP_SUGGESTED_COMMAND,
|
|
1176
1213
|
docs_url: "https://image-skill.com/cli.md#image-skill-signup-agent",
|
|
1177
1214
|
},
|
|
1178
1215
|
),
|
package/cli.md
CHANGED
|
@@ -66,6 +66,14 @@ permissions and redacts it from stdout. Use `--show-token` only when the agent
|
|
|
66
66
|
runtime has a separate secret store and needs the raw token once. Do not paste
|
|
67
67
|
tokens into prompts, logs, issue text, or feedback.
|
|
68
68
|
|
|
69
|
+
In this preview contract, `--human-email` is the accountable contact or sponsor
|
|
70
|
+
inbox for the restricted agent identity. If no individual human is in the loop,
|
|
71
|
+
use a durable operator/team/agent inbox that can receive future claim, billing,
|
|
72
|
+
or abuse notices. Do not invent a person or use a throwaway inbox.
|
|
73
|
+
`example.invalid` addresses are only appropriate inside documented harness or
|
|
74
|
+
proof runs. Agent-contact-backed signup is planned, but the currently published
|
|
75
|
+
CLI uses `--human-email`.
|
|
76
|
+
|
|
69
77
|
For shell-based agent runtimes, store the token outside prompts and then expose
|
|
70
78
|
it as:
|
|
71
79
|
|
|
@@ -109,6 +117,58 @@ curl -sS https://api.image-skill.com/v1/quota \
|
|
|
109
117
|
-H "authorization: Bearer $IMAGE_SKILL_TOKEN"
|
|
110
118
|
```
|
|
111
119
|
|
|
120
|
+
### `image-skill credits methods`
|
|
121
|
+
|
|
122
|
+
Machine-readable payment rail discovery. Use this before quoting or buying so
|
|
123
|
+
agents can tell which rails are available, whether live money can move, whether
|
|
124
|
+
browser/human action is required, and which command to try next.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
image-skill credits methods --json
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Minimum success data shape:
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"contract_version": "image-skill.payment-methods.v1",
|
|
135
|
+
"credit_unit_cents": 1,
|
|
136
|
+
"currency": "USD",
|
|
137
|
+
"quote_endpoint": "/v1/credit-quotes",
|
|
138
|
+
"packs_endpoint": "/v1/credit-packs",
|
|
139
|
+
"status_endpoint": "/v1/credit-purchases/status",
|
|
140
|
+
"methods": [
|
|
141
|
+
{
|
|
142
|
+
"method_id": "fake",
|
|
143
|
+
"available": true,
|
|
144
|
+
"live_money": false,
|
|
145
|
+
"buyer_modes": ["agent_only", "hybrid", "human_only"],
|
|
146
|
+
"requires_browser": false,
|
|
147
|
+
"purchase_endpoint": "/v1/credit-purchases"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"method_id": "stripe_checkout",
|
|
151
|
+
"available": true,
|
|
152
|
+
"live_money": true,
|
|
153
|
+
"buyer_modes": ["hybrid", "human_only"],
|
|
154
|
+
"requires_browser": true,
|
|
155
|
+
"default_pack_id": "starter-500",
|
|
156
|
+
"purchase_endpoint": "/v1/credit-purchases/stripe-checkout-sessions"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
`available` is environment-dependent. `available:false` means the rail is known
|
|
163
|
+
but not currently usable in the queried environment; read `unavailable_reason`
|
|
164
|
+
and `recovery`.
|
|
165
|
+
|
|
166
|
+
Hosted API equivalent:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
curl -sS https://api.image-skill.com/v1/payment-methods
|
|
170
|
+
```
|
|
171
|
+
|
|
112
172
|
### `image-skill credits packs list`
|
|
113
173
|
|
|
114
174
|
Lists the recommended Image Skill credit packs for Stripe Checkout. Packs are
|
|
@@ -767,15 +827,22 @@ Activity `type` values are stable public contract values. Do not infer new
|
|
|
767
827
|
event names from provider responses or telemetry logs; use only the registry
|
|
768
828
|
below.
|
|
769
829
|
|
|
770
|
-
| Event type | Subject | Operation | Emitted when
|
|
771
|
-
| ---------------------------------- | ---------- | ----------- |
|
|
772
|
-
| `job.completed` | `job` | create/edit | A hosted create or edit job reaches a terminal state.
|
|
773
|
-
| `asset.created` | `asset` | create/edit | A hosted create or edit produces an output asset.
|
|
774
|
-
| `asset.uploaded` | `asset` | upload | A public edit workflow uploads or imports input media.
|
|
775
|
-
| `usage.credit_consumed` | `usage` | usage | A creative operation records a preview-credit entry.
|
|
776
|
-
| `feedback.created` | `feedback` | feedback | Hosted agent feedback is accepted into product memory.
|
|
777
|
-
| `
|
|
778
|
-
| `
|
|
830
|
+
| Event type | Subject | Operation | Emitted when | Stable links |
|
|
831
|
+
| ---------------------------------- | ---------- | ----------- | ----------------------------------------------------------------- | ------------------------------------------------------- |
|
|
832
|
+
| `job.completed` | `job` | create/edit | A hosted create or edit job reaches a terminal state. | `job_id`, `asset_ids`, `usage_event_id` |
|
|
833
|
+
| `asset.created` | `asset` | create/edit | A hosted create or edit produces an output asset. | `job_id`, `asset_ids`, `usage_event_id` |
|
|
834
|
+
| `asset.uploaded` | `asset` | upload | A public edit workflow uploads or imports input media. | `job_id`, `asset_ids`, `usage_event_id` |
|
|
835
|
+
| `usage.credit_consumed` | `usage` | usage | A creative operation records a preview-credit entry. | `job_id`, `usage_event_id` |
|
|
836
|
+
| `feedback.created` | `feedback` | feedback | Hosted agent feedback is accepted into product memory. | `feedback_id` |
|
|
837
|
+
| `feedback.github_queue.processed` | `feedback` | feedback | Feedback is processed by the GitHub implementation queue handoff. | `feedback_id` |
|
|
838
|
+
| `payment.checkout_session.created` | `payment` | payment | A Stripe Checkout session is created and awaits external action. | `quote_id`, `payment_attempt_id`, `checkout_session_id` |
|
|
839
|
+
| `credits.payment_backed_granted` | `credit` | credits | Verified payment or fake-payment proof grants paid credits. | `quote_id`, `receipt_id`, `credit_event_id` |
|
|
840
|
+
|
|
841
|
+
`feedback.github_queue.processed` includes `details.github_queue` with
|
|
842
|
+
machine-readable lifecycle fields such as `state`, `reason`, `issue_urls`,
|
|
843
|
+
`issue_numbers`, `mode`, and `github_mutation`. Agents should use it to learn
|
|
844
|
+
whether submitted feedback was promoted, skipped, deduped, blocked, or already
|
|
845
|
+
mirrored without reading private repository artifacts.
|
|
779
846
|
|
|
780
847
|
If a response includes an event type outside this registry, treat it as a
|
|
781
848
|
contract bug and submit `image-skill feedback create --json` with the event ID
|
|
@@ -819,7 +886,7 @@ example, `BUDGET_REQUIRES_CONFIRMATION` returns
|
|
|
819
886
|
`credits status`, `credits fake-purchase`, `create`, `activity list`,
|
|
820
887
|
`activity show`, and `feedback create` accept `--token-stdin` for stdin-based
|
|
821
888
|
secret handoff.
|
|
822
|
-
`credits packs list`
|
|
889
|
+
`credits methods` and `credits packs list` do not require auth.
|
|
823
890
|
|
|
824
891
|
Feedback should avoid raw prompts, provider keys, generated image bytes, source
|
|
825
892
|
image bytes, and private user data.
|
package/llms.txt
CHANGED
|
@@ -44,16 +44,17 @@ Claim states:
|
|
|
44
44
|
|
|
45
45
|
First-run flow:
|
|
46
46
|
1. image-skill doctor --json
|
|
47
|
-
2. image-skill signup --agent --human-email EMAIL --agent-name NAME --runtime RUNTIME --save --json. The preview hosted signup path currently requires human_email
|
|
47
|
+
2. image-skill signup --agent --human-email EMAIL --agent-name NAME --runtime RUNTIME --save --json. The preview hosted signup path currently requires human_email as the accountable contact or sponsor inbox for the restricted agent identity. If no individual human is in the loop, use a durable operator/team/agent inbox that can receive future claim, billing, or abuse notices; do not invent a person or use a throwaway inbox. example.invalid addresses are only appropriate inside documented harness or proof runs. Future payment-backed and agent-contact-backed signup paths are planned. Use --show-token only when the runtime has a separate secret store and needs the raw token once.
|
|
48
48
|
3. Reuse the saved CLI auth for later commands, or store the returned data.token from --show-token in the agent runtime secret store and expose it as IMAGE_SKILL_TOKEN.
|
|
49
49
|
4. image-skill whoami --json
|
|
50
50
|
5. image-skill usage quota --json
|
|
51
51
|
5-credit-note. One Image Skill credit is $0.01. Credit quotes grant prepaid value units; create/edit operations debit model-priced credits reported as cost.credit_pricing. Starter preview currently gives bounded free-preview credits plus a two-job daily cap.
|
|
52
|
-
5a. image-skill credits
|
|
53
|
-
5b. image-skill credits
|
|
54
|
-
5c. image-skill credits
|
|
55
|
-
5d. image-skill credits
|
|
56
|
-
5e. image-skill credits
|
|
52
|
+
5a. image-skill credits methods --json to inspect payment rails, availability, buyer modes, browser requirements, and recovery commands before quoting or buying.
|
|
53
|
+
5b. image-skill credits packs list --json to inspect recommended live-money packs.
|
|
54
|
+
5c. image-skill credits quote --pack starter-500 --payment-method stripe_checkout --idempotency-key KEY --json for the default Stripe Checkout top-up path. Use --credits CREDITS instead of --pack only when the required exact budget is already known.
|
|
55
|
+
5d. image-skill credits buy --provider stripe --quote-id QUOTE_ID --idempotency-key KEY --json when the agent has a stripe_checkout quote and needs a Stripe-hosted checkout_url. Credits are granted only after verified Stripe webhook fulfillment succeeds.
|
|
56
|
+
5e. image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json after buy or checkout completion to read durable payment state, receipt, credit_event, limits, and retry guidance without inferring from quota text.
|
|
57
|
+
5f. image-skill credits quote --credits 10 --json and image-skill credits fake-purchase --quote-id QUOTE_ID --idempotency-key KEY --json only for fake/test credit-ledger proof. This moves no live money, accepts no payment credential, and returns live_money:false.
|
|
57
58
|
6. image-skill create --dry-run --prompt PROMPT --json for zero-cost planning.
|
|
58
59
|
7. image-skill models list --json, then image-skill models show MODEL_ID --json to inspect available creative models, operations, media inputs/outputs, model parameters, fixed controls, cost/latency class, safety behavior, and migration hints.
|
|
59
60
|
8. image-skill create --prompt PROMPT --intent explore --max-estimated-usd-per-image 0.05 --json for the first bounded free-preview operation when quota allows.
|
|
@@ -70,6 +71,7 @@ Core commands:
|
|
|
70
71
|
- image-skill whoami --json
|
|
71
72
|
- image-skill usage quota --json
|
|
72
73
|
- image-skill quota --json (compatibility alias)
|
|
74
|
+
- image-skill credits methods --json
|
|
73
75
|
- image-skill credits packs list --json
|
|
74
76
|
- image-skill credits quote --pack PACK_ID --payment-method fake|stripe_checkout --idempotency-key KEY --json
|
|
75
77
|
- image-skill credits quote --credits CREDITS --payment-method fake|stripe_checkout --idempotency-key KEY --json
|
|
@@ -96,9 +98,10 @@ Core commands:
|
|
|
96
98
|
- image-skill feedback create --type TYPE --title TITLE --body BODY --command COMMAND --expected EXPECTED --actual ACTUAL --proof-needed PROOF --surface cli,docs --evidence trace:TRACE_ID --severity medium --confidence high --next-state watch --json
|
|
97
99
|
|
|
98
100
|
Hosted API endpoints:
|
|
99
|
-
- POST https://api.image-skill.com/v1/agent-signups creates or rotates a restricted unclaimed agent token. The response returns the token once as data.token. Store it in the agent runtime secret store; never put it in prompts, logs, issue text, or feedback.
|
|
101
|
+
- POST https://api.image-skill.com/v1/agent-signups creates or rotates a restricted unclaimed agent token. Request human_email is the preview contact/sponsor inbox, not a requirement that an autonomous agent stop until a specific human is present. The response returns the token once as data.token. Store it in the agent runtime secret store; never put it in prompts, logs, issue text, or feedback.
|
|
100
102
|
- GET https://api.image-skill.com/v1/whoami returns durable hosted identity for Authorization: Bearer TOKEN.
|
|
101
103
|
- GET https://api.image-skill.com/v1/quota returns durable hosted quota for Authorization: Bearer TOKEN.
|
|
104
|
+
- GET https://api.image-skill.com/v1/payment-methods returns the no-auth payment rail catalog. It tells agents which rails are available, whether live money can move, buyer modes (agent_only, hybrid, human_only), browser requirements, limits, endpoint paths, and recovery commands.
|
|
102
105
|
- GET https://api.image-skill.com/v1/credit-packs returns the public pack catalog. Recommended live-money packs include starter-500, builder-2000, and studio-5000. Packs are the default Stripe Checkout UX; exact quotes remain supported for agents that already know the required credit budget.
|
|
103
106
|
- POST https://api.image-skill.com/v1/credit-quotes returns a fake/test or stripe_checkout credit quote for Authorization: Bearer TOKEN. Request JSON: either credits or pack_id, optional payment_method, idempotency_key. Response includes quote_id, credits, price_amount_cents, currency, accepted_payment_method, pack_id, pack, and live_money. One credit equals $0.01, so price_amount_cents equals credits. This does not grant credits.
|
|
104
107
|
- POST https://api.image-skill.com/v1/credit-purchases/stripe-checkout-sessions creates a Stripe Checkout Session for a stripe_checkout quote. Request JSON: quote_id, idempotency_key. Response includes state: action_required, payment_attempt_id, checkout_session_id, checkout_url, accepted_payment_method: stripe_checkout, and next.human_action: open_checkout_url. This does not grant credits; verified Stripe webhook fulfillment grants paid credits exactly once.
|
|
@@ -113,7 +116,7 @@ Hosted API endpoints:
|
|
|
113
116
|
- GET https://api.image-skill.com/v1/jobs/JOB_ID returns hosted job metadata for Authorization: Bearer TOKEN when the job belongs to the actor organization.
|
|
114
117
|
- GET https://api.image-skill.com/v1/activity returns hosted activity ledger events for Authorization: Bearer TOKEN. Optional query: limit, subject. Activity is for ledger context, not job recovery.
|
|
115
118
|
- GET https://api.image-skill.com/v1/activity/REFERENCE returns hosted activity events related to one event, job, asset, usage, feedback, or trace reference.
|
|
116
|
-
- Public activity event types are: job.completed, asset.created, asset.uploaded, usage.credit_consumed, feedback.created, payment.checkout_session.created, credits.payment_backed_granted. Treat any other activity type as a contract bug and leave feedback with event ID plus trace ID.
|
|
119
|
+
- Public activity event types are: job.completed, asset.created, asset.uploaded, usage.credit_consumed, feedback.created, feedback.github_queue.processed, payment.checkout_session.created, credits.payment_backed_granted. Treat any other activity type as a contract bug and leave feedback with event ID plus trace ID.
|
|
117
120
|
- POST https://api.image-skill.com/v1/cli runs public CLI-compatible commands over JSON argv.
|
|
118
121
|
- GET https://api.image-skill.com/healthz checks API readiness.
|
|
119
122
|
|
|
@@ -178,7 +181,7 @@ Unclaimed agents may not:
|
|
|
178
181
|
- send card data, wallet secrets, provider receipts, Stripe secrets, MPP tokens, SPTs, or any payment credential to Image Skill; Stripe payment details must be entered only on Stripe-hosted checkout pages
|
|
179
182
|
|
|
180
183
|
Credits:
|
|
181
|
-
One Image Skill credit is $0.01. Use image-skill credits packs list --json to inspect recommended Stripe Checkout packs. Use image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --json for the default live-money top-up path. Use image-skill credits quote --credits CREDITS --json for exact bounded custom top-ups when the required budget is already known. The default payment_method is fake. Use image-skill credits buy --provider stripe --json to create a hosted Stripe Checkout Session for a stripe_checkout quote; this returns checkout_url and does not grant credits. Use image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json after buy and after checkout completion to read state, receipt, credit_event, limits, and retry guidance. Use image-skill credits fake-purchase --json only to exercise the quote, receipt, credit-ledger, and activity-audit contract before live settlement rails are enabled. Create/edit debit model-priced credits after provider success; inspect models show and operation cost.credit_pricing for credits_required and pricing_confidence. Credits buy and fake-purchase require explicit --idempotency-key. Never send payment credentials to Image Skill; Stripe collects payment details on Stripe-hosted pages. Public request fields are credits, pack_id, payment_method, quote_id, status reference IDs, and idempotency_key.
|
|
184
|
+
One Image Skill credit is $0.01. Use image-skill credits methods --json to inspect payment rail availability and whether a browser/human action is required. Use image-skill credits packs list --json to inspect recommended Stripe Checkout packs. Use image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --json for the default live-money top-up path. Use image-skill credits quote --credits CREDITS --json for exact bounded custom top-ups when the required budget is already known. The default payment_method is fake. Use image-skill credits buy --provider stripe --json to create a hosted Stripe Checkout Session for a stripe_checkout quote; this returns checkout_url and does not grant credits. Use image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json after buy and after checkout completion to read state, receipt, credit_event, limits, and retry guidance. Use image-skill credits fake-purchase --json only to exercise the quote, receipt, credit-ledger, and activity-audit contract before live settlement rails are enabled. Create/edit debit model-priced credits after provider success; inspect models show and operation cost.credit_pricing for credits_required and pricing_confidence. Credits buy and fake-purchase require explicit --idempotency-key. Never send payment credentials to Image Skill; Stripe collects payment details on Stripe-hosted pages. Public request fields are credits, pack_id, payment_method, quote_id, status reference IDs, and idempotency_key.
|
|
182
185
|
|
|
183
186
|
Telemetry:
|
|
184
187
|
- command or endpoint name
|
|
@@ -202,8 +205,11 @@ trace references. Activity is broader than jobs and can include completed
|
|
|
202
205
|
outputs, uploads, usage events, and feedback. Activity does not replace jobs
|
|
203
206
|
show/wait for polling, recovery, retry judgment, or final job state.
|
|
204
207
|
Current activity event registry: job.completed, asset.created, asset.uploaded,
|
|
205
|
-
usage.credit_consumed, feedback.created,
|
|
206
|
-
credits.payment_backed_granted.
|
|
208
|
+
usage.credit_consumed, feedback.created, feedback.github_queue.processed,
|
|
209
|
+
payment.checkout_session.created, credits.payment_backed_granted.
|
|
210
|
+
Feedback GitHub queue lifecycle events expose `details.github_queue.state`,
|
|
211
|
+
`reason`, and public issue references when available, so agents can tell what
|
|
212
|
+
happened to submitted feedback without inspecting private Actions artifacts.
|
|
207
213
|
|
|
208
214
|
Feedback:
|
|
209
215
|
Use image-skill feedback create --json when the workflow fails, succeeds with friction, reveals confusing behavior, or suggests a missing feature. Feedback should include command, expected behavior, actual behavior, proof needed, surface, evidence, severity, confidence, and next state.
|
package/package.json
CHANGED
package/skill.md
CHANGED
|
@@ -62,6 +62,14 @@ image-skill signup --agent \
|
|
|
62
62
|
permissions and redacts it from stdout. Use `--show-token` only when the agent
|
|
63
63
|
runtime has a separate secret store and needs the raw token once.
|
|
64
64
|
|
|
65
|
+
In the preview contract, `--human-email` means the accountable contact or
|
|
66
|
+
sponsor inbox for the restricted agent identity. If no individual human is in
|
|
67
|
+
the loop, use a durable operator/team/agent inbox that can receive future claim,
|
|
68
|
+
billing, or abuse notices. Do not invent a person or use a throwaway inbox.
|
|
69
|
+
`example.invalid` addresses are only appropriate inside documented harness or
|
|
70
|
+
proof runs. Agent-contact-backed signup is planned, but the currently published
|
|
71
|
+
CLI uses `--human-email`.
|
|
72
|
+
|
|
65
73
|
If the runtime supports stdin secret handoff, prefer `--token-stdin` for
|
|
66
74
|
`whoami`, `usage quota`, `quota`, `create`, and `feedback create` instead of
|
|
67
75
|
placing the token in command args.
|
|
@@ -73,14 +81,15 @@ image-skill whoami --json
|
|
|
73
81
|
image-skill usage quota --json
|
|
74
82
|
```
|
|
75
83
|
|
|
76
|
-
The preview hosted signup path currently uses
|
|
77
|
-
payment-backed and agent-contact-backed signup paths are planned
|
|
78
|
-
agents can become bounded paying users without making human claim the
|
|
79
|
-
path to meaningful usage.
|
|
84
|
+
The preview hosted signup path currently uses the contact/sponsor email field
|
|
85
|
+
above. Future payment-backed and agent-contact-backed signup paths are planned
|
|
86
|
+
so capable agents can become bounded paying users without making human claim the
|
|
87
|
+
only path to meaningful usage.
|
|
80
88
|
|
|
81
89
|
Credit quote and buy flow:
|
|
82
90
|
|
|
83
91
|
```bash
|
|
92
|
+
image-skill credits methods --json
|
|
84
93
|
image-skill credits packs list --json
|
|
85
94
|
image-skill credits quote \
|
|
86
95
|
--pack starter-500 \
|
|
@@ -102,7 +111,10 @@ image-skill credits fake-purchase \
|
|
|
102
111
|
This is the agent-facing precursor to future MPP, Stripe, wallet, or
|
|
103
112
|
delegated-card adapters. Packs are the default Stripe Checkout UX; exact
|
|
104
113
|
`--credits` quotes remain available when an agent already knows the required
|
|
105
|
-
budget. `credits
|
|
114
|
+
budget. `credits methods --json` tells agents which rails are currently
|
|
115
|
+
available, which buyer modes they support, and whether browser/human action is
|
|
116
|
+
required before an agent tries to quote or buy. `credits buy --provider stripe`
|
|
117
|
+
returns a
|
|
106
118
|
Stripe-hosted `checkout_url` for a `stripe_checkout` quote and does not grant
|
|
107
119
|
credits until verified webhook fulfillment succeeds. `credits fake-purchase`
|
|
108
120
|
returns `live_money:false`, moves no live money, accepts no payment credential,
|
|
@@ -293,6 +305,8 @@ closed if durable hosted feedback storage is unavailable.
|
|
|
293
305
|
|
|
294
306
|
- Check `usage quota --json` before costly workflows. `quota --json` remains a
|
|
295
307
|
compatibility alias.
|
|
308
|
+
- Use `credits methods --json` to inspect payment rail availability, buyer
|
|
309
|
+
modes, limits, and recovery commands before quoting or buying.
|
|
296
310
|
- Use `credits packs list --json` to inspect recommended live-money packs.
|
|
297
311
|
- Use `credits quote --pack PACK_ID --payment-method stripe_checkout --json`
|
|
298
312
|
for the default Stripe Checkout path.
|