wolfpack-mcp 1.0.48 → 1.0.50

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.
@@ -361,7 +361,7 @@ export const AGENT_BUILDER_TOOLS = [
361
361
  {
362
362
  name: 'set_agent_skills',
363
363
  description: 'Replace the full set of skills assigned to an agent. ' +
364
- 'Use list_skills to find skill IDs, then pass all desired skill IDs here.',
364
+ 'Use list_org_skills to find skill IDs, then pass all desired skill IDs here.',
365
365
  inputSchema: {
366
366
  type: 'object',
367
367
  properties: {
@@ -375,6 +375,29 @@ export const AGENT_BUILDER_TOOLS = [
375
375
  required: ['agent_id', 'skill_ids'],
376
376
  },
377
377
  },
378
+ // ─── Group 5b: Skills (reading org library) ──────────────────────────────
379
+ {
380
+ name: 'list_org_skills',
381
+ description: 'List all skills in the org skill library (org-level + system-level). ' +
382
+ 'Returns ID, name, description, and whether the skill is built-in. ' +
383
+ 'Use skill IDs with set_agent_skills to assign skills to an agent.',
384
+ inputSchema: { type: 'object', properties: {} },
385
+ },
386
+ {
387
+ name: 'get_org_skill',
388
+ description: 'Get the full content of an org-level skill by name. ' +
389
+ 'Returns instructions, metadata, and a list of attached resources.',
390
+ inputSchema: {
391
+ type: 'object',
392
+ properties: {
393
+ skill_name: {
394
+ type: 'string',
395
+ description: 'The name of the skill to load (e.g. "deploy-app")',
396
+ },
397
+ },
398
+ required: ['skill_name'],
399
+ },
400
+ },
378
401
  // ─── Group 6: Secrets ─────────────────────────────────────────────────────
379
402
  {
380
403
  name: 'list_agent_secrets',
@@ -723,6 +746,26 @@ export async function handleAgentBuilderTool(name, args, client) {
723
746
  ],
724
747
  };
725
748
  }
749
+ // ─── Skills (reading org library) ────────────────────────────────────────
750
+ case 'list_org_skills': {
751
+ const skills = await client.listOrgSkills();
752
+ return { content: [{ type: 'text', text: text(skills) }] };
753
+ }
754
+ case 'get_org_skill': {
755
+ const parsed = z.object({ skill_name: z.string() }).parse(args);
756
+ const skill = await client.getOrgSkill(parsed.skill_name);
757
+ if (!skill) {
758
+ return {
759
+ content: [
760
+ {
761
+ type: 'text',
762
+ text: `Skill '${parsed.skill_name}' not found. Use list_org_skills to see available skills.`,
763
+ },
764
+ ],
765
+ };
766
+ }
767
+ return { content: [{ type: 'text', text: text(skill) }] };
768
+ }
726
769
  // ─── Secrets ─────────────────────────────────────────────────────────────
727
770
  case 'list_agent_secrets': {
728
771
  const { agent_id } = AgentIdSchema.parse(args);
package/dist/client.js CHANGED
@@ -702,6 +702,20 @@ export class WolfpackClient {
702
702
  skillIds,
703
703
  });
704
704
  }
705
+ // ─── Agent Builder: Skills (read) ──────────────────────────────────────────
706
+ async listOrgSkills() {
707
+ return this.api.get('/agents/org-skills');
708
+ }
709
+ async getOrgSkill(name) {
710
+ try {
711
+ return await this.api.get(`/agents/org-skills/${encodeURIComponent(name)}`);
712
+ }
713
+ catch (error) {
714
+ if (error && typeof error === 'object' && 'status' in error && error.status === 404)
715
+ return null;
716
+ throw error;
717
+ }
718
+ }
705
719
  // ─── Agent Builder: Discovery ──────────────────────────────────────────────
706
720
  async listAgentTemplates() {
707
721
  return this.api.get('/agent-builder/templates');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wolfpack-mcp",
3
- "version": "1.0.48",
3
+ "version": "1.0.50",
4
4
  "description": "MCP server for Wolfpack AI-enhanced software delivery tools",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",