felo-ai 0.2.7 → 0.2.9

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/README.md CHANGED
@@ -1,414 +1,435 @@
1
- # Felo AI CLI
2
-
3
- **Ask anything. Get current answers. Generate slides from a prompt.**
4
-
5
- [npm package: **felo-ai**](https://www.npmjs.com/package/felo-ai) — Real-time search, PPT generation, web fetch, and YouTube subtitles from the terminal. Also works as Claude Code skills. Supports Chinese, English, Japanese, and Korean.
6
-
7
- [![npm version](https://img.shields.io/npm/v/felo-ai.svg)](https://www.npmjs.com/package/felo-ai) [![License](https://img.shields.io/badge/license-MIT-green)]()
8
-
9
- ---
10
-
11
- ## Install (CLI)
12
-
13
- ```bash
14
- npm install -g felo-ai
15
- ```
16
-
17
- Run without installing:
18
-
19
- ```bash
20
- npx felo-ai search "Tokyo weather"
21
- npx felo-ai slides "Introduction to React, 5 slides"
22
- ```
23
-
24
- After install, the command is `felo` (package name: **felo-ai**).
25
-
26
- ### Configure API key
27
-
28
- **Option 1: Persist with config (recommended)**
29
-
30
- ```bash
31
- felo config set FELO_API_KEY your-api-key-here
32
- ```
33
-
34
- The key is stored in `~/.felo/config.json` (Windows: `%USERPROFILE%\.felo\config.json`). You only need to set it once.
35
-
36
- **Option 2: Environment variable**
37
-
38
- ```bash
39
- # Linux/macOS
40
- export FELO_API_KEY="your-api-key-here"
41
-
42
- # Windows (PowerShell)
43
- $env:FELO_API_KEY="your-api-key-here"
44
- ```
45
-
46
- Get your API key from [felo.ai](https://felo.ai) (Settings → API Keys). Environment variable overrides config if both are set.
47
-
48
- ### Commands
49
-
50
- | Command | Description |
51
- | ------------------------------------ | ----------------------------------------------------- |
52
- | `felo search "<query>"` | Search for current info (weather, news, prices, etc.) |
53
- | `felo slides "<prompt>"` | Generate PPT; returns link when done |
54
- | `felo web-fetch --url <url>` | Fetch webpage content (markdown/text/html) |
55
- | `felo youtube-subtitling -v <url-or-id>` | Fetch YouTube video subtitles by video URL or ID |
56
- | `felo config set FELO_API_KEY <key>` | Save API key to config |
57
- | `felo config get FELO_API_KEY` | Print stored key |
58
- | `felo config list` | List config keys |
59
- | `felo config path` | Show config file path |
60
-
61
- ### Examples
62
-
63
- **Search**
64
-
65
- ```bash
66
- felo search "Tokyo weather"
67
- felo search "MacBook Air M3 price"
68
- felo search "React 19 new features" --verbose
69
- felo search "Hangzhou tomorrow weather" --json
70
- npx felo-ai search "Tokyo weather"
71
- ```
72
-
73
- **Slides**
74
-
75
- ```bash
76
- felo slides "Felo product intro, 3 slides"
77
- felo slides "Introduction to React"
78
- felo slides "Q4 2024 business review, 10 pages" --poll-timeout 300
79
- npx felo-ai slides "Tokyo travel guide, 5 slides"
80
- ```
81
-
82
- **Web fetch** (after `npm install -g felo-ai`)
83
-
84
- ```bash
85
- # Packaged CLI
86
- felo web-fetch --url "https://example.com"
87
- felo web-fetch --url "https://example.com/article" --format markdown --readability
88
- felo web-fetch --url "https://example.com" --target-selector "article.main" --format text
89
- felo web-fetch --url "https://example.com" -j
90
- npx felo-ai web-fetch --url "https://example.com" --format markdown
91
-
92
- # From repo: run script directly (no install)
93
- node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com" --format markdown
94
- node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com" --readability -f text
95
- ```
96
-
97
- **How to pass parameters**
98
-
99
- | Parameter | CLI option | Example | Description |
100
- |-----------|------------|---------|--------------|
101
- | URL (required) | `-u`, `--url` | `--url "https://example.com"` | Page to fetch |
102
- | Output format | `-f`, `--format` | `--format text` or `-f markdown` | `html`, `text`, or `markdown` (default: markdown) |
103
- | Target element | `--target-selector` | `--target-selector "article.main"` | CSS selector; only this element is fetched |
104
- | Wait for element | `--wait-for-selector` | `--wait-for-selector ".content"` | Wait for selector before fetching (e.g. dynamic pages) |
105
- | Readability | `--readability` | `--readability` | Main article content only (no nav/ads) |
106
- | Crawl mode | `--crawl-mode` | `--crawl-mode fine` | `fast` (default) or `fine` |
107
- | Timeout (seconds) | `-t`, `--timeout` | `--timeout 120` or `-t 90` | Request timeout (default: 60) |
108
- | Full JSON response | `-j`, `--json` | `-j` or `--json` | Print full API response instead of content only |
109
-
110
- Examples with multiple options:
111
-
112
- ```bash
113
- felo web-fetch -u "https://example.com" -f text --readability -t 90
114
- felo web-fetch --url "https://example.com" --target-selector "#main" --wait-for-selector ".loaded" --format markdown --json
115
- ```
116
-
117
- Same `FELO_API_KEY` as search/slides.
118
-
119
- **YouTube subtitling** (after `npm install -g felo-ai`)
120
-
121
- ```bash
122
- # Packaged CLI
123
- felo youtube-subtitling -v "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
124
- felo youtube-subtitling -v "dQw4w9WgXcQ" --language zh-CN
125
- felo youtube-subtitling -v "https://youtu.be/dQw4w9WgXcQ" --with-time -j
126
- npx felo-ai youtube-subtitling -v "dQw4w9WgXcQ"
127
-
128
- # From repo: run script directly (no install)
129
- node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs --video-code "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
130
- node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs -v "dQw4w9WgXcQ" -l zh-CN --with-time
131
- ```
132
-
133
- Options: `-v/--video-code` (required: **YouTube video URL** or video ID), `-l/--language` (e.g. en, zh-CN), `--with-time`, `-j/--json`. Same `FELO_API_KEY` as other commands. See [felo-youtube-subtitling](./felo-youtube-subtitling/README.md).
134
-
135
- ### CLI FAQ
136
-
137
- - **Key not found?** Run `felo config set FELO_API_KEY <key>` or set the `FELO_API_KEY` environment variable.
138
- - **Request timeout?** Use `felo search "query" --timeout 120` (default 60 seconds). 5xx errors are retried automatically with backoff.
139
- - **Slides taking long?** Use `felo slides "topic" --poll-timeout 300` (default 1200s) to limit wait.
140
- - **Where is config stored?** Run `felo config path` to see the file (e.g. `~/.felo/config.json`).
141
- - **Web fetch after install?** Use `felo web-fetch --url "<page url>"`. Other params: `--format markdown|text|html`, `--readability`, `--target-selector "selector"`, `--wait-for-selector "selector"`, `--crawl-mode fast|fine`, `--timeout 120`, `--json`. See the "How to pass parameters" table above. Same API key as other commands.
142
- - **YouTube subtitles?** Use `felo youtube-subtitling -v "<url or video_id>"` (full YouTube link or 11-char ID). Optional: `-l/--language`, `--with-time`, `-j/--json`. See [felo-youtube-subtitling](./felo-youtube-subtitling/README.md).
143
-
144
- ---
145
-
146
- ## Claude Code Skills (optional)
147
-
148
- This repo also provides **Claude Code** skills. If you use [Claude Code](https://claude.ai/code), you can install search and/or slides as skills so Claude can run them in chat.
149
-
150
- ### Quick Start (Search skill)
151
-
152
- Install the skill:
153
-
154
- ```bash
155
- npx @claude/skills add felo-search
156
- ```
157
-
158
- Get your API key from [felo.ai](https://felo.ai) (Settings → API Keys), then configure:
159
-
160
- **Linux/macOS:**
161
-
162
- ```bash
163
- export FELO_API_KEY="your-api-key-here"
164
- # Add to ~/.bashrc or ~/.zshrc for persistence
165
- ```
166
-
167
- **Windows (PowerShell):**
168
-
169
- ```powershell
170
- $env:FELO_API_KEY="your-api-key-here"
171
- # For persistence, add to system environment variables
172
- ```
173
-
174
- Test it:
175
-
176
- ```
177
- Ask Claude: "What's the weather in Tokyo today?"
178
- ```
179
-
180
- **You're done!** The skill triggers automatically for any question needing current information.
181
-
182
- **Felo Slides (PPT):** In terminal run `felo slides "your topic"`. In Claude Code install with `npx @claude/skills add felo-slides`, then use `/felo-slides your topic`. See [felo-slides](./felo-slides/README.md).
183
-
184
- **Felo Web Fetch:** In terminal run `felo web-fetch --url "https://example.com"` (see [felo-web-fetch](./felo-web-fetch/README.md)). In Claude Code you can install the skill and use it to fetch webpage content from a URL.
185
-
186
- **Felo YouTube Subtitling:** In terminal run `felo youtube-subtitling -v "URL_or_VIDEO_ID"` (see [felo-youtube-subtitling](./felo-youtube-subtitling/README.md)). Fetches subtitles/captions; accepts full YouTube link or video ID.
187
-
188
- ---
189
-
190
- ## Usage Examples
191
-
192
- ### Daily life
193
-
194
- **Weather**
195
-
196
- ```
197
- You: What's the weather in Tokyo today?
198
- Claude: [Current temperature, conditions, forecast]
199
- ```
200
-
201
- **Restaurants & food**
202
-
203
- ```
204
- You: Best ramen in Osaka
205
- Claude: [Top-rated ramen shops with addresses, ratings, reviews]
206
- ```
207
-
208
- **Shopping & prices**
209
-
210
- ```
211
- You: iPhone 15 Pro price comparison
212
- Claude: [Prices from different retailers with links]
213
- ```
214
-
215
- **Travel**
216
-
217
- ```
218
- You: Things to do in Kyoto this weekend
219
- Claude: [Events, attractions, seasonal activities]
220
- ```
221
-
222
- ### Developer scenarios
223
-
224
- **Latest documentation**
225
-
226
- ```
227
- You: React 19 new features
228
- Claude: [Latest React 19 features with official docs links]
229
- ```
230
-
231
- **Library comparison**
232
-
233
- ```
234
- You: Vite vs Webpack 2024 comparison
235
- Claude: [Performance, features, use cases comparison]
236
- ```
237
-
238
- **Tech trends**
239
-
240
- ```
241
- You: Latest AI developments January 2026
242
- Claude: [Recent AI breakthroughs, company announcements]
243
- ```
244
-
245
- ### Multi-language queries
246
-
247
- Works in Chinese (Simplified & Traditional), Japanese, Korean, and English. Ask in any language, get answers in that language.
248
-
249
- **[See 40+ more examples →](./docs/EXAMPLES.md)**
250
-
251
- ---
252
-
253
- ## Installation details
254
-
255
- ### Prerequisites
256
-
257
- - [Claude Code](https://claude.ai/code) CLI installed
258
- - Node.js (for npx)
259
- - Internet connection
260
-
261
- ### Manual installation
262
-
263
- If quick install doesn’t work:
264
-
265
- 1. Clone this repository:
266
-
267
- ```bash
268
- git clone https://github.com/Felo-Inc/felo-skills.git
269
- cd felo-skills
270
- ```
271
-
272
- 2. Copy to Claude Code skills directory:
273
-
274
- - **Linux/macOS:** `~/.claude/skills/`
275
- - **Windows:** `C:\Users\<YourUsername>\.claude\skills\`
276
-
277
- ```bash
278
- # Linux/macOS
279
- cp -r felo-search ~/.claude/skills/
280
-
281
- # Windows (PowerShell)
282
- Copy-Item -Recurse felo-search "$env:USERPROFILE\.claude\skills\"
283
- ```
284
-
285
- 3. Get API key from [felo.ai](https://felo.ai) (Settings → API Keys)
286
-
287
- 4. Set environment variable (see Quick Start)
288
-
289
- 5. Restart Claude Code: `claude restart`
290
-
291
- ### Verify installation
292
-
293
- ```bash
294
- claude skills list
295
- ```
296
-
297
- You should see `felo-search` in the output.
298
-
299
- Test: ask Claude _"Latest news about quantum computing"_. If you see an AI-generated answer, it’s working.
300
-
301
- ---
302
-
303
- ## FAQ
304
-
305
- ### Q: Skill not triggering automatically?
306
-
307
- **A:** The skill triggers for questions needing current info (weather, news, prices, etc.). For manual trigger, use:
308
-
309
- ```
310
- /felo-search your query here
311
- ```
312
-
313
- ### Q: "FELO_API_KEY not set" error?
314
-
315
- **A:** Set the environment variable (see Quick Start), then restart Claude Code.
316
-
317
- ### Q: Environment variable not persisting?
318
-
319
- **A:** Add to your shell profile: **bash** `~/.bashrc`, **zsh** `~/.zshrc`, **Windows** system environment variables.
320
-
321
- ### Q: "INVALID_API_KEY" error?
322
-
323
- **A:** Your API key is incorrect or revoked. Generate a new one at [felo.ai](https://felo.ai) (Settings → API Keys).
324
-
325
- ### Q: Does it work in Chinese/Japanese/Korean?
326
-
327
- **A:** Yes. Multi-language queries are supported; ask in any language.
328
-
329
- ### Q: Rate limits?
330
-
331
- **A:** Check your Felo account tier at [felo.ai](https://felo.ai). Free tier available.
332
-
333
- ### Q: Can I use it offline?
334
-
335
- **A:** No, it requires an internet connection to the Felo API.
336
-
337
- ### Q: How fast are responses?
338
-
339
- **A:** Typically 2–5 seconds depending on query complexity.
340
-
341
- **[Full FAQ →](./docs/FAQ.md)**
342
-
343
- ---
344
-
345
- ## Available Skills
346
-
347
- ### felo-search
348
-
349
- Real-time web search with AI-generated answers.
350
-
351
- **Triggers automatically for:**
352
-
353
- - Current events & news
354
- - Weather, prices, reviews
355
- - Location info (restaurants, attractions)
356
- - Latest documentation & tech trends
357
- - Product comparisons
358
- - Any question with "latest", "recent", "best", "how to"
359
-
360
- **[View skill documentation →](./felo-search/)**
361
-
362
- ### felo-slides
363
-
364
- Generate PPT: in terminal use `felo slides "your topic"`, in Claude Code use `/felo-slides your topic`. **[View skill documentation →](./felo-slides/)**
365
-
366
- ---
367
-
368
- ## Contributing
369
-
370
- We welcome contributions:
371
-
372
- - Report bugs or request features
373
- - Improve documentation
374
- - Add new skills
375
-
376
- Run CLI tests: `npm test`
377
-
378
- **[Contributing guide →](./CONTRIBUTING.md)**
379
-
380
- ---
381
-
382
- ## Links
383
-
384
- - **[npm: felo-ai](https://www.npmjs.com/package/felo-ai)** — CLI package
385
- - **[Felo Open Platform](https://openapi.felo.ai/docs/)** — Get your API key
386
- - **[API Documentation](https://openapi.felo.ai/docs/api-reference/v2/chat.html)** — API reference
387
- - **[Claude Code](https://claude.ai/code)** — AI assistant CLI
388
- - **[Full examples](./docs/EXAMPLES.md)** — 40+ usage examples
389
- - **[FAQ](./docs/FAQ.md)** — Troubleshooting
390
- - **[GitHub Issues](https://github.com/Felo-Inc/felo-skills/issues)** — Report bugs
391
-
392
- ---
393
-
394
- ## Support
395
-
396
- - **Documentation**: [FAQ](./docs/FAQ.md) and skill READMEs
397
- - **Issues**: [GitHub Issues](https://github.com/Felo-Inc/felo-skills/issues)
398
- - **Email**: support@felo.ai
399
-
400
- ---
401
-
402
- ## Version history
403
-
404
- See [CHANGELOG.md](./CHANGELOG.md) for release notes (e.g. breaking changes such as `web-extract` → `web-fetch` in v0.2.7).
405
-
406
- ---
407
-
408
- ## License
409
-
410
- MIT — see [LICENSE](./felo-search/LICENSE) in the repo for details.
411
-
412
- ---
413
-
414
- Made with ❤️ by the Felo team
1
+ # Felo AI CLI
2
+
3
+ **Ask anything. Get current answers. Generate slides from a prompt.**
4
+
5
+ [npm package: **felo-ai**](https://www.npmjs.com/package/felo-ai) — Real-time search, PPT generation, web fetch, and YouTube subtitles from the terminal. Also works as Claude Code skills. Supports Chinese, English, Japanese, and Korean.
6
+
7
+ [![npm version](https://img.shields.io/npm/v/felo-ai.svg)](https://www.npmjs.com/package/felo-ai) [![License](https://img.shields.io/badge/license-MIT-green)]()
8
+
9
+ ---
10
+
11
+ ## Install (CLI)
12
+
13
+ ```bash
14
+ npm install -g felo-ai
15
+ ```
16
+
17
+ Run without installing:
18
+
19
+ ```bash
20
+ npx felo-ai search "Tokyo weather"
21
+ npx felo-ai slides "Introduction to React, 5 slides"
22
+ ```
23
+
24
+ After install, the command is `felo` (package name: **felo-ai**).
25
+
26
+ ### Configure API key
27
+
28
+ **Option 1: Persist with config (recommended)**
29
+
30
+ ```bash
31
+ felo config set FELO_API_KEY your-api-key-here
32
+ ```
33
+
34
+ The key is stored in `~/.felo/config.json` (Windows: `%USERPROFILE%\.felo\config.json`). You only need to set it once.
35
+
36
+ **Option 2: Environment variable**
37
+
38
+ ```bash
39
+ # Linux/macOS
40
+ export FELO_API_KEY="your-api-key-here"
41
+
42
+ # Windows (PowerShell)
43
+ $env:FELO_API_KEY="your-api-key-here"
44
+ ```
45
+
46
+ Get your API key from [felo.ai](https://felo.ai) (Settings → API Keys). Environment variable overrides config if both are set.
47
+
48
+ ### Commands
49
+
50
+ | Command | Description |
51
+ | ------------------------------------ | ----------------------------------------------------- |
52
+ | `felo search "<query>"` | Search for current info (weather, news, prices, etc.) |
53
+ | `felo slides "<prompt>"` | Generate PPT; returns link when done |
54
+ | `felo web-fetch --url <url>` | Fetch webpage content (markdown/text/html) |
55
+ | `felo youtube-subtitling -v <url-or-id>` | Fetch YouTube video subtitles by video URL or ID |
56
+ | `felo config set FELO_API_KEY <key>` | Save API key to config |
57
+ | `felo config get FELO_API_KEY` | Print stored key |
58
+ | `felo config list` | List config keys |
59
+ | `felo config path` | Show config file path |
60
+
61
+ ### Examples
62
+
63
+ **Search**
64
+
65
+ ```bash
66
+ felo search "Tokyo weather"
67
+ felo search "MacBook Air M3 price"
68
+ felo search "React 19 new features" --verbose
69
+ felo search "Hangzhou tomorrow weather" --json
70
+ npx felo-ai search "Tokyo weather"
71
+ ```
72
+
73
+ **Slides**
74
+
75
+ ```bash
76
+ felo slides "Felo product intro, 3 slides"
77
+ felo slides "Introduction to React"
78
+ felo slides "Q4 2024 business review, 10 pages" --poll-timeout 300
79
+ npx felo-ai slides "Tokyo travel guide, 5 slides"
80
+ ```
81
+
82
+ **Web fetch** (after `npm install -g felo-ai`)
83
+
84
+ ```bash
85
+ # Packaged CLI
86
+ felo web-fetch --url "https://example.com"
87
+ felo web-fetch --url "https://example.com/article" --format markdown --readability
88
+ felo web-fetch --url "https://example.com" --target-selector "article.main" --format text
89
+ felo web-fetch --url "https://example.com" -j
90
+ npx felo-ai web-fetch --url "https://example.com" --format markdown
91
+
92
+ # From repo: run script directly (no install)
93
+ node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com" --format markdown
94
+ node felo-web-fetch/scripts/run_web_fetch.mjs --url "https://example.com" --readability -f text
95
+ ```
96
+
97
+ **How to pass parameters**
98
+
99
+ | Parameter | CLI option | Example | Description |
100
+ |-----------|------------|---------|--------------|
101
+ | URL (required) | `-u`, `--url` | `--url "https://example.com"` | Page to fetch |
102
+ | Output format | `-f`, `--format` | `--format text` or `-f markdown` | `html`, `text`, or `markdown` (default: markdown) |
103
+ | Target element | `--target-selector` | `--target-selector "article.main"` | CSS selector; only this element is fetched |
104
+ | Wait for element | `--wait-for-selector` | `--wait-for-selector ".content"` | Wait for selector before fetching (e.g. dynamic pages) |
105
+ | Readability | `--readability` | `--readability` | Main article content only (no nav/ads) |
106
+ | Crawl mode | `--crawl-mode` | `--crawl-mode fine` | `fast` (default) or `fine` |
107
+ | Timeout (seconds) | `-t`, `--timeout` | `--timeout 120` or `-t 90` | Request timeout (default: 60) |
108
+ | Full JSON response | `-j`, `--json` | `-j` or `--json` | Print full API response instead of content only |
109
+
110
+ Examples with multiple options:
111
+
112
+ ```bash
113
+ felo web-fetch -u "https://example.com" -f text --readability -t 90
114
+ felo web-fetch --url "https://example.com" --target-selector "#main" --wait-for-selector ".loaded" --format markdown --json
115
+ ```
116
+
117
+ Same `FELO_API_KEY` as search/slides.
118
+
119
+ **YouTube subtitling** (after `npm install -g felo-ai`)
120
+
121
+ ```bash
122
+ # Packaged CLI
123
+ felo youtube-subtitling -v "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
124
+ felo youtube-subtitling -v "dQw4w9WgXcQ" --language zh-CN
125
+ felo youtube-subtitling -v "https://youtu.be/dQw4w9WgXcQ" --with-time -j
126
+ npx felo-ai youtube-subtitling -v "dQw4w9WgXcQ"
127
+
128
+ # From repo: run script directly (no install)
129
+ node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs --video-code "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
130
+ node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs -v "dQw4w9WgXcQ" -l zh-CN --with-time
131
+ ```
132
+
133
+ Options: `-v/--video-code` (required: **YouTube video URL** or video ID), `-l/--language` (e.g. en, zh-CN), `--with-time`, `-j/--json`. Same `FELO_API_KEY` as other commands. See [felo-youtube-subtitling](./felo-youtube-subtitling/README.md).
134
+
135
+ ### CLI FAQ
136
+
137
+ - **Key not found?** Run `felo config set FELO_API_KEY <key>` or set the `FELO_API_KEY` environment variable.
138
+ - **Request timeout?** Use `felo search "query" --timeout 120` (default 60 seconds). 5xx errors are retried automatically with backoff.
139
+ - **Slides taking long?** Use `felo slides "topic" --poll-timeout 300` (default 1200s) to limit wait.
140
+ - **Where is config stored?** Run `felo config path` to see the file (e.g. `~/.felo/config.json`).
141
+ - **Web fetch after install?** Use `felo web-fetch --url "<page url>"`. Other params: `--format markdown|text|html`, `--readability`, `--target-selector "selector"`, `--wait-for-selector "selector"`, `--crawl-mode fast|fine`, `--timeout 120`, `--json`. See the "How to pass parameters" table above. Same API key as other commands.
142
+ - **YouTube subtitles?** Use `felo youtube-subtitling -v "<url or video_id>"` (full YouTube link or 11-char ID). Optional: `-l/--language`, `--with-time`, `-j/--json`. See [felo-youtube-subtitling](./felo-youtube-subtitling/README.md).
143
+
144
+ ---
145
+
146
+ ## Claude Code Skills (optional)
147
+
148
+ This repo also provides **Claude Code** skills. If you use [Claude Code](https://claude.ai/code), you can install search and/or slides as skills so Claude can run them in chat.
149
+
150
+ ### Quick Start (Search skill)
151
+
152
+ Install the skill:
153
+
154
+ ```bash
155
+ npx @claude/skills add felo-search
156
+ ```
157
+
158
+ Get your API key from [felo.ai](https://felo.ai) (Settings → API Keys), then configure:
159
+
160
+ **Linux/macOS:**
161
+
162
+ ```bash
163
+ export FELO_API_KEY="your-api-key-here"
164
+ # Add to ~/.bashrc or ~/.zshrc for persistence
165
+ ```
166
+
167
+ **Windows (PowerShell):**
168
+
169
+ ```powershell
170
+ $env:FELO_API_KEY="your-api-key-here"
171
+ # For persistence, add to system environment variables
172
+ ```
173
+
174
+ Test it:
175
+
176
+ ```
177
+ Ask Claude: "What's the weather in Tokyo today?"
178
+ ```
179
+
180
+ **You're done!** The skill triggers automatically for any question needing current information.
181
+
182
+ **Felo Slides (PPT):** In terminal run `felo slides "your topic"`. In Claude Code install with `npx @claude/skills add felo-slides`, then use `/felo-slides your topic`. See [felo-slides](./felo-slides/README.md).
183
+
184
+ **Felo Web Fetch:** In terminal run `felo web-fetch --url "https://example.com"` (see [felo-web-fetch](./felo-web-fetch/README.md)). In Claude Code you can install the skill and use it to fetch webpage content from a URL.
185
+
186
+ **Felo YouTube Subtitling:** In terminal run `felo youtube-subtitling -v "URL_or_VIDEO_ID"` (see [felo-youtube-subtitling](./felo-youtube-subtitling/README.md)). Fetches subtitles/captions; accepts full YouTube link or video ID.
187
+
188
+ ---
189
+
190
+ ## Usage Examples
191
+
192
+ ### Daily life
193
+
194
+ **Weather**
195
+
196
+ ```
197
+ You: What's the weather in Tokyo today?
198
+ Claude: [Current temperature, conditions, forecast]
199
+ ```
200
+
201
+ **Restaurants & food**
202
+
203
+ ```
204
+ You: Best ramen in Osaka
205
+ Claude: [Top-rated ramen shops with addresses, ratings, reviews]
206
+ ```
207
+
208
+ **Shopping & prices**
209
+
210
+ ```
211
+ You: iPhone 15 Pro price comparison
212
+ Claude: [Prices from different retailers with links]
213
+ ```
214
+
215
+ **Travel**
216
+
217
+ ```
218
+ You: Things to do in Kyoto this weekend
219
+ Claude: [Events, attractions, seasonal activities]
220
+ ```
221
+
222
+ ### Developer scenarios
223
+
224
+ **Latest documentation**
225
+
226
+ ```
227
+ You: React 19 new features
228
+ Claude: [Latest React 19 features with official docs links]
229
+ ```
230
+
231
+ **Library comparison**
232
+
233
+ ```
234
+ You: Vite vs Webpack 2024 comparison
235
+ Claude: [Performance, features, use cases comparison]
236
+ ```
237
+
238
+ **Tech trends**
239
+
240
+ ```
241
+ You: Latest AI developments January 2026
242
+ Claude: [Recent AI breakthroughs, company announcements]
243
+ ```
244
+
245
+ ### Multi-language queries
246
+
247
+ Works in Chinese (Simplified & Traditional), Japanese, Korean, and English. Ask in any language, get answers in that language.
248
+
249
+ **[See 40+ more examples →](./docs/EXAMPLES.md)**
250
+
251
+ ---
252
+
253
+ ## Installation details
254
+
255
+ ### Prerequisites
256
+
257
+ - [Claude Code](https://claude.ai/code) CLI installed
258
+ - Node.js (for npx)
259
+ - Internet connection
260
+
261
+ ### Manual installation
262
+
263
+ If quick install doesn’t work:
264
+
265
+ 1. Clone this repository:
266
+
267
+ ```bash
268
+ git clone https://github.com/Felo-Inc/felo-skills.git
269
+ cd felo-skills
270
+ ```
271
+
272
+ 2. Copy to Claude Code skills directory:
273
+
274
+ - **Linux/macOS:** `~/.claude/skills/`
275
+ - **Windows:** `C:\Users\<YourUsername>\.claude\skills\`
276
+
277
+ ```bash
278
+ # Linux/macOS
279
+ cp -r felo-search ~/.claude/skills/
280
+
281
+ # Windows (PowerShell)
282
+ Copy-Item -Recurse felo-search "$env:USERPROFILE\.claude\skills\"
283
+ ```
284
+
285
+ 3. Get API key from [felo.ai](https://felo.ai) (Settings → API Keys)
286
+
287
+ 4. Set environment variable (see Quick Start)
288
+
289
+ 5. Restart Claude Code: `claude restart`
290
+
291
+ ### Verify installation
292
+
293
+ ```bash
294
+ claude skills list
295
+ ```
296
+
297
+ You should see `felo-search` in the output.
298
+
299
+ Test: ask Claude _"Latest news about quantum computing"_. If you see an AI-generated answer, it’s working.
300
+
301
+ ---
302
+
303
+ ## FAQ
304
+
305
+ ### Q: Skill not triggering automatically?
306
+
307
+ **A:** The skill triggers for questions needing current info (weather, news, prices, etc.). For manual trigger, use:
308
+
309
+ ```
310
+ /felo-search your query here
311
+ ```
312
+
313
+ ### Q: "FELO_API_KEY not set" error?
314
+
315
+ **A:** Set the environment variable (see Quick Start), then restart Claude Code.
316
+
317
+ ### Q: Environment variable not persisting?
318
+
319
+ **A:** Add to your shell profile: **bash** `~/.bashrc`, **zsh** `~/.zshrc`, **Windows** system environment variables.
320
+
321
+ ### Q: "INVALID_API_KEY" error?
322
+
323
+ **A:** Your API key is incorrect or revoked. Generate a new one at [felo.ai](https://felo.ai) (Settings → API Keys).
324
+
325
+ ### Q: Does it work in Chinese/Japanese/Korean?
326
+
327
+ **A:** Yes. Multi-language queries are supported; ask in any language.
328
+
329
+ ### Q: Rate limits?
330
+
331
+ **A:** Check your Felo account tier at [felo.ai](https://felo.ai). Free tier available.
332
+
333
+ ### Q: Can I use it offline?
334
+
335
+ **A:** No, it requires an internet connection to the Felo API.
336
+
337
+ ### Q: How fast are responses?
338
+
339
+ **A:** Typically 2–5 seconds depending on query complexity.
340
+
341
+ **[Full FAQ →](./docs/FAQ.md)**
342
+
343
+ ---
344
+
345
+ ## Available Skills
346
+
347
+ ### felo-search
348
+
349
+ Real-time web search with AI-generated answers.
350
+
351
+ **Triggers automatically for:**
352
+
353
+ - Current events & news
354
+ - Weather, prices, reviews
355
+ - Location info (restaurants, attractions)
356
+ - Latest documentation & tech trends
357
+ - Product comparisons
358
+ - Any question with "latest", "recent", "best", "how to"
359
+
360
+ **[View skill documentation →](./felo-search/)**
361
+
362
+ ### felo-slides
363
+
364
+ Generate PPT: in terminal use `felo slides "your topic"`, in Claude Code use `/felo-slides your topic`. **[View skill documentation →](./felo-slides/)**
365
+
366
+ ### felo-web-fetch
367
+
368
+ Fetch and extract webpage content: in terminal use `felo web-fetch --url "https://example.com"`, in Claude Code use `/felo-web-fetch https://example.com`. **[View skill documentation →](./felo-web-fetch/)**
369
+
370
+ ---
371
+
372
+ ## Contributing
373
+
374
+ We welcome contributions:
375
+
376
+ - Report bugs or request features
377
+ - Improve documentation
378
+ - Add new skills
379
+
380
+ Run CLI tests: `npm test`
381
+
382
+ **[Contributing guide →](./CONTRIBUTING.md)**
383
+
384
+ ---
385
+
386
+ ## Links
387
+
388
+ - **[npm: felo-ai](https://www.npmjs.com/package/felo-ai)** — CLI package
389
+ - **[Felo Open Platform](https://openapi.felo.ai/docs/)** — Get your API key
390
+ - **[API Documentation](https://openapi.felo.ai/docs/api-reference/v2/chat.html)** — API reference
391
+ - **[Claude Code](https://claude.ai/code)** — AI assistant CLI
392
+ - **[Full examples](./docs/EXAMPLES.md)** — 40+ usage examples
393
+ - **[FAQ](./docs/FAQ.md)** — Troubleshooting
394
+ - **[GitHub Issues](https://github.com/Felo-Inc/felo-skills/issues)** — Report bugs
395
+
396
+ ---
397
+
398
+ ## Publishing to npm (maintainers)
399
+
400
+ 自动发布由 GitHub Actions 在**推送 tag** 时执行(参考 [editablejs/editable](https://github.com/editablejs/editable/blob/main/.github/workflows/main.yml) 的流程思路)。
401
+
402
+ 1. **配置 NPM_TOKEN**
403
+ 在 [npm Access Tokens](https://www.npmjs.com/account/tokens) 创建 **Automation** 类型、具备 Publish 权限的 token,在仓库 **Settings → Secrets and variables → Actions** 里添加名为 `NPM_TOKEN` 的 secret。
404
+
405
+ 2. **发布新版本**
406
+ 更新 `package.json` 的 `version`,提交并推送,然后打 tag 并推送:
407
+ ```bash
408
+ git tag v0.2.8
409
+ git push origin v0.2.8
410
+ ```
411
+ CI 会跑测试并通过 `npm publish` 发布到 [npm](https://www.npmjs.com/package/felo-ai)。
412
+
413
+ ---
414
+
415
+ ## Support
416
+
417
+ - **Documentation**: [FAQ](./docs/FAQ.md) and skill READMEs
418
+ - **Issues**: [GitHub Issues](https://github.com/Felo-Inc/felo-skills/issues)
419
+ - **Email**: support@felo.ai
420
+
421
+ ---
422
+
423
+ ## Version history
424
+
425
+ See [CHANGELOG.md](./CHANGELOG.md) for release notes (e.g. breaking changes such as `web-extract` → `web-fetch` in v0.2.7).
426
+
427
+ ---
428
+
429
+ ## License
430
+
431
+ MIT — see [LICENSE](./felo-search/LICENSE) in the repo for details.
432
+
433
+ ---
434
+
435
+ Made with ❤️ by the Felo team