OpenClaw skill: mesh-pipeline-runner
Find a file
2026-06-03 17:28:44 -07:00
.todos Initial commit 2026-03-09 08:49:27 -07:00
.pre-commit-config.yaml chore: add basic pre-commit hooks (trailing-whitespace, eof-fixer, ruff) 2026-06-03 17:28:44 -07:00
agent.py Initial commit 2026-03-09 08:49:27 -07:00
README.md Initial commit 2026-03-09 08:49:27 -07:00
run_live.sh Initial commit 2026-03-09 08:49:27 -07:00
SKILL.md Add frontmatter and agent-skill tag to mesh-pipeline-runner 2026-05-07 14:52:57 +00:00
traced_agent.py Initial commit 2026-03-09 08:49:27 -07:00

Mesh Pipeline Runner

Agent-driven article generation pipeline with full traceability.

Pipeline Stages

[1] DISCOVERY    → Broad search → Pick trending topic
[2] RESEARCH     → Deep search  → Topic brief + angle
[3] LDR          → Deep research → Synthesis + facts
[4] WRITER       → LLM generate → Article draft (~850 words)
[5] EDITOR       → Quality review → Edited draft
[6] EIC          → Word count gate → WordPress + Discord

Usage

# Run full pipeline
python3 traced_agent.py --seed "AI news 2025" --type news

# Output: /tmp/pipeline_runs/run_YYYYMMDD_HHMMSS/

Artifacts (Traceability)

Each stage saves input + output:

run_20260304_073045/
├── 01_discovery/
│   ├── 01_input_seed.txt
│   ├── 02_search_results.json
│   └── 03_output_topic.json
├── 02_research/
│   ├── 01_input_topic.json
│   ├── 02_deep_search.json
│   └── 03_output_brief.json
├── 03_ldr/
│   ├── 01_input_brief.json
│   └── 02_output_enriched.json
├── 04_writer/
│   ├── 01_input_enriched.json
│   └── 02_output_draft.md
├── 05_editor/
│   ├── 01_input_draft.md
│   └── 02_output_edited.md
├── 06_eic/
│   ├── 01_input_edited.json
│   ├── 02_decision.json
│   └── 03_output_scheduled.json
└── pipeline.log

Resume / Debug

Inspect any stage:

# See what topic was discovered
cat /tmp/pipeline_runs/run_*/01_discovery/03_output_topic.json

# See why EIC rejected
cat /tmp/pipeline_runs/run_*/06_eic/02_decision.json

Environment

Required:

  • BRAVE_API_KEY - for web search
  • OPENAI_API_KEY - for LLM generation
  • LDR server at ldr:5000
  • WordPress credentials in ezine/config/

Content Type Rules

Type Word Target Min Gate 48h Rule
News 850 800 Must be <48h old
Analysis 1600 1500 Any age
Opinion 1050 1000 Any age

Output

On success:

  • WordPress post scheduled (future date)
  • Discord notification to #Zine
  • Full article saved as markdown

On failure:

  • Decision json with rejection reason
  • Draft saved for inspection
  • Logs show where it failed