stock-data-skill
OpenClaw Skill for stock data analysis
Comment @mason or @eureka in Linear issues to dispatch tasks to agents. Webhook receives Linear comments and routes to correct agent.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install arnarsson/linear-webhookInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
Enables Linear issue comment @mentions to dispatch tasks to Clawdbot agents.
@mason implement user authentication or @eureka plan Q2 roadmap
mason agent (code/implementation)eureka agent (planning/strategy)Add to your config.json5:
{
hooks: {
enabled: true,
token: "your-secret-token-here", // Generate with: openssl rand -base64 32
path: "/hooks",
transformsDir: "/home/sven/clawd-mason/skills/linear-webhook",
mappings: [
{
name: "linear",
match: {
path: "/linear",
method: "POST"
},
action: "agent",
transform: {
module: "./linear-transform.js",
export: "transformLinearWebhook"
},
deliver: false, // Don't auto-deliver to chat - Linear comments handle responses
}
]
}
}
Use Cloudflare Tunnel or Tailscale Funnel to make webhook publicly accessible:
Option A: Cloudflare Tunnel (Recommended)
# Install if needed
brew install cloudflared
# Start tunnel (replace with your domain)
cloudflared tunnel --url http://localhost:18789
Option B: Tailscale Funnel
# Enable funnel
tailscale funnel 18789
Note the public URL (e.g., https://your-tunnel.trycloudflare.com)
https://your-tunnel.trycloudflare.com/hooks/linear
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
Enables @mason and @eureka mentions in Linear issue comments to dispatch tasks to Clawdbot agents.
# None required - uses Node.js built-ins
Add this to your Clawdbot config (.clawd/config.json5):
{
hooks: {
enabled: true,
token: process.env.CLAWDBOT_HOOK_TOKEN,
path: "/hooks",
transformsDir: "/home/sven/clawd-mason/skills/linear-webhook",
mappings: [
{
name: "linear",
match: { path: "/linear", method: "POST" },
action: "agent",
transform: {
module: "./linear-transform.js",
export: "transformLinearWebhook"
},
deliver: false,
}
]
}
}
# Generate hook token
export CLAWDBOT_HOOK_TOKEN=$(openssl rand -base64 32)
# Get Linear API key from: https://linear.app/settings/api
export LINEAR_API_KEY="lin_api_your_key_here"
Option A: Cloudflare Tunnel (Recommended)
# Install
brew install cloudflared
# Start tunnel
cloudflared tunnel --url http://localhost:18789
# Note the public URL (e.g., https://abc-123.trycloudflare.com)
Option B: Tailscale Funnel
tailscale funnel 18789
https://your-tunnel-url.trycloudflare.com/hooks/linear
x-clawdbot-token
your-CLAWDBOT_HOOK_TOKEN
Comment in a Linear issue:
@mason implement OAuth2 authentication
Check Clawdbot logs:
clawdbot gateway logs
@mason add user au...
# Linear Webhook Skill
Enables Linear issue comment @mentions to dispatch tasks to Clawdbot agents.
## How It Works
1. **Comment in Linear:** `@mason implement user authentication` or `@eureka plan Q2 roadmap`
2. **Linear webhook fires** on comment creation
3. **Clawdbot receives webhook** via exposed endpoint
4. **Transform parses payload:**
- Extracts @mason or @eureka mention
- Gets issue context (title, description, labels)
- Prepares task prompt
5. **Routes to agent session:**
- @mason → `mason` agent (code/implementation)
- @eureka → `eureka` agent (planning/strategy)
6. **Agent processes task** and returns result
7. **Result posted back** as Linear comment
## Setup
### 1. Configure Clawdbot Webhooks
Add to your `config.json5`:
```json5
{
hooks: {
enabled: true,
token: "your-secret-token-here", // Generate with: openssl rand -base64 32
path: "/hooks",
transformsDir: "/home/sven/clawd-mason/skills/linear-webhook",
mappings: [
{
name: "linear",
match: {
path: "/linear",
method: "POST"
},
action: "agent",
transform: {
module: "./linear-transform.js",
export: "transformLinearWebhook"
},
deliver: false, // Don't auto-deliver to chat - Linear comments handle responses
}
]
}
}
```
### 2. Expose Webhook Endpoint
Use Cloudflare Tunnel or Tailscale Funnel to make webhook publicly accessible:
**Option A: Cloudflare Tunnel** (Recommended)
```bash
# Install if needed
brew install cloudflared
# Start tunnel (replace with your domain)
cloudflared tunnel --url http://localhost:18789
```
**Option B: Tailscale Funnel**
```bash
# Enable funnel
tailscale funnel 18789
```
Note the public URL (e.g., `https://your-tunnel.trycloudflare.com`)
### 3. Configure Linear Webhook
1. Go to Linear Settings → API → Webhooks
2. Click "Create new webhook"
3. Set URL: `https://your-tunnel.trycloudflare.com/hooks/linear`
4. Add custom...# Linear Webhook Skill
Enables @mason and @eureka mentions in Linear issue comments to dispatch tasks to Clawdbot agents.
## Quick Start
### 1. Install Dependencies
```bash
# None required - uses Node.js built-ins
```
### 2. Configure Clawdbot
Add this to your Clawdbot config (`.clawd/config.json5`):
```json5
{
hooks: {
enabled: true,
token: process.env.CLAWDBOT_HOOK_TOKEN,
path: "/hooks",
transformsDir: "/home/sven/clawd-mason/skills/linear-webhook",
mappings: [
{
name: "linear",
match: { path: "/linear", method: "POST" },
action: "agent",
transform: {
module: "./linear-transform.js",
export: "transformLinearWebhook"
},
deliver: false,
}
]
}
}
```
### 3. Set Environment Variables
```bash
# Generate hook token
export CLAWDBOT_HOOK_TOKEN=$(openssl rand -base64 32)
# Get Linear API key from: https://linear.app/settings/api
export LINEAR_API_KEY="lin_api_your_key_here"
```
### 4. Expose Webhook Endpoint
**Option A: Cloudflare Tunnel** (Recommended)
```bash
# Install
brew install cloudflared
# Start tunnel
cloudflared tunnel --url http://localhost:18789
# Note the public URL (e.g., https://abc-123.trycloudflare.com)
```
**Option B: Tailscale Funnel**
```bash
tailscale funnel 18789
```
### 5. Configure Linear Webhook
1. Go to **Linear Settings** → **API** → **Webhooks**
2. Click "Create new webhook"
3. **URL:** `https://your-tunnel-url.trycloudflare.com/hooks/linear`
4. **Custom Header:**
- Name: `x-clawdbot-token`
- Value: `your-CLAWDBOT_HOOK_TOKEN`
5. **Events:** Select **Comment → Created**
6. **Save**
### 6. Test
Comment in a Linear issue:
```
@mason implement OAuth2 authentication
```
Check Clawdbot logs:
```bash
clawdbot gateway logs
```
## Usage
### Mention Agents
- **@mason** - Code implementation, debugging, technical tasks
- **@eureka** - Planning, strategy, research, communication
### Example Comments
```
@mason add user au...OpenClaw Skill for stock data analysis
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...
139邮箱邮件收发 Skill - 支持 IMAP/SMTP 协议,兼容139/QQ/163/Gmail等主流邮箱 功能: 1. 发送邮件(SMTP) 2. 接收邮件(IMAP) 3. 查看收件箱列表 4. 查看未读邮件 当用户提到 "发邮件"、"收邮件"、"查看邮件"、"邮箱"...
⚠️ 重要声明