@patricio0312rev/skillset 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +53 -1
  2. package/bin/cli.js +15 -0
  3. package/package.json +1 -1
  4. package/src/commands/list.js +56 -0
  5. package/src/commands/search.js +89 -0
  6. package/src/lib/config.js +60 -6
  7. package/templates/ai-engineering/ai-agent-orchestrator/SKILL.md +573 -0
  8. package/templates/ai-engineering/embedding-pipeline-builder/SKILL.md +655 -0
  9. package/templates/ai-engineering/langchain-workflow-builder/SKILL.md +526 -0
  10. package/templates/ai-engineering/mcp-server-builder/SKILL.md +765 -0
  11. package/templates/ai-engineering/prompt-template-builder/SKILL.md +2 -2
  12. package/templates/ai-engineering/structured-output-extractor/SKILL.md +561 -0
  13. package/templates/ai-engineering/vector-db-setup/SKILL.md +560 -0
  14. package/templates/backend/api-docs-generator/SKILL.md +946 -0
  15. package/templates/backend/event-driven-architect/SKILL.md +694 -0
  16. package/templates/backend/graphql-schema-designer/SKILL.md +638 -0
  17. package/templates/backend/queue-job-processor/SKILL.md +643 -0
  18. package/templates/backend/rest-to-graphql-migrator/SKILL.md +501 -0
  19. package/templates/backend/websocket-realtime-builder/SKILL.md +636 -0
  20. package/templates/ci-cd/dockerfile-optimizer/SKILL.md +631 -0
  21. package/templates/ci-cd/kubernetes-manifest-generator/SKILL.md +587 -0
  22. package/templates/ci-cd/nginx-config-optimizer/SKILL.md +619 -0
  23. package/templates/ci-cd/preview-environments-builder/SKILL.md +1 -1
  24. package/templates/ci-cd/rollback-workflow-builder/SKILL.md +2 -2
  25. package/templates/ci-cd/terraform-module-builder/SKILL.md +625 -0
  26. package/templates/db-management/data-integrity-auditor/SKILL.md +2 -2
  27. package/templates/db-management/db-performance-watchlist/SKILL.md +9 -9
  28. package/templates/db-management/etl-sync-job-builder/SKILL.md +3 -3
  29. package/templates/db-management/multi-tenant-safety-checker/SKILL.md +3 -3
  30. package/templates/db-management/schema-consistency-checker/SKILL.md +1 -1
  31. package/templates/db-management/sql-query-optimizer/SKILL.md +2 -2
  32. package/templates/foundation/conventional-commits/SKILL.md +318 -0
  33. package/templates/foundation/eslint-prettier-config/SKILL.md +540 -0
  34. package/templates/foundation/hot-reload-optimizer/SKILL.md +611 -0
  35. package/templates/foundation/jsdoc-typescript-docs/SKILL.md +588 -0
  36. package/templates/foundation/mermaid-diagram-generator/SKILL.md +550 -0
  37. package/templates/foundation/monorepo-setup/SKILL.md +567 -0
  38. package/templates/foundation/pr-template-builder/SKILL.md +744 -0
  39. package/templates/foundation/readme-generator/SKILL.md +545 -0
  40. package/templates/foundation/skill-creator/SKILL.md +205 -0
  41. package/templates/foundation/storybook-setup/SKILL.md +616 -0
  42. package/templates/foundation/typescript-strict-migrator/SKILL.md +527 -0
  43. package/templates/foundation/vscode-workspace-setup/SKILL.md +605 -0
  44. package/templates/frontend/accessibility-auditor/SKILL.md +797 -0
  45. package/templates/frontend/animation-micro-interaction-pack/SKILL.md +1 -1
  46. package/templates/frontend/dark-mode-implementer/SKILL.md +594 -0
  47. package/templates/frontend/framer-motion-animator/SKILL.md +575 -0
  48. package/templates/frontend/react-hook-builder/SKILL.md +911 -0
  49. package/templates/frontend/react-server-components/SKILL.md +570 -0
  50. package/templates/frontend/responsive-design-system/SKILL.md +545 -0
  51. package/templates/frontend/state-ux-flow-builder/SKILL.md +1 -1
  52. package/templates/frontend/tailwind-gradient-builder/SKILL.md +465 -0
  53. package/templates/frontend/tanstack-query-setup/SKILL.md +671 -0
  54. package/templates/frontend/zustand-state-builder/SKILL.md +649 -0
  55. package/templates/performance/alerting-dashboard-builder/SKILL.md +1 -1
  56. package/templates/performance/redis-patterns/SKILL.md +737 -0
  57. package/templates/security/api-security-hardener/SKILL.md +590 -0
  58. package/templates/security/cors-configuration/SKILL.md +545 -0
  59. package/templates/security/env-secrets-manager/SKILL.md +563 -0
  60. package/templates/security/oauth2-oidc-implementer/SKILL.md +570 -0
  61. package/templates/testing/api-docs-generator/SKILL.md +838 -0
  62. package/templates/testing/api-mock-server/SKILL.md +560 -0
  63. package/templates/testing/api-test-suite-generator/SKILL.md +594 -0
  64. package/templates/testing/bruno-collection-generator/SKILL.md +674 -0
  65. package/templates/testing/curl-command-generator/SKILL.md +510 -0
  66. package/templates/testing/cypress-playwright-setup/SKILL.md +593 -0
  67. package/templates/testing/insomnia-collection-generator/SKILL.md +512 -0
  68. package/templates/testing/load-test-builder/SKILL.md +566 -0
  69. package/templates/testing/openapi-generator/SKILL.md +623 -0
  70. package/templates/testing/postman-collection-generator/SKILL.md +515 -0
  71. package/templates/testing/visual-regression-tester/SKILL.md +491 -0
  72. package/templates/testing/vscode-rest-client-generator/SKILL.md +552 -0
