@hasna/skills 0.1.33 → 0.1.34

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 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.33",
1913
+ version: "0.1.34",
1914
1914
  description: "Skills library for AI coding agents",
1915
1915
  type: "module",
1916
1916
  bin: {
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.33",
21796
+ version: "0.1.34",
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.33",
18034
+ version: "0.1.34",
18035
18035
  description: "Skills library for AI coding agents",
18036
18036
  type: "module",
18037
18037
  bin: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/skills",
3
- "version": "0.1.33",
3
+ "version": "0.1.34",
4
4
  "description": "Skills library for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,268 +1,25 @@
1
- # browse
1
+ # Browse
2
2
 
3
- AI-powered browser automation using Browser-Use Cloud API. Execute natural language browser tasks, extract data from websites, and automate web interactions using AI agents.
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
- bun run src/index.ts extract \
227
- --task "Search for 'wireless headphones' on amazon.com and get the name, price, and rating of the top 10 results" \
228
- --output ./headphones.json \
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
- ### Form Automation
14
+ Poll and download results:
234
15
 
235
16
  ```bash
236
- bun run src/index.ts browse \
237
- --task "Go to example-form.com, fill in the contact form with name 'John Doe', email 'john@example.com', message 'Hello', and submit"
17
+ skills runs status <run-id>
18
+ skills exports download <run-id>
238
19
  ```
239
20
 
240
- ### Social Media Data
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
- MIT
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.
@@ -1,56 +1,35 @@
1
1
  ---
2
2
  name: browse
3
- description: AI-powered browser automation using Browser-Use Cloud API
3
+ description: Run hosted browser automation and page extraction through the Skills runtime.
4
4
  ---
5
5
 
6
- # browse
6
+ # Browse
7
7
 
8
- Browser automation skill that leverages Browser-Use Cloud API to perform AI-powered web browsing, data extraction, and automation tasks.
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
- ## Key Features
13
+ ## Usage
11
14
 
12
- - **Natural Language Tasks**: Describe browser actions in plain English
13
- - **AI-Powered Automation**: Uses LLMs to interpret and execute complex browsing tasks
14
- - **Data Extraction**: Extract structured data from any website
15
- - **Real-Time Monitoring**: Live URL to watch agent actions
16
- - **Multiple LLM Support**: Choose from GPT-4o, O3, Claude, Gemini, and more
17
- - **Proxy Support**: Built-in proxy for captcha bypass with country selection
18
- - **Task Management**: Pause, resume, and stop tasks as needed
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
- ## Configuration
23
+ ## Options
38
24
 
39
- Environment variables:
40
- - `BROWSER_USE_API_KEY`: API key (required)
41
- - `BROWSER_USE_MODEL`: Default model
42
- - `BROWSER_USE_PROXY`: Default proxy setting
43
- - `BROWSER_USE_PROXY_COUNTRY`: Default proxy country
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
- ## Quick Start
31
+ ## Requirements
46
32
 
47
- ```bash
48
- # Basic browsing task
49
- bun run src/index.ts browse \
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
- # deepresearch
1
+ # Deep Research
2
2
 
3
- Agentic deep research skill using Exa.ai and LLM synthesis.
4
-
5
- ## Quick Reference
3
+ Use this skill through the hosted Skills runtime.
6
4
 
7
5
  ```bash
8
- # Run the skill
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
- ## Project Structure
20
-
21
- - `src/index.ts` - CLI entry point
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
- # deepresearch
1
+ # Deep Research
2
2
 
3
- Agentic deep research skill that uses Exa.ai for parallel semantic search and Claude/OpenAI for report synthesis. Inspired by how Perplexity, OpenAI, and Anthropic implement deep research.
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
- # Basic usage
53
- bun run src/index.ts "What are the best practices for building RAG systems?"
54
-
55
- # Quick research (6 queries)
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
- ## Depth Levels
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
- ## Output
83
-
84
- Reports are saved to `~/.skills/deepresearch/exports/`:
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
- See `SKILL.md` for skill metadata.
158
-
159
- ## License
22
+ ## Boundary
160
23
 
161
- MIT
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.