workflow-design
Skill1 starsChanged 5 months agoMITView on GitHub
Turn a business process or SOP into a structured, build-ready Process Street workflow DESIGN — tasks, ordering, typed form fields, conditional logic, role assignment, approval gates, stop tasks, due-date rules, data-set lookups. Design only, no API writes; the artifact hands off to the build step (the ps-build skill via the v1.1 revision API). Use for /workflow-design or when someone says "design a workflow for [process]", "map this SOP into Process Street", "how should we structure this process in PS", "scope a workflow for [client]", or "turn this process doc into a PS design". Not the live build (that's a separate build step).
6 other projects use a version of this.
Adopted by
Most recently taken up by
- bingyue/fde-skillstheir own version, first seen Oct 13, 2026
- The-Utopia-Studio/skillstheir own version, first seen Oct 13, 2026
- ghorbanies/workflow-designtheir own version, first seen Oct 11, 2026
- slogsdon/skills-workflowstheir own version, first seen Aug 4, 2026
- JohnnySun/skillstheir own version, first seen Jul 12, 2026
- gmanch94/claude-code-aidlc-templatetheir own version, first seen Jul 11, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- The-Utopia-Studio/skills★ 6same name
- bingyue/fde-skills★ 5same name
- gmanch94/claude-code-aidlc-template★ 2same name
- JohnnySun/skills★ 2same name
- ghorbanies/workflow-design★ 1same name
- slogsdon/skills-workflows★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- data-setSkill
- demo-buildSkill
- chrome-recording-to-workflowSkill
- logic-rulesSkill
- ps-auditSkill
- ps-buildSkill
- ps-editSkill
- ps-organizeSkill
- integration-scopingSkill
- ps-searchSkill
- ps-best-practicesSkill
- ps-helpSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Use when someone needs a process mapped into a PS workflow structure *before* building:
- Very specific: line 22
Read the source process/SOP/transcript
- Distinctive: line 23
Read existing workflows for patterns if extending (no writes)
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
When to use
Use when someone needs a process mapped into a PS workflow structure before building:
/workflow-design [process or SOP]- "design a workflow for X", "map this SOP into Process Street", "how should we structure this in PS", "scope a workflow for [client]"
Design only — no API writes. The artifact hands off to the build step (the ps-build skill via the v1.1 revision API). Inputs: a process description, SOP doc, discovery transcript, or compliance requirements.
What it does
Decomposes the process into a PS structure (tasks → fields → logic → roles → approvals → automations), encodes the design choices the builder can actually execute (correct field types, API operator vocabulary, FormField-vs-content constraints), and emits a build-ready artifact with a handoff-notes block.
Tools / capabilities
Routed to whatever's connected:
- Read the source process/SOP/transcript
- Read existing workflows for patterns if extending (no writes)
- Post the design artifact
How to handle it
- Decompose into the backbone: Trigger (manual / webhook / scheduled / CRM-event) → Phases → Handoffs (ownership transfers) → Completion (definition of done + what fires on completion).
- Enumerate tasks in execution order, each with a
taskType:Standard(human work + fields),Approval(binary sign-off),Code(Enterprise; API/orchestration),AI(Enterprise; only when determinism isn't required). Still plan order fully up front for a clean build — the toolkit'sedit-workflowsupports inserting later viaafterTask, but a fresh build is cleanest laid in one ordered pass. - Map form fields per task, typed from the verified 17-type enum (per this repo's
reference/api-reference.md, live-verified):Text, Textarea, Select, MultiSelect, MultiChoice, Date, Email, Url, Number, Members, File, MultiFile, Table, Snippet, Hidden, SendRichEmail, Document. Rules:- Select/MultiSelect for anything reportable or that drives logic
- Date picker for deadlines/audit (prefer over computed dates)
- File is NOT creatable via the API (it's rejected on create) — design MultiFile instead for any uploaded doc/evidence (max 10)
- Number CAN drive logic via the
IsGreaterThan/IsLessThanoperators (added 2026) — design numeric branches directly; use a Select only for categorical branches requiredis NOT settable via the API (UI-only) — note required fields in the design as a post-publish UI steprequired: trueat every compliance checkpoint- Critical constraint: any field a code task reads/writes, or a logic rule shows/hides, must be a FormField widget on a Standard task — never a content Text widget. Code tasks host zero widgets; Approval tasks host exactly one Text instruction widget. Design an adjacent "confirmation" Standard task to hold fields a code task writes to.
- Assign each task to a ROLE, not a person. Build an assignee matrix (task → role → approver → backup). For dynamic assignment (e.g. county → inspector), design a data-set lookup: a code task reads the key field, queries the data set, writes the assignee back.
- Define conditional logic as rules using the API operator vocabulary:
Is, IsNot, HasAnyValue, HasNoValue, IsLessThan, IsGreaterThan(NOTequals/contains/Is not equals— those 400). Format:IF <field> <op> <value> THEN Show/Hide <tasks or FormFields>. Targets = tasks or FormField widgets only. - Place approval gates — binary Approve/Reject (+ reject-with-comments). There is no "Approve with Changes": simulate via Reject → logic routes to a "Make Changes" task → loops back. Each gate needs a date-stamped sign-off field.
- Place stop tasks — block all downstream until complete; sit one above any gate with a required field so it can't be bypassed. Trailing code tasks auto-fire at run creation — if a CT needs human input, place it after a stop task.
- Design due dates as relative rules (anchored to trigger or another task's completion) — never hardcode dates; prefer native due dates over escalation code.
- Specify ≥1 completion automation (Slack/email notify, CRM update) — native trigger, Zapier, or webhook.
- Run the quality checklist and write the Build Handoff Notes (final task order, which fields are FormField-typed for code/logic, Enterprise features used, open questions). The canonical builder is
ps-build(this repo's Claude-Code plugin / CLI — build from a structured plan, draft→publish→rollback). This design IS that plan; hand it to/ps-build. Upstream, agap-analysisbrief (what/why) can feed this design's inputs.
Output
# Workflow Design: <Name>
Org/Folder: <target> · Plan: <Pro/Enterprise> · Trigger: <…> · Completion = <…> · Fires: <automation>
## Roles — <role — responsibility>
## Data Sets — | Set | Key | Returns | Used by |
## Tasks (in order)
### T1. <name> [taskType] — role · Stop: y/n · Due: <relative rule>
| Label | FieldType | Required | Drives logic | Notes |
(Code tasks: list inputData read + outputData written + which Standard task hosts them)
## Conditional Logic — | # | IF field | op | value | THEN | Targets |
## Approval Gates — | Gate | Approver | Approve→ | Reject→ | Sign-off |
## Automations — | Event | Action | Tool |
## Build Handoff Notes — order final; code/logic fields are FormFields; Enterprise features; open QsExample
Input: /workflow-design vendor approval & onboarding
Output (abridged):
# Workflow Design: Vendor Approval & Onboarding
Trigger: manual (Procurement intake) · Completion = vendor active in ERP · Fires: Slack #procurement + ERP create (Zapier)
T1. Vendor Intake [Standard] — Coordinator · Stop: yes
| Vendor Category | Select(Goods/Services/Software) | yes | YES drives Legal+IT branches |
| Annual Spend Band | Select | yes | YES |
| W-9 | File | yes | no |
T2. Risk & Threshold Lookup [Code] — inputData: Category, Spend Band → outputData writes to T3 textareas
T3. Review Routing Confirmation [Standard] — hosts the code-task write targets (Textareas)
T4. Legal Review [Standard] — hiddenByDefault T5. IT Security Review [Standard] — hiddenByDefault
T6. Finance Approval [Approval] — Stop: yes · Approve→T7 · Reject→T6b
T6b. Revise & Resubmit [Standard] — loops back to T6 (simulates "approve with changes")
T7. ERP Activation [Standard]
Logic: 1) Category Is Software → Show T5 · 2) Category IsNot Goods → Show T4 · 3) Finance Approval Is Rejected → Show T6b
Handoff: order final T1→T7; all code/logic fields are FormFields on Standard tasks; 1 code task (Enterprise); stops T1,T6.Note: code-task I/O lands on FormField textareas (not content widgets), API operators used, approve-with-changes simulated via reject-loop, chain order locked for one-pass build.
Failure modes
- Logic/code targets on content widgets — only FormField widgets (Short/Long/Textarea/Select) accept logic/
outputMapping; content Text/Embed/Image 400 "not found." - Task ordering — plan the chain up front for a clean build; later insertion is possible (the
edit-workflowplan'safterTask: "<name>"op, orcreate-task --after-task-id) but a one-pass ordered build is cleanest. - UI operator strings — use
Is/IsNot/HasAnyValue/HasNoValue/IsLessThan/IsGreaterThan;equals/contains400. - Promising "Approve with Changes" — doesn't exist; design the reject-loop.
- File field on create — the API rejects
File; designMultiFilefor any upload. - Code/AI tasks on non-Enterprise — both Enterprise-only; flag plan tier.
- Human task in a scheduled (all-code) workflow — it stalls forever.
- Trailing code task needing human input — auto-fires at run creation; place after a stop task.
- Assigning to individuals — always roles (an unknown email auto-invites a Guest).
Honesty & guardrails
- Never fabricate — design only what PS can actually build; flag plan-gated features; surface open questions rather than guessing.
- This skill never writes to the API — it produces a design; the build is a separate confirmed step (confirm before any state-changing action — draft-first — applies at build, not here).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

