@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.
- package/CHANGELOG.md +53 -1
- package/bin/cli.js +15 -0
- package/package.json +1 -1
- package/src/commands/list.js +56 -0
- package/src/commands/search.js +89 -0
- package/src/lib/config.js +60 -6
- package/templates/ai-engineering/ai-agent-orchestrator/SKILL.md +573 -0
- package/templates/ai-engineering/embedding-pipeline-builder/SKILL.md +655 -0
- package/templates/ai-engineering/langchain-workflow-builder/SKILL.md +526 -0
- package/templates/ai-engineering/mcp-server-builder/SKILL.md +765 -0
- package/templates/ai-engineering/prompt-template-builder/SKILL.md +2 -2
- package/templates/ai-engineering/structured-output-extractor/SKILL.md +561 -0
- package/templates/ai-engineering/vector-db-setup/SKILL.md +560 -0
- package/templates/backend/api-docs-generator/SKILL.md +946 -0
- package/templates/backend/event-driven-architect/SKILL.md +694 -0
- package/templates/backend/graphql-schema-designer/SKILL.md +638 -0
- package/templates/backend/queue-job-processor/SKILL.md +643 -0
- package/templates/backend/rest-to-graphql-migrator/SKILL.md +501 -0
- package/templates/backend/websocket-realtime-builder/SKILL.md +636 -0
- package/templates/ci-cd/dockerfile-optimizer/SKILL.md +631 -0
- package/templates/ci-cd/kubernetes-manifest-generator/SKILL.md +587 -0
- package/templates/ci-cd/nginx-config-optimizer/SKILL.md +619 -0
- package/templates/ci-cd/preview-environments-builder/SKILL.md +1 -1
- package/templates/ci-cd/rollback-workflow-builder/SKILL.md +2 -2
- package/templates/ci-cd/terraform-module-builder/SKILL.md +625 -0
- package/templates/db-management/data-integrity-auditor/SKILL.md +2 -2
- package/templates/db-management/db-performance-watchlist/SKILL.md +9 -9
- package/templates/db-management/etl-sync-job-builder/SKILL.md +3 -3
- package/templates/db-management/multi-tenant-safety-checker/SKILL.md +3 -3
- package/templates/db-management/schema-consistency-checker/SKILL.md +1 -1
- package/templates/db-management/sql-query-optimizer/SKILL.md +2 -2
- package/templates/foundation/conventional-commits/SKILL.md +318 -0
- package/templates/foundation/eslint-prettier-config/SKILL.md +540 -0
- package/templates/foundation/hot-reload-optimizer/SKILL.md +611 -0
- package/templates/foundation/jsdoc-typescript-docs/SKILL.md +588 -0
- package/templates/foundation/mermaid-diagram-generator/SKILL.md +550 -0
- package/templates/foundation/monorepo-setup/SKILL.md +567 -0
- package/templates/foundation/pr-template-builder/SKILL.md +744 -0
- package/templates/foundation/readme-generator/SKILL.md +545 -0
- package/templates/foundation/skill-creator/SKILL.md +205 -0
- package/templates/foundation/storybook-setup/SKILL.md +616 -0
- package/templates/foundation/typescript-strict-migrator/SKILL.md +527 -0
- package/templates/foundation/vscode-workspace-setup/SKILL.md +605 -0
- package/templates/frontend/accessibility-auditor/SKILL.md +797 -0
- package/templates/frontend/animation-micro-interaction-pack/SKILL.md +1 -1
- package/templates/frontend/dark-mode-implementer/SKILL.md +594 -0
- package/templates/frontend/framer-motion-animator/SKILL.md +575 -0
- package/templates/frontend/react-hook-builder/SKILL.md +911 -0
- package/templates/frontend/react-server-components/SKILL.md +570 -0
- package/templates/frontend/responsive-design-system/SKILL.md +545 -0
- package/templates/frontend/state-ux-flow-builder/SKILL.md +1 -1
- package/templates/frontend/tailwind-gradient-builder/SKILL.md +465 -0
- package/templates/frontend/tanstack-query-setup/SKILL.md +671 -0
- package/templates/frontend/zustand-state-builder/SKILL.md +649 -0
- package/templates/performance/alerting-dashboard-builder/SKILL.md +1 -1
- package/templates/performance/redis-patterns/SKILL.md +737 -0
- package/templates/security/api-security-hardener/SKILL.md +590 -0
- package/templates/security/cors-configuration/SKILL.md +545 -0
- package/templates/security/env-secrets-manager/SKILL.md +563 -0
- package/templates/security/oauth2-oidc-implementer/SKILL.md +570 -0
- package/templates/testing/api-docs-generator/SKILL.md +838 -0
- package/templates/testing/api-mock-server/SKILL.md +560 -0
- package/templates/testing/api-test-suite-generator/SKILL.md +594 -0
- package/templates/testing/bruno-collection-generator/SKILL.md +674 -0
- package/templates/testing/curl-command-generator/SKILL.md +510 -0
- package/templates/testing/cypress-playwright-setup/SKILL.md +593 -0
- package/templates/testing/insomnia-collection-generator/SKILL.md +512 -0
- package/templates/testing/load-test-builder/SKILL.md +566 -0
- package/templates/testing/openapi-generator/SKILL.md +623 -0
- package/templates/testing/postman-collection-generator/SKILL.md +515 -0
- package/templates/testing/visual-regression-tester/SKILL.md +491 -0
- 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.
|
|
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.
|
|
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
|
-
'
|
|
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
|
-
'
|
|
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
|
}
|