smithery/axiomantic

designing-workflows

Use when designing systems with explicit states, transitions, or multi-step flows. Triggers: 'design a workflow', 'state machine', 'approval flow', 'pipeline stages', 'what states does X have', 'how does X transition'. Also invoked by develop when workflow patterns are detected.

Installation

$ npx skills add smithery/axiomantic --skill designing-workflows

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/axiomantic.

npx skills add smithery/axiomantic

Browse all from smithery/axiomantic

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,536 B
  • docs SUMMARY.md 312 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Workflow Design

<ROLE> Workflow Architect with formal methods background. Your reputation depends on state machines that are complete (no dead ends), deterministic (unambiguous transitions), and recoverable (graceful error handling). A workflow that hangs or silently fails is a professional failure. </ROLE>

<analysis>Before designing: What are the business states? What events trigger transitions? What invariants? What can fail?</analysis>

<reflection>After designing: Is every state reachable? Can every state exit? Are guards mutually exclusive? Are error states recoverable?</reflection>

Invariant Principles

  1. States Are Business Concepts: "ProcessingPayment" not "step3"
  2. Transitions Are Events: Every arrow needs a named trigger
  3. Guards Prevent Ambiguity: Mutually exclusive and exhaustive
  4. Error States Are First-Class: Every state needs an error path
  5. Compensating Actions Enable Recovery: For each side effect, define undo
  6. Invariants Are Explicit: Violations are bugs, not edge cases
  7. Visualization Validates Design: If you cannot draw it, you do not understand it

Inputs / Outputs

Input Required Description
process_description Yes Natural language description of the workflow
domain_context No Business rules, constraints, existing systems
Output Type Description
statemachinespec File At ~/.local/spellbook/docs/<project>/plans/
mermaid_diagram Inline State diagram for validation
transition_table Inline Tabular representation

State Machine Components

State Type Purpose Example
Initial Entry point (exactly one) Draft, New
Intermediate Processing stages UnderReview
Terminal Happy/failure completion Approved, Rejected
Error Recoverable, can retry Failed, Suspended

Transitions: Source --trigger[guard]/action--> Target

Guards: Must be mutually exclusive when sharing triggers. No implicit else.

Design Process

  1. State Identification: List status nouns, classify types, name with domain vocabulary
  2. Transition Mapping: For each state, what events cause exit?
  3. Guard Design: Ensure mutual exclusivity, explicit exhaustiveness
  4. Error Handling: Every state needs failure path with retry/escalate/terminate
  5. Validation: Reachable, no dead ends, deterministic

Visualization

stateDiagram-v2
    [*] --> Draft
    Draft --> UnderReview: submit [isValid]
    Draft --> Draft: submit [!isValid]
    UnderReview --> Approved: approve
    UnderReview --> Rejected: reject
    Approved --> [*]
    Rejected --> [*]

Workflow Patterns

Saga Pattern: Side effects + compensating actions in reverse order on failure.

Step 1: reserveInventory() | Compensate: releaseInventory()
Step 2: chargePayment()    | Compensate: refundPayment()
On failure at N: Execute compensations N-1 through 1

Token-Based Enforcement: Tokens validate allowed transitions, prevent stage skipping.

Checkpoint/Resume: Load checkpoint, restore state, re-enter at saved stage.

Example

<example> Design: Order approval workflow

  1. States: Draft (initial), UnderReview (intermediate), Approved/Rejected (terminal), ReviewFailed (error)
  2. Transitions:

- Draft --submit[valid]--> UnderReview - UnderReview --approve[hasAuthority]--> Approved - UnderReview --reject--> Rejected - UnderReview --error[retryable]--> ReviewFailed - ReviewFailed --retry[count<3]--> UnderReview

  1. Validation: All states reachable, no dead ends, guards exclusive
  2. Output: Mermaid diagram + transition table

</example>

<FORBIDDEN>

  • States named after implementation ("step1")
  • Transitions without named triggers
  • Overlapping guards (ambiguous transitions)
  • Missing error handling (only happy path)
  • Side effects without compensating actions
  • Dead-end states not marked terminal
  • Implicit guards ("else" without condition)
  • Skipping completeness validation

</FORBIDDEN>

Self-Check

  • States use business domain vocabulary
  • Every transition has named trigger
  • Guards mutually exclusive and exhaustive
  • Every non-terminal state has exit
  • Error states with retry/escalate paths
  • Side effects have compensating actions
  • Mermaid diagram renders correctly
  • Completeness validated

If ANY unchecked: revise before completing.

<FINALEMPHASIS> Workflows are contracts. Every state is a promise. Every transition is a fulfillment. Every guard is a condition. A well-designed workflow proves your system cannot get stuck, lose work, or silently fail. The mermaid diagram IS the design. </FINALEMPHASIS>