package/CHANGELOG.md CHANGED
@@ -5,9 +5,56 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [0.1.0] - 2025-01-01
8
+ ## [0.2.0] - 2026-01-11
9
9
 
10
10
  ### Added
11
+
12
+ - **Search command**: `skillset search <query>` to find skills by name
13
+ - Highlights matching text in results
14
+ - `--grouped` flag to organize results by domain
15
+ - **List command**: `skillset list` to browse all available skills
16
+ - `--domain <name>` to filter by specific domain
17
+ - `--compact` to show only domain summaries
18
+
19
+ ### Changed
20
+
21
+ - Updated skill templates to v1.1 from skills repository
22
+ - Expanded from 100 to **155 production-ready skills**
23
+
24
+ ### New Skills Added
25
+
26
+ - **AI Engineering**: `mcp-server-builder`, `vector-db-setup`, `langchain-workflow-builder`, `ai-agent-orchestrator`, `embedding-pipeline-builder`, `structured-output-extractor`
27
+ - **Foundation**: `skill-creator`, `monorepo-setup`, `typescript-strict-migrator`, `eslint-prettier-config`, `conventional-commits`, `pr-template-builder`, `storybook-setup`, `vscode-workspace-setup`, `hot-reload-optimizer`, `jsdoc-typescript-docs`, `mermaid-diagram-generator`, `readme-generator`
28
+ - **Frontend**: `zustand-state-builder`, `tanstack-query-setup`, `react-server-components`, `accessibility-auditor`, `dark-mode-implementer`, `framer-motion-animator`, `react-hook-builder`, `responsive-design-system`, `tailwind-gradient-builder`
29
+ - **Backend**: `websocket-realtime-builder`, `graphql-schema-designer`, `event-driven-architect`, `queue-job-processor`, `api-docs-generator`, `rest-to-graphql-migrator`
30
+ - **CI/CD**: `dockerfile-optimizer`, `kubernetes-manifest-generator`, `terraform-module-builder`, `nginx-config-optimizer`
31
+ - **Testing**: `cypress-playwright-setup`, `postman-collection-generator`, `load-test-builder`, `visual-regression-tester`, `api-mock-server`, `bruno-collection-generator`, `insomnia-collection-generator`, `curl-command-generator`, `openapi-generator`, `api-test-suite-generator`, `vscode-rest-client-generator`
32
+ - **Security**: `oauth2-oidc-implementer`, `cors-configuration`, `api-security-hardener`, `env-secrets-manager`
33
+ - **Performance**: `redis-patterns`
34
+
35
+ ## [0.1.3] - 2025-12-31
36
+
37
+ ### Fixed
38
+
39
+ - Templates naming issue when copying skill files
40
+
41
+ ## [0.1.2] - 2025-12-30
42
+
43
+ ### Fixed
44
+
45
+ - Remove trailing spaces on path that caused issues on some systems
46
+
47
+ ## [0.1.1] - 2025-12-30
48
+
49
+ ### Fixed
50
+
51
+ - Add logs for warnings and errors during skill generation
52
+ - Include package-lock.json for CI/CD compatibility
53
+
54
+ ## [0.1.0] - 2025-12-30
55
+
56
+ ### Added
57
+
11
58
  - Initial release of SkillSet CLI
