image-skill 0.1.26 → 0.1.28
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/CHANGELOG.md +29 -1
- package/README.md +13 -0
- package/bin/image-skill.mjs +134 -46
- package/cli.md +14 -5
- package/llms.txt +2 -2
- package/package.json +1 -1
- package/skill.md +14 -10
- package/skills/ai-audio-generation/SKILL.md +65 -0
- package/skills/ai-image-generation/SKILL.md +65 -0
- package/skills/ai-video-generation/SKILL.md +65 -0
- package/skills/creative-media/SKILL.md +65 -0
- package/skills/image-edit/SKILL.md +65 -0
- package/skills/image-skill/SKILL.md +14 -10
- package/skills/image-skill/references/cli.md +14 -5
- package/skills/image-skill/references/llms.txt +2 -2
- package/skills/image-to-3d/SKILL.md +65 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,35 @@ This changelog tracks the public `image-skill` CLI package and public skill
|
|
|
4
4
|
mirror. The npm package metadata remains the authority for tarball integrity and
|
|
5
5
|
provenance; this file is the human- and agent-readable release map.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 0.1.28 - 2026-06-02
|
|
8
|
+
|
|
9
|
+
- Feature (discoverability): publish intent-named public skill aliases
|
|
10
|
+
(`ai-image-generation`, `image-edit`, `ai-video-generation`,
|
|
11
|
+
`ai-audio-generation`, `image-to-3d`, and `creative-media`) from the public
|
|
12
|
+
mirror and hosted `.well-known/agent-skills` index. Each alias points to the
|
|
13
|
+
same zero-setup Image Skill runtime, CLI/API contract, identity, wallet, jobs,
|
|
14
|
+
receipts, and feedback loop as the canonical `image-skill` skill, giving
|
|
15
|
+
skills.sh task searches literal skill names to index without fragmenting the
|
|
16
|
+
product.
|
|
17
|
+
- Fix (guide): `create --guide` now exposes `data.next_command_effect` and
|
|
18
|
+
`data.no_spend_next_command`. When the guide reaches `ready_to_create`, the
|
|
19
|
+
live create remains `data.next_command`, but it is explicitly labeled
|
|
20
|
+
`live_media_create_credit_debit` with provider-call, hosted-create,
|
|
21
|
+
credit-debit, and media-write flags. No-spend/evaluation agents can run the
|
|
22
|
+
top-level dry-run verification command instead of digging through escape
|
|
23
|
+
hatches or risking an accidental media job.
|
|
24
|
+
- Docs: public CLI, LLM contract, canonical skill, and modality aliases now
|
|
25
|
+
teach the ready-to-create distinction between live media creation and
|
|
26
|
+
no-spend verification.
|
|
27
|
+
|
|
28
|
+
## 0.1.27 - 2026-06-02
|
|
29
|
+
|
|
30
|
+
- Fix (activation): default hosted signup now reports saved auth as a positive
|
|
31
|
+
`data.auth_handoff.status: "saved_config_ready"` state, keeps `data.token`
|
|
32
|
+
null, and suppresses the generic hosted token-returned warning when the
|
|
33
|
+
public CLI saved the token instead of showing it. Fresh agents can rerun the
|
|
34
|
+
guide or continue with `whoami`, feedback, credits, create, or edit without
|
|
35
|
+
hunting for a raw token or running a separate `auth save`.
|
|
8
36
|
|
|
9
37
|
## 0.1.26 - 2026-06-02
|
|
10
38
|
|
package/README.md
CHANGED
|
@@ -15,6 +15,18 @@ discoverable on skills.sh:
|
|
|
15
15
|
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
+
Intent-named aliases are published from the same repo and point to the same
|
|
19
|
+
zero-setup runtime when an agent searches by task instead of brand:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx skills add danielgwilson/image-skill-cli --skill ai-image-generation -g -a codex -y
|
|
23
|
+
npx skills add danielgwilson/image-skill-cli --skill image-edit -g -a codex -y
|
|
24
|
+
npx skills add danielgwilson/image-skill-cli --skill ai-video-generation -g -a codex -y
|
|
25
|
+
npx skills add danielgwilson/image-skill-cli --skill ai-audio-generation -g -a codex -y
|
|
26
|
+
npx skills add danielgwilson/image-skill-cli --skill image-to-3d -g -a codex -y
|
|
27
|
+
npx skills add danielgwilson/image-skill-cli --skill creative-media -g -a codex -y
|
|
28
|
+
```
|
|
29
|
+
|
|
18
30
|
Or install straight from the hosted public contract for the always-latest build:
|
|
19
31
|
|
|
20
32
|
```bash
|
|
@@ -56,6 +68,7 @@ Agent-facing contracts:
|
|
|
56
68
|
- [Hosted LLM contract](https://image-skill.com/llms.txt)
|
|
57
69
|
- [Hosted CLI contract](https://image-skill.com/cli.md)
|
|
58
70
|
- [Public repo skill source](https://github.com/danielgwilson/image-skill-cli/tree/main/skills/image-skill)
|
|
71
|
+
- [Intent skill aliases](https://github.com/danielgwilson/image-skill-cli/tree/main/skills)
|
|
59
72
|
- [Changelog](https://github.com/danielgwilson/image-skill-cli/blob/main/CHANGELOG.md)
|
|
60
73
|
- [Provenance](https://github.com/danielgwilson/image-skill-cli/blob/main/PROVENANCE.md)
|
|
61
74
|
|
package/bin/image-skill.mjs
CHANGED
|
@@ -7,7 +7,7 @@ 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.28";
|
|
11
11
|
const PACKAGE_NAME = "image-skill";
|
|
12
12
|
const DEFAULT_API_BASE_URL = "https://api.image-skill.com";
|
|
13
13
|
const DEFAULT_DOCS_BASE_URL = "https://image-skill.com";
|
|
@@ -31,6 +31,8 @@ const SIGNUP_SUGGESTED_COMMAND =
|
|
|
31
31
|
"image-skill signup --agent --agent-contact AGENT_OR_OPERATOR_INBOX --agent-name NAME --runtime RUNTIME --json";
|
|
32
32
|
const SIGNUP_CONTACT_GUIDANCE =
|
|
33
33
|
"Preview signup currently requires an email-shaped durable contact inbox, not an individual human email. Use an agent-owned inbox when available; otherwise use an operator, team, or sponsor inbox that can receive future claim, billing, or abuse notices. Do not block waiting for a person, invent a person, or use a throwaway inbox. --human-email remains a compatibility alias.";
|
|
34
|
+
const HOSTED_SIGNUP_TOKEN_RETURNED_WARNING =
|
|
35
|
+
"hosted restricted token is returned once; store it in the agent runtime secret store and never paste it into prompts, logs, issues, or product feedback";
|
|
34
36
|
const PUBLIC_NPX_COMMAND_PREFIX = "npx -y image-skill@latest";
|
|
35
37
|
const CREDIT_UNIT_USD = 0.01;
|
|
36
38
|
const PAYMENT_CREDENTIAL_FLAGS = new Set([
|
|
@@ -662,7 +664,9 @@ async function signup(argv) {
|
|
|
662
664
|
rewriteSignupContactFailure(result);
|
|
663
665
|
|
|
664
666
|
const token = result.envelope.data?.token;
|
|
665
|
-
const warnings =
|
|
667
|
+
const warnings = result.envelope.warnings.filter(
|
|
668
|
+
(warning) => warning !== HOSTED_SIGNUP_TOKEN_RETURNED_WARNING,
|
|
669
|
+
);
|
|
666
670
|
if (result.envelope.ok && shouldSave) {
|
|
667
671
|
if (typeof token !== "string" || token.trim().length === 0) {
|
|
668
672
|
return failure(
|
|
@@ -687,9 +691,6 @@ async function signup(argv) {
|
|
|
687
691
|
} catch (error) {
|
|
688
692
|
return configWriteFailure("image-skill signup", error);
|
|
689
693
|
}
|
|
690
|
-
warnings.push(
|
|
691
|
-
"hosted restricted token was saved to the public CLI config with 0600 permissions; later commands can authenticate from config without repeating signup",
|
|
692
|
-
);
|
|
693
694
|
}
|
|
694
695
|
if (result.envelope.ok && showToken) {
|
|
695
696
|
warnings.push(
|
|
@@ -710,15 +711,25 @@ async function signup(argv) {
|
|
|
710
711
|
saved: shouldSave,
|
|
711
712
|
config_path: shouldSave ? configPath() : null,
|
|
712
713
|
reason: shouldSave
|
|
713
|
-
? "
|
|
714
|
+
? "auth is ready in the public CLI config; no raw token copy step is required"
|
|
714
715
|
: showToken
|
|
715
716
|
? "hosted signup returned the token once for the agent runtime secret store"
|
|
716
717
|
: "hosted signup did not request a raw token or save config because --no-save was set",
|
|
717
718
|
},
|
|
718
719
|
auth_handoff: {
|
|
720
|
+
status: shouldSave
|
|
721
|
+
? "saved_config_ready"
|
|
722
|
+
: showToken
|
|
723
|
+
? "manual_token_handoff"
|
|
724
|
+
: "not_saved",
|
|
725
|
+
saved_auth_ready: shouldSave,
|
|
719
726
|
accepted_methods: ["config", "IMAGE_SKILL_TOKEN", "--token-stdin"],
|
|
720
727
|
token_source_after_signup: shouldSave ? "config" : "not_saved",
|
|
721
728
|
secret_value_included: showToken,
|
|
729
|
+
raw_token_copy_required: !shouldSave,
|
|
730
|
+
rerun_guide_hint: shouldSave
|
|
731
|
+
? "Rerun the guide command you just ran; the CLI will authenticate from saved config."
|
|
732
|
+
: "Rerun the guide with IMAGE_SKILL_TOKEN or --token-stdin after storing the returned token.",
|
|
722
733
|
next_step: shouldSave
|
|
723
734
|
? "Run whoami, usage quota, feedback create, credits, create, or edit normally; the CLI will read the saved config."
|
|
724
735
|
: "Store data.token in the agent runtime secret store immediately, then pass it with IMAGE_SKILL_TOKEN or --token-stdin.",
|
|
@@ -1327,6 +1338,21 @@ async function createGuide(args) {
|
|
|
1327
1338
|
commandPrefix: PUBLIC_NPX_COMMAND_PREFIX,
|
|
1328
1339
|
authConfigWritable: authConfigWrite?.ok ?? true,
|
|
1329
1340
|
});
|
|
1341
|
+
const escapeHatches = createGuideEscapeHatches({
|
|
1342
|
+
prompt: trimmedPrompt,
|
|
1343
|
+
selected,
|
|
1344
|
+
requestedProviderId,
|
|
1345
|
+
requestedIntent,
|
|
1346
|
+
budgetGuard,
|
|
1347
|
+
apiBaseUrl: explicitApiBaseUrl(args),
|
|
1348
|
+
commandPrefix: PUBLIC_NPX_COMMAND_PREFIX,
|
|
1349
|
+
});
|
|
1350
|
+
const nextCommandEffect = createGuideNextCommandEffect(stage, {
|
|
1351
|
+
estimatedCredits,
|
|
1352
|
+
estimatedDebitUsdPerImage,
|
|
1353
|
+
});
|
|
1354
|
+
const noSpendNextCommand =
|
|
1355
|
+
stage === "ready_to_create" ? escapeHatches.dry_run : null;
|
|
1330
1356
|
const afterNext =
|
|
1331
1357
|
stage === "auth_required" || stage === "quota_required"
|
|
1332
1358
|
? renderGuideCommand(
|
|
@@ -1412,48 +1438,15 @@ async function createGuide(args) {
|
|
|
1412
1438
|
},
|
|
1413
1439
|
blocker,
|
|
1414
1440
|
next_command: nextCommand,
|
|
1441
|
+
next_command_effect: nextCommandEffect,
|
|
1442
|
+
no_spend_next_command: noSpendNextCommand,
|
|
1443
|
+
no_spend_next_command_label:
|
|
1444
|
+
noSpendNextCommand === null
|
|
1445
|
+
? null
|
|
1446
|
+
: "dry_run_plan_no_provider_call_no_credit_debit_no_media_write",
|
|
1415
1447
|
after_next: afterNext,
|
|
1416
1448
|
auth_handoff: authHandoff,
|
|
1417
|
-
escape_hatches:
|
|
1418
|
-
doctor: renderGuidePrefixedCommand(
|
|
1419
|
-
PUBLIC_NPX_COMMAND_PREFIX,
|
|
1420
|
-
"doctor --json",
|
|
1421
|
-
),
|
|
1422
|
-
model_inspection:
|
|
1423
|
-
selected === null
|
|
1424
|
-
? renderGuidePrefixedCommand(
|
|
1425
|
-
PUBLIC_NPX_COMMAND_PREFIX,
|
|
1426
|
-
"models list --json",
|
|
1427
|
-
)
|
|
1428
|
-
: renderGuidePrefixedCommand(
|
|
1429
|
-
PUBLIC_NPX_COMMAND_PREFIX,
|
|
1430
|
-
`models show ${shellQuote(selected.id)} --json`,
|
|
1431
|
-
),
|
|
1432
|
-
payment_methods: renderGuidePrefixedCommand(
|
|
1433
|
-
PUBLIC_NPX_COMMAND_PREFIX,
|
|
1434
|
-
"credits methods --json",
|
|
1435
|
-
),
|
|
1436
|
-
quota: renderGuidePrefixedCommand(
|
|
1437
|
-
PUBLIC_NPX_COMMAND_PREFIX,
|
|
1438
|
-
"usage quota --json",
|
|
1439
|
-
),
|
|
1440
|
-
dry_run:
|
|
1441
|
-
selected === null || trimmedPrompt.length === 0
|
|
1442
|
-
? renderGuidePrefixedCommand(
|
|
1443
|
-
PUBLIC_NPX_COMMAND_PREFIX,
|
|
1444
|
-
"create --dry-run --prompt PROMPT --json",
|
|
1445
|
-
)
|
|
1446
|
-
: renderCreateCommand({
|
|
1447
|
-
prompt: trimmedPrompt,
|
|
1448
|
-
modelId: selected.id,
|
|
1449
|
-
providerId: requestedProviderId,
|
|
1450
|
-
intent: requestedIntent,
|
|
1451
|
-
budgetGuard,
|
|
1452
|
-
dryRun: true,
|
|
1453
|
-
apiBaseUrl: explicitApiBaseUrl(args),
|
|
1454
|
-
commandPrefix: PUBLIC_NPX_COMMAND_PREFIX,
|
|
1455
|
-
}),
|
|
1456
|
-
},
|
|
1449
|
+
escape_hatches: escapeHatches,
|
|
1457
1450
|
mutation: {
|
|
1458
1451
|
provider_call: false,
|
|
1459
1452
|
hosted_create: false,
|
|
@@ -1712,6 +1705,64 @@ function createGuideAuthHandoff(stage, input) {
|
|
|
1712
1705
|
return null;
|
|
1713
1706
|
}
|
|
1714
1707
|
|
|
1708
|
+
function createGuideNextCommandEffect(stage, input) {
|
|
1709
|
+
const base = {
|
|
1710
|
+
label: "read_only_or_no_media_setup",
|
|
1711
|
+
no_spend: true,
|
|
1712
|
+
provider_call: false,
|
|
1713
|
+
hosted_create: false,
|
|
1714
|
+
hosted_signup: false,
|
|
1715
|
+
payment_object: false,
|
|
1716
|
+
credit_debit: false,
|
|
1717
|
+
media_write: false,
|
|
1718
|
+
estimated_credits: null,
|
|
1719
|
+
estimated_debit_usd_per_image: null,
|
|
1720
|
+
warning: null,
|
|
1721
|
+
};
|
|
1722
|
+
if (stage === "auth_required") {
|
|
1723
|
+
return {
|
|
1724
|
+
...base,
|
|
1725
|
+
label: "hosted_signup_restricted_agent_identity",
|
|
1726
|
+
hosted_signup: true,
|
|
1727
|
+
warning:
|
|
1728
|
+
"This signs up a restricted Image Skill agent identity but does not create media, call a provider, open payment, or debit credits.",
|
|
1729
|
+
};
|
|
1730
|
+
}
|
|
1731
|
+
if (stage === "quota_required") {
|
|
1732
|
+
return {
|
|
1733
|
+
...base,
|
|
1734
|
+
label: "payment_or_quota_action",
|
|
1735
|
+
no_spend: false,
|
|
1736
|
+
payment_object: true,
|
|
1737
|
+
warning:
|
|
1738
|
+
"This may create or inspect a payment quote/attempt. Stay within the delegated cap, or use escape_hatches for read-only checks.",
|
|
1739
|
+
};
|
|
1740
|
+
}
|
|
1741
|
+
if (stage === "ready_to_create") {
|
|
1742
|
+
return {
|
|
1743
|
+
label: "live_media_create_credit_debit",
|
|
1744
|
+
no_spend: false,
|
|
1745
|
+
provider_call: true,
|
|
1746
|
+
hosted_create: true,
|
|
1747
|
+
hosted_signup: false,
|
|
1748
|
+
payment_object: false,
|
|
1749
|
+
credit_debit: true,
|
|
1750
|
+
media_write: true,
|
|
1751
|
+
estimated_credits: input.estimatedCredits,
|
|
1752
|
+
estimated_debit_usd_per_image: input.estimatedDebitUsdPerImage,
|
|
1753
|
+
warning:
|
|
1754
|
+
"data.next_command creates hosted media and can debit credits. For no-spend verification, run data.no_spend_next_command instead.",
|
|
1755
|
+
};
|
|
1756
|
+
}
|
|
1757
|
+
if (stage === "prompt_required") {
|
|
1758
|
+
return {
|
|
1759
|
+
...base,
|
|
1760
|
+
label: "rerun_guide_with_prompt",
|
|
1761
|
+
};
|
|
1762
|
+
}
|
|
1763
|
+
return base;
|
|
1764
|
+
}
|
|
1765
|
+
|
|
1715
1766
|
function createGuideNextCommand(stage, input) {
|
|
1716
1767
|
if (stage === "prompt_required") {
|
|
1717
1768
|
return renderGuideCommand("PROMPT", input.apiBaseUrl, input.commandPrefix);
|
|
@@ -1753,6 +1804,43 @@ function createGuideNextCommand(stage, input) {
|
|
|
1753
1804
|
});
|
|
1754
1805
|
}
|
|
1755
1806
|
|
|
1807
|
+
function createGuideEscapeHatches(input) {
|
|
1808
|
+
return {
|
|
1809
|
+
doctor: renderGuidePrefixedCommand(input.commandPrefix, "doctor --json"),
|
|
1810
|
+
model_inspection:
|
|
1811
|
+
input.selected === null
|
|
1812
|
+
? renderGuidePrefixedCommand(input.commandPrefix, "models list --json")
|
|
1813
|
+
: renderGuidePrefixedCommand(
|
|
1814
|
+
input.commandPrefix,
|
|
1815
|
+
`models show ${shellQuote(input.selected.id)} --json`,
|
|
1816
|
+
),
|
|
1817
|
+
payment_methods: renderGuidePrefixedCommand(
|
|
1818
|
+
input.commandPrefix,
|
|
1819
|
+
"credits methods --json",
|
|
1820
|
+
),
|
|
1821
|
+
quota: renderGuidePrefixedCommand(
|
|
1822
|
+
input.commandPrefix,
|
|
1823
|
+
"usage quota --json",
|
|
1824
|
+
),
|
|
1825
|
+
dry_run:
|
|
1826
|
+
input.selected === null || input.prompt.length === 0
|
|
1827
|
+
? renderGuidePrefixedCommand(
|
|
1828
|
+
input.commandPrefix,
|
|
1829
|
+
"create --dry-run --prompt PROMPT --json",
|
|
1830
|
+
)
|
|
1831
|
+
: renderCreateCommand({
|
|
1832
|
+
prompt: input.prompt,
|
|
1833
|
+
modelId: input.selected.id,
|
|
1834
|
+
providerId: input.requestedProviderId,
|
|
1835
|
+
intent: input.requestedIntent,
|
|
1836
|
+
budgetGuard: input.budgetGuard,
|
|
1837
|
+
dryRun: true,
|
|
1838
|
+
apiBaseUrl: input.apiBaseUrl,
|
|
1839
|
+
commandPrefix: input.commandPrefix,
|
|
1840
|
+
}),
|
|
1841
|
+
};
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1756
1844
|
function renderGuideCommand(prompt, apiBaseUrl, commandPrefix = "image-skill") {
|
|
1757
1845
|
return [
|
|
1758
1846
|
commandPrefix,
|
package/cli.md
CHANGED
|
@@ -91,6 +91,9 @@ Hosted signup saves the restricted `isk_r_` token to the public CLI config by
|
|
|
91
91
|
default with `0600` permissions, so later hosted commands can authenticate from
|
|
92
92
|
config without repeating signup or carrying a raw token through prompts. Set
|
|
93
93
|
`IMAGE_SKILL_CONFIG_PATH` first when the default config home may be read-only.
|
|
94
|
+
Successful default signup reports `data.auth_handoff.status` as
|
|
95
|
+
`saved_config_ready`, keeps `data.token` null, and should not require any
|
|
96
|
+
token-copy step.
|
|
94
97
|
The raw token is returned only when `--show-token` is set, and only once. Use
|
|
95
98
|
`--show-token --no-save` when the agent runtime has a separate secret store and
|
|
96
99
|
does not want local config. Do not paste tokens into prompts, logs, issue text,
|
|
@@ -125,9 +128,9 @@ should omit it.
|
|
|
125
128
|
|
|
126
129
|
Use the no-spend guide first. It is the only required first command for a fresh
|
|
127
130
|
agent. It checks health, executable model availability, auth/quota when a token
|
|
128
|
-
already exists, and payment rails, then returns one `data.next_command
|
|
129
|
-
mode does not create a
|
|
130
|
-
credit debit, or asset.
|
|
131
|
+
already exists, and payment rails, then returns one primary `data.next_command` plus
|
|
132
|
+
machine-readable `data.next_command_effect`. Guide mode does not create a
|
|
133
|
+
signup, provider job, dry-run job, payment object, credit debit, or asset.
|
|
131
134
|
|
|
132
135
|
```bash
|
|
133
136
|
image-skill create --guide --prompt "a compact field camera on a stainless workbench"
|
|
@@ -146,8 +149,14 @@ checklist before the guide asks for them.
|
|
|
146
149
|
`data.auth_handoff.rerun_guide.with_stdin`.
|
|
147
150
|
- `quota_required`: follow the payment commands in
|
|
148
151
|
`data.checks.payments.suggested_commands`, then rerun guide once.
|
|
149
|
-
- `ready_to_create`:
|
|
150
|
-
|
|
152
|
+
- `ready_to_create`: `data.next_command` is a live media create. Its
|
|
153
|
+
`data.next_command_effect.label` is `live_media_create_credit_debit`, with
|
|
154
|
+
`provider_call`, `hosted_create`, `credit_debit`, and `media_write` all true.
|
|
155
|
+
Run it for the first bounded create when media spend is allowed. If you are
|
|
156
|
+
in a no-spend evaluation or only need proof that the path is ready, run
|
|
157
|
+
`data.no_spend_next_command` instead; it is the dry-run plan command with no
|
|
158
|
+
provider call, credit debit, or media write. If the guide authenticated from
|
|
159
|
+
env or stdin, prefer
|
|
151
160
|
`data.auth_handoff.next_command.with_env` or
|
|
152
161
|
`data.auth_handoff.next_command.with_stdin` so auth follows the create.
|
|
153
162
|
|
package/llms.txt
CHANGED
|
@@ -57,12 +57,12 @@ Claim states:
|
|
|
57
57
|
- revoked: token or agent disabled
|
|
58
58
|
|
|
59
59
|
First-run guide loop:
|
|
60
|
-
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.auth_handoff, data.escape_hatches, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
60
|
+
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.next_command_effect, data.no_spend_next_command, data.auth_handoff, data.escape_hatches, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
61
61
|
2. Follow data.next_command. Do not run doctor, models list, signup, whoami, quota, dry-run, or payment commands as a setup checklist before the guide asks for them.
|
|
62
62
|
3. If data.stage is prompt_required, rerun data.next_command with the real prompt.
|
|
63
63
|
4. If data.stage is auth_required, run data.next_command, then rerun the guide once. Hosted signup saves the restricted token to the public CLI config by default with 0600 permissions. If the runtime intentionally uses --no-save --show-token, store the returned token in the agent runtime secret store, then rerun with IMAGE_SKILL_TOKEN or --token-stdin; data.auth_handoff.rerun_guide.with_env and data.auth_handoff.rerun_guide.with_stdin are copy-safe templates for that mode. The signup command uses --agent-contact as an email-shaped durable contact inbox for the restricted agent identity, not as a requirement to find an individual human. Hosted signup returns the raw restricted token only when --show-token is set, and only once. Use an agent-owned inbox when available; otherwise use an operator, team, or sponsor inbox that can receive future claim, billing, or abuse notices. Do not block waiting for a person, invent a person, or use a throwaway inbox. example.invalid addresses are only appropriate inside documented harness or proof runs. --human-email remains accepted as a compatibility alias, but the guide must not teach it. --save is accepted as a compatibility no-op for the default save behavior; use --no-save only when the runtime has a separate secret store and does not want local config.
|
|
64
64
|
5. If data.stage is quota_required, follow the payment commands in data.checks.payments.suggested_commands, then rerun the guide once. 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 four-job daily cap.
|
|
65
|
-
6. If data.stage is ready_to_create,
|
|
65
|
+
6. If data.stage is ready_to_create, data.next_command is the first bounded live create. data.next_command_effect.label must be live_media_create_credit_debit and its provider_call, hosted_create, credit_debit, and media_write flags are true. Run data.next_command when media spend is allowed. In no-spend evaluations, or when you only need to prove readiness without media/provider work, run data.no_spend_next_command instead; it is the dry-run plan command with no provider call, credit debit, or media write. If the guide authenticated from env or stdin, prefer data.auth_handoff.next_command.with_env or data.auth_handoff.next_command.with_stdin so auth follows the live create. In guide cost output, cost.estimated_usd_per_image and cost.estimated_debit_usd_per_image are the Image Skill debit dollars for one output; cost.estimated_provider_usd_per_image is only the upstream provider estimate. Use the guide's returned max_estimated_usd_per_image because it is sized to the credit debit the agent funds. Add --output-count N only after models show confirms the selected create model supports more than one output; credit_pricing.credits_required is the total debit across outputs, while max_estimated_usd_per_image remains a per-image Image Skill debit guard.
|
|
66
66
|
7. After create, use image-skill jobs show JOB_ID to recover status, cost, safety, timestamps, and final assets; image-skill assets get ASSET_URL_OR_ID --output ./result.png to fetch the generated asset without repeating provider work; and image-skill activity list --subject JOB_ID to find ledger events, trace, usage, and asset links to cite.
|
|
67
67
|
8. Leave image-skill feedback create if the first-run flow is confusing, blocked, missing an affordance, or easier through a direct provider than through Image Skill. Use image-skill activity show FEEDBACK_ID only when you need to confirm the feedback entered the hosted ledger.
|
|
68
68
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "image-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.28",
|
|
4
4
|
"description": "Zero-setup durable creative-media CLI for agents (image + video + audio + 3D): guide-first creation, model and cost inspection, owned URLs, JSON recovery, payments, reusable assets, and feedback.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
package/skill.md
CHANGED
|
@@ -128,27 +128,31 @@ compatibility, but fresh agents do not need to add it to every command.
|
|
|
128
128
|
|
|
129
129
|
Start with the no-spend guide. It checks hosted reachability, executable model
|
|
130
130
|
availability, auth/quota state when credentials already exist, payment rail
|
|
131
|
-
availability, and returns
|
|
132
|
-
|
|
131
|
+
availability, and returns one primary next command plus
|
|
132
|
+
`data.next_command_effect`. Guide mode does not create a signup, provider job,
|
|
133
|
+
dry-run job, payment object, credit debit, or asset.
|
|
133
134
|
|
|
134
135
|
```bash
|
|
135
136
|
npx -y image-skill@latest create --guide --prompt "a compact field camera on a stainless workbench"
|
|
136
137
|
```
|
|
137
138
|
|
|
138
|
-
Read `data.stage`, `data.next_command`, `data.
|
|
139
|
-
`data.
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
Read `data.stage`, `data.next_command`, `data.next_command_effect`,
|
|
140
|
+
`data.no_spend_next_command`, `data.auth_handoff`, and `data.mutation`. If the
|
|
141
|
+
guide returns `auth_required`, run the signup command it gives you; hosted
|
|
142
|
+
signup saves the restricted token to the public CLI config by default, so rerun
|
|
143
|
+
the same guide normally. If the runtime intentionally uses
|
|
142
144
|
`--no-save --show-token`, store the returned token immediately and use
|
|
143
145
|
`data.auth_handoff.rerun_guide.with_env` or
|
|
144
146
|
`data.auth_handoff.rerun_guide.with_stdin`. If it returns `quota_required`,
|
|
145
147
|
inspect the payment commands it gives you. Prefer a returned browserless
|
|
146
148
|
`stripe_x402.exact.usdc` path when it is available and within the delegated
|
|
147
149
|
cap; otherwise hand the Stripe Checkout link to a human sponsor. If it returns
|
|
148
|
-
`ready_to_create`,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
`data.
|
|
150
|
+
`ready_to_create`, `data.next_command` is the bounded live create and
|
|
151
|
+
`data.next_command_effect.label` is `live_media_create_credit_debit`; run it
|
|
152
|
+
when media spend is allowed. In no-spend evaluation runs, use
|
|
153
|
+
`data.no_spend_next_command` instead. When the guide authenticated from env or
|
|
154
|
+
stdin, prefer `data.auth_handoff.next_command.with_env` or
|
|
155
|
+
`data.auth_handoff.next_command.with_stdin` so auth follows the live create.
|
|
152
156
|
|
|
153
157
|
Use the lower-level inspection commands when the guide asks for them or when
|
|
154
158
|
you need capability details before spending:
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-audio-generation
|
|
3
|
+
description: >-
|
|
4
|
+
AI audio generation for agents through Image Skill's zero-setup hosted creative runtime. Use when a prompt should become music, sound, or audio without provider credentials, OAuth, local runtime, or per-provider billing. Start with the no-spend guide, choose an audio model, and keep durable hosted audio URLs, recoverable jobs, cost receipts, stable JSON, payments, and feedback in one loop.
|
|
5
|
+
homepage: https://image-skill.com
|
|
6
|
+
docs: https://image-skill.com/llms.txt
|
|
7
|
+
metadata:
|
|
8
|
+
status: preview-contract
|
|
9
|
+
cli: image-skill
|
|
10
|
+
canonical_skill_url: https://image-skill.com/skill.md
|
|
11
|
+
canonical_api_url: https://api.image-skill.com
|
|
12
|
+
openclaw:
|
|
13
|
+
requires:
|
|
14
|
+
env: []
|
|
15
|
+
bins: []
|
|
16
|
+
envVars:
|
|
17
|
+
- name: IMAGE_SKILL_TOKEN
|
|
18
|
+
required: false
|
|
19
|
+
description: Optional hosted restricted token minted by image-skill signup and saved by default; not a user-supplied provider credential.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# AI Audio Generation
|
|
23
|
+
|
|
24
|
+
This is an intent-named Image Skill entry for agents searching for audio generation. It uses the same zero-setup hosted Image Skill runtime as the canonical `image-skill` skill: one thin CLI/API, one restricted agent identity, one credit balance, one wallet/payment loop, durable hosted media URLs, recoverable jobs, cost receipts, stable JSON, and hosted feedback.
|
|
25
|
+
|
|
26
|
+
Use this skill when the task asks for AI audio generation, text-to-audio, music generation, sound design, ambience, effects, or durable hosted audio output.
|
|
27
|
+
|
|
28
|
+
Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.no_spend_next_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
|
|
29
|
+
|
|
30
|
+
## First Command
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y image-skill@latest create --guide --model fal.stable-audio-25-text-to-audio --prompt "warm analog synth bed with soft tape hiss"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Main Runtime Command
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx -y image-skill@latest create --model fal.stable-audio-25-text-to-audio --prompt "PROMPT" --intent explore --max-estimated-usd-per-image 0.20
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Install This Intent Skill
|
|
43
|
+
|
|
44
|
+
Prefer the GitHub slug so skills.sh can track the marketplace install:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx skills add danielgwilson/image-skill-cli --skill ai-audio-generation -g -a codex -y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The canonical Image Skill entry remains available as:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Shared Contract
|
|
57
|
+
|
|
58
|
+
All intent skills in this repo point to the same hosted contract:
|
|
59
|
+
|
|
60
|
+
- Skill: https://image-skill.com/skill.md
|
|
61
|
+
- LLM contract: https://image-skill.com/llms.txt
|
|
62
|
+
- CLI contract: https://image-skill.com/cli.md
|
|
63
|
+
- Hosted API: https://api.image-skill.com
|
|
64
|
+
|
|
65
|
+
If Image Skill lacks the model, capability, latency, policy affordance, or buyer rail needed for this task, use the fallback only for that gap and run `image-skill feedback create --json` with the attempted command, expected behavior, actual behavior, and missing capability.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-image-generation
|
|
3
|
+
description: >-
|
|
4
|
+
AI image generation for agents: text-to-image and prompt-to-image through Image Skill's zero-setup hosted runtime. Use when an agent needs a generated image with no provider API key, OAuth, local runtime, or per-provider billing account. Start with the no-spend guide, then create durable hosted images with recoverable jobs, cost receipts, model parameters, stable JSON, and browserless x402 when available.
|
|
5
|
+
homepage: https://image-skill.com
|
|
6
|
+
docs: https://image-skill.com/llms.txt
|
|
7
|
+
metadata:
|
|
8
|
+
status: preview-contract
|
|
9
|
+
cli: image-skill
|
|
10
|
+
canonical_skill_url: https://image-skill.com/skill.md
|
|
11
|
+
canonical_api_url: https://api.image-skill.com
|
|
12
|
+
openclaw:
|
|
13
|
+
requires:
|
|
14
|
+
env: []
|
|
15
|
+
bins: []
|
|
16
|
+
envVars:
|
|
17
|
+
- name: IMAGE_SKILL_TOKEN
|
|
18
|
+
required: false
|
|
19
|
+
description: Optional hosted restricted token minted by image-skill signup and saved by default; not a user-supplied provider credential.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# AI Image Generation
|
|
23
|
+
|
|
24
|
+
This is an intent-named Image Skill entry for agents searching for image generation. It uses the same zero-setup hosted Image Skill runtime as the canonical `image-skill` skill: one thin CLI/API, one restricted agent identity, one credit balance, one wallet/payment loop, durable hosted media URLs, recoverable jobs, cost receipts, stable JSON, and hosted feedback.
|
|
25
|
+
|
|
26
|
+
Use this skill when the task asks for AI image generation, text-to-image, prompt-to-image, generated illustrations, concept art, product images, or any durable agent-created image.
|
|
27
|
+
|
|
28
|
+
Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.no_spend_next_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
|
|
29
|
+
|
|
30
|
+
## First Command
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y image-skill@latest create --guide --model openai.gpt-image-2 --prompt "a compact field camera on a stainless workbench"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Main Runtime Command
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx -y image-skill@latest create --model openai.gpt-image-2 --prompt "PROMPT" --intent explore --max-estimated-usd-per-image 0.07
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Install This Intent Skill
|
|
43
|
+
|
|
44
|
+
Prefer the GitHub slug so skills.sh can track the marketplace install:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx skills add danielgwilson/image-skill-cli --skill ai-image-generation -g -a codex -y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The canonical Image Skill entry remains available as:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Shared Contract
|
|
57
|
+
|
|
58
|
+
All intent skills in this repo point to the same hosted contract:
|
|
59
|
+
|
|
60
|
+
- Skill: https://image-skill.com/skill.md
|
|
61
|
+
- LLM contract: https://image-skill.com/llms.txt
|
|
62
|
+
- CLI contract: https://image-skill.com/cli.md
|
|
63
|
+
- Hosted API: https://api.image-skill.com
|
|
64
|
+
|
|
65
|
+
If Image Skill lacks the model, capability, latency, policy affordance, or buyer rail needed for this task, use the fallback only for that gap and run `image-skill feedback create --json` with the attempted command, expected behavior, actual behavior, and missing capability.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-video-generation
|
|
3
|
+
description: >-
|
|
4
|
+
AI video generation for agents through Image Skill's zero-setup hosted creative runtime. Use when a prompt should become a durable hosted video without provider credentials, OAuth, local runtime, or per-provider billing. Start with the no-spend guide, choose a video model, and keep model discovery, jobs, costs, URLs, JSON recovery, payments, and feedback in one loop.
|
|
5
|
+
homepage: https://image-skill.com
|
|
6
|
+
docs: https://image-skill.com/llms.txt
|
|
7
|
+
metadata:
|
|
8
|
+
status: preview-contract
|
|
9
|
+
cli: image-skill
|
|
10
|
+
canonical_skill_url: https://image-skill.com/skill.md
|
|
11
|
+
canonical_api_url: https://api.image-skill.com
|
|
12
|
+
openclaw:
|
|
13
|
+
requires:
|
|
14
|
+
env: []
|
|
15
|
+
bins: []
|
|
16
|
+
envVars:
|
|
17
|
+
- name: IMAGE_SKILL_TOKEN
|
|
18
|
+
required: false
|
|
19
|
+
description: Optional hosted restricted token minted by image-skill signup and saved by default; not a user-supplied provider credential.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# AI Video Generation
|
|
23
|
+
|
|
24
|
+
This is an intent-named Image Skill entry for agents searching for video generation. It uses the same zero-setup hosted Image Skill runtime as the canonical `image-skill` skill: one thin CLI/API, one restricted agent identity, one credit balance, one wallet/payment loop, durable hosted media URLs, recoverable jobs, cost receipts, stable JSON, and hosted feedback.
|
|
25
|
+
|
|
26
|
+
Use this skill when the task asks for AI video generation, text-to-video, generated motion, animated concepts, or durable hosted video output.
|
|
27
|
+
|
|
28
|
+
Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.no_spend_next_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
|
|
29
|
+
|
|
30
|
+
## First Command
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y image-skill@latest create --guide --model fal.ltx-video-13b-distilled --prompt "a ten second handheld product reveal"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Main Runtime Command
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx -y image-skill@latest create --model fal.ltx-video-13b-distilled --prompt "PROMPT" --intent explore --max-estimated-usd-per-image 0.25
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Install This Intent Skill
|
|
43
|
+
|
|
44
|
+
Prefer the GitHub slug so skills.sh can track the marketplace install:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx skills add danielgwilson/image-skill-cli --skill ai-video-generation -g -a codex -y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The canonical Image Skill entry remains available as:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Shared Contract
|
|
57
|
+
|
|
58
|
+
All intent skills in this repo point to the same hosted contract:
|
|
59
|
+
|
|
60
|
+
- Skill: https://image-skill.com/skill.md
|
|
61
|
+
- LLM contract: https://image-skill.com/llms.txt
|
|
62
|
+
- CLI contract: https://image-skill.com/cli.md
|
|
63
|
+
- Hosted API: https://api.image-skill.com
|
|
64
|
+
|
|
65
|
+
If Image Skill lacks the model, capability, latency, policy affordance, or buyer rail needed for this task, use the fallback only for that gap and run `image-skill feedback create --json` with the attempted command, expected behavior, actual behavior, and missing capability.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: creative-media
|
|
3
|
+
description: >-
|
|
4
|
+
Creative media for agents over one zero-setup Image Skill runtime: image generation, image editing, video, audio, and image-to-3D assets with no provider API key, OAuth, local runtime, or per-provider billing account. Use when an agent needs generated media plus durable hosted URLs, recoverable jobs, cost receipts, model parameters, stable JSON, payments, and feedback through one identity and one wallet.
|
|
5
|
+
homepage: https://image-skill.com
|
|
6
|
+
docs: https://image-skill.com/llms.txt
|
|
7
|
+
metadata:
|
|
8
|
+
status: preview-contract
|
|
9
|
+
cli: image-skill
|
|
10
|
+
canonical_skill_url: https://image-skill.com/skill.md
|
|
11
|
+
canonical_api_url: https://api.image-skill.com
|
|
12
|
+
openclaw:
|
|
13
|
+
requires:
|
|
14
|
+
env: []
|
|
15
|
+
bins: []
|
|
16
|
+
envVars:
|
|
17
|
+
- name: IMAGE_SKILL_TOKEN
|
|
18
|
+
required: false
|
|
19
|
+
description: Optional hosted restricted token minted by image-skill signup and saved by default; not a user-supplied provider credential.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Creative Media
|
|
23
|
+
|
|
24
|
+
This is an intent-named Image Skill entry for agents searching for creative media. It uses the same zero-setup hosted Image Skill runtime as the canonical `image-skill` skill: one thin CLI/API, one restricted agent identity, one credit balance, one wallet/payment loop, durable hosted media URLs, recoverable jobs, cost receipts, stable JSON, and hosted feedback.
|
|
25
|
+
|
|
26
|
+
Use this skill when the task asks for generative media, creative media, generated assets across modalities, or a single agent-facing runtime for image, edit, video, audio, and 3D work.
|
|
27
|
+
|
|
28
|
+
Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.no_spend_next_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
|
|
29
|
+
|
|
30
|
+
## First Command
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y image-skill@latest create --guide --prompt "a compact field camera on a stainless workbench"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Main Runtime Command
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx -y image-skill@latest models list --available --json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Install This Intent Skill
|
|
43
|
+
|
|
44
|
+
Prefer the GitHub slug so skills.sh can track the marketplace install:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx skills add danielgwilson/image-skill-cli --skill creative-media -g -a codex -y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The canonical Image Skill entry remains available as:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Shared Contract
|
|
57
|
+
|
|
58
|
+
All intent skills in this repo point to the same hosted contract:
|
|
59
|
+
|
|
60
|
+
- Skill: https://image-skill.com/skill.md
|
|
61
|
+
- LLM contract: https://image-skill.com/llms.txt
|
|
62
|
+
- CLI contract: https://image-skill.com/cli.md
|
|
63
|
+
- Hosted API: https://api.image-skill.com
|
|
64
|
+
|
|
65
|
+
If Image Skill lacks the model, capability, latency, policy affordance, or buyer rail needed for this task, use the fallback only for that gap and run `image-skill feedback create --json` with the attempted command, expected behavior, actual behavior, and missing capability.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: image-edit
|
|
3
|
+
description: >-
|
|
4
|
+
Image editing for agents: image-to-image edits, variations, and image-conditioned transforms through Image Skill's zero-setup hosted runtime. Use when an agent needs to edit an existing image without provider credentials, OAuth, local runtime, or per-provider billing. Inspect the edit model, upload or reuse an input image, then return durable hosted assets, jobs, cost receipts, stable JSON, and feedback.
|
|
5
|
+
homepage: https://image-skill.com
|
|
6
|
+
docs: https://image-skill.com/llms.txt
|
|
7
|
+
metadata:
|
|
8
|
+
status: preview-contract
|
|
9
|
+
cli: image-skill
|
|
10
|
+
canonical_skill_url: https://image-skill.com/skill.md
|
|
11
|
+
canonical_api_url: https://api.image-skill.com
|
|
12
|
+
openclaw:
|
|
13
|
+
requires:
|
|
14
|
+
env: []
|
|
15
|
+
bins: []
|
|
16
|
+
envVars:
|
|
17
|
+
- name: IMAGE_SKILL_TOKEN
|
|
18
|
+
required: false
|
|
19
|
+
description: Optional hosted restricted token minted by image-skill signup and saved by default; not a user-supplied provider credential.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Image Edit
|
|
23
|
+
|
|
24
|
+
This is an intent-named Image Skill entry for agents searching for image editing. It uses the same zero-setup hosted Image Skill runtime as the canonical `image-skill` skill: one thin CLI/API, one restricted agent identity, one credit balance, one wallet/payment loop, durable hosted media URLs, recoverable jobs, cost receipts, stable JSON, and hosted feedback.
|
|
25
|
+
|
|
26
|
+
Use this skill when the task asks to edit, vary, restyle, transform, or repair an existing image, including image-to-image work and model-specific edit parameters.
|
|
27
|
+
|
|
28
|
+
Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.no_spend_next_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
|
|
29
|
+
|
|
30
|
+
## First Command
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y image-skill@latest models show openai.gpt-image-2-edit --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Main Runtime Command
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx -y image-skill@latest edit --input image_... --model openai.gpt-image-2-edit --prompt "EDIT_PROMPT" --max-estimated-usd-per-image 0.07
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Install This Intent Skill
|
|
43
|
+
|
|
44
|
+
Prefer the GitHub slug so skills.sh can track the marketplace install:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx skills add danielgwilson/image-skill-cli --skill image-edit -g -a codex -y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The canonical Image Skill entry remains available as:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Shared Contract
|
|
57
|
+
|
|
58
|
+
All intent skills in this repo point to the same hosted contract:
|
|
59
|
+
|
|
60
|
+
- Skill: https://image-skill.com/skill.md
|
|
61
|
+
- LLM contract: https://image-skill.com/llms.txt
|
|
62
|
+
- CLI contract: https://image-skill.com/cli.md
|
|
63
|
+
- Hosted API: https://api.image-skill.com
|
|
64
|
+
|
|
65
|
+
If Image Skill lacks the model, capability, latency, policy affordance, or buyer rail needed for this task, use the fallback only for that gap and run `image-skill feedback create --json` with the attempted command, expected behavior, actual behavior, and missing capability.
|
|
@@ -128,27 +128,31 @@ compatibility, but fresh agents do not need to add it to every command.
|
|
|
128
128
|
|
|
129
129
|
Start with the no-spend guide. It checks hosted reachability, executable model
|
|
130
130
|
availability, auth/quota state when credentials already exist, payment rail
|
|
131
|
-
availability, and returns
|
|
132
|
-
|
|
131
|
+
availability, and returns one primary next command plus
|
|
132
|
+
`data.next_command_effect`. Guide mode does not create a signup, provider job,
|
|
133
|
+
dry-run job, payment object, credit debit, or asset.
|
|
133
134
|
|
|
134
135
|
```bash
|
|
135
136
|
npx -y image-skill@latest create --guide --prompt "a compact field camera on a stainless workbench"
|
|
136
137
|
```
|
|
137
138
|
|
|
138
|
-
Read `data.stage`, `data.next_command`, `data.
|
|
139
|
-
`data.
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
Read `data.stage`, `data.next_command`, `data.next_command_effect`,
|
|
140
|
+
`data.no_spend_next_command`, `data.auth_handoff`, and `data.mutation`. If the
|
|
141
|
+
guide returns `auth_required`, run the signup command it gives you; hosted
|
|
142
|
+
signup saves the restricted token to the public CLI config by default, so rerun
|
|
143
|
+
the same guide normally. If the runtime intentionally uses
|
|
142
144
|
`--no-save --show-token`, store the returned token immediately and use
|
|
143
145
|
`data.auth_handoff.rerun_guide.with_env` or
|
|
144
146
|
`data.auth_handoff.rerun_guide.with_stdin`. If it returns `quota_required`,
|
|
145
147
|
inspect the payment commands it gives you. Prefer a returned browserless
|
|
146
148
|
`stripe_x402.exact.usdc` path when it is available and within the delegated
|
|
147
149
|
cap; otherwise hand the Stripe Checkout link to a human sponsor. If it returns
|
|
148
|
-
`ready_to_create`,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
`data.
|
|
150
|
+
`ready_to_create`, `data.next_command` is the bounded live create and
|
|
151
|
+
`data.next_command_effect.label` is `live_media_create_credit_debit`; run it
|
|
152
|
+
when media spend is allowed. In no-spend evaluation runs, use
|
|
153
|
+
`data.no_spend_next_command` instead. When the guide authenticated from env or
|
|
154
|
+
stdin, prefer `data.auth_handoff.next_command.with_env` or
|
|
155
|
+
`data.auth_handoff.next_command.with_stdin` so auth follows the live create.
|
|
152
156
|
|
|
153
157
|
Use the lower-level inspection commands when the guide asks for them or when
|
|
154
158
|
you need capability details before spending:
|
|
@@ -91,6 +91,9 @@ Hosted signup saves the restricted `isk_r_` token to the public CLI config by
|
|
|
91
91
|
default with `0600` permissions, so later hosted commands can authenticate from
|
|
92
92
|
config without repeating signup or carrying a raw token through prompts. Set
|
|
93
93
|
`IMAGE_SKILL_CONFIG_PATH` first when the default config home may be read-only.
|
|
94
|
+
Successful default signup reports `data.auth_handoff.status` as
|
|
95
|
+
`saved_config_ready`, keeps `data.token` null, and should not require any
|
|
96
|
+
token-copy step.
|
|
94
97
|
The raw token is returned only when `--show-token` is set, and only once. Use
|
|
95
98
|
`--show-token --no-save` when the agent runtime has a separate secret store and
|
|
96
99
|
does not want local config. Do not paste tokens into prompts, logs, issue text,
|
|
@@ -125,9 +128,9 @@ should omit it.
|
|
|
125
128
|
|
|
126
129
|
Use the no-spend guide first. It is the only required first command for a fresh
|
|
127
130
|
agent. It checks health, executable model availability, auth/quota when a token
|
|
128
|
-
already exists, and payment rails, then returns one `data.next_command
|
|
129
|
-
mode does not create a
|
|
130
|
-
credit debit, or asset.
|
|
131
|
+
already exists, and payment rails, then returns one primary `data.next_command` plus
|
|
132
|
+
machine-readable `data.next_command_effect`. Guide mode does not create a
|
|
133
|
+
signup, provider job, dry-run job, payment object, credit debit, or asset.
|
|
131
134
|
|
|
132
135
|
```bash
|
|
133
136
|
image-skill create --guide --prompt "a compact field camera on a stainless workbench"
|
|
@@ -146,8 +149,14 @@ checklist before the guide asks for them.
|
|
|
146
149
|
`data.auth_handoff.rerun_guide.with_stdin`.
|
|
147
150
|
- `quota_required`: follow the payment commands in
|
|
148
151
|
`data.checks.payments.suggested_commands`, then rerun guide once.
|
|
149
|
-
- `ready_to_create`:
|
|
150
|
-
|
|
152
|
+
- `ready_to_create`: `data.next_command` is a live media create. Its
|
|
153
|
+
`data.next_command_effect.label` is `live_media_create_credit_debit`, with
|
|
154
|
+
`provider_call`, `hosted_create`, `credit_debit`, and `media_write` all true.
|
|
155
|
+
Run it for the first bounded create when media spend is allowed. If you are
|
|
156
|
+
in a no-spend evaluation or only need proof that the path is ready, run
|
|
157
|
+
`data.no_spend_next_command` instead; it is the dry-run plan command with no
|
|
158
|
+
provider call, credit debit, or media write. If the guide authenticated from
|
|
159
|
+
env or stdin, prefer
|
|
151
160
|
`data.auth_handoff.next_command.with_env` or
|
|
152
161
|
`data.auth_handoff.next_command.with_stdin` so auth follows the create.
|
|
153
162
|
|
|
@@ -57,12 +57,12 @@ Claim states:
|
|
|
57
57
|
- revoked: token or agent disabled
|
|
58
58
|
|
|
59
59
|
First-run guide loop:
|
|
60
|
-
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.auth_handoff, data.escape_hatches, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
60
|
+
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.next_command_effect, data.no_spend_next_command, data.auth_handoff, data.escape_hatches, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
61
61
|
2. Follow data.next_command. Do not run doctor, models list, signup, whoami, quota, dry-run, or payment commands as a setup checklist before the guide asks for them.
|
|
62
62
|
3. If data.stage is prompt_required, rerun data.next_command with the real prompt.
|
|
63
63
|
4. If data.stage is auth_required, run data.next_command, then rerun the guide once. Hosted signup saves the restricted token to the public CLI config by default with 0600 permissions. If the runtime intentionally uses --no-save --show-token, store the returned token in the agent runtime secret store, then rerun with IMAGE_SKILL_TOKEN or --token-stdin; data.auth_handoff.rerun_guide.with_env and data.auth_handoff.rerun_guide.with_stdin are copy-safe templates for that mode. The signup command uses --agent-contact as an email-shaped durable contact inbox for the restricted agent identity, not as a requirement to find an individual human. Hosted signup returns the raw restricted token only when --show-token is set, and only once. Use an agent-owned inbox when available; otherwise use an operator, team, or sponsor inbox that can receive future claim, billing, or abuse notices. Do not block waiting for a person, invent a person, or use a throwaway inbox. example.invalid addresses are only appropriate inside documented harness or proof runs. --human-email remains accepted as a compatibility alias, but the guide must not teach it. --save is accepted as a compatibility no-op for the default save behavior; use --no-save only when the runtime has a separate secret store and does not want local config.
|
|
64
64
|
5. If data.stage is quota_required, follow the payment commands in data.checks.payments.suggested_commands, then rerun the guide once. 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 four-job daily cap.
|
|
65
|
-
6. If data.stage is ready_to_create,
|
|
65
|
+
6. If data.stage is ready_to_create, data.next_command is the first bounded live create. data.next_command_effect.label must be live_media_create_credit_debit and its provider_call, hosted_create, credit_debit, and media_write flags are true. Run data.next_command when media spend is allowed. In no-spend evaluations, or when you only need to prove readiness without media/provider work, run data.no_spend_next_command instead; it is the dry-run plan command with no provider call, credit debit, or media write. If the guide authenticated from env or stdin, prefer data.auth_handoff.next_command.with_env or data.auth_handoff.next_command.with_stdin so auth follows the live create. In guide cost output, cost.estimated_usd_per_image and cost.estimated_debit_usd_per_image are the Image Skill debit dollars for one output; cost.estimated_provider_usd_per_image is only the upstream provider estimate. Use the guide's returned max_estimated_usd_per_image because it is sized to the credit debit the agent funds. Add --output-count N only after models show confirms the selected create model supports more than one output; credit_pricing.credits_required is the total debit across outputs, while max_estimated_usd_per_image remains a per-image Image Skill debit guard.
|
|
66
66
|
7. After create, use image-skill jobs show JOB_ID to recover status, cost, safety, timestamps, and final assets; image-skill assets get ASSET_URL_OR_ID --output ./result.png to fetch the generated asset without repeating provider work; and image-skill activity list --subject JOB_ID to find ledger events, trace, usage, and asset links to cite.
|
|
67
67
|
8. Leave image-skill feedback create if the first-run flow is confusing, blocked, missing an affordance, or easier through a direct provider than through Image Skill. Use image-skill activity show FEEDBACK_ID only when you need to confirm the feedback entered the hosted ledger.
|
|
68
68
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: image-to-3d
|
|
3
|
+
description: >-
|
|
4
|
+
Image-to-3D asset creation for agents through Image Skill's zero-setup hosted runtime. Use when an input image should become a durable hosted 3D mesh asset, such as a glb, without provider credentials, OAuth, local runtime, or per-provider billing. Inspect the 3D model, pass one owned input image to edit, then keep jobs, asset URLs, receipts, JSON recovery, payments, and feedback in one loop.
|
|
5
|
+
homepage: https://image-skill.com
|
|
6
|
+
docs: https://image-skill.com/llms.txt
|
|
7
|
+
metadata:
|
|
8
|
+
status: preview-contract
|
|
9
|
+
cli: image-skill
|
|
10
|
+
canonical_skill_url: https://image-skill.com/skill.md
|
|
11
|
+
canonical_api_url: https://api.image-skill.com
|
|
12
|
+
openclaw:
|
|
13
|
+
requires:
|
|
14
|
+
env: []
|
|
15
|
+
bins: []
|
|
16
|
+
envVars:
|
|
17
|
+
- name: IMAGE_SKILL_TOKEN
|
|
18
|
+
required: false
|
|
19
|
+
description: Optional hosted restricted token minted by image-skill signup and saved by default; not a user-supplied provider credential.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Image To 3D
|
|
23
|
+
|
|
24
|
+
This is an intent-named Image Skill entry for agents searching for image-to-3D asset creation. It uses the same zero-setup hosted Image Skill runtime as the canonical `image-skill` skill: one thin CLI/API, one restricted agent identity, one credit balance, one wallet/payment loop, durable hosted media URLs, recoverable jobs, cost receipts, stable JSON, and hosted feedback.
|
|
25
|
+
|
|
26
|
+
Use this skill when the task asks for image-to-3D, 3D asset generation from an image, glb mesh output, or a durable model asset derived from existing visual input.
|
|
27
|
+
|
|
28
|
+
Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.no_spend_next_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
|
|
29
|
+
|
|
30
|
+
## First Command
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx -y image-skill@latest models show fal.trellis-image-to-3d --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Main Runtime Command
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx -y image-skill@latest edit --input image_... --model fal.trellis-image-to-3d --max-estimated-usd-per-image 0.25 --json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Install This Intent Skill
|
|
43
|
+
|
|
44
|
+
Prefer the GitHub slug so skills.sh can track the marketplace install:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx skills add danielgwilson/image-skill-cli --skill image-to-3d -g -a codex -y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The canonical Image Skill entry remains available as:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Shared Contract
|
|
57
|
+
|
|
58
|
+
All intent skills in this repo point to the same hosted contract:
|
|
59
|
+
|
|
60
|
+
- Skill: https://image-skill.com/skill.md
|
|
61
|
+
- LLM contract: https://image-skill.com/llms.txt
|
|
62
|
+
- CLI contract: https://image-skill.com/cli.md
|
|
63
|
+
- Hosted API: https://api.image-skill.com
|
|
64
|
+
|
|
65
|
+
If Image Skill lacks the model, capability, latency, policy affordance, or buyer rail needed for this task, use the fallback only for that gap and run `image-skill feedback create --json` with the attempted command, expected behavior, actual behavior, and missing capability.
|