<< All versions
Skill v1.0.1
currentLLM-judged scan90/100simhacker/moollm/data-flow
5 files
──Details
PublishedOctober 22, 2026 at 04:41 PM
Content Hashsha256:480d6a4ad5908d3f...
Git SHAf2af097f7922
Bump Typepatch
──Files
Files (1 file, 3.1 KB)
SKILL.md3.1 KBactive
SKILL.md · 157 lines · 3.1 KB
version: "1.0.1" name: data-flow description: Rooms as pipeline nodes, exits as edges, objects as messages allowed-tools:
- read_file
- write_file
- run_terminal_cmd
tier: 2 protocol: DATA-FLOW tags: [moollm, pipeline, processing, kilroy, messaging] related: [room, card, sister-script, coherence-engine]
Data Flow
"Rooms are nodes. Exits are edges. Thrown objects are messages."
MOOLLM's approach to building processing pipelines using rooms and objects. The filesystem IS the data flow network.
The Pattern
- Rooms are processing stages (nodes)
- Exits connect stages (edges)
- Objects flow through as messages
- THROW sends objects through exits
- INBOX receives incoming objects
- OUTBOX stages outgoing objects
Commands
| Command | Effect | |
|---|---|---|
THROW obj exit | Send object through exit to destination | |
INBOX | List items waiting to be processed | |
NEXT | Get next item from inbox (FIFO) | |
PEEK | Look at next item without removing | |
STAGE obj exit | Add object to outbox for later throw | |
FLUSH | Throw all staged objects | |
FLUSH exit | Throw staged objects for specific exit |
Room Structure
stage/├── ROOM.yml # Config and processor definition├── inbox/ # Incoming queue (FIFO)├── outbox/ # Staged for batch throwing└── door-next/ # Exit to next stage
Processor Types
Script (Deterministic)
yaml
processor:type: scriptcommand: "python parse.py ${input}"
LLM (Semantic)
yaml
processor:type: llmprompt: |Analyze this document:- Extract key entities- Summarize in 3 sentences
Hybrid
yaml
processor:type: hybridpre_process: "extract.py ${input}"llm_prompt: "Analyze extracted data"post_process: "format.py ${output}"
Mix and match. LLM for reasoning, scripts for transformation.
Example Pipeline
uploads/ # Raw files land here├── inbox/│ ├── doc-001.pdf│ └── doc-002.pdf└── door-parser/parser/ # Extract text├── script: parse.py└── door-analyzer/analyzer/ # LLM analyzes├── prompt: "Summarize..."├── door-output/└── door-errors/output/ # Final results└── inbox/├── doc-001-summary.yml└── doc-002-summary.yml
Processing Loop
> ENTER parserInbox: 2 items waiting.> NEXTProcessing doc-001.pdf...Text extracted.> STAGE doc-001.txt door-analyzerStaged.> FLUSHThrowing 2 items through door-analyzer...
Fan-Out (one-to-many)
yaml
routing_rules:- if: "priority == 'high'"throw_to: door-fast-track- if: "type == 'archive'"throw_to: door-archive- default: door-standard
Fan-In (many-to-one)
yaml
batch_size: 10on_batch_complete: |Combine all resultsGenerate summary reportTHROW report.yml door-output
Kilroy Mapping
| MOOLLM | Kilroy | |
|---|---|---|
| Room | Node | |
| Exit | Edge | |
| THROW | Message passing | |
| inbox/ | Input queue | |
| Script processor | Deterministic module | |
| LLM processor | LLM node |