general-coding-tools-mcp 1.1.0 → 1.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.
@@ -1 +1 @@
1
- 864c7b1b8b634e606af1556906ae74e3a57ddc54f96d3ea0ce83dd9f837515ce
1
+ a0a17dbaaef1f76e0367e42db84ba300bf776d8393f8baa4a92062eaa86184fa
package/dist/index.js CHANGED
@@ -211,6 +211,55 @@ server.registerTool("apply_subagent", {
211
211
  const text = `**Launch the ${subagent.name} subagent** (separate context). Do not follow these instructions in this chat — dispatch a subagent with the FULL content below.\n\n**IMPORTANT:** You MUST embed this ENTIRE response VERBATIM in the Agent tool's \`prompt\` parameter. Do NOT paraphrase, summarize, or omit any section. The subagent needs ALL of it (tool usage guides, process steps, output format, rules) to function correctly.${taskBlock}\n\n---\n\n${entry.content}`;
212
212
  return { content: [{ type: "text", text }] };
213
213
  });
214
+ // --- Prompts: every skill and subagent is available as a slash command ---
215
+ for (const s of DATA.skills) {
216
+ const entry = DATA.content.skills[s.name];
217
+ server.registerPrompt(s.id, {
218
+ title: s.name,
219
+ description: s.description || `Apply the ${s.name} skill`,
220
+ argsSchema: {
221
+ task: z.string().optional().describe("What to audit / check / do (optional — you can describe the scope)"),
222
+ },
223
+ }, async ({ task }) => {
224
+ const extra = (task ?? "").trim();
225
+ const taskBlock = extra ? `\n\n**Task / scope:**\n${extra}\n\n---\n\n` : "\n\n";
226
+ return {
227
+ messages: [
228
+ {
229
+ role: "user",
230
+ content: {
231
+ type: "text",
232
+ text: `I will follow the **${s.name}** skill.${taskBlock}${entry.content}`,
233
+ },
234
+ },
235
+ ],
236
+ };
237
+ });
238
+ }
239
+ for (const a of DATA.subagents) {
240
+ const entry = DATA.content.subagents[a.name];
241
+ server.registerPrompt(a.id, {
242
+ title: a.name,
243
+ description: a.description || `Launch the ${a.name} subagent`,
244
+ argsSchema: {
245
+ task: z.string().optional().describe("Context or task for the subagent (optional)"),
246
+ },
247
+ }, async ({ task }) => {
248
+ const extra = (task ?? "").trim();
249
+ const taskBlock = extra ? `\n\n**Task / context for subagent:**\n${extra}` : "";
250
+ return {
251
+ messages: [
252
+ {
253
+ role: "user",
254
+ content: {
255
+ type: "text",
256
+ text: `**Launch the ${a.name} subagent** (separate context). Do not follow these instructions in this chat — dispatch a subagent with the FULL content below.\n\n**IMPORTANT:** You MUST embed this ENTIRE response VERBATIM in the Agent tool's \`prompt\` parameter. Do NOT paraphrase, summarize, or omit any section. The subagent needs ALL of it (tool usage guides, process steps, output format, rules) to function correctly.${taskBlock}\n\n---\n\n${entry.content}`,
257
+ },
258
+ },
259
+ ],
260
+ };
261
+ });
262
+ }
214
263
  // --- Run ---
215
264
  async function main() {
216
265
  const transport = new StdioServerTransport();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "general-coding-tools-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "MCP server with coding skills and subagents — debugging, code audits (correctness, security, best practices, SQL migrations), feature planning, testing (React/Vitest, Deno, pgTAP), UI/accessibility audits, deep research, and doc generation. Works with Cursor, Claude, Windsurf, and any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",