Docs/PUBLISH

Publish from your source

Keep the canonical Outcome in your public repository or domain. Possible reads it—no account required.

One folder per Outcome

outcomes.json      # publisher and manifest locations
outcomes/my-outcome/
  outcome.json    # machine metadata
  outcome.md      # human-facing title and explanation
  prompt.md       # exact reusable execution prompt
  media/          # optional previews
  inputs/         # optional supplied files
  artifacts/      # optional downloadable results

Install the CLI

The standalone CLI includes its runtime. No Node or npm installation is needed.

curl -fsSL https://possible.sh/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
# Or:
brew install fraylabs/tap/possible

The script verifies SHA256 and installs to ~/.local/bin without sudo. Set POSSIBLE_INSTALL_DIR for another writable directory or POSSIBLE_VERSION=0.6.1 to pin a version. npm 0.3.1 is legacy.

Author locally

  1. Create the folderRun possible create my-outcome --product owner/product, or use --skill owner/repository directory commit. The scaffold includes placeholder recipe steps.
  2. Write the human recordPut the title, opening summary, and formatted explanation in outcome.md.
  3. Preserve the promptPut the exact reusable execution prompt in prompt.md.
  4. Add provenanceName the primary Product or Skill, record models and provenance, and add a recipe with the agent, pinned skills, references, tools/APIs, and ordered steps you can substantiate in outcome.json.
  5. ValidateRun possible validate. It reports the recipe as incomplete until every placeholder step is filled in; remove the optional recipe to publish the prompt alone.

Capture a finished session

CLI 0.6.1 can read an explicit local Claude Code or Codex JSONL session file. Run possible capture claude-code <session.jsonl> --out <private-draft>, then edit draft.json. Tool outputs and file contents are omitted; unknown ingredients remain unknown.

Use possible capture check <private-draft> to report missing fields, undescribed tools and privacy findings. It exits non-zero on blockers and never writes a receipt or approves anything. Optional media/ and artifacts/ folders are copied into the Outcome; their paths, sizes and SHA-256 hashes are included in review. Limits: 16 MiB per file, 64 MiB total, 256 files, 512 entries and 16 directory levels. Symlinks, special files and paths outside the folder are rejected. Inspect all files and embedded metadata yourself; binary media is not automatically redacted. Any file change requires a new review.

The creator runs possible capture review <private-draft> in their terminal to inspect and approve the exact export. Then possible capture export <private-draft> --out <new-directory> writes a local Outcome. Nothing is uploaded by capture, review or export. Automated redaction can miss private details; review every field. Approval is creator-attested and unauthenticated: a terminal can be automated. The check prevents accidental export and does not prove a person was present. Publishing is a separate explicit decision.

Publish publicly

The create command adds the Outcome to the repository-root outcomes.json index. Commit the public GitHub repository and run possible publish owner/repository. Domain publishers expose that index at /.well-known/possible/outcomes.json and publish the HTTPS origin. Possible stores an immutable snapshot of every accepted revision.

Publish a source →

Identity and labels

A publisher-domain source is Official for that domain. GitHub sources are Community by default unless ownership of a referenced Skill follows directly from the repository. Authors cannot self-award another company’s identity.