Install
$ agentstack add skill-epismoai-skills-workflow-pack ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
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 →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 get → epismo_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:
humanfor decisions/reviews, AI agent name for generation/research - Declare
dependsOnonly when execution genuinely requires a prior step
Adapting a found workflow
Before materializing:
- Identify steps to keep, modify, or remove.
- Strip project-specific names, IDs, and one-off constraints.
- Reassign owners as appropriate for the new context.
- 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
- UUID →
get pack. @,@/, or one compact token likeprd-review→get pack @; if it misses, run [FIND](#find) with the same text.- Short phrase like
deployment checklist→ tryget pack @first; if it misses, run [FIND](#find). - Question, explicit search wording, or long descriptive text → [FIND](#find) first.
get/read/open/usealways 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:
type: workflow,query:,filter: { visibility: ["private"] }type: workflow,query:,filter: { visibility: ["public"] }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
search pack—type: workflow,query:, run bothfilter: { visibility: ["private"] }andfilter: { visibility: ["public"] }- One clear match → fetch and update without asking.
- Multiple candidates → show titles and IDs, ask the user to pick.
- 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.
- Author: epismoai
- Source: epismoai/skills
- License: MIT
- Homepage: https://epismo.ai/hub
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.