General-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.
reading lists, how people organize ideas. High signal, human-curated, long-tail.
breaking news, expert hot takes. Fast-moving, high volume.
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:
2-3 items are stubs. Channels with 50+ items are serious collections.
they're a key curator worth exploring directly.
and relevance.
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)
共 1 个版本