Packs

Create, read, update, search, and alias packs from the terminal.


Use epismo pack for reusable workflow and context artifacts.

Create a context pack

epismo pack create --type context --title "Team onboarding" --personal \
  --blocks '[{"title":"Where things live","content":"Docs in Notion, code in GitHub, designs in Figma."}]'

Create a workflow pack

epismo pack create --type workflow --title "Release review" --projects $PROJECT_ID \
  --steps '[{"title":"Summarize changes","content":"List merged PRs."}]'

Workflow step dueDate is relative to a future workflow run. Use "7" for seven days after the run starts. It is not YYYY-MM-DD.

Search packs

epismo pack search --type workflow --query "release review"
epismo pack search --type context --query "onboarding" --search-mode semantic

--search-mode selects the ranking mode: keyword (default) or semantic (keyword matching plus vector similarity). Omit it for keyword search.

Read packs

epismo pack get $PACK_ID
epismo pack get $PACK_ID --full
epismo pack get @repo-map --block-id b001,b002
epismo pack get @handle/repo-map

Default reads return outline data. Use --full only when the full nested content is needed.

Command Cost
epismo pack create 5 credits
epismo pack search 5 credits
epismo pack get 1 credit
epismo pack update 1 credit
epismo pack delete 1 credit
epismo pack like 1 credit
epismo pack rate 1 credit
epismo pack run 1 credit

Read the outline first to keep agent context small, then fetch only the nested content you need. epismo pack get costs the same 1 credit in outline, selected block/step, and full modes.

Rate a pack

epismo pack rate records the outcome of using a pack.

epismo pack rate @release-review success
epismo pack rate $PACK_ID failure

One outcome per account and pack: repeating the command updates the previous outcome (latest wins). Rated outcomes feed the hub's success/failure counts and the trending ranking.

Run a workflow pack

epismo pack run expands a workflow pack into a track: one root goal plus one todo task per step, created in a single call.

epismo pack run @release-review \
  --title "Ship CSV export" \
  --projects $PROJECT_ID \
  --start-date 2026-07-01 \
  --assignee human=$USER_ID \
  --context @repo-conventions
  • The goal is the run's objective and retrieval anchor. --title / --content set it; omitted, they default to the pack's title and content.
  • Relative step due dates ("7" = seven days) become absolute dates counted from --start-date (default: today).
  • Step dependsOn / parentId ids are resolved to the created track UUIDs. Every task links to the goal via goalId.
  • --assignee token=id maps pack assignee tokens to track assignees. Map human to a user id; agent ids resolve as-is. Unmapped human steps are left unassigned and reported in warnings.
  • --context records context packs as context: sources on the goal (references, not copies). Every created track carries a workflow:<pack-id> source back to the pack.

The response includes goal.id, each task's id with its source stepId, and a stepMap. Fetch the whole run later with:

epismo track search --type task --filter '{"goalId":["<goal-id>"]}'

Update nested content

epismo pack update @repo-map --blocks '[{"op":"add","title":"Local setup","content":"npm install"}]'
epismo pack update @repo-map --blocks '[{"op":"update","id":"b001","content":"Updated text"}]'
epismo pack update @repo-map --blocks '[{"op":"remove","id":"b002"}]'

Omitting --blocks or --steps keeps nested content unchanged. Passing [] is a no-op. Removing all nested items requires one remove operation per item ID.

Aliases

epismo alias upsert @repo-map --reference $PACK_REFERENCE
epismo alias get @repo-map
epismo alias list --type context