12
59
  - Support for 100+ production-ready development skills
13
60
  - Interactive CLI for skill selection and import
@@ -21,9 +68,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
21
68
  - Short alias `ss` for quick access
22
69
 
23
70
  ### Features
71
+
24
72
  - **Claude Code Support**: `.claude/skills/` with automatic loading
25
73
  - **Cursor Support**: `.cursor/rules/` with @-mention integration
26
74
  - **GitHub Copilot Support**: `.github/skills/` or `.claude/skills/` for Agent Skills
27
75
  - **Universal Format**: Works with any AI coding assistant
28
76
 
77
+ [0.2.0]: https://github.com/patricio0312rev/skillset/releases/tag/v0.2.0
78
+ [0.1.3]: https://github.com/patricio0312rev/skillset/releases/tag/v0.1.3
79
+ [0.1.2]: https://github.com/patricio0312rev/skillset/releases/tag/v0.1.2
80
+ [0.1.1]: https://github.com/patricio0312rev/skillset/releases/tag/v0.1.1
29
81
  [0.1.0]: https://github.com/patricio0312rev/skillset/releases/tag/v0.1.0
package/bin/cli.js CHANGED
@@ -5,6 +5,8 @@ const chalk = require("chalk");
5
5
  const packageJson = require("../package.json");
6
6
  const { displayBanner } = require("../src/utils/display");
7
7
  const initCommand = require("../src/commands/init");
8
+ const searchCommand = require("../src/commands/search");
9
+ const listCommand = require("../src/commands/list");
8
10
 
9
11
  // Display banner
10
12
  displayBanner();
@@ -29,6 +31,19 @@ program
29
31
  .option("--skip-prompts", "Skip all interactive prompts (requires all flags)")
30
32
  .action(initCommand);
31
33
 
34
+ program
35
+ .command("search <query>")
36
+ .description("Search for skills by name")
37
+ .option("-g, --grouped", "Group results by domain")
38
+ .action(searchCommand);
39
+
40
+ program
41
+ .command("list")
42
+ .description("List all available skills")
43
+ .option("-d, --domain <name>", "Filter by domain")
44
+ .option("-c, --compact", "Show only domain names, not individual skills")
45
+ .action(listCommand);
46
+
32
47
  program.parse(process.argv);
33
48
 
34
49
  // Show help if no command provided
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@patricio0312rev/skillset",
3
3
  "displayName": "Skillset",
4
- "version": "0.1.3",
4
+ "version": "0.2.0",
5
5
  "description": "CLI tool to import production-ready development skills for Claude Code, Cursor, GitHub Copilot, and other AI coding assistants",
6
6
  "main": "src/index.js",
