agentleFS
ryanmacleanryanmaclean/skills/irclaw-research-team/SKILL.md

irclaw-research-team

Skill1 starsChanged 50 days agoMITView on GitHub

Use when spawning parallel research agents across the irclaw fleet — fetching URLs, parsing docs with liteparse, querying Ollama, and writing structured markdown findings. Use when doing multi-source research, deep-diving GitHub repos, Datadog docs, or any URL list. Covers the full pipeline: curl → liteparse → ollama → research/*.md

The file

Files
SKILL.md

irclaw Research Team

Overview

Spawn N parallel claude workers in Zellij panes. Each agent owns one research domain, fetches URLs, optionally parses docs via liteparse, and writes findings to research/<domain>.md. You watch them live and ctrl-c any runaway pane.

Quick Start

# Launch 4 research agents in a new Zellij tab
nu ~/.claude/skills/zellij-team/zellij-team.nu \
  --files [research/tasks/deep-dive-gastown.md \
           research/tasks/deep-dive-elixir.md \
           research/tasks/deep-dive-llm.md \
           research/tasks/deep-dive-pipeline.md]

Task files live in research/tasks/. Each is a self-contained prompt with context, URLs, and output path.

liteparse Pipeline

liteparse does NOT fetch URLs itself — pipe curl output in:

# Parse a remote PDF
curl -sL "https://example.com/doc.pdf" -o /tmp/doc.pdf
npx @llamaindex/liteparse /tmp/doc.pdf --output json > research/doc.json

# Parse an HTML page (save first)
curl -sL "https://example.com/page" -o /tmp/page.html
npx @llamaindex/liteparse /tmp/page.html --output json > research/page.json

Ollama Headless Query (no UI needed)

# Query local Ollama directly — skip vibecode-webgui for agent use
curl -s http://localhost:11434/api/generate \
  -d '{"model":"llama3","prompt":"Summarize: <paste content>","stream":false}' \
  | jq -r .response

For fleet nodes: Ollama runs on each node at localhost:11434. No central coordinator needed for per-node research.

Full Nushell Pipeline

# curl → liteparse → ollama → append to research file
def research-url [url: string, output_file: string, model: string = "llama3"] {
    let tmp = $"/tmp/(random chars -l 8).html"
    ^curl -sL $url -o $tmp
    let parsed = (^npx @llamaindex/liteparse $tmp --output json | from json)
    let text = ($parsed.pages | each { |p| $p.text } | str join "\n")
    let summary = (^curl -s http://localhost:11434/api/generate
        -d ($'{"model":"($model)","prompt":"Summarize for technical research: ($text | str substring 0..3000)","stream":false}')
        | from json | get response)
    $"\n## ($url)\n($summary)\n" | save --append $output_file
    rm $tmp
}

Task File Format

Each file in research/tasks/ follows this template:

Working dir: /path/to/project

Context: [what's already known — point to existing research/*.md]

URLs to fetch:
1. https://... — what to extract
2. https://... — what to extract

Output: Append findings to research/<domain>.md under ## Deep Dive

Key questions:
- Question 1?
- Question 2?

Research Output Structure

research/
  tasks/           ← agent task prompts (input)
  gastown-irclaw.md
  elixir-beam.md
  llm-ollama-webllm.md
  datadog-fleet.md
  tools-vibecode-liteparse.md
  pipeline-design.md
  SUMMARY.md       ← synthesized by leader after all agents complete

Zellij Controls

ActionKey
Switch panesAlt+arrow
Kill one agentctrl-c in pane
Zoom panectrl-p z
Switch tabsAlt+[ / Alt+]
Detach sessionctrl-p d

Fleet Distribution

Skills live at ~/.claude/skills/ on each node. Ansible playbook to sync:

ansible-playbook -i ansible/inventory ansible/sync-skills.yml

Key Constraints

  • liteparse needs a local file — always curl first
  • irclaw is private — skip github.com/irclaw-labs/irclaw, use local ansible playbooks for context
  • Ollama port — always localhost:11434, not a fleet-wide coordinator
  • ARM64 nodes — liteparse runs fine via npx on aarch64; no binary issues

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.