Install
openclaw skills install arena-research-skillGeneral-purpose Are.na research agent. Searches Are.na for curated collections, references, visual inspiration, and linked resources across any topic. Explores the connection graph between channels to discover adjacent ideas and key curators. Use when: (1) user says "arena research", "search arena for", "search are.na for", "what's on arena about", "find arena channels about", "who's curating [topic]", "explore arena for", "/arena-research", (2) user is working on something where curated human-collected references would be valuable (design research, cultural analysis, art direction, conceptual exploration, reading lists, visual references), (3) user wants to discover how people organize ideas around a topic — the channel structure IS the insight. NOT for: posting content, account management, or real-time/breaking news (use x-research for that).
openclaw skills install arena-research-skillGeneral-purpose agentic research over Are.na. Decompose any research question into targeted searches, explore channels, follow the connection graph to discover adjacent ideas, identify key curators, deep-dive linked content, and synthesize into a sourced briefing.
For API details (endpoints, auth, response format): read references/arena-api.md.
Are.na is a library, not a firehose. The value isn't just what people saved — it's how they organized it and what else they connected it to.
All commands run from this skill directory:
cd ~/clawd/skills/arena-research
source ~/.config/env/global.env
bun run arena-search.ts search "<query>" [options]
Options:
--type Channel|Block|Text|Image|Link|User|Group — filter result type (default: all)--sort score|created|updated|connections|random — sort order (default: score)--scope all|my|following — search scope (default: all, my/following require auth)--per N — results per page (default: 24, max: 100)--page N — page number--quick — quick mode: 10 results, 1hr cache, channels only, sort by connections--save — save to ~/clawd/drafts/arena-research-{slug}-{date}.md--json — raw JSON output--markdown — formatted markdown outputExamples:
bun run arena-search.ts search "tools for thought" --type Channel --sort connections
bun run arena-search.ts search "brutalist web design" --quick
bun run arena-search.ts search "cybernetics" --type Link --per 50
bun run arena-search.ts search "spatial computing" --scope my
bun run arena-search.ts channel <slug-or-id> [options]
Options:
--sort position|created|updated — content sort (default: position)--type Text|Image|Link|Attachment|Embed|Channel — filter content type--per N / --page N — pagination--connections — show channels that share blocks with this one (graph traversal)--save / --json / --markdownExamples:
bun run arena-search.ts channel arena-influences
bun run arena-search.ts channel arena-influences --type Link --per 50
bun run arena-search.ts channel arena-influences --connections
bun run arena-search.ts block <id> [options]
Options:
--connections — show which channels this block appears in (graph traversal)--jsonExamples:
bun run arena-search.ts block 3235876
bun run arena-search.ts block 3235876 --connections
bun run arena-search.ts user <slug-or-id> [options]
Options:
--per N / --page N--jsonbun run arena-search.ts me
Shows authenticated user's profile and channels. Requires ARENA_ACCESS_TOKEN.
bun run arena-search.ts cache clear
When doing deep research (not just a quick search), follow this loop:
Turn the research question into 3-5 search queries approaching the topic from different angles.
Think about the topic at multiple levels of abstraction:
spatial computing, brutalist web design)haptic interfaces, concrete architecture)tools for thought,
digital gardens, vernacular web)interaction design, web aesthetics)Start with channels sorted by connections to find the most-connected collections first:
bun run arena-search.ts search "tools for thought" --type Channel --sort connections --per 20
Run each query. After each search, assess:
Also search for blocks directly to find specific linked content:
bun run arena-search.ts search "cybernetics" --type Link --sort connections --per 20
For each promising channel, fetch its contents:
bun run arena-search.ts channel tools-for-thought --per 50
To see only external links (the most valuable for research deep-dives):
bun run arena-search.ts channel tools-for-thought --type Link --per 50
Look for:
This is what makes Are.na research uniquely powerful. Two strategies:
4a. Block connections — "Where else does this content live?"
For high-signal blocks (interesting links, well-described text), check which other channels they appear in:
bun run arena-search.ts block 3235876 --connections
A block in 28 channels means 28 different people thought it was worth saving. The channels it appears in show you how different people contextualize the same idea.
4b. Channel connections — "What's adjacent to this collection?"
For a channel you've identified as high-quality, find other channels that share content:
bun run arena-search.ts channel arena-influences --connections
This surfaces conceptual neighbors — channels that share blocks with the one you're exploring. A channel about "tools for thought" might connect to "cybernetics," "memory palaces," and "personal knowledge management."
Graph depth: One hop is the sweet spot. Block→connections→those channels is enough. Two hops gets exponential fast. Stop at one hop unless you have a specific reason to go deeper.
As you explore, track which users appear repeatedly:
Fetch their profile and channels:
bun run arena-search.ts user charles-broskoski
When blocks are Link-type and have source URLs, use web_fetch to read the actual
content. Prioritize links that:
Skip deep-diving:
state field — available means it's live)If looking for something you've personally saved:
bun run arena-search.ts search "query" --scope my
Or content from people you follow:
bun run arena-search.ts search "query" --scope following
Group findings by theme, not by search query. Each theme should capture a conceptual cluster of channels, blocks, and curators.
### [Theme/Finding Title]
[1-2 sentence summary of what curators are collecting and how they frame it]
**Key channels:**
- [Channel Title](https://www.are.na/owner/slug) by @username — N items
[Brief description of scope and quality]
- [Channel Title](https://www.are.na/owner/slug) by @username — N items
[Brief description]
**Notable content:**
- [Block title](source_url) — found in N channels
[Why it's significant]
**Key curators:**
- [@username](https://www.are.na/slug) — N channels, N followers
[What they focus on]
**Connected territory:**
- [Adjacent channel](https://www.are.na/owner/slug) — overlaps via shared blocks
[What this connection reveals about the topic]
Use --save flag or save manually to ~/clawd/drafts/arena-research-{topic-slug}-{YYYY-MM-DD}.md.
Include a metadata footer:
---
## Research Metadata
- **Query**: [original question]
- **Date**: YYYY-MM-DD
- **Source**: Are.na v3 API
- **API calls**: N search queries + N channel fetches + N block connection lookups + N deep-dives
- **Channels explored**: N
- **Blocks scanned**: ~N
- **Search terms used**: [list the actual search strings]
- **Limitations**: [any gaps]
--type filter--sort connections--type Link for external references, --type Text for notes--type and --sort on the channel command--type Image — Are.na is heavily used for mood boards and art direction| Block Type | Key Fields | Research Value |
|---|---|---|
Link | source.url, source.title, description | External references — deep-dive with web_fetch |
Text | content (markdown) | Notes, annotations, original writing |
Image | image.src, title, description | Visual references — note title/description |
Attachment | attachment.url, title | PDFs, documents — may be valuable |
Embed | embed.url, title | Videos, audio — note but usually can't deep-dive |
Channel | nested channel in contents | Sub-collection — explore if relevant |
skills/arena-research/
├── SKILL.md (this file)
├── arena-search.ts (CLI entry point)
├── lib/
│ ├── api.ts (Are.na v3 API wrapper: search, channels, blocks, users)
│ ├── cache.ts (file-based cache, 15min TTL)
│ └── format.ts (terminal + markdown formatters)
├── data/
│ └── cache/ (auto-managed)
└── references/
└── arena-api.md (Are.na v3 API endpoint reference)