Skip to content

Commit f791704

Browse files
kevin1chunclaude
andcommitted
docs: add ClawHub badge and update README for unified skill
Add ClawHub badge linking to clawhub.ai/kevin1chun/robinhood-for-agents. Update Skills section to reflect single unified skill with ClawHub install instructions. Update OpenClaw setup with clawhub install option. Remove plaintext fallback references from token storage diagram. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d6de799 commit f791704

File tree

1 file changed

+34
-22
lines changed

1 file changed

+34
-22
lines changed

README.md

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
[![CI](https://github.com/kevin1chun/robinhood-for-agents/actions/workflows/ci.yml/badge.svg)](https://github.com/kevin1chun/robinhood-for-agents/actions/workflows/ci.yml)
44
[![npm version](https://img.shields.io/npm/v/robinhood-for-agents)](https://www.npmjs.com/package/robinhood-for-agents)
5+
[![ClawHub](https://img.shields.io/badge/ClawHub-robinhood--for--agents-blue)](https://clawhub.ai/kevin1chun/robinhood-for-agents)
56
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
67

78
Robinhood for AI agents — an MCP server with 18 structured tools and a standalone TypeScript client, in a single package.
89

910
- **18 MCP tools** for any MCP-compatible AI agent
10-
- **5 trading skills** for guided workflows (Claude Code, OpenClaw)
11+
- **Unified trading skill** for guided workflows (Claude Code, OpenClaw, [ClawHub](https://clawhub.ai/kevin1chun/robinhood-for-agents))
1112
- **Standalone API client** (~50 async methods) for programmatic use
1213

1314
Compatible with **Claude Code**, **Codex**, **OpenClaw**, and any MCP-compatible agent.
@@ -60,7 +61,7 @@ cd your-project
6061
robinhood-for-agents install --skills
6162
```
6263

63-
Restart Claude Code to pick up the changes. Claude Code supports 5 trading skills in addition to the 18 MCP tools — see [Skills](#skills-5).
64+
Restart Claude Code to pick up the changes. Claude Code supports the unified trading skill in addition to the 18 MCP tools — see [Skill](#skill).
6465
</details>
6566

6667
<details>
@@ -74,13 +75,19 @@ Restart Codex to pick up the changes. Codex uses all 18 MCP tools directly.
7475
</details>
7576

7677
<details>
77-
<summary>OpenClaw (skills only)</summary>
78+
<summary>OpenClaw</summary>
7879

80+
**Via ClawHub (recommended):**
81+
```bash
82+
clawhub install robinhood-for-agents
83+
```
84+
85+
**Via onboard CLI:**
7986
```bash
8087
robinhood-for-agents onboard --agent openclaw
8188
```
8289

83-
This installs 5 trading skills to `~/.openclaw/workspace/skills/`. Restart the OpenClaw gateway to pick up the changes.
90+
Both install the unified `robinhood-for-agents` skill to `~/.openclaw/workspace/skills/`. No MCP server required — the skill uses the TypeScript client API directly via `bun`.
8491

8592
</details>
8693

@@ -136,26 +143,34 @@ All 18 tools work with every MCP-compatible agent.
136143
| `robinhood_get_order_status` | Get status of a specific order by ID |
137144
| `robinhood_search` | Search stocks or browse categories |
138145

139-
## Skills (5)
146+
## Skill
147+
148+
A single unified skill (`robinhood-for-agents`) provides guided workflows for auth, portfolio, research, trading, and options. Available on [ClawHub](https://clawhub.ai/kevin1chun/robinhood-for-agents) and supported by **Claude Code** and **OpenClaw**.
140149

141-
Skills provide guided workflows on top of MCP tools. Supported by **Claude Code** and **OpenClaw**. Agents without skill support (Codex, etc.) use the 18 MCP tools directly, which provide the same functionality.
150+
```bash
151+
# Install via ClawHub
152+
clawhub install robinhood-for-agents
153+
```
142154

143-
| Skill | Triggers |
144-
|-------|----------|
145-
| `robinhood-setup` | "setup robinhood", "connect to robinhood" |
146-
| `robinhood-portfolio` | "show my portfolio", "my holdings" |
147-
| `robinhood-research` | "research AAPL", "analyze TSLA" |
148-
| `robinhood-trade` | "buy 10 AAPL", "sell my position" |
149-
| `robinhood-options` | "show AAPL options", "find calls" |
155+
| Domain | Example Triggers |
156+
|--------|-----------------|
157+
| Setup | "setup robinhood", "connect to robinhood" |
158+
| Portfolio | "show my portfolio", "my holdings" |
159+
| Research | "research AAPL", "analyze TSLA" |
160+
| Trading | "buy 10 AAPL", "sell my position" |
161+
| Options | "show AAPL options", "SPX calls" |
150162

151-
Each skill includes a `client-api.md` reference for advanced users who want their agent to generate TypeScript scripts using `robinhood-for-agents`.
163+
**Dual-mode:** The skill works with MCP tools (Claude Code) or standalone via the TypeScript client API and `bun` (OpenClaw, any agent with shell access). No MCP server required.
164+
165+
The skill uses progressive disclosure — `SKILL.md` is the compact router, with domain-specific files (`portfolio.md`, `trade.md`, etc.) and a full `client-api.md` reference loaded on demand.
152166

153167
## Agent Compatibility
154168

155169
| Feature | Claude Code | Codex | OpenClaw | Other MCP |
156170
|---------|:-----------:|:-----:|:--------:|:---------:|
157-
| 18 MCP tools | Yes | Yes | Yes | Yes |
158-
| 5 trading skills | Yes || Yes ||
171+
| 18 MCP tools | Yes | Yes || Yes |
172+
| Trading skill | Yes || Yes ||
173+
| ClawHub install ||| Yes ||
159174
| `onboard` setup | Yes | Yes | Yes ||
160175
| Browser auth | Yes | Yes | Yes | Yes |
161176

@@ -184,7 +199,7 @@ const portfolio = await client.buildHoldings();
184199

185200
**MCP**: Call `robinhood_browser_login` to open Chrome and log in (works with all agents). After that, all tools auto-restore the cached session.
186201

187-
**Skills**: Run the `robinhood-setup` skill for guided browser login (Claude Code and OpenClaw).
202+
**Skills**: Say "setup robinhood" to trigger the guided browser login (Claude Code and OpenClaw).
188203

189204
### Full Auth Flow
190205

@@ -279,18 +294,15 @@ This design is resilient to Robinhood UI changes — it doesn't depend on any DO
279294
│ │
280295
│ STORAGE │
281296
│ ─────── │
282-
Primary: OS Keychain via Bun.secrets
297+
│ OS Keychain via Bun.secrets (no plaintext fallback)
283298
│ ├── macOS: Keychain Services │
284299
│ ├── Linux: libsecret (GNOME Keyring, KWallet) │
285300
│ └── Windows: Credential Manager │
286301
│ Tokens never touch the filesystem. │
287-
│ │
288-
│ Fallback: plaintext JSON (~/.robinhood-for-agents/session.json) │
289-
│ (CI environments, minimal installs without keychain) │
290302
└────────────────────────────────────────────────────────────────────┘
291303
```
292304

293-
`Bun.secrets` stores tokens directly in the OS keychain — no intermediate encryption layer needed since the keychain itself provides encryption, access control, and tamper resistance. When `Bun.secrets` is unavailable (CI, headless servers), tokens fall back to a plaintext JSON file with a console warning.
305+
`Bun.secrets` stores tokens directly in the OS keychain — no intermediate encryption layer needed since the keychain itself provides encryption, access control, and tamper resistance. There is no plaintext fallback; `Bun.secrets` is required.
294306

295307
Critically, **the AI agent never sees authentication tokens**. Token storage and HTTP authorization happen entirely within the MCP server process. The agent only receives structured tool results (quotes, positions, order confirmations) — never raw tokens, headers, or credentials. Even if the agent's conversation is logged or leaked, no secrets are exposed.
296308

0 commit comments

Comments
 (0)