@anysiteio/agent-skills 1.0.1 → 1.3.0
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/.claude-plugin/marketplace.json +25 -1
- package/.claude-plugin/plugin.json +3 -1
- package/README.md +28 -8
- package/bin/install.js +174 -43
- package/package.json +5 -3
- package/skills/anysite-cli/README.md +419 -0
- package/skills/anysite-cli/SKILL.md +548 -0
- package/skills/anysite-cli/references/api-reference.md +225 -0
- package/skills/anysite-cli/references/dataset-guide.md +870 -0
- package/skills/anysite-cli/references/llm-reference.md +274 -0
- package/skills/skill-audit/README.md +287 -0
- package/skills/skill-audit/SKILL.md +274 -0
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
# Anysite CLI
|
|
2
|
+
|
|
3
|
+
Command-line tool operator for anysite CLI. Execute web data extraction, batch API processing, multi-source dataset pipelines, and database operations through Claude.
|
|
4
|
+
|
|
5
|
+
**Developer:** Anysite Skills Contributors
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
The Anysite CLI skill enables Claude to operate the anysite command-line tool for data collection and processing. Claude can execute anysite commands via Bash to collect data from LinkedIn, Instagram, Twitter/X, Y Combinator, and other web sources, create dataset pipelines, run SQL queries, and load data into PostgreSQL or SQLite databases.
|
|
10
|
+
|
|
11
|
+
This skill is designed for users who have the anysite CLI installed and want Claude to help orchestrate data collection workflows.
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
**Anysite CLI must be installed:**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install anysite-cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Configure your API key:**
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
anysite config set api_key sk-xxxxx
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or set environment variable:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
export ANYSITE_API_KEY=sk-xxxxx
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Update schema cache (required):**
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
anysite schema update
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
See full installation guide: https://docs.anysite.io/cli
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
|
|
43
|
+
### Install from Marketplace
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Add the marketplace (if not already added)
|
|
47
|
+
/plugin marketplace add https://github.com/anysiteio/agent-skills
|
|
48
|
+
|
|
49
|
+
# Install the skill
|
|
50
|
+
/plugin install anysite-cli@anysite-skills
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Usage
|
|
54
|
+
|
|
55
|
+
Once installed, Claude can execute anysite CLI commands to help with data collection tasks.
|
|
56
|
+
|
|
57
|
+
### Quick Start Examples
|
|
58
|
+
|
|
59
|
+
**Single API call:**
|
|
60
|
+
```
|
|
61
|
+
"Get LinkedIn profile for satyanadella"
|
|
62
|
+
→ Executes: anysite api /api/linkedin/user user=satyanadella --format table
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Batch processing:**
|
|
66
|
+
```
|
|
67
|
+
"Collect LinkedIn profiles for all users in users.txt, save as CSV"
|
|
68
|
+
→ Executes: anysite api /api/linkedin/user --from-file users.txt --input-key user --format csv --output profiles.csv --parallel 5 --stats
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Endpoint discovery:**
|
|
72
|
+
```
|
|
73
|
+
"Show me all LinkedIn API endpoints"
|
|
74
|
+
→ Executes: anysite describe --search "linkedin"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Dataset creation:**
|
|
78
|
+
```
|
|
79
|
+
"Create a dataset to collect company info and their employees"
|
|
80
|
+
→ Creates dataset.yaml with sources and dependencies
|
|
81
|
+
→ Executes: anysite dataset collect dataset.yaml
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Database loading:**
|
|
85
|
+
```
|
|
86
|
+
"Load the collected dataset into PostgreSQL"
|
|
87
|
+
→ Executes: anysite dataset load-db dataset.yaml -c pg
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Key Workflows
|
|
91
|
+
|
|
92
|
+
### Workflow 1: Single API Call
|
|
93
|
+
|
|
94
|
+
Execute individual API calls with field selection and output formatting:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Basic call
|
|
98
|
+
anysite api /api/linkedin/user user=satyanadella
|
|
99
|
+
|
|
100
|
+
# With formatting
|
|
101
|
+
anysite api /api/linkedin/company company=anthropic --format table
|
|
102
|
+
|
|
103
|
+
# Field selection
|
|
104
|
+
anysite api /api/linkedin/user user=satyanadella --fields "name,headline,follower_count"
|
|
105
|
+
|
|
106
|
+
# Save to file
|
|
107
|
+
anysite api /api/linkedin/search/users title=CTO count=50 --format csv --output ctos.csv
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Workflow 2: Batch Processing
|
|
111
|
+
|
|
112
|
+
Process multiple inputs with parallel execution and rate limiting:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# From text file (one value per line)
|
|
116
|
+
anysite api /api/linkedin/user --from-file users.txt --input-key user --parallel 5
|
|
117
|
+
|
|
118
|
+
# With rate limiting and progress
|
|
119
|
+
anysite api /api/linkedin/user --from-file users.txt --input-key user \
|
|
120
|
+
--rate-limit "10/s" --on-error skip --progress --stats
|
|
121
|
+
|
|
122
|
+
# Pipe from stdin
|
|
123
|
+
cat companies.txt | anysite api /api/linkedin/company --stdin --input-key company \
|
|
124
|
+
--format csv --output results.csv
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Workflow 3: Dataset Pipeline
|
|
128
|
+
|
|
129
|
+
Create multi-source datasets with dependencies, transforms, and exports:
|
|
130
|
+
|
|
131
|
+
**Initialize:**
|
|
132
|
+
```bash
|
|
133
|
+
anysite dataset init my-dataset
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Configure dataset.yaml:**
|
|
137
|
+
```yaml
|
|
138
|
+
name: my-dataset
|
|
139
|
+
sources:
|
|
140
|
+
- id: companies
|
|
141
|
+
endpoint: /api/linkedin/company
|
|
142
|
+
from_file: companies.txt
|
|
143
|
+
input_key: company
|
|
144
|
+
transform:
|
|
145
|
+
filter: '.employee_count > 10'
|
|
146
|
+
fields: [name, url, employee_count]
|
|
147
|
+
export:
|
|
148
|
+
- type: file
|
|
149
|
+
path: ./output/companies-{{date}}.csv
|
|
150
|
+
format: csv
|
|
151
|
+
|
|
152
|
+
- id: employees
|
|
153
|
+
endpoint: /api/linkedin/company/employees
|
|
154
|
+
dependency:
|
|
155
|
+
from_source: companies
|
|
156
|
+
field: urn.value
|
|
157
|
+
input_key: companies
|
|
158
|
+
input_template:
|
|
159
|
+
companies:
|
|
160
|
+
- type: company
|
|
161
|
+
value: "{value}"
|
|
162
|
+
count: 5
|
|
163
|
+
|
|
164
|
+
storage:
|
|
165
|
+
format: parquet
|
|
166
|
+
path: ./data/
|
|
167
|
+
|
|
168
|
+
schedule:
|
|
169
|
+
cron: "0 9 * * *"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Collect and query:**
|
|
173
|
+
```bash
|
|
174
|
+
# Preview plan
|
|
175
|
+
anysite dataset collect dataset.yaml --dry-run
|
|
176
|
+
|
|
177
|
+
# Run collection
|
|
178
|
+
anysite dataset collect dataset.yaml
|
|
179
|
+
|
|
180
|
+
# Collect and auto-load into database
|
|
181
|
+
anysite dataset collect dataset.yaml --load-db pg
|
|
182
|
+
|
|
183
|
+
# Query with SQL
|
|
184
|
+
anysite dataset query dataset.yaml --sql "SELECT * FROM companies LIMIT 10"
|
|
185
|
+
|
|
186
|
+
# Interactive SQL shell
|
|
187
|
+
anysite dataset query dataset.yaml --interactive
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Workflow 4: Database Operations
|
|
191
|
+
|
|
192
|
+
Manage database connections and load data:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Add connection
|
|
196
|
+
anysite db add pg # Interactive prompts
|
|
197
|
+
|
|
198
|
+
# Test and inspect
|
|
199
|
+
anysite db test pg
|
|
200
|
+
anysite db schema pg --table users
|
|
201
|
+
|
|
202
|
+
# Insert data
|
|
203
|
+
cat data.jsonl | anysite db insert pg --table users --stdin --auto-create
|
|
204
|
+
|
|
205
|
+
# Query
|
|
206
|
+
anysite db query pg --sql "SELECT * FROM users" --format table
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Key Features
|
|
210
|
+
|
|
211
|
+
**Universal API Access**
|
|
212
|
+
- Single `api` command for all endpoints
|
|
213
|
+
- Auto-type conversion via schema cache
|
|
214
|
+
- Field selection with dot-notation
|
|
215
|
+
- Multiple output formats (JSON, JSONL, CSV, table)
|
|
216
|
+
|
|
217
|
+
**Batch Processing**
|
|
218
|
+
- Parallel execution with rate limiting
|
|
219
|
+
- Error handling (stop, skip, retry)
|
|
220
|
+
- Progress tracking and statistics
|
|
221
|
+
- Input from files or stdin
|
|
222
|
+
|
|
223
|
+
**Dataset Pipelines**
|
|
224
|
+
- Multi-source collection with dependencies
|
|
225
|
+
- Parquet storage for efficient queries
|
|
226
|
+
- Per-source transforms and exports
|
|
227
|
+
- Scheduled collection with cron/systemd
|
|
228
|
+
- Webhook notifications
|
|
229
|
+
|
|
230
|
+
**Database Integration**
|
|
231
|
+
- Auto-create tables from schema inference
|
|
232
|
+
- Automatic FK linking for dependent sources
|
|
233
|
+
- Support for PostgreSQL and SQLite
|
|
234
|
+
- Upsert with conflict handling
|
|
235
|
+
|
|
236
|
+
**DuckDB Querying**
|
|
237
|
+
- SQL queries on Parquet data
|
|
238
|
+
- Dot-notation field extraction
|
|
239
|
+
- Interactive SQL shell
|
|
240
|
+
- Column statistics and profiling
|
|
241
|
+
|
|
242
|
+
## How It Works
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
User Request
|
|
246
|
+
↓
|
|
247
|
+
anysite-cli Skill (This)
|
|
248
|
+
↓
|
|
249
|
+
Bash Execution
|
|
250
|
+
↓
|
|
251
|
+
Anysite CLI Commands
|
|
252
|
+
↓
|
|
253
|
+
Anysite API / Local Database
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Claude interprets your data collection needs and executes the appropriate anysite CLI commands via Bash. All commands use the `anysite` prefix and follow the patterns documented in the skill.
|
|
257
|
+
|
|
258
|
+
## Common Recipes
|
|
259
|
+
|
|
260
|
+
### Collect company intel and store in Postgres
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
# Initialize dataset
|
|
264
|
+
anysite dataset init company-intel
|
|
265
|
+
|
|
266
|
+
# Edit dataset.yaml with sources, transforms, schedule...
|
|
267
|
+
# Then collect and load
|
|
268
|
+
anysite dataset collect company-intel/dataset.yaml --load-db pg
|
|
269
|
+
|
|
270
|
+
# Query results
|
|
271
|
+
anysite db query pg --sql "SELECT c.name, COUNT(e.id) FROM companies c JOIN employees e ON e.companies_id = c.id GROUP BY c.name" --format table
|
|
272
|
+
|
|
273
|
+
# Set up daily schedule
|
|
274
|
+
anysite dataset schedule company-intel/dataset.yaml --incremental --load-db pg
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Batch lookup and save to CSV
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
anysite api /api/linkedin/user --from-file people.txt --input-key user \
|
|
281
|
+
--parallel 5 --rate-limit "10/s" --on-error skip \
|
|
282
|
+
--fields "name,headline,location,follower_count" \
|
|
283
|
+
--format csv --output people.csv --stats
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Quick endpoint exploration
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
anysite describe --search "linkedin"
|
|
290
|
+
anysite describe /api/linkedin/company
|
|
291
|
+
anysite api /api/linkedin/company company=anthropic --format table
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Reference Documentation
|
|
295
|
+
|
|
296
|
+
The skill includes comprehensive reference guides:
|
|
297
|
+
|
|
298
|
+
- **[SKILL.md](SKILL.md)** - Main skill definition with workflows
|
|
299
|
+
- **[api-reference.md](references/api-reference.md)** - Complete CLI command reference
|
|
300
|
+
- **[dataset-guide.md](references/dataset-guide.md)** - Dataset pipeline and database guide
|
|
301
|
+
|
|
302
|
+
## Output Formats
|
|
303
|
+
|
|
304
|
+
All API commands support multiple output formats:
|
|
305
|
+
|
|
306
|
+
- `--format json` - Pretty JSON (default)
|
|
307
|
+
- `--format jsonl` - Newline-delimited JSON for streaming
|
|
308
|
+
- `--format csv` - CSV with headers
|
|
309
|
+
- `--format table` - Rich table for terminal display
|
|
310
|
+
|
|
311
|
+
## Use Cases
|
|
312
|
+
|
|
313
|
+
### Data Engineering
|
|
314
|
+
- Build automated data collection pipelines
|
|
315
|
+
- Schedule incremental updates with cron
|
|
316
|
+
- Load data into PostgreSQL/SQLite with FK linking
|
|
317
|
+
- Query collected data with SQL
|
|
318
|
+
|
|
319
|
+
### Market Research
|
|
320
|
+
- Batch collect company information
|
|
321
|
+
- Track competitor employees and activity
|
|
322
|
+
- Monitor social media accounts
|
|
323
|
+
- Export data for analysis
|
|
324
|
+
|
|
325
|
+
### Lead Generation
|
|
326
|
+
- Collect prospect lists from LinkedIn
|
|
327
|
+
- Enrich contact data
|
|
328
|
+
- Build custom CRM datasets
|
|
329
|
+
- Automate regular updates
|
|
330
|
+
|
|
331
|
+
### Analytics
|
|
332
|
+
- Create multi-source datasets
|
|
333
|
+
- Run SQL analytics on collected data
|
|
334
|
+
- Export to CSV for visualization
|
|
335
|
+
- Schedule regular reports
|
|
336
|
+
|
|
337
|
+
## Supported Platforms
|
|
338
|
+
|
|
339
|
+
The anysite CLI provides access to 65+ API endpoints across platforms:
|
|
340
|
+
|
|
341
|
+
| Platform | Example Endpoints |
|
|
342
|
+
|----------|-------------------|
|
|
343
|
+
| **LinkedIn** | Users, companies, search, posts, comments, employees |
|
|
344
|
+
| **Instagram** | Users, posts, comments, followers |
|
|
345
|
+
| **Twitter/X** | Users, posts, search |
|
|
346
|
+
| **Reddit** | Posts, comments, subreddits |
|
|
347
|
+
| **YouTube** | Videos, channels, comments |
|
|
348
|
+
| **Y Combinator** | Companies, founders, batches |
|
|
349
|
+
| **SEC** | Company filings, documents |
|
|
350
|
+
| **Web** | Page parsing, sitemap extraction |
|
|
351
|
+
|
|
352
|
+
Use `anysite describe` to discover all available endpoints.
|
|
353
|
+
|
|
354
|
+
## Configuration
|
|
355
|
+
|
|
356
|
+
The anysite CLI uses a config file at `~/.anysite/config.yaml`.
|
|
357
|
+
|
|
358
|
+
**Configuration priority:**
|
|
359
|
+
1. CLI arguments (`--api-key`)
|
|
360
|
+
2. Environment variables (`ANYSITE_API_KEY`)
|
|
361
|
+
3. Config file (`~/.anysite/config.yaml`)
|
|
362
|
+
4. Defaults
|
|
363
|
+
|
|
364
|
+
**Manage config:**
|
|
365
|
+
```bash
|
|
366
|
+
anysite config set api_key sk-xxxxx
|
|
367
|
+
anysite config get api_key
|
|
368
|
+
anysite config list
|
|
369
|
+
anysite config init
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
## Structure
|
|
373
|
+
|
|
374
|
+
```
|
|
375
|
+
anysite-cli/
|
|
376
|
+
├── SKILL.md # Skill definition
|
|
377
|
+
├── README.md # This file
|
|
378
|
+
└── references/
|
|
379
|
+
├── api-reference.md # CLI command reference
|
|
380
|
+
└── dataset-guide.md # Pipeline and database guide
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
## Troubleshooting
|
|
384
|
+
|
|
385
|
+
**"anysite: command not found"**
|
|
386
|
+
- Install anysite CLI: `pip install anysite-cli`
|
|
387
|
+
- Verify installation: `anysite --version`
|
|
388
|
+
|
|
389
|
+
**"API key not configured"**
|
|
390
|
+
- Set API key: `anysite config set api_key sk-xxxxx`
|
|
391
|
+
- Or use env var: `export ANYSITE_API_KEY=sk-xxxxx`
|
|
392
|
+
|
|
393
|
+
**"Schema cache not found"**
|
|
394
|
+
- Update schema: `anysite schema update`
|
|
395
|
+
- Required for endpoint discovery and type conversion
|
|
396
|
+
|
|
397
|
+
**"Database connection failed"**
|
|
398
|
+
- Test connection: `anysite db test <name>`
|
|
399
|
+
- Check credentials in `~/.anysite/connections.yaml`
|
|
400
|
+
|
|
401
|
+
## Contributing
|
|
402
|
+
|
|
403
|
+
Found a bug or have a feature request? Submit an issue at:
|
|
404
|
+
https://github.com/anysiteio/agent-skills/issues
|
|
405
|
+
|
|
406
|
+
## Support
|
|
407
|
+
|
|
408
|
+
- **GitHub Issues**: [github.com/anysiteio/agent-skills/issues](https://github.com/anysiteio/agent-skills/issues)
|
|
409
|
+
- **Skill Documentation**: [SKILL.md](SKILL.md)
|
|
410
|
+
- **CLI Documentation**: [docs.anysite.io/cli](https://docs.anysite.io/cli)
|
|
411
|
+
- **API Documentation**: [docs.anysite.io/api](https://docs.anysite.io/api)
|
|
412
|
+
|
|
413
|
+
## License
|
|
414
|
+
|
|
415
|
+
MIT License - see [LICENSE](../../LICENSE) file for details
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
**Note**: This skill requires the anysite CLI to be installed and configured. Get your API key at [anysite.io](https://anysite.io).
|