Enables Claude to create, link, and query notes in Roam Research via Playwright MCP
Install to Claude Code
npx -y skills add NeverSight/skills_feed --skill roam-research --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Roam Research?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/neversight-roam-research)More formats (shields.io, HTML) on the badges page.
---
name: roam-research
description: Enables Claude to create, link, and query notes in Roam Research via Playwright MCP
category: productivity
---
# Roam Research Skill
## Overview
Claude can manage your Roam Research database to capture thoughts, create bidirectional links, build a networked knowledge base, and query your notes. A tool for networked thought.
## Quick Install
```bash
curl -sSL https://canifi.com/skills/roam-research/install.sh | bash
```
Or manually:
```bash
cp -r skills/roam-research ~/.canifi/skills/
```
## Setup
Configure via [canifi-env](https://canifi.com/setup/scripts):
```bash
# First, ensure canifi-env is installed:
# curl -sSL https://canifi.com/install.sh | bash
canifi-env set ROAM_EMAIL "your-email@example.com"
```
## Privacy & Authentication
**Your credentials, your choice.** Canifi LifeOS respects your privacy.
### Option 1: Manual Browser Login (Recommended)
If you prefer not to share credentials with Claude Code:
1. Complete the [Browser Automation Setup](/setup/automation) using CDP mode
2. Login to the service manually in the Playwright-controlled Chrome window
3. Claude will use your authenticated session without ever seeing your password
### Option 2: Environment Variables
If you're comfortable sharing credentials, you can store them locally:
```bash
canifi-env set SERVICE_EMAIL "your-email"
canifi-env set SERVICE_PASSWORD "your-password"
```
**Note**: Credentials stored in canifi-env are only accessible locally on your machine and are never transmitted.
## Capabilities
- Create daily notes and pages
- Build bidirectional links
- Create block references
- Query with Roam queries
- Use templates and workflows
- Create TODO items
- Add page references
- Use attributes and metadata
- Create tables
- Embed blocks and pages
- View graph overview
- Use keyboard shortcuts
## Usage Examples
### Example 1: Add to Daily Note
```
User: "Add 'Met with John about the project' to today's Roam note"
Claude: Opens daily note, adds block with content.
Confirms: "Added to today's daily note"
```
### Example 2: Create Page
```
User: "Create a page for Project Alpha with key details"
Claude: Creates [[Project Alpha]] page, adds initial content.
Returns: "Created Project Alpha page"
```
### Example 3: Search Links
```
User: "Find all pages linking to Machine Learning"
Claude: Checks backlinks for [[Machine Learning]].
Reports: "12 pages reference Machine Learning: Neural Networks, Deep Learning..."
```
### Example 4: Query Notes
```
User: "Find all my TODOs from this week"
Claude: Runs query for TODO items with date filter.
Reports: "8 TODOs this week: Review proposal, Update docs..."
```
## Authentication Flow
1. Claude navigates to roamresearch.com via Playwright MCP
2. Enters ROAM_EMAIL for authentication
3. Handles 2FA if required (notifies user via iMessage)
4. Maintains session for graph operations
## Selectors Reference
```javascript
// Daily notes
'.roam-article'
// Block
'.rm-block'
// Block content
'.rm-block__input'
// Page title
'.rm-title-display'
// Sidebar
'.roam-sidebar'
// Search
'.bp3-input'
// Linked references
'.rm-reference-container'
// Block reference
'.rm-block-ref'
// Page reference
'.rm-page-ref'
// TODO checkbox
'.check-container'
```
## Roam Syntax
```
[[Page Link]] // Link to page
((block-id)) // Block reference
#tag // Tag
{{TODO}} // TODO item
{{[[TODO]]}} // TODO with page link
**bold** // Bold text
__italics__ // Italic text
^^highlight^^ // Highlight
{{embed: [[page]]}} // Embed page
{{query: {and:...}}} // Roam query
```
## Error Handling
- **Login Failed**: Retry 3 times, notify user via iMessage
- **Session Expired**: Re-authenticate automatically
- **Page Not Found**: Create page or ask user
- **Block Failed**: Retry, check graph sync
- **Query Error**: Check query syntax, suggest fix
- **Sync Issues**: Wait and retry
## Self-Improvement Instructions
When you learn a better way to accomplish a task with Roam:
1. Document the improvement in your response
2. Suggest updating this skill file with the new approach
3. Include specific linking strategies
4. Note useful query patterns
## Notes
- Bidirectional links are automatic
- Block references for reusable content
- Daily notes as capture inbox
- Graph view shows connections
- Roam queries for dynamic content
- Keyboard-driven interface
- Version history available
- JSON export for backup
Scanned 2/12/2026
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!