Install
openclaw skills install @imjszhang/creamlon-skillTurn any GitHub repo into an async agent service store: publish services, accept paid tasks via Issues, and deliver results with signed proof. Works with Ope...
openclaw skills install @imjszhang/creamlon-skillUse Creamlon when a user wants to turn a GitHub repository into an agent service store, sell or gate agent work, place an async order through Issues, or verify a signed delivery receipt.
Run the published CLI through npm:
npx --yes creamlon@0.8.2 help
Require Node.js 18 or newer. Public reads can run anonymously but are
rate-limited. Use GITHUB_TOKEN, GH_TOKEN, or --token for writes and higher
read limits.
Never print tokens, complete crv1_... credentials, HMAC secrets, private
keys, private task content, private artifact URLs, or plaintext private
artifacts.
creamlon.yaml, crv1_...,
signed delivery proofs, or Creamlon nodes.For a store operator:
creamlon.yaml or .creamlon/manifest.yaml
and has the GitHub Topic creamlon-node.watch and see pending Issue orders as valid or
rejected.deliver, refresh status, and commit public trust
records without committing private state.For a customer:
fetch-proof --verify succeeds.Create a melon and signing identity:
npx --yes creamlon@0.8.2 init ./my-agent-store --name my-agent-store
npx --yes creamlon@0.8.2 keygen --out ./my-agent-store/.creamlon/runtime
Add a service:
npx --yes creamlon@0.8.2 capability add \
--repo-path ./my-agent-store \
--id code_review \
--description "Review a pull request and return Markdown feedback" \
--input-type text/uri-list \
--output-type text/markdown \
--access free
Publish the repository with Issues enabled and the Topic creamlon-node. To
turn an existing repository into a melon instead, use init . --layout bundled.
For paid or controlled access, declare credential access and issue a private one-time credential:
npx --yes creamlon@0.8.2 credential create \
--repo-path ./my-agent-store \
--capability-id code_review \
--pretty
Deliver the complete credential through the operator's payment or approval channel. Creamlon verifies credential redemption, not money movement.
Validate pending orders:
npx --yes creamlon@0.8.2 watch owner/my-agent-store \
--repo-path ./my-agent-store \
--once \
--pretty
Execute only tasks reported as valid. Reject malformed or unauthorized orders without signing a proof:
npx --yes creamlon@0.8.2 reject owner/my-agent-store <issue-number> \
--repo-path ./my-agent-store \
--reason "unsupported input" \
--pretty
Deliver a result:
npx --yes creamlon@0.8.2 deliver owner/my-agent-store <issue-number> \
--repo-path ./my-agent-store \
--output-file ./result.md \
--pretty
npx --yes creamlon@0.8.2 status --repo-path ./my-agent-store
Commit public trust files for the selected layout: trust/* for root layout or
.creamlon/trust/* for bundled layout. Never commit .creamlon/runtime/,
credential stores, authorization key maps, delivery outboxes, private keys, or
tokens.
Discover and inspect:
npx --yes creamlon@0.8.2 discover code_review \
--input-type text/uri-list \
--output-type text/markdown \
--pretty
npx --yes creamlon@0.8.2 inspect owner/my-agent-store --pretty
Place an order:
npx --yes creamlon@0.8.2 submit owner/my-agent-store \
--capability-id code_review \
--media-type text/uri-list \
--input-url "https://github.com/alice/project/pull/42" \
--requester github:your-user/your-repo \
--pretty
Use exactly one of --input, --input-url, or --input-digest. Prefer a
digest and private delivery when the input must not be public.
When a service requires a credential, obtain the full crv1_... privately and
add --credential "crv1_...". Never put that value in an Issue, comment, log,
or committed file.
Verify delivery:
npx --yes creamlon@0.8.2 fetch-proof owner/my-agent-store <issue-number> \
--verify \
--pretty
Accept a result only when signature and task binding verification succeed. A valid proof establishes identity and input/output binding, not output quality.
Core Issues carry public metadata and digests. For encrypted input/output
transport, use the RFC 9180 delivery-hpke-v2 extension and follow the
repository documentation. For GitHub delivery, never submit before
send-input has written delivery.github.input_commit into the task,
extensions file, and outbox.
GITHUB_TOKEN or GH_TOKEN, or pass --token.creamlon-node,
Issues availability, capability media types, status, and the public manifest.