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
In this repository113 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ac-ideateSkill
- ac-listSkill
- ac-roadmapSkill
- agentbridge-mcpSkill
- almanacSkill
- almquist-shellSkill
- ansible-fleetSkill
- apfsSkill
- apple-siliconSkill
- arena-actorsSkill
- asustor-nasSkill
- a-teamSkill
- atem-miniSkill
- at-tuiSkill
- autoresearchSkill
- babysitSkill
- bonzibuddySkill
- bop-brainstormSkill
- bop-catalogSkill
- bop-onSkill
- bop-teamSkill
- bop-workflowSkill
- bsd-portabilitySkill
- code-refactoringSkill
- codex-personasSkill
- context-graphSkill
- councilSkill
- datadog-backupSkill
- dd-tagsSkill
- delegateSkill
- deming-pdsaSkill
- deterministic-replaySkill
- dispatch-nuSkill
- durable-commitSkill
- elixir-gastown-opsSkill
- ergo-ircSkill
- esp32-tang-bridgeSkill
- fleet-evalSkill
- fleet-ircSkill
- freebsd-build-vmSkill
- freebsd-piSkill
- freebsdSkill
- ganttSkill
- gastown-opsSkill
- gastown-slingSkill
- gh-authSkill
- gitea-releaseSkill
- gitea-runnerSkill
- henshuSkill
- irclaw-cluster-opsSkill
- irc-taskSkill
- jail-factorySkill
- jjSkill
- jobcard-systemSkill
- kubernetesSkill
- leptosSkill
- loreSkill
- lower-bound-reviewSkill
- macvlan-netSkill
- The first 60 shown.
The file
Files
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.jsonOllama 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 .responseFor 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 completeZellij Controls
| Action | Key |
| Switch panes | Alt+arrow |
| Kill one agent | ctrl-c in pane |
| Zoom pane | ctrl-p z |
| Switch tabs | Alt+[ / Alt+] |
| Detach session | ctrl-p d |
Fleet Distribution
Skills live at ~/.claude/skills/ on each node. Ansible playbook to sync:
ansible-playbook -i ansible/inventory ansible/sync-skills.ymlKey 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
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
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.