7
7
  "bin": {
@@ -0,0 +1,56 @@
1
+ const chalk = require("chalk");
2
+ const { DOMAINS } = require("../lib/config");
3
+
4
+ /**
5
+ * List all available skills
6
+ * @param {Object} options - Command options
7
+ */
8
+ function listCommand(options) {
9
+ const totalSkills = Object.values(DOMAINS).reduce(
10
+ (sum, domain) => sum + domain.skills.length,
11
+ 0
12
+ );
13
+
14
+ console.log(chalk.cyan(`\n📚 Available Skills (${totalSkills} total)\n`));
15
+
16
+ const domainsToShow = options.domain
17
+ ? { [options.domain]: DOMAINS[options.domain] }
18
+ : DOMAINS;
19
+
20
+ if (options.domain && !DOMAINS[options.domain]) {
21
+ console.log(chalk.red(`Unknown domain: ${options.domain}\n`));
22
+ console.log(chalk.dim("Available domains:"));
23
+ for (const key of Object.keys(DOMAINS)) {
24
+ console.log(chalk.dim(` • ${key}`));
25
+ }
26
+ console.log();
27
+ return;
28
+ }
29
+
30
+ for (const [domainKey, domainInfo] of Object.entries(domainsToShow)) {
31
+ const skillCount = domainInfo.skills.length;
32
+ console.log(
33
+ chalk.bold.blue(` ${domainInfo.name}`) +
34
+ chalk.dim(` (${skillCount} skills)`) +
35
+ chalk.gray(` - ${domainInfo.description}`)
36
+ );
37
+
38
+ if (!options.compact) {
39
+ for (const skill of domainInfo.skills) {
40
+ console.log(` ${chalk.dim("•")} ${skill}`);
41
+ }
42
+ console.log();
43
+ }
44
+ }
45
+
46
+ if (options.compact) {
47
+ console.log();
48
+ }
49
+
50
+ console.log(chalk.dim("💡 Tips:"));
51
+ console.log(chalk.dim(" • Run 'skillset search <query>' to filter skills"));
52
+ console.log(chalk.dim(" • Run 'skillset list --domain <name>' to filter by domain"));
53
+ console.log(chalk.dim(" • Run 'skillset init' to install skills\n"));
54
+ }
55
+
56
+ module.exports = listCommand;
@@ -0,0 +1,89 @@
1
+ const chalk = require("chalk");
2
+ const { DOMAINS } = require("../lib/config");
3
+
4
+ /**
5
+ * Search for skills by name
6
+ * @param {string} query - Search query
7
+ * @param {Object} options - Command options
8
+ */
9
+ function searchCommand(query, options) {
10
+ if (!query || query.trim().length === 0) {
11
+ console.log(chalk.yellow("\nPlease provide a search term.\n"));
12
+ console.log(chalk.dim("Usage: skillset search <query>"));
13
+ console.log(chalk.dim("Example: skillset search api\n"));
14
+ return;
15
+ }
16
+
17
+ const searchTerm = query.toLowerCase().trim();
18
+ const results = [];
19
+
20
+ for (const [domainKey, domainInfo] of Object.entries(DOMAINS)) {
21
+ for (const skill of domainInfo.skills) {
22
+ if (skill.toLowerCase().includes(searchTerm)) {
23
+ results.push({
24
+ skill,
25
+ domain: domainKey,
26
+ domainName: domainInfo.name,
27
+ });
28
+ }
29
+ }
30
+ }
31
+
32
+ if (results.length === 0) {
33
+ console.log(chalk.yellow(`\nNo skills found matching "${query}"\n`));
34
+ console.log(chalk.dim("Try a different search term or run 'skillset list' to see all skills.\n"));
35
+ return;
36
+ }
37
+
38
+ console.log(chalk.cyan(`\n🔍 Found ${results.length} skill${results.length > 1 ? "s" : ""} matching "${query}":\n`));
39
+
40
+ if (options.grouped) {
41
+ const grouped = {};
42
+ for (const result of results) {
43
+ if (!grouped[result.domain]) {
44
+ grouped[result.domain] = {
45
+ name: result.domainName,
46
+ skills: [],
47
+ };
48
+ }
49
+ grouped[result.domain].skills.push(result.skill);
50
+ }
51
+
52
+ for (const [domain, info] of Object.entries(grouped)) {
53
+ console.log(chalk.bold.blue(` ${info.name}`));
54
+ for (const skill of info.skills) {
55
+ const highlighted = highlightMatch(skill, searchTerm);
56
+ console.log(` ${chalk.dim("•")} ${highlighted}`);
57
+ }
58
+ console.log();
59
+ }
60
+ } else {
61
+ for (const result of results) {
62
+ const highlighted = highlightMatch(result.skill, searchTerm);
63
+ const domainTag = chalk.dim(`[${result.domainName}]`);
64
+ console.log(` ${chalk.dim("•")} ${highlighted} ${domainTag}`);
65
+ }
66
+ console.log();
67
+ }
68
+
69
+ console.log(chalk.dim(`💡 Run 'skillset init' to install these skills\n`));
70
+ }
71
+
72
+ /**
73
+ * Highlight matching portion of skill name
74
+ * @param {string} skill - Skill name
75
+ * @param {string} term - Search term
76
+ * @returns {string} Highlighted string
77
+ */
78
+ function highlightMatch(skill, term) {
79
+ const index = skill.toLowerCase().indexOf(term);
80
+ if (index === -1) return skill;
81
+
82
+ const before = skill.slice(0, index);
83
+ const match = skill.slice(index, index + term.length);
84
+ const after = skill.slice(index + term.length);
85
+
86
+ return before + chalk.yellow.bold(match) + after;
87
+ }
88
+
89
+ module.exports = searchCommand;
package/src/lib/config.js CHANGED
@@ -38,30 +38,51 @@ const DOMAINS = {
38
38
  'changelog-writer',
39
39
  'code-formatter-installer',
40
40
  'codebase-summarizer',
41
+ 'conventional-commits',
41
42
  'dependency-doctor',
42
43
  'dev-environment-bootstrapper',
43
44
  'dev-onboarding-builder',
44
45
  'docs-starter-kit',
46
+ 'eslint-prettier-config',
45
47
  'explaining-code',
46
48
  'git-hygiene-enforcer',
49
+ 'hot-reload-optimizer',
50
+ 'jsdoc-typescript-docs',
51
+ 'mermaid-diagram-generator',
52
+ 'monorepo-setup',
53
+ 'pr-template-builder',
47
54
  'project-scaffolder',
48
- 'repo-structure-linter'
55
+ 'readme-generator',
56
+ 'repo-structure-linter',
57
+ 'skill-creator',
58
+ 'storybook-setup',
59
+ 'typescript-strict-migrator',
60
+ 'vscode-workspace-setup'
49
61
  ]
50
62
  },
