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 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 human@example.com --agent-name creative-agent --runtime openclaw --save --json
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
@@ -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.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 invalid(
180
+ return failure(
176
181
  "image-skill signup",
177
- "signup requires --human-email, --agent-name, and --runtime",
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 | Stable links |
771
- | ---------------------------------- | ---------- | ----------- | ---------------------------------------------------------------- | ------------------------------------------------------- |
772
- | `job.completed` | `job` | create/edit | A hosted create or edit job reaches a terminal state. | `job_id`, `asset_ids`, `usage_event_id` |
773
- | `asset.created` | `asset` | create/edit | A hosted create or edit produces an output asset. | `job_id`, `asset_ids`, `usage_event_id` |
774
- | `asset.uploaded` | `asset` | upload | A public edit workflow uploads or imports input media. | `job_id`, `asset_ids`, `usage_event_id` |
775
- | `usage.credit_consumed` | `usage` | usage | A creative operation records a preview-credit entry. | `job_id`, `usage_event_id` |
776
- | `feedback.created` | `feedback` | feedback | Hosted agent feedback is accepted into product memory. | `feedback_id` |
777
- | `payment.checkout_session.created` | `payment` | payment | A Stripe Checkout session is created and awaits external action. | `quote_id`, `payment_attempt_id`, `checkout_session_id` |
778
- | `credits.payment_backed_granted` | `credit` | credits | Verified payment or fake-payment proof grants paid credits. | `quote_id`, `receipt_id`, `credit_event_id` |
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` does not require auth.
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; 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.
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 packs list --json to inspect recommended live-money packs.
53
- 5b. 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.
54
- 5c. 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.
55
- 5d. 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.
56
- 5e. 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.
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, payment.checkout_session.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "image-skill",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Thin hosted CLI for Image Skill, a creative runtime for agents.",
5
5
  "type": "module",
6
6
  "private": false,
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 a human sponsor email. Future
77
- payment-backed and agent-contact-backed signup paths are planned so capable
78
- agents can become bounded paying users without making human claim the only
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 buy --provider stripe` returns a
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.