Skip to content
Back to skills

Gastown

ASecurity

Execute multi-agent workflows from YAML definitions. Claude Code IS the runtime - reads workflow, creates artifacts, dispatches agents via Task tool.

  • 22 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 20, 2026
ai-agentsjavascriptgojavabashnodeexpressapidocumentation

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

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

Scanned September 20, 2026

npx -y skills add lev-os/agents --skill gastown --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gastown?

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

Security grade badge for Gastown
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lev-os-gastown/badge)](https://www.skillsdirectory.com/skills/lev-os-gastown)

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: gastown
description: Execute multi-agent workflows from YAML definitions. Claude Code IS the runtime - reads workflow, creates artifacts, dispatches agents via Task tool.
when_to_use: When running agency workflows, CDO orchestration, or any multi-agent task defined in YAML
category: orchestration
version: 1.0.0
---

# Gastown - Multi-Agent Workflow Executor

**You ARE the runtime.** Read the YAML, create artifacts, dispatch agents.

## Core Pattern

```
1. Load workflow YAML (context:// or file path)
2. mkdir -p tmp/<workflow>-<timestamp>/
3. echo "user input" > tmp/.../00-input.md
4. For each turn:
   - Dispatch agents via Task tool (parallel or sequential)
   - Each agent reads assigned input, writes output
   - Sync: verify outputs exist
5. Final synthesis reads all artifacts
```

## Loading Workflows

### From Agency (context://)
```bash
# List available workflows
node core/index/src/protocols/context-resolver.js list agency

# Resolve to path
node core/index/src/protocols/context-resolver.js path context://agency/workflows/brand-identity-lifecycle

# Load content
node core/index/src/protocols/context-resolver.js resolve context://agency/workflows/brand-identity-lifecycle
```

### From File
Just read the YAML directly: `~/k/hub/agency/contexts/workflows/*.yaml`

## Execution Protocol

### Step 1: Create Artifact Directory
```bash
WORKFLOW="brand-identity"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
DIR="tmp/${WORKFLOW}-${TIMESTAMP}"
mkdir -p "$DIR"
```

### Step 2: Write Input
Write `00-input.md` with:
- User's request
- Client context (if applicable)
- Relevant background

### Step 3: Parse Workflow YAML

Key sections to extract:
- `iteration_cycles` or `turns` - execution phases
- `consciousness_streams` or `agents` - who does what
- `quality_gates` - confidence thresholds
- `ceo_orchestration` - synthesis rules

### Step 4: Dispatch Agents

**For each turn/cycle:**

```
Use Task tool with subagent_type based on role:
- brand_strategist → general-purpose
- voice_specialist → general-purpose
- visual_designer → general-purpose
- ceo (synthesis) → general-purpose with opus model

Each agent prompt includes:
1. Their role from workflow
2. Input file(s) to read
3. Output file to write
4. Thinking patterns to apply
5. Quality criteria to meet
```

**Parallel execution:** Launch multiple Task calls in single message
**Sequential execution:** Wait for each to complete

### Step 5: Agent I/O Pattern

Each agent:
1. **Reads** assigned input file(s) from tmp/
2. **Writes** their output to assigned file
3. **Never** sees other agents' concurrent work
4. **Expresses** confidence/uncertainty in output

File naming:
- `00-input.md` - original input
- `01-discovery-brand-strategist.md` - first turn, first agent
- `01-discovery-voice-specialist.md` - first turn, second agent (parallel)
- `02-synthesis-ceo.md` - CEO synthesis of turn 1
- `FINAL-deliverable.md` - final output

### Step 6: Quality Gates

After each turn, check:
- Do all expected output files exist?
- Do agents express sufficient confidence?
- Are collaboration needs addressed?

If gates fail:
- Request additional iteration
- CEO intervention for conflicts
- Escalate to human if deadlocked

### Step 7: CEO Synthesis

The CEO agent (you, running as orchestrator, OR a dispatched opus agent):
- Reads ALL artifacts from previous turn
- Synthesizes into coherent direction
- Makes proceed/revise/pivot decision
- Writes synthesis to next input

## Client Integration

### Client Folder Format

Agency clients follow this structure:

```bash
~/k/hub/agency/clients/<client-name>/
├── client.yaml              # Client config (name, status, features, etc.)
├── client-brief.md          # Project brief (problem, solution, audience)
├── context/                 # Background information
├── consciousness-streams/   # Specialist thinking artifacts
├── deliverables/            # Organized outputs
│   ├── brand/
│   ├── marketing/
│   ├── operations/
│   └── ux/
└── tmp/                     # CDO working artifacts (auto-created)
```

### Loading a Client

```bash
CLIENT="agenticseo"
CLIENT_PATH="$HOME/k/hub/agency/clients/$CLIENT"

# Load client config
cat "$CLIENT_PATH/client.yaml"

# Load brief
cat "$CLIENT_PATH/client-brief.md"

# Create working directory
WORKFLOW="brand-identity"
TIMESTAMP=$(date +%Y-%m-%dT%H-%M-%S)
mkdir -p "$CLIENT_PATH/tmp/$WORKFLOW-$TIMESTAMP"
```

### Client Input Template

Include client context in `00-input.md`:

```markdown
# Workflow Input

## Client: {client.name}
{client-brief.md content}

## User Request
{user's specific request}

## Workflow: {workflow_name}
{workflow description}
```

### Deliverables Routing

Final artifacts go to the appropriate client deliverable folder:
- Brand → `deliverables/brand/`
- Marketing → `deliverables/marketing/`
- UX → `deliverables/ux/`
- Operations → `deliverables/operations/`

---

## CDO Analysis Pattern

For multi-agent analysis workflows, use the **numbered role pattern**:

```
tmp/<workflow>-<timestamp>/
├── 00-input.md
├── cdo-analysis-1-{role-a}.md      # First analyst
├── cdo-analysis-2-{role-b}.md      # Second analyst
├── cdo-analysis-3-{role-c}.md      # Third analyst
├── cdo-analysis-4-{role-d}.md      # Fourth analyst
├── cdo-final-recommendations.md    # Individual recommendations merged
├── cdo-synthesis-consolidated.md   # CEO synthesis of all analyses
├── README.md                       # Workflow documentation
└── work-<timestamp>                # Metadata/logs (optional)
```

### Example: CDO Analysis Workflow

```yaml
workflow: cdo-analysis
turns:
  - turn: 1
    parallel: true
    agents:
      - step: 1
        role: protocol-architect
        output: cdo-analysis-1-protocol-architect.md
        lens: "Protocol design, API boundaries, communication patterns"
      - step: 2
        role: type-systematist
        output: cdo-analysis-2-type-systematist.md
        lens: "Type safety, schema design, data contracts"
      - step: 3
        role: hook-integrator
        output: cdo-analysis-3-hook-integrator.md
        lens: "Event hooks, side effects, lifecycle integration"
      - step: 4
        role: simplicity-advocate
        output: cdo-analysis-4-simplicity-advocate.md
        lens: "Complexity reduction, YAGNI, minimal viable approach"

  - turn: 2
    agents:
      - step: final
        role: ceo
        inputs: ["cdo-analysis-*.md"]
        output: cdo-final-recommendations.md

  - turn: 3
    agents:
      - step: synthesis
        role: ceo
        inputs: ["cdo-final-recommendations.md"]
        output: cdo-synthesis-consolidated.md
```

### Agent Roles (CDO Analysis)

| Role | Lens | Focus |
|------|------|-------|
| protocol-architect | System boundaries | APIs, protocols, communication |
| type-systematist | Type safety | Schemas, contracts, validation |
| hook-integrator | Side effects | Events, hooks, lifecycle |
| simplicity-advocate | Complexity | YAGNI, minimal, pragmatic |
| ceo | Synthesis | Final decision, trade-offs |

## Example: Brand Identity Lifecycle

```yaml
# Load workflow
workflow = context://agency/workflows/brand-identity-lifecycle

# Execution:
Turn 1 (Discovery - Parallel):
  - Agent: brand_strategist → 01-discovery-strategist.md
  - Agent: voice_specialist → 01-discovery-voice.md

Turn 2 (CEO Synthesis):
  - Agent: ceo → 02-ceo-synthesis.md (reads 01-*)

Turn 3 (Concept Development - Sequential):
  - Agent: visual_designer → 03-concept-visual.md
  - Agent: brand_strategist → 03-concept-validation.md
  - Agent: voice_specialist → 03-concept-voice.md

Turn 4 (CEO Decision):
  - If quality_gates pass → proceed to refinement
  - If fail → additional iteration

Turn 5 (Refinement):
  - Agent: creative_director → 04-refinement.md
  - Agent: guidelines_manager → 04-implementation.md

Turn 6 (Final):
  - Agent: ceo → FINAL-brand-identity.md
```

## Agent Prompt Template

```markdown
You are the {role} agent in the "{workflow}" workflow.

## Your Role
{role_description from workflow YAML}

## Input
Read and analyze: {input_files}

## Thinking Patterns
Apply: {thinking_patterns from workflow}

## Output
Write your analysis to: {output_file}

Include:
- Your reasoning process
- Confidence levels (0-1)
- Uncertainties/unknowns
- Collaboration needs (what you need from other agents)
- Quality self-assessment

## Quality Criteria
{quality_gates from workflow}

---
Input content follows:
{actual file contents}
```

## Anti-Patterns

| Don't | Do Instead |
|-------|------------|
| Create JavaScript per workflow | Read YAML, dispatch via Task tool |
| Orchestrator synthesizes | Dispatch CEO agent to synthesize |
| Agents share context | Each reads/writes disk only |
| Custom runtime framework | Claude Code IS the runtime |
| Over-engineer infrastructure | mkdir + Task tool + md files |

## Agency Paths

```bash
AGENCY_ROOT="$HOME/k/hub/agency"

# Workflows (29 YAML definitions)
$AGENCY_ROOT/contexts/workflows/

# Clients
$AGENCY_ROOT/clients/
├── agenticseo/     # First production client
├── mpos/           # Mobile POS project
└── mpos2/          # MPOS v2

# Patterns & Templates
$AGENCY_ROOT/contexts/patterns/
$AGENCY_ROOT/contexts/templates/

# Claude-Flow Agents (54 agent definitions)
$AGENCY_ROOT/claude-flow/

# Config Templates
$AGENCY_ROOT/config/
├── master_template.yaml
├── stealth_startup.yaml
└── verification_needed.yaml
```

## Quick Start: AgenticSEO

```bash
# 1. Load client
cat ~/k/hub/agency/clients/agenticseo/client.yaml
cat ~/k/hub/agency/clients/agenticseo/client-brief.md

# 2. Create work directory
mkdir -p ~/k/hub/agency/clients/agenticseo/tmp/brand-$(date +%Y%m%d-%H%M%S)

# 3. Write input
cat > ~/k/hub/agency/clients/agenticseo/tmp/brand-.../00-input.md << 'EOF'
# Brand Identity Workflow

## Client: AgenticSEO
(paste client-brief.md)

## Request
Create brand identity foundation...
EOF

# 4. Load workflow
cat ~/k/hub/agency/contexts/workflows/brand-identity-lifecycle.yaml

# 5. Execute (Claude Code IS the runtime)
# Dispatch agents via Task tool, write artifacts to tmp/
```

## Related

- **Workflows:** ~/k/hub/agency/contexts/workflows/ (29 workflows)
- **Clients:** ~/k/hub/agency/clients/ (agenticseo, mpos, mpos2)
- **Claude-Flow Agents:** ~/k/hub/agency/claude-flow/ (54 agents)
- **Config Templates:** ~/k/hub/agency/config/
- **Context Resolver:** core/index/src/protocols/context-resolver.js
- **BD-CDO Skill:** skills/bd-cdo/SKILL.md
- **BD Epic:** lev-8wkh

Files in this skill

  • SKILL.md10.4 KB
  • formulas/agency-index.formula.toml11.2 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.