@hasna/skills 0.1.33 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +4 -1
- package/bin/mcp.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/browse/README.md +13 -256
- package/skills/browse/SKILL.md +24 -45
- package/skills/deepresearch/CLAUDE.md +6 -39
- package/skills/deepresearch/README.md +15 -150
- package/skills/deepresearch/SKILL.md +23 -32
- package/skills/image/README.md +13 -183
- package/skills/webcrawling/CLAUDE.md +6 -17
- package/skills/webcrawling/README.md +13 -66
- package/skills/browse/.env.example +0 -14
- package/skills/deepresearch/.env.example +0 -9
- package/skills/image/.env.example +0 -12
- package/skills/image/PROJECT_OVERVIEW.md +0 -216
- package/skills/image/QUICKSTART.md +0 -111
- package/skills/transcript/.env.example +0 -10
- package/skills/webcrawling/.env.example +0 -2
package/bin/index.js
CHANGED
|
@@ -1910,7 +1910,7 @@ var package_default;
|
|
|
1910
1910
|
var init_package = __esm(() => {
|
|
1911
1911
|
package_default = {
|
|
1912
1912
|
name: "@hasna/skills",
|
|
1913
|
-
version: "0.1.
|
|
1913
|
+
version: "0.1.35",
|
|
1914
1914
|
description: "Skills library for AI coding agents",
|
|
1915
1915
|
type: "module",
|
|
1916
1916
|
bin: {
|
|
@@ -42333,6 +42333,9 @@ function requireHostedAuth(json2) {
|
|
|
42333
42333
|
const config2 = getAuthConfig();
|
|
42334
42334
|
if (config2)
|
|
42335
42335
|
return config2;
|
|
42336
|
+
const apiKey = getApiKey();
|
|
42337
|
+
if (apiKey)
|
|
42338
|
+
return { apiKey };
|
|
42336
42339
|
const message = "Not signed in. Run: skills auth login";
|
|
42337
42340
|
if (json2)
|
|
42338
42341
|
console.log(JSON.stringify({ error: message }));
|
package/bin/mcp.js
CHANGED
|
@@ -21793,7 +21793,7 @@ class StdioServerTransport {
|
|
|
21793
21793
|
// package.json
|
|
21794
21794
|
var package_default = {
|
|
21795
21795
|
name: "@hasna/skills",
|
|
21796
|
-
version: "0.1.
|
|
21796
|
+
version: "0.1.35",
|
|
21797
21797
|
description: "Skills library for AI coding agents",
|
|
21798
21798
|
type: "module",
|
|
21799
21799
|
bin: {
|
package/dist/index.js
CHANGED
|
@@ -18031,7 +18031,7 @@ import { dirname as dirname3, relative as relative2 } from "path";
|
|
|
18031
18031
|
// package.json
|
|
18032
18032
|
var package_default = {
|
|
18033
18033
|
name: "@hasna/skills",
|
|
18034
|
-
version: "0.1.
|
|
18034
|
+
version: "0.1.35",
|
|
18035
18035
|
description: "Skills library for AI coding agents",
|
|
18036
18036
|
type: "module",
|
|
18037
18037
|
bin: {
|
package/package.json
CHANGED
package/skills/browse/README.md
CHANGED
|
@@ -1,268 +1,25 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Browse
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- **Natural Language Tasks**: Describe what you want to do in plain English
|
|
8
|
-
- **AI-Powered Execution**: LLMs interpret and execute complex browsing tasks
|
|
9
|
-
- **Structured Data Extraction**: Extract data with optional JSON schemas
|
|
10
|
-
- **Real-Time Monitoring**: Watch agent actions via live URL
|
|
11
|
-
- **Multiple LLM Models**: GPT-4o, O3, Claude, Gemini, and more
|
|
12
|
-
- **Proxy Support**: Built-in proxy with country selection for captcha bypass
|
|
13
|
-
- **Task Management**: Pause, resume, stop, and monitor tasks
|
|
14
|
-
|
|
15
|
-
## Installation
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
cd browse
|
|
19
|
-
bun install
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Configuration
|
|
23
|
-
|
|
24
|
-
Set your Browser-Use API key:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
export BROWSER_USE_API_KEY=bu_xxx...
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Or copy `.env.example` to `.env` and fill in your credentials:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
cp .env.example .env
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### Environment Variables
|
|
37
|
-
|
|
38
|
-
| Variable | Description | Default |
|
|
39
|
-
|----------|-------------|---------|
|
|
40
|
-
| `BROWSER_USE_API_KEY` | Browser-Use Cloud API key | (required) |
|
|
41
|
-
| `BROWSER_USE_MODEL` | Default LLM model | `gpt-4o` |
|
|
42
|
-
| `BROWSER_USE_PROXY` | Enable proxy by default | `false` |
|
|
43
|
-
| `BROWSER_USE_PROXY_COUNTRY` | Default proxy country | `us` |
|
|
44
|
-
|
|
45
|
-
Get your API key from: https://cloud.browser-use.com/billing
|
|
3
|
+
Hosted browser automation skill for page interaction, research, and structured
|
|
4
|
+
data extraction.
|
|
46
5
|
|
|
47
6
|
## Usage
|
|
48
7
|
|
|
49
|
-
### Browse Command
|
|
50
|
-
|
|
51
|
-
Execute a browser automation task:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
# Basic task
|
|
55
|
-
bun run src/index.ts browse \
|
|
56
|
-
--task "Go to hacker-news.com and find the top 5 posts"
|
|
57
|
-
|
|
58
|
-
# With options
|
|
59
|
-
bun run src/index.ts browse \
|
|
60
|
-
--task "Search google.com for 'best laptops 2025'" \
|
|
61
|
-
--model o3 \
|
|
62
|
-
--proxy \
|
|
63
|
-
--proxy-country us \
|
|
64
|
-
--timeout 120
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Extract Command
|
|
68
|
-
|
|
69
|
-
Extract structured data from websites:
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
# Extract to file
|
|
73
|
-
bun run src/index.ts extract \
|
|
74
|
-
--task "Go to amazon.com, search for 'laptop', and extract the names and prices of the top 5 results" \
|
|
75
|
-
--output ./products.json
|
|
76
|
-
|
|
77
|
-
# With JSON schema for structured output
|
|
78
|
-
bun run src/index.ts extract \
|
|
79
|
-
--task "Get the top 10 posts from hacker-news.com" \
|
|
80
|
-
--schema '{"type":"object","properties":{"posts":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"score":{"type":"number"}}}}}}'
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Task Management
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# List all tasks
|
|
87
|
-
bun run src/index.ts list
|
|
88
|
-
|
|
89
|
-
# Check task status
|
|
90
|
-
bun run src/index.ts status --task-id abc123
|
|
91
|
-
|
|
92
|
-
# Pause a running task
|
|
93
|
-
bun run src/index.ts pause --task-id abc123
|
|
94
|
-
|
|
95
|
-
# Resume a paused task
|
|
96
|
-
bun run src/index.ts resume --task-id abc123
|
|
97
|
-
|
|
98
|
-
# Stop a task permanently
|
|
99
|
-
bun run src/index.ts stop --task-id abc123
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Commands Reference
|
|
103
|
-
|
|
104
|
-
| Command | Description |
|
|
105
|
-
|---------|-------------|
|
|
106
|
-
| `browse` | Execute a browser automation task |
|
|
107
|
-
| `extract` | Extract structured data from a website |
|
|
108
|
-
| `status` | Check status of a specific task |
|
|
109
|
-
| `list` | List all tasks |
|
|
110
|
-
| `pause` | Pause a running task |
|
|
111
|
-
| `resume` | Resume a paused task |
|
|
112
|
-
| `stop` | Stop a task permanently |
|
|
113
|
-
| `help` | Show help information |
|
|
114
|
-
|
|
115
|
-
## Options Reference
|
|
116
|
-
|
|
117
|
-
### Browse Options
|
|
118
|
-
|
|
119
|
-
| Option | Description |
|
|
120
|
-
|--------|-------------|
|
|
121
|
-
| `--task <text>` | Natural language task description (required) |
|
|
122
|
-
| `--model <model>` | LLM model to use |
|
|
123
|
-
| `--proxy` | Enable proxy |
|
|
124
|
-
| `--proxy-country <code>` | Proxy country (us, fr, it, jp, au, de, fi, ca) |
|
|
125
|
-
| `--adblock` | Enable ad blocking |
|
|
126
|
-
| `--highlight` | Highlight elements during execution |
|
|
127
|
-
| `--timeout <seconds>` | Task timeout in seconds |
|
|
128
|
-
| `--secrets <json>` | JSON object with credentials (see Authentication section) |
|
|
129
|
-
| `--secrets-file <path>` | Path to JSON file with credentials |
|
|
130
|
-
| `--allowed-domains <csv>` | Comma-separated list of allowed domains |
|
|
131
|
-
|
|
132
|
-
### Extract Options
|
|
133
|
-
|
|
134
|
-
All browse options plus:
|
|
135
|
-
|
|
136
|
-
| Option | Description |
|
|
137
|
-
|--------|-------------|
|
|
138
|
-
| `--output <path>` | Save extracted data to file |
|
|
139
|
-
| `--schema <json>` | JSON schema for structured output |
|
|
140
|
-
| `--json` | Output only JSON to stdout |
|
|
141
|
-
|
|
142
|
-
## Authentication & Credentials
|
|
143
|
-
|
|
144
|
-
Browser-Use supports secure credential handling for tasks that require login. Credentials are passed using placeholder keys in the task description, with actual values provided separately.
|
|
145
|
-
|
|
146
|
-
### How It Works
|
|
147
|
-
|
|
148
|
-
1. Use placeholder names in your task description (e.g., `my_user`, `my_pass`)
|
|
149
|
-
2. Provide actual values via `--secrets` or `--secrets-file`
|
|
150
|
-
3. Browser-Use injects real values directly into form fields (LLM never sees actual credentials)
|
|
151
|
-
|
|
152
|
-
### Example: Login with Credentials
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
# Using inline JSON
|
|
156
|
-
bun run src/index.ts browse \
|
|
157
|
-
--task "Go to twitter.com, login with username my_user and password my_pass, then get notifications" \
|
|
158
|
-
--secrets '{"my_user":"real@email.com","my_pass":"realPassword123"}' \
|
|
159
|
-
--allowed-domains twitter.com,x.com
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Example: Credentials from File
|
|
163
|
-
|
|
164
|
-
Create a `credentials.json` file:
|
|
165
|
-
|
|
166
|
-
```json
|
|
167
|
-
{
|
|
168
|
-
"twitter_user": "myemail@example.com",
|
|
169
|
-
"twitter_pass": "mypassword123",
|
|
170
|
-
"github_token": "ghp_xxxxxxxxxxxx"
|
|
171
|
-
}
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
Then use it:
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
bun run src/index.ts browse \
|
|
178
|
-
--task "Login to twitter with twitter_user and twitter_pass" \
|
|
179
|
-
--secrets-file ./credentials.json
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Security Best Practices
|
|
183
|
-
|
|
184
|
-
- **Never include real credentials in the task description** - use placeholder names
|
|
185
|
-
- **Use `--allowed-domains`** to restrict where the browser can navigate
|
|
186
|
-
- **Store credentials in files** rather than command line for shell history safety
|
|
187
|
-
- **Use environment-specific credential files** for different environments
|
|
188
|
-
|
|
189
|
-
## Supported Models
|
|
190
|
-
|
|
191
|
-
| Model | Provider | Notes |
|
|
192
|
-
|-------|----------|-------|
|
|
193
|
-
| `gpt-4o` | OpenAI | Default, good balance |
|
|
194
|
-
| `o3` | OpenAI | Best accuracy |
|
|
195
|
-
| `o4-mini` | OpenAI | Faster, lower cost |
|
|
196
|
-
| `claude-sonnet-4` | Anthropic | Latest Claude |
|
|
197
|
-
| `claude-3-5-sonnet` | Anthropic | Previous Claude |
|
|
198
|
-
| `gemini-flash-latest` | Google | Fast |
|
|
199
|
-
| `browser-use` | Browser-Use | 3-5x faster |
|
|
200
|
-
|
|
201
|
-
## Proxy Countries
|
|
202
|
-
|
|
203
|
-
- `us` - United States
|
|
204
|
-
- `fr` - France
|
|
205
|
-
- `it` - Italy
|
|
206
|
-
- `jp` - Japan
|
|
207
|
-
- `au` - Australia
|
|
208
|
-
- `de` - Germany
|
|
209
|
-
- `fi` - Finland
|
|
210
|
-
- `ca` - Canada
|
|
211
|
-
|
|
212
|
-
## Examples
|
|
213
|
-
|
|
214
|
-
### Research Task
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
bun run src/index.ts browse \
|
|
218
|
-
--task "Go to techcrunch.com and summarize the top 3 AI news stories from today" \
|
|
219
|
-
--model o3 \
|
|
220
|
-
--timeout 180
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
### E-commerce Scraping
|
|
224
|
-
|
|
225
8
|
```bash
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
--proxy \
|
|
230
|
-
--proxy-country us
|
|
9
|
+
skills setup --mode hosted
|
|
10
|
+
skills auth login
|
|
11
|
+
skills run browse --task "Find the top three announcements on example.com"
|
|
231
12
|
```
|
|
232
13
|
|
|
233
|
-
|
|
14
|
+
Poll and download results:
|
|
234
15
|
|
|
235
16
|
```bash
|
|
236
|
-
|
|
237
|
-
|
|
17
|
+
skills runs status <run-id>
|
|
18
|
+
skills exports download <run-id>
|
|
238
19
|
```
|
|
239
20
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
bun run src/index.ts extract \
|
|
244
|
-
--task "Go to twitter.com/elonmusk and extract the text and timestamp of the last 5 tweets" \
|
|
245
|
-
--output ./tweets.json \
|
|
246
|
-
--model o3
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
## API Reference
|
|
250
|
-
|
|
251
|
-
The skill uses the Browser-Use Cloud API. For more information:
|
|
252
|
-
- Documentation: https://docs.browser-use.com/
|
|
253
|
-
- API Reference: https://docs.browser-use.com/api-reference/
|
|
254
|
-
|
|
255
|
-
## Pricing
|
|
256
|
-
|
|
257
|
-
Browser-Use charges per task initialization and per step:
|
|
258
|
-
- Task initialization: $0.01
|
|
259
|
-
- Per step (GPT-4o): $0.025
|
|
260
|
-
- Per step (O3): $0.01 (promotional)
|
|
261
|
-
|
|
262
|
-
Example: A 10-step task with GPT-4o costs ~$0.26
|
|
263
|
-
|
|
264
|
-
See https://browser-use.com/pricing for current rates.
|
|
265
|
-
|
|
266
|
-
## License
|
|
21
|
+
## Boundary
|
|
267
22
|
|
|
268
|
-
|
|
23
|
+
The OSS package contains metadata and documentation only. Browser execution,
|
|
24
|
+
proxy handling, model routing, provider credentials, logs, and artifacts are
|
|
25
|
+
owned by the hosted runtime.
|
package/skills/browse/SKILL.md
CHANGED
|
@@ -1,56 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: browse
|
|
3
|
-
description:
|
|
3
|
+
description: Run hosted browser automation and page extraction through the Skills runtime.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Browse
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Browse is a hosted premium skill for browser automation, page interaction, and
|
|
9
|
+
structured extraction. The OSS package exposes the public contract only; browser
|
|
10
|
+
infrastructure, provider credentials, proxies, model routing, worker code, and
|
|
11
|
+
logs stay server-side.
|
|
9
12
|
|
|
10
|
-
##
|
|
13
|
+
## Usage
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
## Supported Models
|
|
21
|
-
|
|
22
|
-
- **GPT-4o**: Default, great balance of speed and accuracy
|
|
23
|
-
- **O3**: Best accuracy, recommended for complex tasks
|
|
24
|
-
- **Claude Sonnet 4**: Anthropic's latest model
|
|
25
|
-
- **Gemini Flash**: Google's fast model
|
|
26
|
-
- **Browser-Use**: Proprietary model, 3-5x faster
|
|
27
|
-
|
|
28
|
-
## Use Cases
|
|
29
|
-
|
|
30
|
-
- Web scraping and data extraction
|
|
31
|
-
- Form filling and submission
|
|
32
|
-
- Website testing and monitoring
|
|
33
|
-
- Automated research and data gathering
|
|
34
|
-
- Price monitoring and comparison
|
|
35
|
-
- Content aggregation
|
|
15
|
+
```bash
|
|
16
|
+
skills setup --mode hosted
|
|
17
|
+
skills auth login
|
|
18
|
+
skills run browse --task "Open example.com and summarize the page"
|
|
19
|
+
skills runs status <run-id>
|
|
20
|
+
skills exports download <run-id>
|
|
21
|
+
```
|
|
36
22
|
|
|
37
|
-
##
|
|
23
|
+
## Options
|
|
38
24
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
25
|
+
| Option | Description |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| `--task <text>` | Browser task or extraction goal |
|
|
28
|
+
| `--url <url>` | Optional starting URL |
|
|
29
|
+
| `--output <format>` | Requested artifact format |
|
|
44
30
|
|
|
45
|
-
##
|
|
31
|
+
## Requirements
|
|
46
32
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
--task "Go to hacker-news.com and find the top 3 posts"
|
|
51
|
-
|
|
52
|
-
# Extract data with output
|
|
53
|
-
bun run src/index.ts extract \
|
|
54
|
-
--task "Search amazon.com for 'laptop' and extract top 5 products" \
|
|
55
|
-
--output ./products.json
|
|
56
|
-
```
|
|
33
|
+
- Authenticate with `skills auth login` or provide `SKILLS_API_KEY`.
|
|
34
|
+
- Browser/provider credentials and proxy settings are managed by the hosted
|
|
35
|
+
runtime, not by the OSS package.
|
|
@@ -1,44 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Deep Research
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Quick Reference
|
|
3
|
+
Use this skill through the hosted Skills runtime.
|
|
6
4
|
|
|
7
5
|
```bash
|
|
8
|
-
|
|
9
|
-
bun run src/index.ts "<topic>" [options]
|
|
10
|
-
|
|
11
|
-
# Options
|
|
12
|
-
--depth <quick|normal|deep> # Research depth (default: normal)
|
|
13
|
-
--model <claude|openai> # LLM provider (default: claude)
|
|
14
|
-
--output <path> # Custom output path
|
|
15
|
-
--json # Also output sources JSON
|
|
16
|
-
--no-firecrawl # Skip deep scraping
|
|
6
|
+
skills run deepresearch "<topic>" --depth normal
|
|
17
7
|
```
|
|
18
8
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
- `src/research.ts` - Main research orchestration
|
|
23
|
-
- `src/agents/` - LLM agents for query generation and synthesis
|
|
24
|
-
- `src/services/` - API clients (Exa, Anthropic, OpenAI, Firecrawl)
|
|
25
|
-
- `src/utils/` - Logger and file helpers
|
|
26
|
-
- `src/types.ts` - TypeScript types
|
|
27
|
-
|
|
28
|
-
## API Keys
|
|
29
|
-
|
|
30
|
-
Required in `~/.secrets`:
|
|
31
|
-
- `EXA_API_KEY` - For search
|
|
32
|
-
- `ANTHROPIC_API_KEY` - For Claude synthesis
|
|
33
|
-
- `OPENAI_API_KEY` - For OpenAI synthesis (alternative)
|
|
34
|
-
- `FIRECRAWL_API_KEY` - Optional, for deep scraping
|
|
35
|
-
|
|
36
|
-
## Output Location
|
|
37
|
-
|
|
38
|
-
`~/.skills/deepresearch/exports/`
|
|
39
|
-
|
|
40
|
-
## Depth Levels
|
|
41
|
-
|
|
42
|
-
- **quick**: 6 queries, 1 iteration
|
|
43
|
-
- **normal**: 15 queries, 1 iteration
|
|
44
|
-
- **deep**: 30 queries, 2 iterations (with follow-up based on gaps)
|
|
9
|
+
The public package does not include provider credentials, search client code,
|
|
10
|
+
model routing, prompts, or hosted worker implementation. Authenticate with
|
|
11
|
+
`skills auth login` before running.
|
|
@@ -1,161 +1,26 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Deep Research
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## How It Works
|
|
6
|
-
|
|
7
|
-
1. **Query Generation** - LLM analyzes your topic and generates diverse search queries
|
|
8
|
-
2. **Parallel Search** - Executes searches in parallel via Exa.ai (5 concurrent limit)
|
|
9
|
-
3. **Content Retrieval** - Gets clean content from search results
|
|
10
|
-
4. **Optional Deep Scrape** - Uses Firecrawl for JS-rendered pages
|
|
11
|
-
5. **Synthesis** - LLM compiles findings into a structured report with citations
|
|
12
|
-
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Install from npm
|
|
17
|
-
bun add @hasnaxyz/deepresearch
|
|
18
|
-
|
|
19
|
-
# Or clone and install
|
|
20
|
-
cd ~/Workspace/dev/hasnaxyz/skill/skilldev/deepresearch
|
|
21
|
-
bun install
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### Agent Integration
|
|
25
|
-
|
|
26
|
-
Do not symlink, copy, or install this skill into agent-native skill folders.
|
|
27
|
-
Register the shared Skills MCP server instead:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
skills mcp --register all
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Configuration
|
|
34
|
-
|
|
35
|
-
Set API keys in `~/.secrets`:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# Required
|
|
39
|
-
export EXA_API_KEY="your_exa_key"
|
|
40
|
-
|
|
41
|
-
# At least one required for synthesis
|
|
42
|
-
export ANTHROPIC_API_KEY="your_anthropic_key"
|
|
43
|
-
export OPENAI_API_KEY="your_openai_key"
|
|
44
|
-
|
|
45
|
-
# Optional
|
|
46
|
-
export FIRECRAWL_API_KEY="your_firecrawl_key"
|
|
47
|
-
```
|
|
3
|
+
Hosted premium research skill for comprehensive reports with source notes,
|
|
4
|
+
citations, and downloadable artifacts.
|
|
48
5
|
|
|
49
6
|
## Usage
|
|
50
7
|
|
|
51
8
|
```bash
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
bun run src/index.ts "What is vector search?" --depth quick
|
|
57
|
-
|
|
58
|
-
# Deep research (30 queries, 2 iterations)
|
|
59
|
-
bun run src/index.ts "Compare React Server Components vs traditional SSR" --depth deep
|
|
60
|
-
|
|
61
|
-
# Use OpenAI instead of Claude
|
|
62
|
-
bun run src/index.ts "State of AI in 2024" --model openai
|
|
63
|
-
|
|
64
|
-
# Custom output location
|
|
65
|
-
bun run src/index.ts "Kubernetes best practices" --output ./k8s-research.md
|
|
66
|
-
|
|
67
|
-
# Include raw sources JSON
|
|
68
|
-
bun run src/index.ts "GraphQL vs REST APIs" --json
|
|
69
|
-
|
|
70
|
-
# Skip Firecrawl deep scraping
|
|
71
|
-
bun run src/index.ts "Machine learning ops" --no-firecrawl
|
|
9
|
+
skills setup --mode hosted
|
|
10
|
+
skills auth login
|
|
11
|
+
skills mcp --register
|
|
12
|
+
skills run deepresearch "Compare React Server Components with traditional SSR" --depth deep
|
|
72
13
|
```
|
|
73
14
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
| Level | Queries | Iterations | Use Case |
|
|
77
|
-
|-------|---------|------------|----------|
|
|
78
|
-
| quick | 6 | 1 | Fast overview |
|
|
79
|
-
| normal | 15 | 1 | Standard research |
|
|
80
|
-
| deep | 30 | 2 | Thorough analysis with follow-up queries |
|
|
15
|
+
Poll and download results:
|
|
81
16
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
~/.skills/deepresearch/
|
|
88
|
-
├── exports/
|
|
89
|
-
│ ├── report-what-is-rag-2024-01-15T10-30-00.md
|
|
90
|
-
│ └── sources-what-is-rag-2024-01-15T10-30-00.json
|
|
91
|
-
└── logs/
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### Report Format
|
|
95
|
-
|
|
96
|
-
```markdown
|
|
97
|
-
# Research Report: [Topic]
|
|
98
|
-
|
|
99
|
-
**Generated:** 2024-01-15T10:30:00Z
|
|
100
|
-
**Depth:** normal
|
|
101
|
-
**Queries:** 15
|
|
102
|
-
**Sources:** 42
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Executive Summary
|
|
107
|
-
[2-3 paragraph overview]
|
|
108
|
-
|
|
109
|
-
## Key Findings
|
|
110
|
-
- Finding 1 [1]
|
|
111
|
-
- Finding 2 [2]
|
|
112
|
-
...
|
|
113
|
-
|
|
114
|
-
## Detailed Analysis
|
|
115
|
-
### Subtopic 1
|
|
116
|
-
...
|
|
117
|
-
|
|
118
|
-
## Conclusions
|
|
119
|
-
...
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Sources
|
|
124
|
-
1. [Title](url) - Published Date
|
|
125
|
-
2. [Title](url)
|
|
126
|
-
...
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Architecture
|
|
130
|
-
|
|
131
|
-
```
|
|
132
|
-
src/
|
|
133
|
-
├── index.ts # CLI entry point
|
|
134
|
-
├── research.ts # Main orchestration
|
|
135
|
-
├── types.ts # TypeScript types
|
|
136
|
-
├── agents/
|
|
137
|
-
│ ├── query-generator.ts # LLM query generation
|
|
138
|
-
│ └── synthesizer.ts # LLM report synthesis
|
|
139
|
-
├── services/
|
|
140
|
-
│ ├── exa.ts # Exa.ai search
|
|
141
|
-
│ ├── anthropic.ts # Claude API
|
|
142
|
-
│ ├── openai.ts # OpenAI API
|
|
143
|
-
│ └── firecrawl.ts # Firecrawl scraping
|
|
144
|
-
└── utils/
|
|
145
|
-
├── logger.ts # Console output
|
|
146
|
-
└── file.ts # File operations
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## Claude Code Integration
|
|
150
|
-
|
|
151
|
-
This skill can be invoked from Claude Code using:
|
|
152
|
-
|
|
153
|
-
```
|
|
154
|
-
/deepresearch "your research topic"
|
|
17
|
+
```bash
|
|
18
|
+
skills runs status <run-id>
|
|
19
|
+
skills exports download <run-id>
|
|
155
20
|
```
|
|
156
21
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
## License
|
|
22
|
+
## Boundary
|
|
160
23
|
|
|
161
|
-
|
|
24
|
+
The OSS package contains metadata and documentation only. Provider credentials,
|
|
25
|
+
model routing, private prompts, search orchestration, worker code, billing, and
|
|
26
|
+
artifact storage are owned by the hosted platform.
|