AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Workflow Pack

skill-epismoai-skills-workflow-pack · by epismoai

Discover, reuse, and release workflow packs in Epismo. Trigger on: 'find a workflow', 'get <id>', 'read <alias>', 'new workflow', 'create workflow', 'capture pattern', 'adapt a workflow', 'reuse this pattern', 'update workflow', 'organize steps', 'release this as a workflow', 'publish a workflow', 'deprecate workflow', 'suggest a change to a workflow', 'review suggestions', 'resolve a suggestion'…

No reviews yet
0 installs
28 views
0.0% view→install

Install

$ agentstack add skill-epismoai-skills-workflow-pack

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-epismoai-skills-workflow-pack)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Workflow Pack? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Workflow Pack

Discover, adapt, and release reusable workflow packs in Epismo — from finding a community pattern to publishing a proven execution structure.

Core principle: reuse before creating. Search private and public candidates together, then compare with liked/bookmarked workflows before building anything new.

> For connection setup, surface conventions, scope model, share URL resolution, and error handling, see [Epismo Basics](../epismo-basics/SKILL.md). > For task/goal tracking, see [Project Tracking](../project-tracking/SKILL.md). > For workflow query patterns and loading, see [Search & Discovery](./references/search.md). > For sending and resolving improvement suggestions, see [Suggestions](../epismo-basics/references/suggestions.md).

Commands