51
63
  frontend: {
52
64
  name: 'Frontend',
53
65
  description: 'React, UI components, and user experience',
54
66
  skills: [
67
+ 'accessibility-auditor',
55
68
  'animation-micro-interaction-pack',
56
69
  'component-scaffold-generator',
70
+ 'dark-mode-implementer',
57
71
  'design-to-component-translator',
58
72
  'form-wizard-builder',
73
+ 'framer-motion-animator',
59
74
  'frontend-refactor-planner',
60
75
  'i18n-frontend-implementer',
61
76
  'modal-drawer-system',
62
77
  'page-layout-builder',
78
+ 'react-hook-builder',
79
+ 'react-server-components',
80
+ 'responsive-design-system',
63
81
  'state-ux-flow-builder',
64
- 'table-builder'
82
+ 'table-builder',
83
+ 'tailwind-gradient-builder',
84
+ 'tanstack-query-setup',
85
+ 'zustand-state-builder'
65
86
  ]
66
87
  },
67
88
  backend: {
@@ -69,15 +90,21 @@ const DOMAINS = {
69
90
  description: 'APIs, authentication, and server-side logic',
70
91
  skills: [
71
92
  'api-contract-normalizer',
93
+ 'api-docs-generator',
72
94
  'api-endpoint-generator',
73
95
  'auth-module-builder',
74
96
  'background-jobs-designer',
75
97
  'caching-strategist',
76
98
  'error-handling-standardizer',
99
+ 'event-driven-architect',
100
+ 'graphql-schema-designer',
101
+ 'queue-job-processor',
77
102
  'rate-limiting-abuse-protection',
78
103
  'rbac-permissions-builder',
104
+ 'rest-to-graphql-migrator',
79
105
  'service-layer-extractor',
80
- 'webhook-receiver-hardener'
106
+ 'webhook-receiver-hardener',
107
+ 'websocket-realtime-builder'
81
108
  ]
82
109
  },
83
110
  'ai-engineering': {
@@ -85,15 +112,21 @@ const DOMAINS = {
85
112
  description: 'LLMs, RAG, agents, and AI systems',
86
113
  skills: [
87
114
  'agent-orchestration-planner',
115
+ 'ai-agent-orchestrator',
88
116
  'cost-latency-optimizer',
89
117
  'doc-to-vector-dataset-generator',
118
+ 'embedding-pipeline-builder',
90
119
  'evaluation-harness',
91
120
  'guardrails-safety-filter-builder',
121
+ 'langchain-workflow-builder',
92
122
  'llm-debugger',
123
+ 'mcp-server-builder',
93
124
  'prompt-regression-tester',
94
125
  'prompt-template-builder',
95
126
  'rag-pipeline-builder',
96
- 'tool-function-schema-designer'
127
+ 'structured-output-extractor',
128
+ 'tool-function-schema-designer',
129
+ 'vector-db-setup'
97
130
  ]
98
131
  },
99
132
  architecture: {
@@ -119,13 +152,17 @@ const DOMAINS = {
119
152
  'artifact-sbom-publisher',
120
153
  'caching-strategy-optimizer',
121
154
  'deployment-checklist-generator',
155
+ 'dockerfile-optimizer',
122
156
  'github-actions-pipeline-creator',
157
+ 'kubernetes-manifest-generator',
123
158
  'monorepo-ci-optimizer',
159
+ 'nginx-config-optimizer',
124
160
  'preview-environments-builder',
125
161
  'quality-gates-enforcer',
126
162
  'release-automation-builder',
127
163
  'rollback-workflow-builder',
128
- 'secrets-env-manager'
164
+ 'secrets-env-manager',
165
+ 'terraform-module-builder'
129
166
  ]
130
167
  },
131
168
  'db-management': {
@@ -148,25 +185,41 @@ const DOMAINS = {
148
185
  name: 'Testing',
149
186
  description: 'Quality assurance and test coverage',
150
187
  skills: [
188
+ 'api-docs-generator',
189
+ 'api-mock-server',
190
+ 'api-test-suite-generator',
191
+ 'bruno-collection-generator',
151
192
  'contract-testing-builder',
152
193
  'coverage-strategist',
194
+ 'curl-command-generator',
195
+ 'cypress-playwright-setup',
153
196
  'e2e-test-builder',
154
197
  'flaky-test-detective',
198
+ 'insomnia-collection-generator',
155
199
  'integration-test-builder',
200
+ 'load-test-builder',
156
201
  'mocking-assistant',
202
+ 'openapi-generator',
203
+ 'postman-collection-generator',
157
204
  'snapshot-test-refactorer',
158
205
  'test-data-factory-builder',
159
206
  'test-reporting-triage-skill',
160
- 'unit-test-generator'
207
+ 'unit-test-generator',
208
+ 'visual-regression-tester',
209
+ 'vscode-rest-client-generator'
161
210
  ]
162
211
  },
163
212
  security: {
164
213
  name: 'Security',
165
214
  description: 'Security hardening and privacy protection',
166
215
  skills: [
216
+ 'api-security-hardener',
167
217
  'auth-security-reviewer',
218
+ 'cors-configuration',
168
219
  'dependency-vulnerability-triage',
220
+ 'env-secrets-manager',
169
221
  'input-validation-sanitization-auditor',
222
+ 'oauth2-oidc-implementer',
170
223
  'pii-redaction-logging-policy-builder',
171
224
  'rbac-policy-tester',
172
225
  'secrets-scanner',
@@ -189,6 +242,7 @@ const DOMAINS = {
189
242
  'load-test-scenario-builder',
190
243
  'observability-setup',
191
244
  'postmortem-writer',
245
+ 'redis-patterns',
192
246
  'structured-logging-standardizer'
193
247
  ]
194
248
  }