cc-codeconductor 0.2.8 → 0.2.10

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.
Files changed (92) hide show
  1. package/README.md +113 -26
  2. package/dist/index.js +1752 -81
  3. package/package.json +1 -1
  4. package/presets/agy/AGENTS.md +354 -0
  5. package/presets/agy/README.md +47 -0
  6. package/presets/agy/hooks.json +30 -0
  7. package/presets/agy/mcp_config.json +3 -0
  8. package/presets/agy/rules/commit-style.md +1 -0
  9. package/presets/agy/rules/graphify.md +14 -0
  10. package/presets/agy/scripts/post-tool.sh +25 -0
  11. package/presets/agy/scripts/pre-tool.sh +56 -0
  12. package/presets/agy/settings.json +8 -0
  13. package/presets/agy/skills/cc-api-contract/SKILL.md +71 -0
  14. package/presets/agy/skills/cc-db-migration/SKILL.md +70 -0
  15. package/presets/agy/skills/cc-feature/SKILL.md +115 -0
  16. package/presets/agy/skills/cc-fix/SKILL.md +124 -0
  17. package/presets/agy/skills/cc-pagespeed/SKILL.md +101 -0
  18. package/presets/agy/skills/cc-refactor/SKILL.md +149 -0
  19. package/presets/agy/skills/cc-review/SKILL.md +142 -0
  20. package/presets/agy/skills/cc-tdd-cycle/SKILL.md +226 -0
  21. package/presets/agy/skills/cc-test-plan/SKILL.md +145 -0
  22. package/presets/agy/skills/commit/SKILL.md +5 -0
  23. package/presets/agy/workflows/cc-api-contract.md +71 -0
  24. package/presets/agy/workflows/cc-db-migration.md +70 -0
  25. package/presets/agy/workflows/cc-feature.md +115 -0
  26. package/presets/agy/workflows/cc-fix.md +124 -0
  27. package/presets/agy/workflows/cc-pagespeed.md +101 -0
  28. package/presets/agy/workflows/cc-refactor.md +149 -0
  29. package/presets/agy/workflows/cc-review.md +142 -0
  30. package/presets/agy/workflows/cc-tdd-cycle.md +226 -0
  31. package/presets/agy/workflows/cc-test-plan.md +145 -0
  32. package/presets/agy/workflows/commit.md +1 -0
  33. package/presets/claude/CLAUDE.md +13 -3
  34. package/presets/claude/claude.json +6 -0
  35. package/presets/claude/commands/cc/pagespeed.md +103 -0
  36. package/presets/claude/settings.json +249 -2
  37. package/presets/claude/skills/conductor-setup/SKILL.md +125 -0
  38. package/presets/claude/skills/find-skills/SKILL.md +142 -0
  39. package/presets/claude/skills/multi-agent-orchestration/README.md +144 -0
  40. package/presets/claude/skills/multi-agent-orchestration/SKILL.md +579 -0
  41. package/presets/claude/skills/multi-agent-orchestration/examples/framework_implementations.py +362 -0
  42. package/presets/claude/skills/multi-agent-orchestration/examples/orchestration_patterns.py +411 -0
  43. package/presets/claude/skills/multi-agent-orchestration/scripts/agent_communication.py +334 -0
  44. package/presets/claude/skills/multi-agent-orchestration/scripts/benchmarking.py +341 -0
  45. package/presets/claude/skills/multi-agent-orchestration/scripts/workflow_management.py +334 -0
  46. package/presets/claude/skills/pagespeed-insights/SKILL.md +443 -0
  47. package/presets/claude/skills/pagespeed-insights/reference.md +50 -0
  48. package/presets/claude/skills/pagespeed-perf/SKILL.md +279 -0
  49. package/presets/claude/skills/workflow-orchestration-patterns/SKILL.md +98 -0
  50. package/presets/claude/skills/workflow-orchestration-patterns/references/details.md +223 -0
  51. package/presets/codex/AGENTS.md +19 -14
  52. package/presets/codex/skills/conductor-setup/SKILL.md +125 -0
  53. package/presets/codex/skills/find-skills/SKILL.md +142 -0
  54. package/presets/codex/skills/multi-agent-orchestration/README.md +144 -0
  55. package/presets/codex/skills/multi-agent-orchestration/SKILL.md +579 -0
  56. package/presets/codex/skills/multi-agent-orchestration/examples/framework_implementations.py +362 -0
  57. package/presets/codex/skills/multi-agent-orchestration/examples/orchestration_patterns.py +411 -0
  58. package/presets/codex/skills/multi-agent-orchestration/scripts/agent_communication.py +334 -0
  59. package/presets/codex/skills/multi-agent-orchestration/scripts/benchmarking.py +341 -0
  60. package/presets/codex/skills/multi-agent-orchestration/scripts/workflow_management.py +334 -0
  61. package/presets/codex/skills/pagespeed-insights/SKILL.md +443 -0
  62. package/presets/codex/skills/pagespeed-insights/reference.md +50 -0
  63. package/presets/codex/skills/pagespeed-perf/SKILL.md +279 -0
  64. package/presets/codex/skills/workflow-orchestration-patterns/SKILL.md +98 -0
  65. package/presets/codex/skills/workflow-orchestration-patterns/references/details.md +223 -0
  66. package/presets/opencode/README.md +11 -10
  67. package/presets/opencode/commands/cc-pagespeed.md +100 -0
  68. package/presets/opencode/skills/conductor-setup/SKILL.md +125 -0
  69. package/presets/opencode/skills/find-skills/SKILL.md +142 -0
  70. package/presets/opencode/skills/multi-agent-orchestration/README.md +144 -0
  71. package/presets/opencode/skills/multi-agent-orchestration/SKILL.md +579 -0
  72. package/presets/opencode/skills/multi-agent-orchestration/examples/framework_implementations.py +362 -0
  73. package/presets/opencode/skills/multi-agent-orchestration/examples/orchestration_patterns.py +411 -0
  74. package/presets/opencode/skills/multi-agent-orchestration/scripts/agent_communication.py +334 -0
  75. package/presets/opencode/skills/multi-agent-orchestration/scripts/benchmarking.py +341 -0
  76. package/presets/opencode/skills/multi-agent-orchestration/scripts/workflow_management.py +334 -0
  77. package/presets/opencode/skills/pagespeed-insights/SKILL.md +443 -0
  78. package/presets/opencode/skills/pagespeed-insights/reference.md +50 -0
  79. package/presets/opencode/skills/pagespeed-perf/SKILL.md +279 -0
  80. package/presets/opencode/skills/workflow-orchestration-patterns/SKILL.md +98 -0
  81. package/presets/opencode/skills/workflow-orchestration-patterns/references/details.md +223 -0
  82. package/presets/seo-hotel/commands/cc-seo-audit.md +17 -9
  83. package/presets/seo-hotel/commands/cc-seo-llms.md +64 -0
  84. package/presets/seo-hotel/seo-hotel.yml +55 -0
  85. package/presets/seo-hotel/settings.json +225 -0
  86. package/presets/seo-hotel/skills/find-skills/SKILL.md +142 -0
  87. package/presets/seo-hotel/skills/pagespeed-insights/SKILL.md +443 -0
  88. package/presets/seo-hotel/skills/pagespeed-insights/reference.md +50 -0
  89. package/src/presets/manifests/agy.yml +36 -2
  90. package/src/presets/manifests/claude.yml +5 -0
  91. package/src/presets/manifests/opencode.yml +4 -0
  92. package/src/presets/models/agy.yml +16 -0
