designing-syntax

mbruhler's avatarfrom mbruhler

Design custom syntax elements with reuse-first approach for workflow orchestration. Use when user needs custom operators, checkpoints, or syntax patterns not available in core syntax.

⭐191stars🔀5forks📁View on GitHub🕐Updated Dec 18, 2025

When & Why to Use This Skill

This Claude skill empowers users to design custom syntax elements for advanced workflow orchestration using a reuse-first methodology. It streamlines the creation of specialized operators, checkpoints, and domain-specific patterns, enabling the development of highly efficient, scalable, and readable agentic workflows tailored to complex business logic.

Use Cases

  • 1. Advanced Workflow Orchestration: Create custom operators (e.g., deduplicating merges) to handle complex data transitions and flow control that standard syntax cannot support.
  • 2. Standardizing Reusable Actions: Define modular sub-workflows like '@security-review' or '@code-style-check' to ensure consistency and reduce redundancy across multiple team projects.
  • 3. Implementing Governance Gates: Design specialized manual checkpoints and approval gates to integrate human-in-the-loop oversight into automated AI processes.
  • 4. Domain-Specific Logic Design: Develop custom conditions and loop patterns, such as 'retry-with-backoff' for API resilience, specifically optimized for unique industry requirements.
namedesigning-syntax
descriptionDesign custom syntax elements with reuse-first approach for workflow orchestration. Use when user needs custom operators, checkpoints, or syntax patterns not available in core syntax.

Designing Custom Workflow Syntax

I design custom syntax elements following a reuse-first approach. Only create new syntax when existing patterns don't fit.

When I Activate

I activate when you:

  • Need custom workflow operators
  • Want specialized checkpoints
  • Ask about extending syntax
  • Need domain-specific patterns
  • Say "I need a custom syntax for..."

Reuse-First Process

Before creating new syntax, I check:

  1. Built-in syntax - ->, ||, ~>, @, [...]
  2. Global syntax library - library/syntax/
  3. Template definitions - Existing workflow definitions
  4. Similar patterns - Adaptable existing syntax

Only create new if no match exists.

Syntax Types

Operators

Custom flow control operators.

Example: => (merge with dedup)

---
symbol: =>
description: Merge with deduplication
---
Executes left then right, removes duplicates from combined output.

Actions

Reusable sub-workflows.

Example: @deep-review

---
name: @deep-review
type: action
---
Expansion: [code-reviewer:"security" || code-reviewer:"style"] -> merge

Checkpoints

Manual approval gates with prompts.

Example: @security-gate

---
name: @security-gate
type: checkpoint
---
Prompt: Review security findings. Verify no critical vulnerabilities.

Conditions

Custom conditional logic.

Example: if security-critical

---
name: if security-critical
description: Check if changes affect security code
evaluation: Modified files in: auth/, crypto/, permissions/
---

Loops

Reusable loop patterns.

Example: retry-with-backoff(n)

---
name: retry-with-backoff
type: loop
params: [attempts]
---
Pattern: @try -> operation -> (if failed)~> wait -> @try

Design Principles

  1. Intuitive - Names/symbols hint at behavior
  2. Composable - Works with existing syntax
  3. Self-documenting - Clear from context
  4. Minimal - Only when truly needed

Best Practices

✅ DO:

  • Use descriptive names (@security-gate not @check)
  • Document behavior clearly
  • Provide examples
  • Keep composable

❌ DON'T:

  • Create for one-time use
  • Make too specific
  • Hide too much complexity
  • Duplicate existing syntax

Library Structure

library/syntax/
├── operators/          # Flow control operators
├── actions/            # Reusable sub-workflows
├── checkpoints/        # Approval gates
├── conditions/         # Custom conditionals
├── loops/              # Loop patterns
├── aggregators/        # Result combination
└── guards/             # Pre-execution checks
  • creating-workflows: Use custom syntax in workflows
  • executing-workflows: Execute workflows with custom syntax

Need custom syntax? Describe the pattern you keep repeating!