@xopcai/xopcbot 0.1.0 → 0.1.2

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.
@@ -13,6 +13,7 @@ export declare class TelegramChannelPlugin implements ChannelPlugin {
13
13
  meta: ChannelMetadata;
14
14
  private accountManager;
15
15
  private messageProcessor;
16
+ private commandHandlers;
16
17
  private bus;
17
18
  private config;
18
19
  init(options: ChannelInitOptions): Promise<void>;
@@ -14,6 +14,7 @@ import { readUpdateOffset, writeUpdateOffset } from '../update-offset-store.js';
14
14
  import { draftStreamManager } from '../draft-stream.js';
15
15
  import { formatTelegramMessage } from '../format.js';
16
16
  import { createLogger } from '../../utils/logger.js';
17
+ import { createTelegramCommandHandler } from './command-handler.js';
17
18
  const log = createLogger('TelegramPlugin');
18
19
  // ============================================
19
20
  // MIME Type Helper
@@ -109,7 +110,7 @@ class TelegramAccountManager {
109
110
  }
110
111
  }
111
112
  function createMessageProcessor(deps) {
112
- const { bus, config, accountManager } = deps;
113
+ const { bus, config, accountManager, _commandHandler } = deps;
113
114
  const messageQueues = new Map();
114
115
  const processingChats = new Set();
115
116
  const getChatKey = (accountId, chatId) => `${accountId}:${chatId}`;
@@ -298,15 +299,24 @@ export class TelegramChannelPlugin {
298
299
  };
299
300
  accountManager = new TelegramAccountManager();
300
301
  messageProcessor;
302
+ commandHandlers = new Map();
301
303
  bus = null;
302
304
  config = null;
303
305
  async init(options) {
304
306
  this.bus = options.bus;
305
307
  this.config = options.config;
308
+ // Create command handler for shared state
309
+ const commandHandler = createTelegramCommandHandler({
310
+ bus: options.bus,
311
+ config: options.config,
312
+ getSessionModel: (sessionKey) => this.getSessionModel(sessionKey),
313
+ setSessionModel: (sessionKey, modelId) => this.setSessionModel(sessionKey, modelId),
314
+ });
306
315
  this.messageProcessor = createMessageProcessor({
307
316
  bus: options.bus,
308
317
  config: options.config,
309
318
  accountManager: this.accountManager,
319
+ _commandHandler: commandHandler,
310
320
  });
311
321
  const telegramConfig = options.config.channels?.telegram;
312
322
  if (!telegramConfig?.enabled) {
@@ -358,6 +368,36 @@ export class TelegramChannelPlugin {
358
368
  const me = await bot.api.getMe();
359
369
  this.accountManager.setBotUsername(accountId, me.username);
360
370
  log.info({ accountId, username: me.username }, 'Telegram bot initialized');
371
+ // Get or create command handler for this account
372
+ let commandHandler = this.commandHandlers.get(accountId);
373
+ if (!commandHandler) {
374
+ commandHandler = createTelegramCommandHandler({
375
+ bus: this.bus,
376
+ config: this.config,
377
+ getSessionModel: (sessionKey) => this.getSessionModel(sessionKey),
378
+ setSessionModel: (sessionKey, modelId) => this.setSessionModel(sessionKey, modelId),
379
+ showProviderModels: async (ctx, providerId) => {
380
+ await commandHandler.handleProviderSelect(ctx, providerId);
381
+ },
382
+ showProvidersAgain: async (ctx) => {
383
+ await commandHandler.handleShowProviders(ctx);
384
+ },
385
+ handleCleanupConfirm: async (ctx) => {
386
+ await commandHandler.handleCleanupConfirm(ctx);
387
+ },
388
+ });
389
+ this.commandHandlers.set(accountId, commandHandler);
390
+ }
391
+ // Register slash commands
392
+ bot.command('models', async (ctx) => {
393
+ await commandHandler.handleModels(ctx);
394
+ });
395
+ bot.command('usage', async (ctx) => {
396
+ await commandHandler.handleUsage(ctx);
397
+ });
398
+ bot.command('cleanup', async (ctx) => {
399
+ await commandHandler.handleCleanup(ctx);
400
+ });
361
401
  // Register message handler
362
402
  const enqueueMessage = this.messageProcessor;
363
403
  bot.on('message', async (ctx) => {
@@ -368,6 +408,37 @@ export class TelegramChannelPlugin {
368
408
  log.error({ accountId, err }, 'Failed to process message');
369
409
  }
370
410
  });
411
+ // Register callback query handler for inline keyboards
412
+ bot.on('callback_query:data', async (ctx) => {
413
+ try {
414
+ const data = ctx.callbackQuery.data;
415
+ if (data.startsWith('provider:')) {
416
+ const providerId = data.slice('provider:'.length);
417
+ await commandHandler.handleProviderSelect(ctx, providerId);
418
+ }
419
+ else if (data.startsWith('model:')) {
420
+ const modelId = data.slice('model:'.length);
421
+ await commandHandler.handleModelSelect(ctx, modelId);
422
+ }
423
+ else if (data === 'providers') {
424
+ await commandHandler.handleShowProviders(ctx);
425
+ }
426
+ else if (data === 'cleanup:confirm') {
427
+ await commandHandler.handleCleanupConfirm(ctx);
428
+ }
429
+ else if (data === 'cancel') {
430
+ await commandHandler.handleCancel(ctx);
431
+ }
432
+ else {
433
+ log.warn({ callbackData: data, accountId }, 'Unknown callback query data');
434
+ await ctx.answerCallbackQuery('Unknown action');
435
+ }
436
+ }
437
+ catch (err) {
438
+ log.error({ accountId, err }, 'Failed to handle callback query');
439
+ await ctx.answerCallbackQuery('Failed to process action');
440
+ }
441
+ });
371
442
  // Error handler
372
443
  bot.catch((err) => {
373
444
  const ctx = err.ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/channels/telegram/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/channels/telegram/plugin.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
File without changes
@@ -27,6 +27,7 @@ export declare function getWorkspacePluginsDir(workspaceDir?: string): string;
27
27
  export declare function getBundledPluginsDir(): string | null;
28
28
  /**
29
29
  * Get bundled skills directory (shipped with xopcbot)
30
+ * Works in both production (installed from npm) and development (source code)
30
31
  */
31
32
  export declare function getBundledSkillsDir(): string | null;
32
33
  /**
@@ -1,5 +1,6 @@
1
1
  import { homedir } from 'os';
2
2
  import { join, dirname } from 'path';
3
+ import { existsSync } from 'fs';
3
4
  import { fileURLToPath } from 'url';
4
5
  export const XOPCBOT_DIR = '.xopcbot';
5
6
  export const DEFAULT_BASE_DIR = join(homedir(), XOPCBOT_DIR);
@@ -51,13 +52,28 @@ export function getBundledPluginsDir() {
51
52
  }
52
53
  /**
53
54
  * Get bundled skills directory (shipped with xopcbot)
55
+ * Works in both production (installed from npm) and development (source code)
54
56
  */
55
57
  export function getBundledSkillsDir() {
56
58
  try {
57
59
  const currentFile = fileURLToPath(import.meta.url);
58
60
  const srcDir = dirname(currentFile);
59
- const bundledDir = join(srcDir, '..', '..', 'skills');
60
- return bundledDir;
61
+ // Production (npm): dist/config/paths.js -> ../../ -> package root -> skills
62
+ // Works for both:
63
+ // - Direct install: node_modules/@xopcai/xopcbot/dist/config/paths.js
64
+ // - Local dev: /path/to/xopcbot/dist/config/paths.js
65
+ const packageRoot = join(srcDir, '..', '..');
66
+ const skillsDir = join(packageRoot, 'skills');
67
+ if (existsSync(skillsDir)) {
68
+ return skillsDir;
69
+ }
70
+ // Development (source): src/config/paths.js -> ../../../ -> package root -> skills
71
+ const devPackageRoot = join(srcDir, '..', '..', '..');
72
+ const devSkillsDir = join(devPackageRoot, 'skills');
73
+ if (existsSync(devSkillsDir)) {
74
+ return devSkillsDir;
75
+ }
76
+ return null;
61
77
  }
62
78
  catch {
63
79
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xopcai/xopcbot",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Ultra-Lightweight Personal AI Assistant - Node.js + TypeScript",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,7 +9,8 @@
9
9
  "xopcbot": "./dist/cli/index.js"
10
10
  },
11
11
  "files": [
12
- "dist"
12
+ "dist",
13
+ "skills"
13
14
  ],
14
15
  "publishConfig": {
15
16
  "access": "public"
@@ -26,7 +27,7 @@
26
27
  "skills:validate": "tsx src/cli/index.ts skills test validate",
27
28
  "skills:security": "tsx src/cli/index.ts skills test security",
28
29
  "lint": "eslint 'src/**/*.ts' --ignore-pattern '**/examples/**'",
29
- "prepublishOnly": "npm run build && npm test && npm run test:skills:all",
30
+ "prepublishOnly": "npm test && npm run test:skills:all && npm run build",
30
31
  "docs:dev": "vitepress dev docs",
31
32
  "docs:build": "vitepress build docs",
32
33
  "docs:preview": "vitepress preview docs"
@@ -0,0 +1,449 @@
1
+ ---
2
+ name: find-skills
3
+ description: Helps users discover, install, and manage agent skills in xopcbot workspace
4
+ license: MIT
5
+ metadata:
6
+ openclaw:
7
+ requires:
8
+ bins: [git]
9
+ install:
10
+ - id: git-clone
11
+ kind: download
12
+ label: Clone skills repository
13
+ ---
14
+
15
+ # Find Skills
16
+
17
+ This skill helps you discover, install, and manage skills in the xopcbot ecosystem.
18
+
19
+ ## When to Use This Skill
20
+
21
+ Use this skill when the user:
22
+
23
+ - Asks "how do I do X" where X might be a common task with an existing skill
24
+ - Says "find a skill for X" or "is there a skill for X"
25
+ - Asks "can you do X" where X is a specialized capability
26
+ - Wants to install a skill from GitHub or skills.sh
27
+ - Needs to manage installed skills (enable, disable, configure)
28
+ - Wants to browse available skills
29
+
30
+ ## xopcbot Skills CLI Commands
31
+
32
+ xopcbot provides built-in commands for skill management:
33
+
34
+ ### List Available Skills
35
+
36
+ ```bash
37
+ # List all skills (builtin + workspace + global)
38
+ xopcbot skills list
39
+
40
+ # Show detailed information
41
+ xopcbot skills list -v
42
+
43
+ # JSON format
44
+ xopcbot skills list --json
45
+ ```
46
+
47
+ ### Install Skills
48
+
49
+ **From GitHub:**
50
+
51
+ ```bash
52
+ # Clone a skill repository to workspace
53
+ git clone <repo-url> ~/.xopcbot/workspace/skills/<skill-name>
54
+
55
+ # Example: Install vercel-react-best-practices
56
+ git clone https://github.com/vercel-labs/agent-skills.git ~/.xopcbot/workspace/skills/vercel-react-best-practices-temp
57
+ mv ~/.xopcbot/workspace/skills/vercel-react-best-practices-temp/SKILL.md ~/.xopcbot/workspace/skills/vercel-react-best-practices/SKILL.md
58
+ rm -rf ~/.xopcbot/workspace/skills/vercel-react-best-practices-temp
59
+ ```
60
+
61
+ **Using xopcbot skills install (for skills with install specs):**
62
+
63
+ ```bash
64
+ # Install skill dependencies
65
+ xopcbot skills install <skill-name>
66
+
67
+ # Specify install method
68
+ xopcbot skills install <skill-name> -i <install-id>
69
+
70
+ # Dry run (preview)
71
+ xopcbot skills install <skill-name> --dry-run
72
+ ```
73
+
74
+ ### Enable/Disable Skills
75
+
76
+ ```bash
77
+ # Enable a skill
78
+ xopcbot skills enable <skill-name>
79
+
80
+ # Disable a skill
81
+ xopcbot skills disable <skill-name>
82
+ ```
83
+
84
+ ### Check Skill Status
85
+
86
+ ```bash
87
+ # Show all skills status
88
+ xopcbot skills status
89
+
90
+ # Show specific skill details
91
+ xopcbot skills status <skill-name>
92
+
93
+ # JSON format
94
+ xopcbot skills status --json
95
+ ```
96
+
97
+ ### Configure Skills
98
+
99
+ ```bash
100
+ # Show current configuration
101
+ xopcbot skills config <skill-name> --show
102
+
103
+ # Set API key
104
+ xopcbot skills config <skill-name> --api-key=YOUR_API_KEY
105
+
106
+ # Set environment variables
107
+ xopcbot skills config <skill-name> --env API_KEY=value --env DEBUG=true
108
+ ```
109
+
110
+ ### Test Skills
111
+
112
+ ```bash
113
+ # Test all skills
114
+ xopcbot skills test
115
+
116
+ # Test specific skill
117
+ xopcbot skills test <skill-name>
118
+
119
+ # Validate SKILL.md file
120
+ xopcbot skills test validate ./skills/weather/SKILL.md
121
+
122
+ # Security audit
123
+ xopcbot skills test security --deep
124
+ ```
125
+
126
+ ## How to Help Users Find and Install Skills
127
+
128
+ ### Step 1: Understand What They Need
129
+
130
+ When a user asks for help with something, identify:
131
+
132
+ 1. **The domain** (e.g., React, testing, design, deployment)
133
+ 2. **The specific task** (e.g., writing tests, creating animations, reviewing PRs)
134
+ 3. **Whether a skill likely exists** for this common task
135
+
136
+ ### Step 2: Search for Skills
137
+
138
+ **Option A: Check installed skills first**
139
+
140
+ ```bash
141
+ xopcbot skills list -v
142
+ ```
143
+
144
+ **Option B: Search online skill repositories**
145
+
146
+ Use your browsing capabilities to search:
147
+ - https://skills.sh/ - Official skills marketplace
148
+ - GitHub: Search for "agent-skills" or "claude-skills"
149
+ - Popular repos:
150
+ - `vercel-labs/agent-skills`
151
+ - `ComposioHQ/awesome-claude-skills`
152
+ - `openclaw/openclaw/skills`
153
+
154
+ ### Step 3: Install the Skill
155
+
156
+ **For xopcbot-compatible skills:**
157
+
158
+ 1. **Check if skill has install specs** in SKILL.md:
159
+ ```bash
160
+ xopcbot skills status <skill-name>
161
+ ```
162
+
163
+ 2. **Install dependencies** (if any):
164
+ ```bash
165
+ xopcbot skills install <skill-name>
166
+ ```
167
+
168
+ **For GitHub skills (manual installation):**
169
+
170
+ 1. **Create skill directory** in workspace:
171
+ ```bash
172
+ mkdir -p ~/.xopcbot/workspace/skills/<skill-name>
173
+ ```
174
+
175
+ 2. **Download SKILL.md**:
176
+ ```bash
177
+ # From GitHub
178
+ curl -L https://raw.githubusercontent.com/<owner>/<repo>/main/skills/<skill-name>/SKILL.md \
179
+ -o ~/.xopcbot/workspace/skills/<skill-name>/SKILL.md
180
+
181
+ # Or clone and copy
182
+ git clone <repo-url> /tmp/skill-temp
183
+ cp /tmp/skill-temp/skills/<skill-name>/SKILL.md ~/.xopcbot/workspace/skills/<skill-name>/
184
+ rm -rf /tmp/skill-temp
185
+ ```
186
+
187
+ 3. **Verify installation**:
188
+ ```bash
189
+ xopcbot skills list | grep <skill-name>
190
+ ```
191
+
192
+ ### Step 4: Present Results to User
193
+
194
+ When you find relevant skills, present them with:
195
+
196
+ 1. **Skill name and description**
197
+ 2. **Installation status** (already installed / needs installation)
198
+ 3. **Install command** (if not installed)
199
+ 4. **Link to learn more**
200
+
201
+ **Example response:**
202
+
203
+ ```
204
+ I found a skill that might help!
205
+
206
+ 📦 vercel-react-best-practices
207
+ React and Next.js performance optimization guidelines from Vercel Engineering.
208
+
209
+ Status: ✅ Already installed
210
+
211
+ You can start using it immediately! Just ask me to help with React optimization tasks.
212
+ ```
213
+
214
+ **Or if not installed:**
215
+
216
+ ```
217
+ I found a skill that might help!
218
+
219
+ 📦 vercel-react-best-practices
220
+ React and Next.js performance optimization guidelines from Vercel Engineering.
221
+
222
+ To install it, run:
223
+ xopcbot skills install vercel-react-best-practices
224
+
225
+ Or manually:
226
+ mkdir -p ~/.xopcbot/workspace/skills/vercel-react-best-practices
227
+ curl -L https://raw.githubusercontent.com/vercel-labs/agent-skills/main/skills/vercel-react-best-practices/SKILL.md \
228
+ -o ~/.xopcbot/workspace/skills/vercel-react-best-practices/SKILL.md
229
+
230
+ Learn more: https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
231
+ ```
232
+
233
+ ### Step 5: Offer to Install
234
+
235
+ If the user wants to proceed, you can help them install:
236
+
237
+ ```bash
238
+ # For xopcbot skills with install specs
239
+ xopcbot skills install <skill-name> -y
240
+
241
+ # For GitHub skills (automated)
242
+ mkdir -p ~/.xopcbot/workspace/skills/<skill-name>
243
+ curl -L <skill-url>/SKILL.md -o ~/.xopcbot/workspace/skills/<skill-name>/SKILL.md
244
+ ```
245
+
246
+ ## Common Skill Categories
247
+
248
+ | Category | Example Queries | Popular Skills |
249
+ | --------------- | ---------------------------------------- | --------------------------------- |
250
+ | Web Development | react, nextjs, typescript, css, tailwind | vercel-react-best-practices |
251
+ | Testing | testing, jest, playwright, e2e | playwright-testing |
252
+ | DevOps | deploy, docker, kubernetes, ci-cd | docker-compose, github-actions |
253
+ | Documentation | docs, readme, changelog, api-docs | api-documentation |
254
+ | Code Quality | review, lint, refactor, best-practices | code-review-checklist |
255
+ | Design | ui, ux, design-system, accessibility | accessibility-checklist |
256
+ | Productivity | workflow, automation, git | git-workflow |
257
+
258
+ ## Skill Directory Structure
259
+
260
+ Skills must be installed in the correct directory structure:
261
+
262
+ ```
263
+ ~/.xopcbot/workspace/skills/
264
+ ├── <skill-name>/ ← Each skill needs its own directory
265
+ │ ├── SKILL.md ← Required: Skill metadata and instructions
266
+ │ ├── config.json ← Optional: Default configuration
267
+ │ └── scripts/ ← Optional: Helper scripts
268
+ ├── another-skill/
269
+ │ └── SKILL.md
270
+ └── ...
271
+ ```
272
+
273
+ **⚠️ Common Mistake:** Don't put SKILL.md directly in `skills/` directory!
274
+
275
+ **Correct:**
276
+ ```
277
+ ~/.xopcbot/workspace/skills/my-skill/SKILL.md
278
+ ```
279
+
280
+ **Incorrect:**
281
+ ```
282
+ ~/.xopcbot/workspace/skills/SKILL.md ← Won't be loaded!
283
+ ```
284
+
285
+ ## Skill Installation Methods
286
+
287
+ ### Method 1: xopcbot Built-in Install (Recommended)
288
+
289
+ For skills that declare install dependencies:
290
+
291
+ ```bash
292
+ # Check what will be installed
293
+ xopcbot skills install <skill-name> --dry-run
294
+
295
+ # Install
296
+ xopcbot skills install <skill-name>
297
+ ```
298
+
299
+ This method:
300
+ - ✅ Automatically installs dependencies (brew, pnpm, go, etc.)
301
+ - ✅ Performs security scanning
302
+ - ✅ Validates the skill
303
+ - ✅ Reports any issues
304
+
305
+ ### Method 2: Manual GitHub Installation
306
+
307
+ For skills without install specs:
308
+
309
+ ```bash
310
+ # 1. Create directory
311
+ mkdir -p ~/.xopcbot/workspace/skills/<skill-name>
312
+
313
+ # 2. Download SKILL.md
314
+ curl -L https://raw.githubusercontent.com/<owner>/<repo>/main/skills/<skill-name>/SKILL.md \
315
+ -o ~/.xopcbot/workspace/skills/<skill-name>/SKILL.md
316
+
317
+ # 3. Verify
318
+ xopcbot skills list | grep <skill-name>
319
+ ```
320
+
321
+ ### Method 3: Git Clone
322
+
323
+ For complex skills with multiple files:
324
+
325
+ ```bash
326
+ # Clone to temp location
327
+ git clone <repo-url> /tmp/skill-clone
328
+
329
+ # Copy skill directory
330
+ cp -r /tmp/skill-clone/skills/<skill-name> ~/.xopcbot/workspace/skills/
331
+
332
+ # Clean up
333
+ rm -rf /tmp/skill-clone
334
+
335
+ # Verify
336
+ xopcbot skills status <skill-name>
337
+ ```
338
+
339
+ ## Troubleshooting
340
+
341
+ ### Skill Not Loading
342
+
343
+ **Check directory structure:**
344
+ ```bash
345
+ # Should show SKILL.md in a subdirectory
346
+ ls -la ~/.xopcbot/workspace/skills/<skill-name>/
347
+ ```
348
+
349
+ **Validate SKILL.md format:**
350
+ ```bash
351
+ xopcbot skills test validate ~/.xopcbot/workspace/skills/<skill-name>/SKILL.md
352
+ ```
353
+
354
+ **Check for errors:**
355
+ ```bash
356
+ xopcbot skills list --json | jq '.diagnostics'
357
+ ```
358
+
359
+ ### Installation Failed
360
+
361
+ **Check dependencies:**
362
+ ```bash
363
+ xopcbot skills status <skill-name>
364
+ ```
365
+
366
+ **Manual installation:**
367
+ ```bash
368
+ # If skill requires 'curl'
369
+ brew install curl # macOS
370
+ sudo apt-get install curl # Linux
371
+ ```
372
+
373
+ **Retry:**
374
+ ```bash
375
+ xopcbot skills install <skill-name>
376
+ ```
377
+
378
+ ### Skill Not Working
379
+
380
+ 1. **Check if enabled:**
381
+ ```bash
382
+ xopcbot skills status <skill-name>
383
+ ```
384
+
385
+ 2. **Enable if needed:**
386
+ ```bash
387
+ xopcbot skills enable <skill-name>
388
+ ```
389
+
390
+ 3. **Check configuration:**
391
+ ```bash
392
+ xopcbot skills config <skill-name> --show
393
+ ```
394
+
395
+ 4. **Set API key if required:**
396
+ ```bash
397
+ xopcbot skills config <skill-name> --api-key=YOUR_KEY
398
+ ```
399
+
400
+ ## Examples
401
+
402
+ ### Example 1: User asks about React performance
403
+
404
+ **User:** "How can I make my React app faster?"
405
+
406
+ **You:**
407
+ 1. Check installed skills: `xopcbot skills list | grep -i react`
408
+ 2. If found: "You have the vercel-react-best-practices skill installed!"
409
+ 3. If not found: Offer to install it
410
+
411
+ ### Example 2: User wants to add testing capability
412
+
413
+ **User:** "Can you help me write Playwright tests?"
414
+
415
+ **You:**
416
+ 1. Search for testing skills
417
+ 2. Found: `playwright-testing`
418
+ 3. Install:
419
+ ```bash
420
+ mkdir -p ~/.xopcbot/workspace/skills/playwright-testing
421
+ curl -L <url>/SKILL.md -o ~/.xopcbot/workspace/skills/playwright-testing/SKILL.md
422
+ ```
423
+ 4. Verify: `xopcbot skills status playwright-testing`
424
+
425
+ ### Example 3: User wants to browse all skills
426
+
427
+ **User:** "What skills do you have?"
428
+
429
+ **You:**
430
+ ```bash
431
+ xopcbot skills list -v
432
+ ```
433
+
434
+ Then present the list with descriptions.
435
+
436
+ ## Tips for Effective Skill Management
437
+
438
+ 1. **Always verify installation**: Run `xopcbot skills list` after installing
439
+ 2. **Check skill status**: Use `xopcbot skills status <name>` for details
440
+ 3. **Keep skills updated**: Periodically check for skill updates
441
+ 4. **Review security**: Run `xopcbot skills test security` for audits
442
+ 5. **Organize workspace**: Keep only needed skills to reduce clutter
443
+
444
+ ## References
445
+
446
+ - **Skills Marketplace**: https://skills.sh/
447
+ - **xopcbot Skills CLI**: `xopcbot skills --help`
448
+ - **Skill Format**: SKILL.md frontmatter specification
449
+ - **GitHub Skills**: Search "agent-skills" on GitHub
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: github
3
+ description: "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries."
4
+ license: MIT
5
+ ---
6
+
7
+ # GitHub Skill
8
+
9
+ Use the `gh` CLI to interact with GitHub. Always specify `--repo owner/repo` when not in a git directory, or use URLs directly.
10
+
11
+ ## Pull Requests
12
+
13
+ Check CI status on a PR:
14
+ ```bash
15
+ gh pr checks 55 --repo owner/repo
16
+ ```
17
+
18
+ List recent workflow runs:
19
+ ```bash
20
+ gh run list --repo owner/repo --limit 10
21
+ ```
22
+
23
+ View a run and see which steps failed:
24
+ ```bash
25
+ gh run view <run-id> --repo owner/repo
26
+ ```
27
+
28
+ View logs for failed steps only:
29
+ ```bash
30
+ gh run view <run-id> --repo owner/repo --log-failed
31
+ ```
32
+
33
+ ## API for Advanced Queries
34
+
35
+ The `gh api` command is useful for accessing data not available through other subcommands.
36
+
37
+ Get PR with specific fields:
38
+ ```bash
39
+ gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
40
+ ```
41
+
42
+ ## JSON Output
43
+
44
+ Most commands support `--json` for structured output. You can use `--jq` to filter:
45
+
46
+ ```bash
47
+ gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'
48
+ ```
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: summarize
3
+ description: Summarize URLs, files, and YouTube videos.
4
+ license: MIT
5
+ ---
6
+
7
+ # Summarize Skill
8
+
9
+ Summarize content from URLs, files, and YouTube videos.
10
+
11
+ ## Usage
12
+
13
+ ### Summarize a URL
14
+ Use the `web_fetch` tool to fetch and summarize web pages:
15
+ ```bash
16
+ web_fetch url="https://example.com/article"
17
+ ```
18
+
19
+ ### Summarize a File
20
+ ```bash
21
+ read_file path="/path/to/file.md"
22
+ ```
23
+
24
+ ### Summarize a YouTube Video
25
+ ```bash
26
+ web_fetch url="https://yewtu.be/watch?v=VIDEO_ID"
27
+ ```
28
+
29
+ ## Techniques
30
+
31
+ ### For Long Content
32
+ 1. Split into chunks (~2000 tokens each)
33
+ 2. Summarize each chunk
34
+ 3. Combine summaries
35
+
36
+ ### For Technical Docs
37
+ 1. Extract code examples
38
+ 2. Note prerequisites
39
+ 3. List key concepts/terms
40
+
41
+ ## Example Prompts
42
+
43
+ **For a URL:**
44
+ "Read the URL and summarize: Main topic, Key points (3-5 bullet points), Any actionable items"
45
+
46
+ **For a file:**
47
+ "Analyze this file and provide: File type and purpose, Key functions/classes, Dependencies"
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: weather
3
+ description: Get current weather and forecasts (no API key required).
4
+ license: MIT
5
+ ---
6
+
7
+ # Weather
8
+
9
+ Two free services, no API keys needed.
10
+
11
+ ## wttr.in (primary)
12
+
13
+ Quick one-liner:
14
+ ```bash
15
+ curl -s "wttr.in/London?format=3"
16
+ # Output: London: ⛅️ +8°C
17
+ ```
18
+
19
+ Compact format:
20
+ ```bash
21
+ curl -s "wttr.in/London?format=%l:+%c+%t+%h+%w"
22
+ # Output: London: ⛅️ +8°C 71% ↙5km/h
23
+ ```
24
+
25
+ Full forecast:
26
+ ```bash
27
+ curl -s "wttr.in/London?T"
28
+ ```
29
+
30
+ Format codes: `%c` condition · `%t` temp · `%h` humidity · `%w` wind · `%l` location · `%m` moon
31
+
32
+ Tips:
33
+ - URL-encode spaces: `wttr.in/New+York`
34
+ - Airport codes: `wttr.in/JFK`
35
+ - Units: `?m` (metric) `?u` (USCS)
36
+ - Today only: `?1` · Current only: `?0`
37
+ - PNG: `curl -s "wttr.in/Berlin.png" -o /tmp/weather.png`
38
+
39
+ ## Open-Meteo (fallback, JSON)
40
+
41
+ Free, no key, good for programmatic use:
42
+ ```bash
43
+ curl -s "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12&current_weather=true"
44
+ ```
45
+
46
+ Find coordinates for a city, then query. Returns JSON with temp, windspeed, weathercode.