| name | prismloom |
| description | Use this skill for a Prismloom pixel-production request that must run through an installed compatible Prismloom CLI. It guides opaque intent collection, compilation, explicit quote and review confirmation, polling, inspection, bloom, and export without direct service access. |
| compatibility | Requires Prismloom CLI >=0.1.0. |
Prismloom CLI Skill
Use the installed prismloom executable as the sole Prismloom integration.
This package is declarative guidance, not an alternate implementation.
Boundary
- Invoke only the listed Prismloom CLI commands for Prismloom work. Do not make direct network, service, provider, or hosted control-plane calls.
- Do not invoke shell scripts, use a fallback binary, or implement validation, compilation, routing, pricing, quality, review, retention, derivation, or export behavior.
- Treat user intent, workspace references, canonical manifests, identifiers, and CLI JSON envelopes as opaque structured values. Do not add fields, remove fields, rename fields, infer values, or reinterpret a returned result.
- Never request, read, retain, display, or repeat tokens, provider keys, credentials, consumer OAuth data, cookies, or arbitrary endpoint configuration. Do not ask the user to configure any of them here.
- Do not install, repair, upgrade, download, or substitute Prismloom or this Skill. Do not invoke Skill installation or validation as part of an ordinary production request.
- Every listed operation other than the version check uses
--json. Consume and surface its one returned JSON document without embellishment.
Compatibility and mode
- Start with
prismloom --version and require version >=0.1.0.
- If the executable is absent, cannot launch, or is below that version, report
CLI_UNAVAILABLE and stop. Do not attempt installation or a workaround.
- Preserve the execution mode selected by the user or workspace. Do not choose one when it is absent; surface the CLI result instead.
local stays within the configured local CLI path.
byo stays within the configured user-controlled CLI path.
hosted stays within the CLI's configured official hosted profiles.
- If a diagnostic or profile lookup is explicitly requested, use only the mapped non-mutating command. Never use a lookup to select a missing profile or configuration.
Required intent flow
Follow these steps in order. Stop at every stated stop; do not change the input and retry with new semantics.
1. Collect opaque intent
Collect the user's structured intent and the workspace reference without constructing a Job or filling in any absent or ambiguous value. Keep field names, values, and omissions exactly as supplied. Ask only for a value the user elects to supply or that the CLI identifies as missing.
2. Compile, then check
Invoke prismloom job compile --intent <intent-file|-> --json.
On compilation success, use only the returned canonical manifest and digest for later calls. Invoke prismloom job check <canonical-job-file> --json against that canonical manifest.
Stop and surface the exact CLI envelope when either command reports any of the following:
INTENT_INCOMPLETE; collect no invented replacement value.
HARD_CONFLICT; do not bypass, force, skip, quote, submit, or derive.
- Any other unsuccessful result; do not replace it with a local interpretation.
3. Obtain and confirm a current hosted quote
For a hosted submission, invoke prismloom job run <canonical-job-file> --json only after successful compilation and checking. When it returns the current quote with QUOTE_ACCEPTANCE_REQUIRED, surface the complete returned quote and its acceptance reference unchanged.
Do not submit from that result. Require the user, in the current interaction, to explicitly confirm that exact current acceptance reference. A prior confirmation, a generic affirmative, or a confirmation for a different quote is not sufficient. Do not store, alter, replay, or manufacture the acceptance reference.
Only after that current explicit confirmation, invoke prismloom job run <canonical-job-file> --accept-quote <exact-current-quote-reference> --json. Pass the exact returned reference unchanged. For local or BYO runs, invoke prismloom job run <canonical-job-file> --json only after successful compilation and checking; if the CLI returns a human-action stop, surface it and stop.
4. Run and poll
After a successful run response, use the returned Job identifier with prismloom job poll <job-id> --json. Surface queued, running, succeeded, failed, and terminal results exactly as returned. A nonterminal poll is not completion. Do not contact anything other than the CLI or turn polling into a direct service call.
5. Inspect and obtain an explicit review action
Invoke prismloom inspect <job-or-candidate-id> --json and surface the returned inspection unchanged.
Before changing review state, require the user in the current interaction to explicitly name either approve or reject for that candidate. Do not infer a decision from a successful run, a quality result, silence, a previous interaction, or a request to derive or export.
- Only after an explicit current
approve, invoke prismloom review approve <candidate-id> --json.
- Only after an explicit current
reject, invoke prismloom review reject <candidate-id> --json and stop that candidate's production path.
- If inspection or review returns
QUALITY_GATE_FAILED or APPROVAL_REQUIRED, surface the result and stop. Do not bypass it.
6. Derive and export only from an approved result
Run prismloom bloom derive --source <approved-asset-id> --palette <palette-manifest-file> --json only when the user explicitly requests derivation and the CLI has established that the source asset is approved. Derivation does not decide review state.
Inspect every derived result and repeat the explicit current-interaction review step before export. Run prismloom export <approved-asset-or-pack-id> --json only when the user explicitly requests export and the CLI has established that its source is approved. A rejected, pending, expired, deleted, or quality-gated result is a stop, not an export candidate.
CLI command mapping
| Purpose | CLI invocation |
|---|
| Compatibility check | prismloom --version |
| Non-mutating diagnostics | prismloom doctor --json |
| Profile lookup | prismloom model list --json or prismloom model show <profile-id> --json |
| Compile opaque intent | `prismloom job compile --intent <intent-file |
| Check canonical manifest | prismloom job check <canonical-job-file> --json |
| Obtain hosted quote or run | prismloom job run <canonical-job-file> --json |
| Submit the current confirmed quote | prismloom job run <canonical-job-file> --accept-quote <exact-current-quote-reference> --json |
| Poll a Job | prismloom job poll <job-id> --json |
| Inspect a Job or candidate | prismloom inspect <job-or-candidate-id> --json |
| Approve after current explicit confirmation | prismloom review approve <candidate-id> --json |
| Reject after current explicit confirmation | prismloom review reject <candidate-id> --json |
| Derive from an approved source | prismloom bloom derive --source <approved-asset-id> --palette <palette-manifest-file> --json |
| Export an approved asset or pack | prismloom export <approved-asset-or-pack-id> --json |
Pass an already selected mode through the CLI's supported mode option unchanged when the command needs it. Do not add an unselected mode, a profile, an endpoint, or a credential.