skills$openclaw/create-hat-collection
paulpete4.8k

by paulpete

create-hat-collection – OpenClaw Skill

create-hat-collection is an OpenClaw Skills integration for coding workflows. Generates new Ralph hat collection presets through guided conversation. Asks clarifying questions, validates against schema constraints, and outputs production-ready YAML files.

4.8k stars172 forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

namecreate-hat-collection
descriptionGenerates new Ralph hat collection presets through guided conversation. Asks clarifying questions, validates against schema constraints, and outputs production-ready YAML files. OpenClaw Skills integration.
ownerpaulpete
repositorypaulpete/create-hat-collection
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @paulpete/create-hat-collection
last updatedFeb 7, 2026

Maintainer

paulpete

paulpete

Maintains create-hat-collection in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
296 B
SKILL.md
6.7 KB
SKILL.md

name: create-hat-collection description: Generates new Ralph hat collection presets through guided conversation. Asks clarifying questions, validates against schema constraints, and outputs production-ready YAML files.

Create Hat Collection

Overview

This skill generates Ralph hat collection presets through a guided, conversational workflow. It asks clarifying questions about your workflow, validates the configuration against schema constraints, and produces a production-ready YAML preset file.

Output: A complete .yml preset file in the presets/ directory.

When to Use

  • Creating a new multi-agent workflow from scratch
  • Transforming a workflow idea into a structured preset
  • Need guidance on hat design patterns and event routing

Not for: Modifying existing presets (use /creating-hat-collections reference instead)

Workflow

Phase 1: Understand the Workflow

Ask clarifying questions to understand:

  1. Purpose: What problem does this workflow solve?
  2. Pattern: Which architecture pattern fits best?
    • Pipeline: A→B→C linear flow (analyze→summarize)
    • Critic-Actor: One proposes, another critiques (code review)
    • Supervisor-Worker: Coordinator delegates to specialists
    • Scientific: Observe→Hypothesize→Test→Fix (debugging)
  3. Roles: What distinct agent personas are needed?
  4. Handoffs: When should each role hand off to the next?
  5. Completion: What signals the workflow is done?

Phase 2: Design Event Flow

Map the workflow as an event chain:

task.start → [Role A] → event.a → [Role B] → event.b → [Role C] → LOOP_COMPLETE
                                                    ↓
                                         event.rejected → [Role A]

Constraints to validate:

  • Each trigger maps to exactly ONE hat (no ambiguous routing)
  • task.start and task.resume are RESERVED (never use as triggers)
  • Every hat must publish at least one event
  • Chain must eventually reach LOOP_COMPLETE

Phase 3: Generate Preset

Create the YAML file with these sections:

# <Preset Name>
# Pattern: <Architecture Pattern>
# <One-line description>
#
# Usage:
#   ralph run --config presets/<name>.yml --prompt "<example prompt>"

event_loop:
  starting_event: "<first.event>"  # Ralph publishes this

hats:
  hat_key:
    name: "<Emoji> Display Name"
    description: "<Short description of the hat's purpose>"
    triggers: ["event.triggers.this"]
    publishes: ["event.this.publishes", "alternate.event"]
    default_publishes: "event.this.publishes"
    instructions: |
      ## <HAT NAME> MODE

      <Clear role definition - what this hat does>

      ### Process
      1. <Step one>
      2. <Step two>
      3. Publish appropriate event

      ### Event Format
      ```
      <event topic="event.name">
      key: value
      </event>
      ```

      ### DON'T
      - <Common mistake to avoid>
      - <Another mistake>

Schema Reference

Required Top-Level Fields

FieldDescription
event_loop.starting_eventFirst event Ralph publishes

Hat Definition Fields

FieldRequiredDescription
nameYesDisplay name with optional emoji (e.g., "🔍 Analyzer")
descriptionYesShort description of the hat's purpose (one sentence)
triggersYesEvents this hat responds to (list)
publishesYesEvents this hat can emit (list)
default_publishesRecommendedFallback event if hat forgets to publish
instructionsYesRole-specific prompt (use | for multiline)

Fields That DON'T Exist

Never use these—they're not in the schema:

  • emoji (put emoji in name instead)
  • system_prompt (use instructions)
  • subscriptions / publications (use triggers / publishes)

Event Naming Conventions

<phase>.ready / <phase>.done      # Phase transitions
<thing>.approved / <thing>.rejected  # Review gates
<noun>.found / <noun>.missing     # Discovery events
<action>.request / <action>.complete # Request-response

Examples: analysis.complete, review.approved, build.blocked, spec.rejected

Validation Checklist

Before finalizing the preset, verify:

  • Each trigger maps to exactly ONE hat
  • No hat uses task.start or task.resume as triggers
  • Every hat has name, description, triggers, publishes, and instructions
  • default_publishes is set for hats with multiple publish options
  • Event chain can reach LOOP_COMPLETE
  • No orphan events that never get handled (warning only)
  • Instructions include role definition, process steps, event format, and DON'Ts

Output Location

Save generated presets to: presets/<name>.yml

For minimal/embedded presets: presets/minimal/<name>.yml

Testing the Preset

After generation, test with:

# Dry run to validate config parsing
cargo run --bin ralph -- run -c presets/<name>.yml -p "test prompt" --dry-run

# Run smoke tests
cargo test -p ralph-core smoke_runner

Use /evaluate-presets for comprehensive validation.

Example Conversation

User: I want a preset for doing code reviews with a security focus.

Assistant: I'll help create a security-focused code review preset. Let me ask a few questions:

  1. Review depth: Should this be a quick scan or thorough analysis?

  2. Roles needed: I'm thinking:

    • Security Analyst (finds vulnerabilities)
    • Code Reviewer (checks logic/style)
    • Summarizer (creates final report)

    Does this cover your needs, or should we add/remove roles?

  3. Iteration: If issues are found, should the code be fixed, or just reported?

User: Thorough analysis, those roles work, just report issues don't fix.

Assistant: Here's the event flow I'm designing:

task.start → [Security Analyst] → security.complete
                                        ↓
          → [Code Reviewer] → review.complete
                                        ↓
          → [Summarizer] → LOOP_COMPLETE

Let me generate the preset...

[Generates YAML with three hats following the schema]

Common Patterns Reference

Pipeline (Sequential)

A → B → C → done

Use for: analysis workflows, document processing

Critic-Actor (Review Loop)

Actor → Critic → approved/rejected
                    ↓
         rejected → Actor (retry)

Use for: code review, quality gates

Supervisor-Worker

Supervisor → worker.task → Worker → work.done → Supervisor

Use for: complex task decomposition

Scientific Method

Observe → Hypothesize → Test → confirmed/rejected
                                    ↓
                         rejected → Observe

Use for: debugging, investigation

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install create-hat-collection?

Run openclaw add @paulpete/create-hat-collection in your terminal. This installs create-hat-collection into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/paulpete/create-hat-collection. Review commits and README documentation before installing.