@neyugn/agent-kits 0.2.6 → 0.2.8
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/README.md +1 -1
- package/README.vi.md +1 -1
- package/README.zh.md +1 -1
- package/common/COMMON.md +102 -38
- package/common/skills/filter-agent/SKILL.md +194 -0
- package/common/skills/filter-skill/SKILL.md +158 -180
- package/common/skills/scan-techstack/SKILL.md +167 -0
- package/common/skills/scan-techstack/scripts/techstack_scanner.py +335 -0
- package/common/workflows/filter.md +131 -44
- package/dist/cli.js +30 -6
- package/kits/coder/rules/AGENTS.md +23 -2
- package/kits/coder/rules/CLAUDE.md +23 -2
- package/kits/coder/rules/CURSOR.md +23 -2
- package/kits/coder/rules/GEMINI.md +23 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -154,7 +154,7 @@ async function installKit(options) {
|
|
|
154
154
|
const kitSourcePath = path2.join(KITS_DIR, kitId);
|
|
155
155
|
const kitTargetPath = path2.join(targetPath, aiTool.path);
|
|
156
156
|
await fs.mkdir(kitTargetPath, { recursive: true });
|
|
157
|
-
await copyDirectory(kitSourcePath, kitTargetPath, ["rules"]);
|
|
157
|
+
await copyDirectory(kitSourcePath, kitTargetPath, ["rules"], aiTool.path);
|
|
158
158
|
const rulesSource = path2.join(kitSourcePath, "rules", aiTool.kitRulesFile);
|
|
159
159
|
const rulesTarget = options.scope === "global" || aiTool.rulesInsideKit ? path2.join(kitTargetPath, aiTool.rulesFile) : path2.join(targetPath, aiTool.rulesFile);
|
|
160
160
|
try {
|
|
@@ -182,12 +182,22 @@ async function installKit(options) {
|
|
|
182
182
|
const commonDocPath = path2.join(COMMON_DIR, "COMMON.md");
|
|
183
183
|
const targetSkillsPath = path2.join(kitTargetPath, "skills");
|
|
184
184
|
await fs.mkdir(targetSkillsPath, { recursive: true });
|
|
185
|
-
await copyDirectory(commonSkillsPath, targetSkillsPath);
|
|
185
|
+
await copyDirectory(commonSkillsPath, targetSkillsPath, [], aiTool.path);
|
|
186
186
|
const targetWorkflowsPath = path2.join(kitTargetPath, "workflows");
|
|
187
187
|
await fs.mkdir(targetWorkflowsPath, { recursive: true });
|
|
188
|
-
await copyDirectory(
|
|
188
|
+
await copyDirectory(
|
|
189
|
+
commonWorkflowsPath,
|
|
190
|
+
targetWorkflowsPath,
|
|
191
|
+
[],
|
|
192
|
+
aiTool.path
|
|
193
|
+
);
|
|
189
194
|
const targetCommonDoc = path2.join(kitTargetPath, "COMMON.md");
|
|
190
|
-
await fs.
|
|
195
|
+
const commonContent = await fs.readFile(commonDocPath, "utf-8");
|
|
196
|
+
const updatedCommonContent = commonContent.replace(
|
|
197
|
+
/\.(agent|claude|gemini|cursor|codex)\//g,
|
|
198
|
+
`${aiTool.path}/`
|
|
199
|
+
);
|
|
200
|
+
await fs.writeFile(targetCommonDoc, updatedCommonContent);
|
|
191
201
|
} catch {
|
|
192
202
|
}
|
|
193
203
|
const agents = await countItems(path2.join(kitTargetPath, "agents"));
|
|
@@ -202,7 +212,17 @@ async function installKit(options) {
|
|
|
202
212
|
}
|
|
203
213
|
return results;
|
|
204
214
|
}
|
|
205
|
-
|
|
215
|
+
function replaceToolPaths(content, targetPath) {
|
|
216
|
+
return content.replace(
|
|
217
|
+
/\.(agent|claude|gemini|cursor|codex)\//g,
|
|
218
|
+
`${targetPath}/`
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
function shouldReplacePaths(filename) {
|
|
222
|
+
const ext = path2.extname(filename).toLowerCase();
|
|
223
|
+
return [".md", ".py", ".sh", ".txt", ".json"].includes(ext);
|
|
224
|
+
}
|
|
225
|
+
async function copyDirectory(src, dest, exclude = [], toolPath) {
|
|
206
226
|
await fs.mkdir(dest, { recursive: true });
|
|
207
227
|
const entries = await fs.readdir(src, { withFileTypes: true });
|
|
208
228
|
for (const entry of entries) {
|
|
@@ -212,7 +232,11 @@ async function copyDirectory(src, dest, exclude = []) {
|
|
|
212
232
|
const srcPath = path2.join(src, entry.name);
|
|
213
233
|
const destPath = path2.join(dest, entry.name);
|
|
214
234
|
if (entry.isDirectory()) {
|
|
215
|
-
await copyDirectory(srcPath, destPath, exclude);
|
|
235
|
+
await copyDirectory(srcPath, destPath, exclude, toolPath);
|
|
236
|
+
} else if (toolPath && shouldReplacePaths(entry.name)) {
|
|
237
|
+
const content = await fs.readFile(srcPath, "utf-8");
|
|
238
|
+
const updatedContent = replaceToolPaths(content, toolPath);
|
|
239
|
+
await fs.writeFile(destPath, updatedContent);
|
|
216
240
|
} else {
|
|
217
241
|
await fs.copyFile(srcPath, destPath);
|
|
218
242
|
}
|
|
@@ -129,18 +129,39 @@ Agent activated → Check frontmatter `skills:` → Read SKILL.md → Apply.
|
|
|
129
129
|
## 🛠️ SKILL LOADING PROTOCOL
|
|
130
130
|
|
|
131
131
|
```
|
|
132
|
-
User Request → Skill Description Match → Load SKILL.md → Apply
|
|
132
|
+
User Request → Check Profile → Skill Description Match → Load SKILL.md → Apply
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Profile-Aware Loading
|
|
136
|
+
|
|
137
|
+
> **CRITICAL:** Before loading any skill or selecting any agent, check `.agent/profile.json`
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
1. Check if `.agent/profile.json` exists
|
|
141
|
+
2. If EXISTS:
|
|
142
|
+
- Read skills.enabled[] → Only load these skills
|
|
143
|
+
- Read skills.disabled[] → Skip these skills
|
|
144
|
+
- Read agents.disabled[] → Skip these agents
|
|
145
|
+
- Respect userOverrides.force-enabled/force-disabled
|
|
146
|
+
3. If NOT EXISTS:
|
|
147
|
+
- All skills/agents are ENABLED by default
|
|
148
|
+
- Behave as if no filtering is applied
|
|
133
149
|
```
|
|
134
150
|
|
|
135
151
|
### Core Skills (Always Available)
|
|
136
152
|
|
|
153
|
+
These skills are NEVER disabled regardless of profile:
|
|
154
|
+
|
|
137
155
|
- `clean-code` - Pragmatic coding standards (used by ALL agents)
|
|
138
156
|
- `testing-patterns` - Testing pyramid, AAA pattern
|
|
139
157
|
- `security-fundamentals` - OWASP 2025
|
|
158
|
+
- `brainstorming` - Socratic questioning protocol
|
|
159
|
+
- `plan-writing` - Task breakdown and WBS
|
|
160
|
+
- `systematic-debugging` - 4-phase debugging
|
|
140
161
|
|
|
141
162
|
### Domain Skills (39 total - see ARCHITECTURE.md)
|
|
142
163
|
|
|
143
|
-
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `
|
|
164
|
+
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `github-actions`, `gitlab-ci-patterns`
|
|
144
165
|
|
|
145
166
|
> 🔴 Full skill list: See `ARCHITECTURE.md` → Skills section
|
|
146
167
|
|
|
@@ -129,18 +129,39 @@ Agent activated → Check frontmatter `skills:` → Read SKILL.md → Apply.
|
|
|
129
129
|
## 🛠️ SKILL LOADING PROTOCOL
|
|
130
130
|
|
|
131
131
|
```
|
|
132
|
-
User Request → Skill Description Match → Load SKILL.md → Apply
|
|
132
|
+
User Request → Check Profile → Skill Description Match → Load SKILL.md → Apply
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Profile-Aware Loading
|
|
136
|
+
|
|
137
|
+
> **CRITICAL:** Before loading any skill or selecting any agent, check `.agent/profile.json`
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
1. Check if `.agent/profile.json` exists
|
|
141
|
+
2. If EXISTS:
|
|
142
|
+
- Read skills.enabled[] → Only load these skills
|
|
143
|
+
- Read skills.disabled[] → Skip these skills
|
|
144
|
+
- Read agents.disabled[] → Skip these agents
|
|
145
|
+
- Respect userOverrides.force-enabled/force-disabled
|
|
146
|
+
3. If NOT EXISTS:
|
|
147
|
+
- All skills/agents are ENABLED by default
|
|
148
|
+
- Behave as if no filtering is applied
|
|
133
149
|
```
|
|
134
150
|
|
|
135
151
|
### Core Skills (Always Available)
|
|
136
152
|
|
|
153
|
+
These skills are NEVER disabled regardless of profile:
|
|
154
|
+
|
|
137
155
|
- `clean-code` - Pragmatic coding standards (used by ALL agents)
|
|
138
156
|
- `testing-patterns` - Testing pyramid, AAA pattern
|
|
139
157
|
- `security-fundamentals` - OWASP 2025
|
|
158
|
+
- `brainstorming` - Socratic questioning protocol
|
|
159
|
+
- `plan-writing` - Task breakdown and WBS
|
|
160
|
+
- `systematic-debugging` - 4-phase debugging
|
|
140
161
|
|
|
141
162
|
### Domain Skills (39 total - see ARCHITECTURE.md)
|
|
142
163
|
|
|
143
|
-
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `
|
|
164
|
+
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `github-actions`, `gitlab-ci-patterns`
|
|
144
165
|
|
|
145
166
|
> 🔴 Full skill list: See `ARCHITECTURE.md` → Skills section
|
|
146
167
|
|
|
@@ -134,18 +134,39 @@ Agent activated → Check frontmatter `skills:` → Read SKILL.md → Apply.
|
|
|
134
134
|
## 🛠️ SKILL LOADING PROTOCOL
|
|
135
135
|
|
|
136
136
|
```
|
|
137
|
-
User Request → Skill Description Match → Load SKILL.md → Apply
|
|
137
|
+
User Request → Check Profile → Skill Description Match → Load SKILL.md → Apply
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Profile-Aware Loading
|
|
141
|
+
|
|
142
|
+
> **CRITICAL:** Before loading any skill or selecting any agent, check `.agent/profile.json`
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
1. Check if `.agent/profile.json` exists
|
|
146
|
+
2. If EXISTS:
|
|
147
|
+
- Read skills.enabled[] → Only load these skills
|
|
148
|
+
- Read skills.disabled[] → Skip these skills
|
|
149
|
+
- Read agents.disabled[] → Skip these agents
|
|
150
|
+
- Respect userOverrides.force-enabled/force-disabled
|
|
151
|
+
3. If NOT EXISTS:
|
|
152
|
+
- All skills/agents are ENABLED by default
|
|
153
|
+
- Behave as if no filtering is applied
|
|
138
154
|
```
|
|
139
155
|
|
|
140
156
|
### Core Skills (Always Available)
|
|
141
157
|
|
|
158
|
+
These skills are NEVER disabled regardless of profile:
|
|
159
|
+
|
|
142
160
|
- `clean-code` - Pragmatic coding standards (used by ALL agents)
|
|
143
161
|
- `testing-patterns` - Testing pyramid, AAA pattern
|
|
144
162
|
- `security-fundamentals` - OWASP 2025
|
|
163
|
+
- `brainstorming` - Socratic questioning protocol
|
|
164
|
+
- `plan-writing` - Task breakdown and WBS
|
|
165
|
+
- `systematic-debugging` - 4-phase debugging
|
|
145
166
|
|
|
146
167
|
### Domain Skills (39 total - see ARCHITECTURE.md)
|
|
147
168
|
|
|
148
|
-
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `
|
|
169
|
+
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `github-actions`, `gitlab-ci-patterns`
|
|
149
170
|
|
|
150
171
|
> 🔴 Full skill list: See `ARCHITECTURE.md` → Skills section
|
|
151
172
|
|
|
@@ -133,18 +133,39 @@ Agent activated → Check frontmatter `skills:` → Read SKILL.md → Apply.
|
|
|
133
133
|
## 🛠️ SKILL LOADING PROTOCOL
|
|
134
134
|
|
|
135
135
|
```
|
|
136
|
-
User Request → Skill Description Match → Load SKILL.md → Apply
|
|
136
|
+
User Request → Check Profile → Skill Description Match → Load SKILL.md → Apply
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Profile-Aware Loading
|
|
140
|
+
|
|
141
|
+
> **CRITICAL:** Before loading any skill or selecting any agent, check `.agent/profile.json`
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
1. Check if `.agent/profile.json` exists
|
|
145
|
+
2. If EXISTS:
|
|
146
|
+
- Read skills.enabled[] → Only load these skills
|
|
147
|
+
- Read skills.disabled[] → Skip these skills
|
|
148
|
+
- Read agents.disabled[] → Skip these agents
|
|
149
|
+
- Respect userOverrides.force-enabled/force-disabled
|
|
150
|
+
3. If NOT EXISTS:
|
|
151
|
+
- All skills/agents are ENABLED by default
|
|
152
|
+
- Behave as if no filtering is applied
|
|
137
153
|
```
|
|
138
154
|
|
|
139
155
|
### Core Skills (Always Available)
|
|
140
156
|
|
|
157
|
+
These skills are NEVER disabled regardless of profile:
|
|
158
|
+
|
|
141
159
|
- `clean-code` - Pragmatic coding standards (used by ALL agents)
|
|
142
160
|
- `testing-patterns` - Testing pyramid, AAA pattern
|
|
143
161
|
- `security-fundamentals` - OWASP 2025
|
|
162
|
+
- `brainstorming` - Socratic questioning protocol
|
|
163
|
+
- `plan-writing` - Task breakdown and WBS
|
|
164
|
+
- `systematic-debugging` - 4-phase debugging
|
|
144
165
|
|
|
145
166
|
### Domain Skills (39 total - see ARCHITECTURE.md)
|
|
146
167
|
|
|
147
|
-
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `
|
|
168
|
+
Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `github-actions`, `gitlab-ci-patterns`
|
|
148
169
|
|
|
149
170
|
> 🔴 Full skill list: See `ARCHITECTURE.md` → Skills section
|
|
150
171
|
|