@@ -0,0 +1,64 @@
1
+ # SEO llms.txt Generator
2
+
3
+ Generate a `llms.txt` file for AI-search readiness from a website's sitemap.
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ /cc-seo-llms --sitemap <sitemap-url> [--output <path>]
9
+ /cc-seo-llms --url <url> [--output <path>]
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | Parameter | Required | Description |
15
+ |-----------|----------|-------------|
16
+ | `--sitemap` | One of `--url` or `--sitemap` | Remote sitemap XML URL. All URLs will be processed. |
17
+ | `--url` | One of `--url` or `--sitemap` | Single URL to generate llms.txt entry for. |
18
+ | `--output` | No | Output file path (default: `./llms.txt`) |
19
+ | `--delay` | No | Delay between requests in ms (default: 500) |
20
+
21
+ ## Workflow
22
+
23
+ 1. **Fetch** the sitemap XML and extract all `<loc>` entries
24
+ 2. **Process** each URL: fetch page, extract title, description, and first paragraph
25
+ 3. **Group** entries by path segment (e.g., `/rooms/`, `/about/`, `/blog/`)
26
+ 4. **Generate** llms.txt following the specification format:
27
+ ```
28
+ # Site Name
29
+ > Site description
30
+
31
+ ## Section
32
+ - [Page Title](url): description
33
+ ```
34
+ 5. **Write** the output file
35
+
36
+ ## Hard Rules
37
+
38
+ - **Sitemap-scoped only.** Only process URLs from the provided sitemap.
39
+ - **GET only.** No POST, PUT, DELETE requests.
40
+ - **No auth.** Never send cookies, tokens, or API keys.
41
+ - **Timeout.** 10 seconds per request.
42
+ - **SSRF prevention.** Reject private IP ranges and non-HTTP(S) schemes.
43
+ - **Rate limiting.** 500ms between requests by default.
44
+
45
+ ## Examples
46
+
47
+ ```bash
48
+ # Generate llms.txt from sitemap
49
+ /cc-seo-llms --sitemap https://www.example.com/sitemap-0.xml
50
+
51
+ # Generate for a single URL
52
+ /cc-seo-llms --url https://www.example.com
53
+
54
+ # Custom output path
55
+ /cc-seo-llms --sitemap https://www.example.com/sitemap-0.xml --output ./public/llms.txt
56
+ ```
57
+
58
+ ## Exit Codes
59
+
60
+ | Code | Meaning |
61
+ |------|---------|
62
+ | 0 | Success |
63
+ | 1 | Missing required parameters |
64
+ | 3 | Network or parsing error |
@@ -0,0 +1,55 @@
1
+ name: seo-hotel
2
+ version: 0.3.0
3
+ description: SEO/GEO audit suite for hotel and hospitality websites
4
+ outputContract: v1
5
+
6
+ agents:
7
+ - id: seo-auditor
8
+ role: SEO Auditor
9
+ context: repo-readonly
10
+ modelHint: analytical
11
+ focus:
12
+ - technical-seo
13
+ - meta-tags
14
+ - crawlability
15
+ - page-speed
16
+
17
+ - id: schema-validator
18
+ role: Schema Validator
19
+ context: repo-readonly
20
+ modelHint: strong-reasoning
21
+ focus:
22
+ - schema-org
23
+ - json-ld
24
+ - structured-data
25
+ - rich-results
26
+
27
+ - id: geo-specialist
28
+ role: GEO Specialist
29
+ context: repo-readonly
30
+ modelHint: balanced
31
+ focus:
32
+ - ai-search
33
+ - citable-content
34
+ - llms-txt
35
+ - generative-engine-optimization
36
+
37
+ - id: content-strategist
38
+ role: Content Strategist
39
+ context: prompt-only
40
+ modelHint: balanced
41
+ focus:
42
+ - content-marketing
43
+ - off-page-seo
44
+ - backlinks
45
+ - hotel-copywriting
46
+
47
+ - id: astro-specialist
48
+ role: Astro Specialist
49
+ context: repo-readonly
50
+ modelHint: practical-coding
51
+ focus:
52
+ - astro-framework
53
+ - static-generation
54
+ - islands-architecture
55
+ - performance
@@ -0,0 +1,225 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "env": {
4
+ "CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
5
+ "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1",
6
+ "CLAUDE_CODE_DISABLE_AUTO_MEMORY": "1",
7
+ "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
8
+ "CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "1",
9
+ "DISABLE_EXTRA_USAGE_COMMAND": "1",
10
+ "CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT": "1",
11
+ "ENABLE_TOOL_SEARCH": "auto",
12
+ "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80",
13
+ "DISABLE_BUG_COMMAND": "1"
14
+ },
15
+ "includeCoAuthoredBy": false,
16
+ "includeGitInstructions": false,
17
+ "permissions": {
18
+ "allow": [
19
+ "Bash(git status*)",
20
+ "Bash(git diff*)",
21
+ "Bash(git log*)",
22
+ "Bash(./gradlew test*)",
23
+ "Bash(./gradlew build*)",
24
+ "Bash(./gradlew check*)",
25
+ "Bash(npm test*)",
26
+ "Bash(npm run lint*)",
27
+ "Bash(ls *)",
28
+ "Bash(cat *)",
29
+ "Bash(grep *)",
30
+ "Bash(rg *)",
31
+ "Bash(find *)",
32
+ "Bash(tree *)",
33
+ "Bash(echo *)",
34
+ "Bash(pwd)",
35
+ "Bash(which *)",
36
+ "Bash(head *)",
37
+ "Bash(tail *)",
38
+ "Bash(wc *)",
39
+ "Bash(diff *)",
40
+ "Bash(git branch*)",
41
+ "Bash(git show*)",
42
+ "Bash(git add*)",
43
+ "Bash(git commit*)",
44
+ "Bash(git stash*)",
45
+ "Bash(git checkout*)",
46
+ "Bash(git restore*)",
47
+ "Bash(git pull*)",
48
+ "Bash(git fetch*)",
49
+ "Bash(git merge*)",
50
+ "Bash(npm run *)",
51
+ "Bash(npm ci)",
52
+ "Bash(pnpm run *)",
53
+ "Bash(pnpm test*)",
54
+ "Bash(pnpm exec *)",
55
+ "Bash(pnpm dlx *)",
56
+ "Bash(yarn run *)",
57
+ "Bash(yarn test*)",
58
+ "Bash(npx *)",
59
+ "Bash(python *)",
60
+ "Bash(python3 *)",
61
+ "Bash(pip list*)",
62
+ "Bash(pip show *)",
63
+ "Bash(pytest*)",
64
+ "Bash(ruff*)",
65
+ "Bash(black --check *)",
66
+ "Bash(./gradlew *)",
67
+ "Bash(gradle *)",
68
+ "Bash(mvn test*)",
69
+ "Bash(mvn compile*)",
70
+ "Bash(java -version)",
71
+ "Bash(kotlin -version)",
72
+ "Bash(docker ps*)",
73
+ "Bash(docker logs*)",
74
+ "Bash(docker compose ps*)",
75
+ "Bash(docker compose logs*)",
76
+ "Read(**)",
77
+ "Write(./src/**)",
78
+ "Write(./app/**)",
79
+ "Write(./pages/**)",
80
+ "Write(./components/**)",
81
+ "Write(./lib/**)",
82
+ "Write(./tests/**)",
83
+ "Write(./test/**)",
84
+ "Write(./__tests__/**)",
85
+ "Write(./prisma/**)",
86
+ "Write(./drizzle/**)",
87
+ "Write(./public/**)",
88
+ "Write(./styles/**)",
89
+ "Write(./scripts/**)",
90
+ "Write(./docs/**)",
91
+ "Edit(**)",
92
+ "WebFetch(*)"
93
+ ],
94
+ "deny": [
95
+ "Bash(rm -rf *)",
96
+ "Bash(sudo *)",
97
+ "Bash(su *)",
98
+ "Bash(chmod 777 *)",
99
+ "Bash(chown *)",
100
+ "Bash(dd *)",
101
+ "Bash(mkfs *)",
102
+ "Bash(diskutil *)",
103
+ "Bash(mount *)",
104
+ "Bash(umount *)",
105
+ "Bash(systemctl *)",
106
+ "Bash(launchctl *)",
107
+ "Bash(curl * | sh)",
108
+ "Bash(curl * | bash)",
109
+ "Bash(wget * | sh)",
110
+ "Bash(wget * | bash)",
111
+ "Bash(git push --force*)",
112
+ "Bash(git push -f*)",
113
+ "Bash(git rebase *)",
114
+ "Bash(git reset --hard *)",
115
+ "Bash(rm -fr *)",
116
+ "Bash(chmod -R *)",
117
+ "Bash(eval *)",
118
+ "Bash(git push --force origin main*)",
119
+ "Bash(git push --force origin master*)",
120
+ "Bash(git push -f origin main*)",
121
+ "Bash(git push -f origin master*)",
122
+ "Read(./.env)",
123
+ "Read(./.env.*)",
124
+ "Read(./**/.env)",
125
+ "Read(./**/.env.*)",
126
+ "Read(./secrets/**)",
127
+ "Read(./**/credentials.json)",
128
+ "Read(./**/serviceAccount*.json)",
129
+ "Read(./**/*.pem)",
130
+ "Read(./**/*.key)",
131
+ "Read(./**/id_rsa*)",
132
+ "Read(~/.ssh/**)",
133
+ "Read(~/.aws/**)",
134
+ "Read(~/.gnupg/**)",
135
+ "Write(./.env)",
136
+ "Write(./.env.*)",
137
+ "Write(./**/.env)",
138
+ "Edit(./.env)",
139
+ "Edit(./.env.*)",
140
+ "Edit(./**/.env)"
141
+ ],
142
+ "ask": [
143
+ "Bash(git push*)",
144
+ "Bash(git push --force*)",
145
+ "Bash(git reset --hard*)",
146
+ "Bash(npm install*)",
147
+ "Bash(npm i *)",
148
+ "Bash(pnpm install*)",
149
+ "Bash(pnpm add *)",
150
+ "Bash(yarn add *)",
151
+ "Bash(pip install*)",
152
+ "Bash(docker run*)",
153
+ "Bash(docker compose up*)",
154
+ "Bash(docker compose down*)",
155
+ "Bash(./gradlew build*)",
156
+ "Bash(./gradlew bootRun*)",
157
+ "Bash(mvn install*)",
158
+ "Bash(mvn deploy*)",
159
+ "Bash(vercel*)",
160
+ "Bash(npx vercel*)"
161
+ ],
162
+ "defaultMode": "acceptEdits"
163
+ },
164
+ "hooks": {
165
+ "PostToolUse": [
166
+ {
167
+ "matcher": "Write|Edit|MultiEdit",
168
+ "hooks": [
169
+ {
170
+ "type": "command",
171
+ "command": "if echo \"$CLAUDE_TOOL_INPUT_FILE_PATH\" | grep -qE '\\.(ts|tsx|js|jsx|mjs|cjs|json|jsonc|md|mdx|css|scss|html|astro|yaml|yml)$'; then npx --no-install prettier --write \"$CLAUDE_TOOL_INPUT_FILE_PATH\" 2>/dev/null || true; fi"
172
+ },
173
+ {
174
+ "type": "command",
175
+ "command": "if echo \"$CLAUDE_TOOL_INPUT_FILE_PATH\" | grep -qE '\\.(ts|tsx|js|jsx|mjs|cjs)$'; then npx --no-install eslint --fix \"$CLAUDE_TOOL_INPUT_FILE_PATH\" 2>/dev/null || true; fi"
176
+ },
177
+ {
178
+ "type": "command",
179
+ "command": "if echo \"$CLAUDE_TOOL_INPUT_FILE_PATH\" | grep -qE '\\.py$'; then ruff format \"$CLAUDE_TOOL_INPUT_FILE_PATH\" 2>/dev/null && ruff check --fix \"$CLAUDE_TOOL_INPUT_FILE_PATH\" 2>/dev/null || true; fi"
180
+ }
181
+ ]
182
+ }
183
+ ],
184
+ "PreToolUse": [
185
+ {
186
+ "matcher": "Bash",
187
+ "hooks": [
188
+ {
189
+ "type": "command",
190
+ "command": "if echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '(\\.env|secrets/|id_rsa|\\.pem|\\.key)\\b' && echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '(cat|less|more|head|tail|cp |mv |scp )'; then echo 'Bloqueado: intento de leer archivos sensibles' >&2; exit 2; fi"
191
+ }
192
+ ]
193
+ }
194
+ ]
195
+ },
196
+ "extraKnownMarketplaces": {
197
+ "agricidaniel-claude-seo": {
198
+ "source": {
199
+ "source": "github",
200
+ "repo": "AgriciDaniel/claude-seo"
201
+ }
202
+ }
203
+ },
204
+ "language": "spanish",
205
+ "feedbackSurveyRate": 0,
206
+ "spinnerTipsEnabled": false,
207
+ "alwaysThinkingEnabled": true,
208
+ "effortLevel": "xhigh",
209
+ "awaySummaryEnabled": false,
210
+ "showClearContextOnPlanAccept": true,
211
+ "autoUpdatesChannel": "stable",
212
+ "prefersReducedMotion": false,
213
+ "autoMemoryEnabled": false,
214
+ "showThinkingSummaries": true,
215
+ "skipDangerousModePermissionPrompt": true,
216
+ "editorMode": "vim",
217
+ "fileCheckpointingEnabled": true,
218
+ "showTurnDuration": true,
219
+ "terminalProgressBarEnabled": true,
220
+ "autoConnectIde": true,
221
+ "autoInstallIdeExtension": false,
222
+ "enabledPlugins": {
223
+ "claude-seo@agricidaniel-claude-seo": true
224
+ }
225
+ }
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: find-skills
3
+ description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
4
+ ---
5
+
6
+ # Find Skills
7
+
8
+ This skill helps you discover and install skills from the open agent skills ecosystem.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Use this skill when the user:
13
+
14
+ - Asks "how do I do X" where X might be a common task with an existing skill
15
+ - Says "find a skill for X" or "is there a skill for X"
16
+ - Asks "can you do X" where X is a specialized capability
17
+ - Expresses interest in extending agent capabilities
18
+ - Wants to search for tools, templates, or workflows
19
+ - Mentions they wish they had help with a specific domain (design, testing, deployment, etc.)
20
+
21
+ ## What is the Skills CLI?
22
+
23
+ The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools.
24
+
25
+ **Key commands:**
26
+
27
+ - `npx skills find [query]` - Search for skills interactively or by keyword
28
+ - `npx skills add <package>` - Install a skill from GitHub or other sources
29
+ - `npx skills check` - Check for skill updates
30
+ - `npx skills update` - Update all installed skills
31
+
32
+ **Browse skills at:** https://skills.sh/
33
+
34
+ ## How to Help Users Find Skills
35
+
36
+ ### Step 1: Understand What They Need
37
+
38
+ When a user asks for help with something, identify:
39
+
40
+ 1. The domain (e.g., React, testing, design, deployment)
41
+ 2. The specific task (e.g., writing tests, creating animations, reviewing PRs)
42
+ 3. Whether this is a common enough task that a skill likely exists
43
+
44
+ ### Step 2: Check the Leaderboard First
45
+
46
+ Before running a CLI search, check the [skills.sh leaderboard](https://skills.sh/) to see if a well-known skill already exists for the domain. The leaderboard ranks skills by total installs, surfacing the most popular and battle-tested options.
47
+
48
+ For example, top skills for web development include:
49
+ - `vercel-labs/agent-skills` — React, Next.js, web design (100K+ installs each)
50
+ - `anthropics/skills` — Frontend design, document processing (100K+ installs)
51
+
52
+ ### Step 3: Search for Skills
53
+
54
+ If the leaderboard doesn't cover the user's need, run the find command:
55
+
56
+ ```bash
57
+ npx skills find [query]
58
+ ```
59
+
60
+ For example:
61
+
62
+ - User asks "how do I make my React app faster?" → `npx skills find react performance`
63
+ - User asks "can you help me with PR reviews?" → `npx skills find pr review`
64
+ - User asks "I need to create a changelog" → `npx skills find changelog`
65
+
66
+ ### Step 4: Verify Quality Before Recommending
67
+
68
+ **Do not recommend a skill based solely on search results.** Always verify:
69
+
70
+ 1. **Install count** — Prefer skills with 1K+ installs. Be cautious with anything under 100.
71
+ 2. **Source reputation** — Official sources (`vercel-labs`, `anthropics`, `microsoft`) are more trustworthy than unknown authors.
72
+ 3. **GitHub stars** — Check the source repository. A skill from a repo with <100 stars should be treated with skepticism.
73
+
74
+ ### Step 5: Present Options to the User
75
+
76
+ When you find relevant skills, present them to the user with:
77
+
78
+ 1. The skill name and what it does
79
+ 2. The install count and source
80
+ 3. The install command they can run
81
+ 4. A link to learn more at skills.sh
82
+
83
+ Example response:
84
+
85
+ ```
86
+ I found a skill that might help! The "react-best-practices" skill provides
87
+ React and Next.js performance optimization guidelines from Vercel Engineering.
88
+ (185K installs)
89
+
90
+ To install it:
91
+ npx skills add vercel-labs/agent-skills@react-best-practices
92
+
93
+ Learn more: https://skills.sh/vercel-labs/agent-skills/react-best-practices
94
+ ```
95
+
96
+ ### Step 6: Offer to Install
97
+
98
+ If the user wants to proceed, you can install the skill for them:
99
+
100
+ ```bash
101
+ npx skills add <owner/repo@skill> -g -y
102
+ ```
103
+
104
+ The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts.
105
+
106
+ ## Common Skill Categories
107
+
108
+ When searching, consider these common categories:
109
+
110
+ | Category | Example Queries |
111
+ | --------------- | ---------------------------------------- |
112
+ | Web Development | react, nextjs, typescript, css, tailwind |
113
+ | Testing | testing, jest, playwright, e2e |
114
+ | DevOps | deploy, docker, kubernetes, ci-cd |
115
+ | Documentation | docs, readme, changelog, api-docs |
116
+ | Code Quality | review, lint, refactor, best-practices |
117
+ | Design | ui, ux, design-system, accessibility |
118
+ | Productivity | workflow, automation, git |
119
+
120
+ ## Tips for Effective Searches
121
+
122
+ 1. **Use specific keywords**: "react testing" is better than just "testing"
123
+ 2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd"
124
+ 3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills`
125
+
126
+ ## When No Skills Are Found
127
+
128
+ If no relevant skills exist:
129
+
130
+ 1. Acknowledge that no existing skill was found
131
+ 2. Offer to help with the task directly using your general capabilities
132
+ 3. Suggest the user could create their own skill with `npx skills init`
133
+
134
+ Example:
135
+
136
+ ```
137
+ I searched for skills related to "xyz" but didn't find any matches.
138
+ I can still help you with this task directly! Would you like me to proceed?
139
+
140
+ If this is something you do often, you could create your own skill:
141
+ npx skills init my-xyz-skill
142
+ ```