| Command | Natural language triggers | → | | ----------------------- | --------------------------------------------------------------------- | --------------------- | | new | create workflow, capture pattern, adapt a pattern, new workflow | [NEW](#new) | | get | get this ID, load this ID, read alias, open alias, load workflow | [GET](#get) | | find | find a workflow, search workflows, what workflows do I have | [FIND](#find) | | update [] | edit steps, update workflow, modify steps | [UPDATE](#update) | | organize | reorganize steps, reorder, clean up workflow | [ORGANIZE](#organize) | | release [] | publish this, make public, release pattern, update release, deprecate | [RELEASE](#release) | | suggest | suggest a change, propose an edit, review suggestions, resolve a suggestion | [SUGGEST](#suggest) | | — | unclear intent | Ask once |

Operations

| Operation | CLI | | -------------- | ------------------------------------------------------------------------------- | | search pack | epismo pack search --type workflow --filter '{...}' | | get pack | epismo pack get [--full] [--step-id ] | | create pack | epismo pack create --input '' | | update pack | epismo pack update --input '' | | delete pack | epismo pack delete | | like pack | epismo pack like --liked | | upsert alias | epismo alias upsert @ --id | | get alias | epismo alias get @ | | list aliases | epismo alias list --type workflow | | delete alias | epismo alias delete @ | | create suggestion | epismo suggestion create --title --content | | get suggestion | epismo suggestion get [--include-snapshot] | | list suggestions | epismo suggestion list [--owner] [--reference ] [--status ] | | update suggestion | epismo suggestion update --title --content | | resolve suggestion | epismo suggestion resolve --status |

CLI forms shown; on MCP, derive the tool name mechanically (pack getepismo_pack_get). See [surface conventions](../epismo-basics/SKILL.md#surface-conventions).

` is any pack reference — an ID, @alias`, share URL, or hub URL — resolved server-side. See [Pack References](../epismo-basics/SKILL.md#pack-references-resolving-share-urls).


NEW

Goal: create a reusable workflow as a private pack. Reuse before building — scan for an existing pattern first.

Step 1 — Reuse scan

Infer 2–4 topic keywords from the user's intent. Search private and public scopes together so local patterns and community patterns can be compared before choosing a base.

# Private workflows in the active workspace
epismo pack search --type workflow --query "" --filter '{"visibility":["private"]}'

# Public community workflows
epismo pack search --type workflow --query "" --filter '{"visibility":["public"]}'

# Bookmarked workflows, useful as a quality signal or fallback
epismo pack search --type workflow --query "" --filter '{"like":"liked"}'

| Result | Action | | ------------- | -------------------------------------------------------------------------- | | Strong match | Fetch full content → adapt steps → [Step 3 — Create](#step-3--create) | | Partial match | Fetch → use as base, modify steps → [Step 3 — Create](#step-3--create) | | No match | Design steps from scratch → [Step 2 — Design steps](#step-2--design-steps) |

Step 2 — Design steps

Each step should:

  • Have a clear title and self-contained content
  • Assign an owner: human for decisions/reviews, AI agent name for generation/research
  • Declare dependsOn only when execution genuinely requires a prior step

Adapting a found workflow

Before materializing:

  1. Identify steps to keep, modify, or remove.
  2. Strip project-specific names, IDs, and one-off constraints.
  3. Reassign owners as appropriate for the new context.
  4. Confirm destination: private pack for future reuse, or project tracks for immediate execution.

To materialize steps as project tracks, map each workflow step to an upserts entry — use the step's id (e.g. s001) as a client label; the server resolves it to a UUID. Preserve dependsOn directly from the workflow steps:

epismo track apply --input '{
  "scope": { "type": "projects", "ids": ["pj_123"] },
  "upserts": [
    { "id": "s001", "title": "Define scope", "task": { "status": "todo" } },
    { "id": "s002", "title": "Implement", "task": { "status": "todo", "dependsOn": ["s001"] } },
    { "id": "s003", "title": "Review and ship", "task": { "status": "todo", "dependsOn": ["s002"] } }
  ]
}'

Use [Workflow Patterns — Discovery](./templates/patterns.md#2-workflow-discovery) for structured adaptation reports.

Step 3 — Create

Default private. Use [RELEASE](#release) to publish publicly.

create pack:

{
  "title": "",
  "content": "",
  "type": "workflow",
  "visibility": "private",
  "steps": [
    {
      "id": "s001",
      "title": "",
      "content": "",
      "dueDate": "",
      "dependsOn": [],
      "parentId": "",
      "assignee": "human"
    }
  ]
}

| Who needs it | visibility | Scope / share | | --------------- | ------------ | ------------------------------------------------ | | Just me | "private" | scope: { type: "personal" } | | My team | "private" | scope: { type: "projects", ids: ["pj_xxx"] } | | Specific people | "private" | any scope + sharedWith: { userIds / emails } |

workflow    
step            

GET

Goal: fetch a workflow by ID, alias, or explicit read/open target.

Route intent before resolving

Prefer alias-first unless the input is obviously a search query.

| Input pattern | Route | Why | | ---------------------------------------------------------------------- | ------------- | --------------------------------------------- | | get ..., use ..., load ..., open ..., read ... | [GET](#get) | Explicit retrieval | | find ..., search ..., what workflows do I have, show workflows | [FIND](#find) | Explicit discovery | | Bare UUID | [GET](#get) | IDs are unambiguous | | Bare alias-shaped token | [GET](#get) | Try alias first, then search if it misses | | Short ambiguous phrase | [GET](#get) | Try alias first, then search if it misses | | Obvious search query, question, or long descriptive phrase | [FIND](#find) | Discovery intent is clearer than alias intent |

Resolve the input

  1. UUID → get pack .
  2. @, @/, or one compact token like prd-reviewget pack @; if it misses, run [FIND](#find) with the same text.
  3. Short phrase like deployment checklist → try get pack @ first; if it misses, run [FIND](#find).
  4. Question, explicit search wording, or long descriptive text → [FIND](#find) first.
  5. get/read/open/use always counts as retrieval intent.

get pack — default returns outline only; pass --full for all steps, or --step-id to load specific steps.

epismo pack get  --full
epismo pack get @ --full
epismo pack get  --step-id ,

FIND

Goal: discover the right workflow when the ID is not known.

search pack — scan titles only (no step content). Use this for natural-language discovery requests and multi-keyword topic phrases. Search private and public scopes for the same topic, then compare results before fetching full content:

  1. type: workflow, query: , filter: { visibility: ["private"] }
  2. type: workflow, query: , filter: { visibility: ["public"] }
  3. type: workflow, query: , filter: { like: "liked" }

Present the title list; if the match is clear, get pack immediately.

For filter keys and search recipes, see [Search & Discovery](./references/search.md).


UPDATE

Goal: edit the steps or metadata of an existing workflow.

ID or alias known

Always fetch before writing.

get pack → inspect current steps and metadata → update pack with id and step operations using op fields.

For update based on this conversation:

  • modify the steps where the new guidance belongs
  • add new steps only for new execution work
  • keep dependsOn, ownership, and ordering coherent

ID unknown

  1. search packtype: workflow, query: , run both filter: { visibility: ["private"] } and filter: { visibility: ["public"] }
  2. One clear match → fetch and update without asking.
  3. Multiple candidates → show titles and IDs, ask the user to pick.
  4. No match → fall back to [NEW](#new).

"Last workflow" shortcut: search private workflow packs and take the first result from the default recent-first outline.

workflow    
step                # when a specific step was updated

ORGANIZE

Goal: improve the step structure of an existing workflow.

get pack --full → review all steps → apply changes → update pack.

| Situation | Action | | ----------------------------------------------- | ------------------------------------------------------------------- | | A step is too broad or covers multiple concerns | Split — divide into two focused steps | | Two steps overlap or one has become redundant | Merge — combine into one coherent step, remove the other | | A step is no longer relevant | Remove — delete the step from the workflow | | Steps are out of execution order | Reorder — update dependsOn chains to reflect correct sequence | | The whole workflow is obsolete | Delete — requires explicit user approval |

All changes are applied via update pack using op fields. Use "op": "add" for new steps, "op": "update" for existing ones, "op": "remove" to delete a step by ID. delete pack requires explicit user approval.


RELEASE

Goal: publish a workflow publicly, update an existing release, or deprecate an obsolete one.

Two paths:

| Situation | Path | | --------------------------------------- | ------------------------------------------------ | | Existing private workflow worth sharing | Promote — change visibility to public | | New content written for community reuse | Create new public workflow via [NEW](#new) first |

Step 1 — Quality Gate

Run [Quality Gate](./references/quality.md) before any release decision. All 8 criteria must pass for public release. A single fail means: fix or keep private.

Step 2 — Release decision

| Decision | When | | -------------- | ------------------------------------------------------------------------ | | release | Execution proven, structure generalizable, no superior equivalent exists | | update | Improves an existing released pattern without breaking consumers | | keep private | Evidence incomplete or quality gate has open items | | deprecate | Obsolete, unsafe, or superseded |

Run the pre-decision checks in [Release](./references/release.md) before choosing one of these paths.

Step 3 — Confirm and update

Confirm with user before writing: state the workflow title, ID, and target visibility.

update pack:

{
  "id": "",
  "visibility": "public",
  "category": ""
}

| Category | When to use | | -------------- | ------------------------------------------------------- | | productivity | Daily rhythms, time management, operating norms | | programming | Code review, deployment, testing, development workflows | | design | Component reviews, UX research, design system processes | | marketing | Campaign planning, content creation, launch workflows | | operations | Incident response, onboarding, deployment pipelines | | learning | Onboarding guides, skill-building, training workflows | | life | Personal productivity, non-work routines |

See [Release](./references/release.md) for the approval boundary and required output format.

workflow    
share     https://epismo.ai/hub/workflows/

SUGGEST

Goal: propose an improvement to a workflow you don't own, or review and resolve suggestions on a workflow you do own. Suggestions are text-first — they never edit the workflow directly.

Full lifecycle, listing modes, and the CLI/MCP surface are in [Suggestions](../epismo-basics/references/suggestions.md). Decide direction first:

| Intent | Action | | --------------------------------------------------- | ---------------------------------------------------------------------- | | Propose a change to someone else's workflow | create suggestion with the pack reference, a short title, and content describing the proposed edit | | See suggestions I've received (inbox) | list suggestions --owner (filter with --status open) | | See suggestions for one workflow | list suggestions --reference @ | | See suggestions I submitted | list suggestions (no flags) | | Revise my own suggestion | update suggestion (author only) | | Act on a suggestion I received | resolve suggestion --status applied\|declined\|archived (owner only) |

When you apply a suggestion, make the actual change via [UPDAT

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.