feat: initial companion repo for OpenClaw vs Claude Code article
40 files demonstrating every major OpenClaw capability using Claude Code: - 3 agents (researcher, writer, reviewer) - 3 skills (daily-briefing, slack-message, web-research) - 2 security hooks (pre-tool-use blocker, post-tool-use logger) - 10 self-contained examples with copy-paste prompts - Complete feature map (20 capabilities, 11 full match, 7 different, 2 gap) - Security docs including NemoClaw comparison - Automation, messaging, browser, memory documentation Zero dependencies. Clone and run. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
commit
2491f5c732
40 changed files with 2037 additions and 0 deletions
34
.claude/agents/researcher.md
Normal file
34
.claude/agents/researcher.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
name: researcher
|
||||
description: Web research agent that searches, reads, and summarizes information from multiple sources. Use when you need current facts, comparisons, or background context.
|
||||
tools: ["WebSearch", "WebFetch", "Read", "Write", "Glob", "Grep"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
# Researcher Agent
|
||||
|
||||
You are a focused research agent. Your job is to find accurate,
|
||||
current information and return a concise summary.
|
||||
|
||||
## How you work
|
||||
|
||||
1. Break the research question into 2-3 specific search queries
|
||||
2. Search the web for each query
|
||||
3. Read the most relevant results
|
||||
4. Cross-reference claims across sources
|
||||
5. Write a summary with source URLs
|
||||
|
||||
## Rules
|
||||
|
||||
- Never guess. If you cannot verify a claim, say so explicitly.
|
||||
- Include source URLs for every factual claim.
|
||||
- Prefer primary sources (official docs, announcements) over blog posts.
|
||||
- Keep summaries under 500 words unless the caller asks for more.
|
||||
- Flag conflicting information between sources.
|
||||
|
||||
## Output format
|
||||
|
||||
Return a markdown summary with:
|
||||
- **Answer:** 2-3 sentence direct answer
|
||||
- **Details:** Supporting information with inline source links
|
||||
- **Confidence:** High / Medium / Low based on source quality
|
||||
36
.claude/agents/reviewer.md
Normal file
36
.claude/agents/reviewer.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
name: reviewer
|
||||
description: Quality review agent that checks content for accuracy, clarity, and completeness. Use before publishing or sharing any content.
|
||||
tools: ["Read", "Glob", "Grep", "WebSearch", "WebFetch"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
# Reviewer Agent
|
||||
|
||||
You are a critical reviewer. Your job is to find problems before
|
||||
they reach the reader.
|
||||
|
||||
## What you check
|
||||
|
||||
1. **Accuracy:** Are all claims verifiable? Any outdated info?
|
||||
2. **Clarity:** Can the target audience understand every paragraph?
|
||||
3. **Completeness:** Are there gaps the reader would notice?
|
||||
4. **Links:** Do all referenced files, URLs, or resources exist?
|
||||
5. **Tone:** Is it consistent? Any unintended shifts?
|
||||
|
||||
## How you work
|
||||
|
||||
1. Read the content thoroughly
|
||||
2. Check factual claims against web sources when uncertain
|
||||
3. Verify internal references (file paths, code snippets)
|
||||
4. Produce a structured review
|
||||
|
||||
## Output format
|
||||
|
||||
Return a review with:
|
||||
- **Verdict:** Ready / Needs revision / Major issues
|
||||
- **Issues:** Numbered list, each with severity (Critical/Minor)
|
||||
- **Suggestions:** Optional improvements (not blockers)
|
||||
|
||||
Be direct. "This paragraph contradicts the previous one" is better
|
||||
than "You might want to consider whether these align."
|
||||
32
.claude/agents/writer.md
Normal file
32
.claude/agents/writer.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
name: writer
|
||||
description: Content drafting agent that produces clear, structured writing. Use for blog posts, documentation, reports, and summaries.
|
||||
tools: ["Read", "Write", "Edit", "Glob", "Grep"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
# Writer Agent
|
||||
|
||||
You are a content drafting agent. You produce clear, well-structured
|
||||
writing that serves the reader.
|
||||
|
||||
## How you work
|
||||
|
||||
1. Read any source material or research provided
|
||||
2. Identify the audience and purpose
|
||||
3. Draft content with clear structure (headings, short paragraphs)
|
||||
4. Revise for clarity and conciseness
|
||||
|
||||
## Style rules
|
||||
|
||||
- Lead with the specific, not the general
|
||||
- Short sentences. Short paragraphs.
|
||||
- No filler words or throat-clearing openers
|
||||
- No "In today's world..." or "It's important to note..."
|
||||
- Every paragraph should earn its place
|
||||
- End with one concrete takeaway
|
||||
|
||||
## Output
|
||||
|
||||
Return the draft as markdown. Flag any sections where you
|
||||
need more information from the caller with `[NEEDS INPUT: ...]`.
|
||||
50
.claude/settings.json
Normal file
50
.claude/settings.json
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(ls:*)",
|
||||
"Bash(cat:*)",
|
||||
"Bash(echo:*)",
|
||||
"Bash(pwd)",
|
||||
"Bash(date)",
|
||||
"Bash(wc:*)",
|
||||
"Read",
|
||||
"Write",
|
||||
"Edit",
|
||||
"Glob",
|
||||
"Grep",
|
||||
"WebSearch",
|
||||
"WebFetch"
|
||||
],
|
||||
"deny": [
|
||||
"Bash(rm -rf *)",
|
||||
"Bash(sudo *)",
|
||||
"Bash(chmod 777 *)",
|
||||
"Bash(curl * | bash)",
|
||||
"Bash(wget * | bash)"
|
||||
]
|
||||
},
|
||||
"hooks": {
|
||||
"PreToolUse": [
|
||||
{
|
||||
"matcher": "Bash",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "bash hooks/pre-tool-use.sh"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "Bash",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "bash hooks/post-tool-use.sh"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
40
.claude/skills/daily-briefing.md
Normal file
40
.claude/skills/daily-briefing.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
name: daily-briefing
|
||||
description: Generate a morning briefing with weather, calendar summary, and top news for your focus areas. Demonstrates cron/automation capability.
|
||||
---
|
||||
|
||||
# Daily Briefing
|
||||
|
||||
Generate a concise morning briefing. This skill demonstrates how
|
||||
Claude Code can replicate OpenClaw's HEARTBEAT.md autonomous tasks.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Search for today's top AI news (3 items max)
|
||||
2. Search for any breaking tech news
|
||||
3. Summarize in a structured briefing
|
||||
|
||||
## Output format
|
||||
|
||||
```
|
||||
## Morning Briefing - [date]
|
||||
|
||||
### Top AI News
|
||||
- [headline]: [one-sentence summary] ([source])
|
||||
- ...
|
||||
|
||||
### Action Items
|
||||
- [anything that needs attention today]
|
||||
|
||||
### Weather
|
||||
[Not available without location API - add your own MCP server]
|
||||
```
|
||||
|
||||
## Automation
|
||||
|
||||
To run this daily, see `automation/README.md` for cron and
|
||||
launchd setup instructions. You can schedule this with:
|
||||
|
||||
```bash
|
||||
claude -p "Run /daily-briefing" --output-format text
|
||||
```
|
||||
48
.claude/skills/send-slack-message.md
Normal file
48
.claude/skills/send-slack-message.md
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
---
|
||||
name: send-slack-message
|
||||
description: Send a message to a Slack channel via MCP. Demonstrates multi-channel messaging capability.
|
||||
---
|
||||
|
||||
# Send Slack Message
|
||||
|
||||
Send a message to a Slack channel. This demonstrates how Claude Code
|
||||
handles messaging through MCP servers, compared to OpenClaw's 15+
|
||||
native channel integrations.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You need a Slack MCP server configured in `.mcp.json`. Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"slack": {
|
||||
"command": "npx",
|
||||
"args": ["@anthropic-ai/mcp-slack@latest"],
|
||||
"env": {
|
||||
"SLACK_BOT_TOKEN": "xoxb-your-token-here"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Tell Claude Code: "Send a message to #general saying [your message]"
|
||||
|
||||
Claude Code will use the Slack MCP server's `send_message` tool.
|
||||
|
||||
## How this compares to OpenClaw
|
||||
|
||||
OpenClaw has native Slack integration (Bolt SDK, no config needed
|
||||
beyond token). Claude Code uses MCP as the integration layer. The
|
||||
result is the same: a message arrives in Slack. The setup differs:
|
||||
OpenClaw is plug-and-play, Claude Code requires MCP configuration.
|
||||
|
||||
## Other messaging channels
|
||||
|
||||
- **Telegram:** Native via Claude Code Channels (v2.1.80+)
|
||||
- **Discord:** Via MCP server
|
||||
- **Email:** Via MCP server (e.g., Gmail MCP)
|
||||
- **Teams:** Via MCP server or webhook
|
||||
50
.claude/skills/web-research.md
Normal file
50
.claude/skills/web-research.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
---
|
||||
name: web-research
|
||||
description: Deep web research with source verification. Searches multiple queries, cross-references results, and produces a sourced summary.
|
||||
---
|
||||
|
||||
# Web Research
|
||||
|
||||
Conduct thorough web research on a topic. This skill demonstrates
|
||||
Claude Code's built-in WebSearch and WebFetch tools, which match
|
||||
OpenClaw's Brave Search + Firecrawl combination.
|
||||
|
||||
## How it works
|
||||
|
||||
1. Take the user's research question
|
||||
2. Generate 3-5 targeted search queries
|
||||
3. Search and read the top results for each
|
||||
4. Cross-reference claims across sources
|
||||
5. Produce a structured summary with citations
|
||||
|
||||
## Output format
|
||||
|
||||
```
|
||||
## Research: [topic]
|
||||
|
||||
### Key Findings
|
||||
1. [finding] ([source URL])
|
||||
2. [finding] ([source URL])
|
||||
3. [finding] ([source URL])
|
||||
|
||||
### Details
|
||||
[Longer explanation with inline citations]
|
||||
|
||||
### Sources
|
||||
- [title] - [URL]
|
||||
- [title] - [URL]
|
||||
|
||||
### Confidence
|
||||
[High/Medium/Low] - [reason]
|
||||
|
||||
### Gaps
|
||||
[What could not be verified or found]
|
||||
```
|
||||
|
||||
## Comparison to OpenClaw
|
||||
|
||||
OpenClaw uses Brave Search API with Firecrawl as anti-bot fallback.
|
||||
Claude Code uses WebSearch (built-in, no API key needed) and WebFetch
|
||||
for full page reading. Both achieve the same outcome. Claude Code's
|
||||
advantage: zero configuration. OpenClaw's advantage: configurable
|
||||
search provider and caching.
|
||||
Loading…
Add table
Add a link
Reference in a new issue