Skip to content
Back to skills

Workflow

BSecurity

Build automated pipelines with reusable components, data flow between nodes, and state management.

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
businessbashnodesecurity

Works with

  • cursor

Security analysis

B75/100
  • criticalAccesses system keychains or credential stores

Pro scans all 8 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add clawic/skills --skill workflow --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Workflow?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Workflow
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/clawic-workflow/badge)](https://www.skillsdirectory.com/skills/clawic-workflow)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Workflow
slug: workflow
version: 1.0.0
description: Build automated pipelines with reusable components, data flow between nodes, and state management.
homepage: https://clawic.com/skills/workflow
metadata:
  clawdbot:
    emoji: ⚡
    requires:
      bins:
      - jq
      - yq
      - curl
      - uuidgen
      - flock
    os:
    - linux
    - darwin
    displayName: Workflow
---

## Architecture

Workflows live in `workflows/` with components and flows:

```
workflows/
├── index.md                 # Inventory with tags
├── components/
│   ├── connections/         # Auth configs
│   ├── nodes/               # Reusable operations
│   └── triggers/            # Event sources
└── flows/{name}/
    ├── flow.md              # Definition
    ├── config.yaml          # Parameters
    ├── run.sh               # Executable
    ├── state/               # Persistent between runs
    └── logs/
```

## Quick Reference

| Topic | File |
|-------|------|
| Directory layout, naming, formats | `structure.md` |
| Data passing between nodes | `data-flow.md` |
| Cursor, seen set, checkpoint | `state.md` |
| Retry, rollback, idempotency | `errors.md` |
| Connections, nodes, triggers | `components.md` |
| Create, test, update, archive | `lifecycle.md` |

## Requirements

- **jq** — JSON processing
- **yq** — YAML config parsing
- **curl** — HTTP requests
- **flock** — Lock files to prevent concurrent runs
- Secrets in macOS Keychain (`security find-generic-password`)

## Data Storage

- **Location:** `workflows/` in workspace root
- **State:** `flows/{name}/state/` — cursor.json, seen.json, checkpoint.json
- **Logs:** `flows/{name}/logs/` — JSONL per run
- **Data:** `flows/{name}/data/` — intermediate files between nodes

## Core Rules

### 1. Data Flow Pattern
Each node writes output to `data/{NN}-{name}.json`. Next node reads it.
```bash
curl ... > data/01-fetch.json
jq '...' data/01-fetch.json > data/02-filter.json
```
Breaking this pattern = nodes can't communicate.

### 2. Error Declaration
Every node in flow.md MUST declare:
- **On error:** retry(N) | fail | continue | alert
- **On empty:** skip | continue | fail

Undefined behavior = unpredictable workflow.

### 3. Lock Files
Prevent concurrent runs:
```bash
LOCKFILE="/tmp/workflow-${NAME}.lock"
exec 200>"$LOCKFILE"
flock -n 200 || exit 0
```

### 4. State Files
| File | Purpose |
|------|---------|
| cursor.json | "Where did I leave off?" |
| seen.json | "What have I processed?" |
| checkpoint.json | "Multi-step recovery" |

### 5. Component Reuse
Before creating new connections/nodes/triggers:
```bash
ls workflows/components/connections/
ls workflows/components/nodes/
```
Use existing. Update "Workflows Using This" when adding.

---

**Related:** For LLM-driven multi-phase processes, see the `cycle` skill.

Files in this skill

  • SKILL.md2.8 KB
  • _meta.json168 B
  • components.md5.5 KB
  • data-flow.md3 KB
  • errors.md4.5 KB
  • lifecycle.md5.8 KB
  • state.md4.5 KB
  • structure.md4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…