felo-ai 0.2.6 → 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/.github/workflows/publish-npm.yml +39 -0
- package/CHANGELOG.md +30 -0
- package/CONTRIBUTING.md +346 -346
- package/README.en.md +129 -129
- package/README.md +435 -408
- package/docs/EXAMPLES.md +632 -632
- package/docs/FAQ.md +479 -479
- package/felo-search/LICENSE +21 -21
- package/felo-search/README.md +440 -440
- package/felo-search/SKILL.md +291 -291
- package/felo-slides/LICENSE +21 -21
- package/felo-slides/README.md +87 -87
- package/felo-slides/SKILL.md +166 -166
- package/felo-slides/scripts/run_ppt_task.mjs +251 -251
- package/felo-superAgent/LICENSE +21 -0
- package/felo-superAgent/README.md +125 -0
- package/felo-superAgent/SKILL.md +165 -0
- package/felo-web-fetch/README.md +127 -0
- package/felo-web-fetch/SKILL.md +204 -0
- package/felo-web-fetch/scripts/run_web_fetch.mjs +316 -0
- package/felo-x-search/SKILL.md +204 -0
- package/felo-x-search/scripts/run_x_search.mjs +385 -0
- package/felo-youtube-subtitling/README.md +59 -59
- package/felo-youtube-subtitling/SKILL.md +161 -161
- package/felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs +239 -239
- package/package.json +37 -35
- package/src/cli.js +370 -252
- package/src/config.js +66 -66
- package/src/search.js +142 -142
- package/src/slides.js +332 -332
- package/src/superAgent.js +609 -0
- package/src/{webExtract.js → webFetch.js} +148 -148
- package/src/xSearch.js +366 -0
- package/src/youtubeSubtitling.js +179 -179
- package/tests/config.test.js +78 -78
- package/tests/search.test.js +100 -100
- package/felo-web-extract/README.md +0 -78
- package/felo-web-extract/SKILL.md +0 -200
- package/felo-web-extract/scripts/run_web_extract.mjs +0 -232
package/CONTRIBUTING.md
CHANGED
|
@@ -1,346 +1,346 @@
|
|
|
1
|
-
# Contributing to Felo Skills
|
|
2
|
-
|
|
3
|
-
We welcome contributions! Whether you want to report bugs, suggest features, improve documentation, or add new skills.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## How to Contribute
|
|
8
|
-
|
|
9
|
-
### 1. Report Bugs
|
|
10
|
-
|
|
11
|
-
Found a bug? [Open an issue](https://github.com/Felo-Inc/felo-skills/issues/new) with:
|
|
12
|
-
- Clear description of the problem
|
|
13
|
-
- Steps to reproduce
|
|
14
|
-
- Expected vs actual behavior
|
|
15
|
-
- Environment (OS, Claude Code version, skill version)
|
|
16
|
-
- Error messages or logs
|
|
17
|
-
|
|
18
|
-
### 2. Suggest Features
|
|
19
|
-
|
|
20
|
-
Have an idea? [Start a discussion](https://github.com/Felo-Inc/felo-skills/discussions) or open an issue with:
|
|
21
|
-
- Use case description
|
|
22
|
-
- Why this feature is useful
|
|
23
|
-
- Proposed implementation (optional)
|
|
24
|
-
|
|
25
|
-
### 3. Submit Code
|
|
26
|
-
|
|
27
|
-
Ready to code? Follow the pull request process below.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Development Setup
|
|
32
|
-
|
|
33
|
-
### Prerequisites
|
|
34
|
-
|
|
35
|
-
- Git
|
|
36
|
-
- Claude Code CLI
|
|
37
|
-
- Node.js (for testing npx installation)
|
|
38
|
-
- Text editor
|
|
39
|
-
|
|
40
|
-
### Clone the Repository
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
git clone https://github.com/Felo-Inc/felo-skills.git
|
|
44
|
-
cd felo-skills
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Test Locally
|
|
48
|
-
|
|
49
|
-
Copy a skill to your Claude Code skills directory:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
# Linux/macOS
|
|
53
|
-
cp -r felo-search ~/.claude/skills/
|
|
54
|
-
|
|
55
|
-
# Windows (PowerShell)
|
|
56
|
-
Copy-Item -Recurse felo-search "$env:USERPROFILE\.claude\skills\"
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Restart Claude Code:
|
|
60
|
-
```bash
|
|
61
|
-
claude restart
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Test the skill:
|
|
65
|
-
```
|
|
66
|
-
Ask Claude: "What's the weather today?"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Adding a New Skill
|
|
72
|
-
|
|
73
|
-
### Folder Structure
|
|
74
|
-
|
|
75
|
-
Create a new folder for your skill:
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
your-skill-name/
|
|
79
|
-
├── SKILL.md # Skill implementation (required)
|
|
80
|
-
├── README.md # User documentation (required)
|
|
81
|
-
└── LICENSE # MIT License (required)
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### SKILL.md Format
|
|
85
|
-
|
|
86
|
-
The `SKILL.md` file defines how the skill works. Use this template:
|
|
87
|
-
|
|
88
|
-
```markdown
|
|
89
|
-
---
|
|
90
|
-
name: your-skill-name
|
|
91
|
-
description: "Brief description of when to use this skill. Include trigger keywords and use cases."
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
# Your Skill Name
|
|
95
|
-
|
|
96
|
-
## When to Use
|
|
97
|
-
|
|
98
|
-
List specific scenarios when this skill should trigger:
|
|
99
|
-
- Scenario 1
|
|
100
|
-
- Scenario 2
|
|
101
|
-
- Trigger keywords: "keyword1", "keyword2"
|
|
102
|
-
|
|
103
|
-
## Setup
|
|
104
|
-
|
|
105
|
-
Step-by-step setup instructions:
|
|
106
|
-
1. Get API key from [service]
|
|
107
|
-
2. Set environment variable
|
|
108
|
-
3. Test the skill
|
|
109
|
-
|
|
110
|
-
## How to Execute
|
|
111
|
-
|
|
112
|
-
Detailed instructions for Claude Code on how to execute this skill:
|
|
113
|
-
|
|
114
|
-
### Step 1: Check Prerequisites
|
|
115
|
-
[Bash commands to verify setup]
|
|
116
|
-
|
|
117
|
-
### Step 2: Execute Main Logic
|
|
118
|
-
[Bash commands or tool calls to perform the skill's function]
|
|
119
|
-
|
|
120
|
-
### Step 3: Format Response
|
|
121
|
-
[How to present results to the user]
|
|
122
|
-
|
|
123
|
-
## Examples
|
|
124
|
-
|
|
125
|
-
### Example 1: [Scenario]
|
|
126
|
-
**User asks:** "example query"
|
|
127
|
-
**You MUST do:** [step-by-step execution]
|
|
128
|
-
|
|
129
|
-
## Error Handling
|
|
130
|
-
|
|
131
|
-
Common errors and solutions:
|
|
132
|
-
- Error 1: Solution
|
|
133
|
-
- Error 2: Solution
|
|
134
|
-
|
|
135
|
-
## Important Notes
|
|
136
|
-
|
|
137
|
-
- Key implementation details
|
|
138
|
-
- Best practices
|
|
139
|
-
- Limitations
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### README.md Format
|
|
143
|
-
|
|
144
|
-
User-facing documentation. Use this structure:
|
|
145
|
-
|
|
146
|
-
```markdown
|
|
147
|
-
# Your Skill Name
|
|
148
|
-
|
|
149
|
-
**One-line description**
|
|
150
|
-
|
|
151
|
-
Brief overview of what the skill does.
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## What It Does
|
|
156
|
-
|
|
157
|
-
- Feature 1
|
|
158
|
-
- Feature 2
|
|
159
|
-
- Feature 3
|
|
160
|
-
|
|
161
|
-
**When to use:**
|
|
162
|
-
- Use case 1
|
|
163
|
-
- Use case 2
|
|
164
|
-
|
|
165
|
-
**When NOT to use:**
|
|
166
|
-
- Anti-pattern 1
|
|
167
|
-
- Anti-pattern 2
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Quick Setup
|
|
172
|
-
|
|
173
|
-
### Step 1: Install
|
|
174
|
-
[Installation command]
|
|
175
|
-
|
|
176
|
-
### Step 2: Configure
|
|
177
|
-
[Configuration steps with verification]
|
|
178
|
-
|
|
179
|
-
### Step 3: Test
|
|
180
|
-
[Test command]
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## Usage Examples
|
|
185
|
-
|
|
186
|
-
[Real-world examples with input/output]
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## Troubleshooting
|
|
191
|
-
|
|
192
|
-
[Common issues and solutions]
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## Links
|
|
197
|
-
|
|
198
|
-
- [Service website]
|
|
199
|
-
- [API documentation]
|
|
200
|
-
- [Report issues]
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Testing Checklist
|
|
204
|
-
|
|
205
|
-
Before submitting, verify:
|
|
206
|
-
|
|
207
|
-
- [ ] Skill triggers correctly for intended scenarios
|
|
208
|
-
- [ ] Error handling works (missing API key, network errors, etc.)
|
|
209
|
-
- [ ] Multi-language support (if applicable)
|
|
210
|
-
- [ ] Documentation is clear and complete
|
|
211
|
-
- [ ] Examples are realistic and helpful
|
|
212
|
-
- [ ] All commands are copy-paste ready
|
|
213
|
-
- [ ] Links work
|
|
214
|
-
- [ ] Tested on Windows, macOS, or Linux
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## Pull Request Guidelines
|
|
219
|
-
|
|
220
|
-
### Branch Naming
|
|
221
|
-
|
|
222
|
-
Use descriptive branch names:
|
|
223
|
-
- `feature/add-xyz-skill` - New skill
|
|
224
|
-
- `fix/felo-search-encoding` - Bug fix
|
|
225
|
-
- `docs/improve-readme` - Documentation
|
|
226
|
-
- `refactor/skill-structure` - Code refactoring
|
|
227
|
-
|
|
228
|
-
### Commit Messages
|
|
229
|
-
|
|
230
|
-
Follow this format:
|
|
231
|
-
```
|
|
232
|
-
type: brief description
|
|
233
|
-
|
|
234
|
-
Detailed explanation (if needed)
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
Types:
|
|
238
|
-
- `feat`: New feature or skill
|
|
239
|
-
- `fix`: Bug fix
|
|
240
|
-
- `docs`: Documentation changes
|
|
241
|
-
- `refactor`: Code refactoring
|
|
242
|
-
- `test`: Testing improvements
|
|
243
|
-
- `chore`: Maintenance tasks
|
|
244
|
-
|
|
245
|
-
Examples:
|
|
246
|
-
```
|
|
247
|
-
feat: add weather-skill for real-time weather data
|
|
248
|
-
|
|
249
|
-
Integrates OpenWeatherMap API to provide current weather,
|
|
250
|
-
forecasts, and alerts. Supports multi-language queries.
|
|
251
|
-
|
|
252
|
-
fix: handle Chinese characters in felo-search
|
|
253
|
-
|
|
254
|
-
Use heredoc for JSON files to properly encode Chinese,
|
|
255
|
-
Japanese, and Korean characters.
|
|
256
|
-
|
|
257
|
-
docs: improve installation guide in README
|
|
258
|
-
|
|
259
|
-
Add verification steps after each installation step
|
|
260
|
-
to help users confirm setup is correct.
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### Pull Request Description
|
|
264
|
-
|
|
265
|
-
Include:
|
|
266
|
-
|
|
267
|
-
1. **What**: What does this PR do?
|
|
268
|
-
2. **Why**: Why is this change needed?
|
|
269
|
-
3. **How**: How does it work?
|
|
270
|
-
4. **Testing**: How did you test this?
|
|
271
|
-
5. **Screenshots**: (if applicable)
|
|
272
|
-
|
|
273
|
-
Example:
|
|
274
|
-
```markdown
|
|
275
|
-
## What
|
|
276
|
-
Adds a new skill for real-time weather information using OpenWeatherMap API.
|
|
277
|
-
|
|
278
|
-
## Why
|
|
279
|
-
Users frequently ask about weather, and current web search is slow.
|
|
280
|
-
Direct API integration provides faster, more accurate results.
|
|
281
|
-
|
|
282
|
-
## How
|
|
283
|
-
- Integrates OpenWeatherMap API
|
|
284
|
-
- Auto-triggers for weather-related queries
|
|
285
|
-
- Supports location detection and multi-language
|
|
286
|
-
|
|
287
|
-
## Testing
|
|
288
|
-
- Tested on Windows 11, macOS 14, Ubuntu 22.04
|
|
289
|
-
- Verified with English, Chinese, Japanese queries
|
|
290
|
-
- Tested error handling (invalid API key, network errors)
|
|
291
|
-
|
|
292
|
-
## Screenshots
|
|
293
|
-
[Screenshot of weather query result]
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
### Review Process
|
|
297
|
-
|
|
298
|
-
1. Submit PR
|
|
299
|
-
2. Automated checks run (if configured)
|
|
300
|
-
3. Maintainers review code and documentation
|
|
301
|
-
4. Address feedback
|
|
302
|
-
5. PR merged
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
## Code of Conduct
|
|
307
|
-
|
|
308
|
-
### Be Respectful
|
|
309
|
-
|
|
310
|
-
- Use welcoming and inclusive language
|
|
311
|
-
- Respect differing viewpoints
|
|
312
|
-
- Accept constructive criticism gracefully
|
|
313
|
-
- Focus on what's best for the community
|
|
314
|
-
|
|
315
|
-
### Be Professional
|
|
316
|
-
|
|
317
|
-
- Keep discussions on-topic
|
|
318
|
-
- Avoid personal attacks
|
|
319
|
-
- Don't spam or self-promote
|
|
320
|
-
- Follow GitHub's terms of service
|
|
321
|
-
|
|
322
|
-
### Be Helpful
|
|
323
|
-
|
|
324
|
-
- Help newcomers get started
|
|
325
|
-
- Share knowledge and experience
|
|
326
|
-
- Provide constructive feedback
|
|
327
|
-
- Celebrate others' contributions
|
|
328
|
-
|
|
329
|
-
---
|
|
330
|
-
|
|
331
|
-
## Questions?
|
|
332
|
-
|
|
333
|
-
- **Documentation**: Check [README](./README.md) and skill docs
|
|
334
|
-
- **Discussions**: [GitHub Discussions](https://github.com/Felo-Inc/felo-skills/discussions)
|
|
335
|
-
- **Issues**: [GitHub Issues](https://github.com/Felo-Inc/felo-skills/issues)
|
|
336
|
-
- **Email**: support@felo.ai
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
## License
|
|
341
|
-
|
|
342
|
-
By contributing, you agree that your contributions will be licensed under the MIT License.
|
|
343
|
-
|
|
344
|
-
---
|
|
345
|
-
|
|
346
|
-
Thank you for contributing to Felo Skills! 🎉
|
|
1
|
+
# Contributing to Felo Skills
|
|
2
|
+
|
|
3
|
+
We welcome contributions! Whether you want to report bugs, suggest features, improve documentation, or add new skills.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## How to Contribute
|
|
8
|
+
|
|
9
|
+
### 1. Report Bugs
|
|
10
|
+
|
|
11
|
+
Found a bug? [Open an issue](https://github.com/Felo-Inc/felo-skills/issues/new) with:
|
|
12
|
+
- Clear description of the problem
|
|
13
|
+
- Steps to reproduce
|
|
14
|
+
- Expected vs actual behavior
|
|
15
|
+
- Environment (OS, Claude Code version, skill version)
|
|
16
|
+
- Error messages or logs
|
|
17
|
+
|
|
18
|
+
### 2. Suggest Features
|
|
19
|
+
|
|
20
|
+
Have an idea? [Start a discussion](https://github.com/Felo-Inc/felo-skills/discussions) or open an issue with:
|
|
21
|
+
- Use case description
|
|
22
|
+
- Why this feature is useful
|
|
23
|
+
- Proposed implementation (optional)
|
|
24
|
+
|
|
25
|
+
### 3. Submit Code
|
|
26
|
+
|
|
27
|
+
Ready to code? Follow the pull request process below.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Development Setup
|
|
32
|
+
|
|
33
|
+
### Prerequisites
|
|
34
|
+
|
|
35
|
+
- Git
|
|
36
|
+
- Claude Code CLI
|
|
37
|
+
- Node.js (for testing npx installation)
|
|
38
|
+
- Text editor
|
|
39
|
+
|
|
40
|
+
### Clone the Repository
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
git clone https://github.com/Felo-Inc/felo-skills.git
|
|
44
|
+
cd felo-skills
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Test Locally
|
|
48
|
+
|
|
49
|
+
Copy a skill to your Claude Code skills directory:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Linux/macOS
|
|
53
|
+
cp -r felo-search ~/.claude/skills/
|
|
54
|
+
|
|
55
|
+
# Windows (PowerShell)
|
|
56
|
+
Copy-Item -Recurse felo-search "$env:USERPROFILE\.claude\skills\"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Restart Claude Code:
|
|
60
|
+
```bash
|
|
61
|
+
claude restart
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Test the skill:
|
|
65
|
+
```
|
|
66
|
+
Ask Claude: "What's the weather today?"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Adding a New Skill
|
|
72
|
+
|
|
73
|
+
### Folder Structure
|
|
74
|
+
|
|
75
|
+
Create a new folder for your skill:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
your-skill-name/
|
|
79
|
+
├── SKILL.md # Skill implementation (required)
|
|
80
|
+
├── README.md # User documentation (required)
|
|
81
|
+
└── LICENSE # MIT License (required)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### SKILL.md Format
|
|
85
|
+
|
|
86
|
+
The `SKILL.md` file defines how the skill works. Use this template:
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
---
|
|
90
|
+
name: your-skill-name
|
|
91
|
+
description: "Brief description of when to use this skill. Include trigger keywords and use cases."
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
# Your Skill Name
|
|
95
|
+
|
|
96
|
+
## When to Use
|
|
97
|
+
|
|
98
|
+
List specific scenarios when this skill should trigger:
|
|
99
|
+
- Scenario 1
|
|
100
|
+
- Scenario 2
|
|
101
|
+
- Trigger keywords: "keyword1", "keyword2"
|
|
102
|
+
|
|
103
|
+
## Setup
|
|
104
|
+
|
|
105
|
+
Step-by-step setup instructions:
|
|
106
|
+
1. Get API key from [service]
|
|
107
|
+
2. Set environment variable
|
|
108
|
+
3. Test the skill
|
|
109
|
+
|
|
110
|
+
## How to Execute
|
|
111
|
+
|
|
112
|
+
Detailed instructions for Claude Code on how to execute this skill:
|
|
113
|
+
|
|
114
|
+
### Step 1: Check Prerequisites
|
|
115
|
+
[Bash commands to verify setup]
|
|
116
|
+
|
|
117
|
+
### Step 2: Execute Main Logic
|
|
118
|
+
[Bash commands or tool calls to perform the skill's function]
|
|
119
|
+
|
|
120
|
+
### Step 3: Format Response
|
|
121
|
+
[How to present results to the user]
|
|
122
|
+
|
|
123
|
+
## Examples
|
|
124
|
+
|
|
125
|
+
### Example 1: [Scenario]
|
|
126
|
+
**User asks:** "example query"
|
|
127
|
+
**You MUST do:** [step-by-step execution]
|
|
128
|
+
|
|
129
|
+
## Error Handling
|
|
130
|
+
|
|
131
|
+
Common errors and solutions:
|
|
132
|
+
- Error 1: Solution
|
|
133
|
+
- Error 2: Solution
|
|
134
|
+
|
|
135
|
+
## Important Notes
|
|
136
|
+
|
|
137
|
+
- Key implementation details
|
|
138
|
+
- Best practices
|
|
139
|
+
- Limitations
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### README.md Format
|
|
143
|
+
|
|
144
|
+
User-facing documentation. Use this structure:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
# Your Skill Name
|
|
148
|
+
|
|
149
|
+
**One-line description**
|
|
150
|
+
|
|
151
|
+
Brief overview of what the skill does.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## What It Does
|
|
156
|
+
|
|
157
|
+
- Feature 1
|
|
158
|
+
- Feature 2
|
|
159
|
+
- Feature 3
|
|
160
|
+
|
|
161
|
+
**When to use:**
|
|
162
|
+
- Use case 1
|
|
163
|
+
- Use case 2
|
|
164
|
+
|
|
165
|
+
**When NOT to use:**
|
|
166
|
+
- Anti-pattern 1
|
|
167
|
+
- Anti-pattern 2
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Quick Setup
|
|
172
|
+
|
|
173
|
+
### Step 1: Install
|
|
174
|
+
[Installation command]
|
|
175
|
+
|
|
176
|
+
### Step 2: Configure
|
|
177
|
+
[Configuration steps with verification]
|
|
178
|
+
|
|
179
|
+
### Step 3: Test
|
|
180
|
+
[Test command]
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Usage Examples
|
|
185
|
+
|
|
186
|
+
[Real-world examples with input/output]
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Troubleshooting
|
|
191
|
+
|
|
192
|
+
[Common issues and solutions]
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Links
|
|
197
|
+
|
|
198
|
+
- [Service website]
|
|
199
|
+
- [API documentation]
|
|
200
|
+
- [Report issues]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Testing Checklist
|
|
204
|
+
|
|
205
|
+
Before submitting, verify:
|
|
206
|
+
|
|
207
|
+
- [ ] Skill triggers correctly for intended scenarios
|
|
208
|
+
- [ ] Error handling works (missing API key, network errors, etc.)
|
|
209
|
+
- [ ] Multi-language support (if applicable)
|
|
210
|
+
- [ ] Documentation is clear and complete
|
|
211
|
+
- [ ] Examples are realistic and helpful
|
|
212
|
+
- [ ] All commands are copy-paste ready
|
|
213
|
+
- [ ] Links work
|
|
214
|
+
- [ ] Tested on Windows, macOS, or Linux
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Pull Request Guidelines
|
|
219
|
+
|
|
220
|
+
### Branch Naming
|
|
221
|
+
|
|
222
|
+
Use descriptive branch names:
|
|
223
|
+
- `feature/add-xyz-skill` - New skill
|
|
224
|
+
- `fix/felo-search-encoding` - Bug fix
|
|
225
|
+
- `docs/improve-readme` - Documentation
|
|
226
|
+
- `refactor/skill-structure` - Code refactoring
|
|
227
|
+
|
|
228
|
+
### Commit Messages
|
|
229
|
+
|
|
230
|
+
Follow this format:
|
|
231
|
+
```
|
|
232
|
+
type: brief description
|
|
233
|
+
|
|
234
|
+
Detailed explanation (if needed)
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Types:
|
|
238
|
+
- `feat`: New feature or skill
|
|
239
|
+
- `fix`: Bug fix
|
|
240
|
+
- `docs`: Documentation changes
|
|
241
|
+
- `refactor`: Code refactoring
|
|
242
|
+
- `test`: Testing improvements
|
|
243
|
+
- `chore`: Maintenance tasks
|
|
244
|
+
|
|
245
|
+
Examples:
|
|
246
|
+
```
|
|
247
|
+
feat: add weather-skill for real-time weather data
|
|
248
|
+
|
|
249
|
+
Integrates OpenWeatherMap API to provide current weather,
|
|
250
|
+
forecasts, and alerts. Supports multi-language queries.
|
|
251
|
+
|
|
252
|
+
fix: handle Chinese characters in felo-search
|
|
253
|
+
|
|
254
|
+
Use heredoc for JSON files to properly encode Chinese,
|
|
255
|
+
Japanese, and Korean characters.
|
|
256
|
+
|
|
257
|
+
docs: improve installation guide in README
|
|
258
|
+
|
|
259
|
+
Add verification steps after each installation step
|
|
260
|
+
to help users confirm setup is correct.
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Pull Request Description
|
|
264
|
+
|
|
265
|
+
Include:
|
|
266
|
+
|
|
267
|
+
1. **What**: What does this PR do?
|
|
268
|
+
2. **Why**: Why is this change needed?
|
|
269
|
+
3. **How**: How does it work?
|
|
270
|
+
4. **Testing**: How did you test this?
|
|
271
|
+
5. **Screenshots**: (if applicable)
|
|
272
|
+
|
|
273
|
+
Example:
|
|
274
|
+
```markdown
|
|
275
|
+
## What
|
|
276
|
+
Adds a new skill for real-time weather information using OpenWeatherMap API.
|
|
277
|
+
|
|
278
|
+
## Why
|
|
279
|
+
Users frequently ask about weather, and current web search is slow.
|
|
280
|
+
Direct API integration provides faster, more accurate results.
|
|
281
|
+
|
|
282
|
+
## How
|
|
283
|
+
- Integrates OpenWeatherMap API
|
|
284
|
+
- Auto-triggers for weather-related queries
|
|
285
|
+
- Supports location detection and multi-language
|
|
286
|
+
|
|
287
|
+
## Testing
|
|
288
|
+
- Tested on Windows 11, macOS 14, Ubuntu 22.04
|
|
289
|
+
- Verified with English, Chinese, Japanese queries
|
|
290
|
+
- Tested error handling (invalid API key, network errors)
|
|
291
|
+
|
|
292
|
+
## Screenshots
|
|
293
|
+
[Screenshot of weather query result]
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Review Process
|
|
297
|
+
|
|
298
|
+
1. Submit PR
|
|
299
|
+
2. Automated checks run (if configured)
|
|
300
|
+
3. Maintainers review code and documentation
|
|
301
|
+
4. Address feedback
|
|
302
|
+
5. PR merged
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Code of Conduct
|
|
307
|
+
|
|
308
|
+
### Be Respectful
|
|
309
|
+
|
|
310
|
+
- Use welcoming and inclusive language
|
|
311
|
+
- Respect differing viewpoints
|
|
312
|
+
- Accept constructive criticism gracefully
|
|
313
|
+
- Focus on what's best for the community
|
|
314
|
+
|
|
315
|
+
### Be Professional
|
|
316
|
+
|
|
317
|
+
- Keep discussions on-topic
|
|
318
|
+
- Avoid personal attacks
|
|
319
|
+
- Don't spam or self-promote
|
|
320
|
+
- Follow GitHub's terms of service
|
|
321
|
+
|
|
322
|
+
### Be Helpful
|
|
323
|
+
|
|
324
|
+
- Help newcomers get started
|
|
325
|
+
- Share knowledge and experience
|
|
326
|
+
- Provide constructive feedback
|
|
327
|
+
- Celebrate others' contributions
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Questions?
|
|
332
|
+
|
|
333
|
+
- **Documentation**: Check [README](./README.md) and skill docs
|
|
334
|
+
- **Discussions**: [GitHub Discussions](https://github.com/Felo-Inc/felo-skills/discussions)
|
|
335
|
+
- **Issues**: [GitHub Issues](https://github.com/Felo-Inc/felo-skills/issues)
|
|
336
|
+
- **Email**: support@felo.ai
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## License
|
|
341
|
+
|
|
342
|
+
By contributing, you agree that your contributions will be licensed under the MIT License.
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
Thank you for contributing to Felo Skills! 🎉
|