@agentlee5/agent-skills 1.0.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 (182) hide show
  1. package/.leeway/config.json +133 -0
  2. package/LICENSE +21 -0
  3. package/LeeWay-Standards/LICENSE +21 -0
  4. package/LeeWay-Standards/README.md +324 -0
  5. package/LeeWay-Standards/examples/NexusButton.tsx +90 -0
  6. package/LeeWay-Standards/examples/example-agent.js +89 -0
  7. package/LeeWay-Standards/package.json +61 -0
  8. package/LeeWay-Standards/schemas/leeway-config.schema.json +81 -0
  9. package/LeeWay-Standards/schemas/leeway-header.schema.json +63 -0
  10. package/LeeWay-Standards/src/agents/discovery/architecture-map-agent.js +134 -0
  11. package/LeeWay-Standards/src/agents/discovery/docs-agent.js +126 -0
  12. package/LeeWay-Standards/src/agents/discovery/explain-agent.js +95 -0
  13. package/LeeWay-Standards/src/agents/discovery/intent-registry-agent.js +119 -0
  14. package/LeeWay-Standards/src/agents/discovery/schema-agent.js +116 -0
  15. package/LeeWay-Standards/src/agents/discovery/sitemap-agent.js +88 -0
  16. package/LeeWay-Standards/src/agents/governance/align-agent.js +155 -0
  17. package/LeeWay-Standards/src/agents/governance/assess-agent.js +161 -0
  18. package/LeeWay-Standards/src/agents/governance/audit-agent.js +185 -0
  19. package/LeeWay-Standards/src/agents/integrity/circular-dependency-agent.js +88 -0
  20. package/LeeWay-Standards/src/agents/integrity/dependency-graph-agent.js +107 -0
  21. package/LeeWay-Standards/src/agents/integrity/duplicate-logic-agent.js +108 -0
  22. package/LeeWay-Standards/src/agents/integrity/import-agent.js +83 -0
  23. package/LeeWay-Standards/src/agents/integrity/module-policy-agent.js +94 -0
  24. package/LeeWay-Standards/src/agents/integrity/refactor-scan-agent.js +113 -0
  25. package/LeeWay-Standards/src/agents/integrity/syntax-agent.js +84 -0
  26. package/LeeWay-Standards/src/agents/mcp/endpoint-agent.js +106 -0
  27. package/LeeWay-Standards/src/agents/mcp/env-agent.js +111 -0
  28. package/LeeWay-Standards/src/agents/mcp/health-agent-lite.js +119 -0
  29. package/LeeWay-Standards/src/agents/mcp/manifest-agent.js +87 -0
  30. package/LeeWay-Standards/src/agents/mcp/port-agent.js +125 -0
  31. package/LeeWay-Standards/src/agents/mcp/process-agent.js +124 -0
  32. package/LeeWay-Standards/src/agents/mcp/runtime-agent.js +108 -0
  33. package/LeeWay-Standards/src/agents/mcp/transport-agent.js +78 -0
  34. package/LeeWay-Standards/src/agents/orchestration/doctor-agent.js +149 -0
  35. package/LeeWay-Standards/src/agents/orchestration/memory-agent-lite.js +125 -0
  36. package/LeeWay-Standards/src/agents/orchestration/router-agent.js +110 -0
  37. package/LeeWay-Standards/src/agents/security/permission-agent.js +98 -0
  38. package/LeeWay-Standards/src/agents/security/policy-agent.js +100 -0
  39. package/LeeWay-Standards/src/agents/security/privacy-agent.js +83 -0
  40. package/LeeWay-Standards/src/agents/security/prompt-security-agent.js +103 -0
  41. package/LeeWay-Standards/src/agents/security/secret-scan-agent.js +108 -0
  42. package/LeeWay-Standards/src/agents/security/tool-access-agent.js +105 -0
  43. package/LeeWay-Standards/src/agents/standards/authority-agent.js +114 -0
  44. package/LeeWay-Standards/src/agents/standards/discovery-pipeline-agent.js +91 -0
  45. package/LeeWay-Standards/src/agents/standards/header-agent.js +120 -0
  46. package/LeeWay-Standards/src/agents/standards/placement-agent.js +96 -0
  47. package/LeeWay-Standards/src/agents/standards/region-agent.js +99 -0
  48. package/LeeWay-Standards/src/agents/standards/registry-agent.js +153 -0
  49. package/LeeWay-Standards/src/agents/standards/tag-agent.js +111 -0
  50. package/LeeWay-Standards/src/cli/leeway.js +225 -0
  51. package/LeeWay-Standards/src/core/compliance-scorer.js +168 -0
  52. package/LeeWay-Standards/src/core/compliance-scorer.test.js +121 -0
  53. package/LeeWay-Standards/src/core/header-parser.js +207 -0
  54. package/LeeWay-Standards/src/core/header-parser.test.js +198 -0
  55. package/LeeWay-Standards/src/core/region-classifier.js +137 -0
  56. package/LeeWay-Standards/src/core/region-classifier.test.js +100 -0
  57. package/LeeWay-Standards/src/core/tag-validator.js +139 -0
  58. package/LeeWay-Standards/src/core/tag-validator.test.js +109 -0
  59. package/LeeWay-Standards/src/index.js +83 -0
  60. package/README.md +217 -0
  61. package/agent-config.yaml +456 -0
  62. package/agentbage.png.png +0 -0
  63. package/bin/leeway-skills-badge.js +52 -0
  64. package/bin/leeway-skills-mcp.js +48 -0
  65. package/bin/leeway-skills.js +160 -0
  66. package/bin/leeway-standards.js +49 -0
  67. package/config/.skillsignore +63 -0
  68. package/config/skills-config.json +70 -0
  69. package/documents/AGENT_LEARNING_REFERENCE.md +329 -0
  70. package/documents/AGENT_LEE_INTEGRATION.md +534 -0
  71. package/documents/COMPLETE_SYSTEM_OVERVIEW.md +502 -0
  72. package/documents/COMPREHENSIVE_SKILL_INTEGRATION_PLAN.md +644 -0
  73. package/documents/DIRECTORY_MAP.md +323 -0
  74. package/documents/EXTENDING.md +514 -0
  75. package/documents/FILE_DIRECTORY_GUIDE.md +427 -0
  76. package/documents/LEEWAY_BADGE_INTEGRATION.md +76 -0
  77. package/documents/LEEWAY_IMPLEMENTATION_SUMMARY.md +384 -0
  78. package/documents/LEEWAY_INTEGRATION_GUIDE.md +414 -0
  79. package/documents/LEEWAY_NPM_SDK.md +66 -0
  80. package/documents/LEEWAY_QUICK_START.md +288 -0
  81. package/documents/LEEWAY_SKILLS_BRANDING.md +375 -0
  82. package/documents/LEEWAY_SKILLS_MCP_SUMMARY.md +593 -0
  83. package/documents/LEEWAY_STANDARDS_COMPLIANCE.md +361 -0
  84. package/documents/LEEWAY_UNIFIED_ARCHITECTURE.md +473 -0
  85. package/documents/LEEWAY_WORKFLOWS_QUICK_REFERENCE.md +307 -0
  86. package/documents/LEEWAY_WORKFLOWS_STRATEGIC_PLAN.md +515 -0
  87. package/documents/LIFELONG_LEARNING_LAYER.md +478 -0
  88. package/documents/MCP_ARCHITECTURE.md +683 -0
  89. package/documents/QUICK_REFERENCE.md +301 -0
  90. package/documents/SETUP.md +325 -0
  91. package/documents/SETUP_SUMMARY.md +413 -0
  92. package/documents/SKILL_ACQUISITION_EXECUTIVE_SUMMARY.md +373 -0
  93. package/documents/SKILL_ACQUISITION_IMPLEMENTATION.md +692 -0
  94. package/documents/SKILL_ACQUISITION_MANIFEST.md +404 -0
  95. package/documents/SKILL_ACQUISITION_QUICK_REFERENCE.md +349 -0
  96. package/documents/SKILL_WORKFLOW_COMPOSITION_MATRIX.md +537 -0
  97. package/documents/STRUCTURE.md +382 -0
  98. package/documents/SYSTEM_TRANSFORMATION_SUMMARY.md +560 -0
  99. package/documents/USAGE.md +390 -0
  100. package/documents/WORKFLOW_ACQUISITION_MANIFEST.md +576 -0
  101. package/documents/aiskills.txt +460 -0
  102. package/mcp-server/README.md +697 -0
  103. package/mcp-server/dist/badge-proof.d.ts +66 -0
  104. package/mcp-server/dist/badge-proof.d.ts.map +1 -0
  105. package/mcp-server/dist/badge-proof.js +324 -0
  106. package/mcp-server/dist/badge-proof.js.map +1 -0
  107. package/mcp-server/dist/index.d.ts +64 -0
  108. package/mcp-server/dist/index.d.ts.map +1 -0
  109. package/mcp-server/dist/index.js +263 -0
  110. package/mcp-server/dist/index.js.map +1 -0
  111. package/mcp-server/dist/install-badge-proof.d.ts +3 -0
  112. package/mcp-server/dist/install-badge-proof.d.ts.map +1 -0
  113. package/mcp-server/dist/install-badge-proof.js +109 -0
  114. package/mcp-server/dist/install-badge-proof.js.map +1 -0
  115. package/mcp-server/package.json +43 -0
  116. package/mcp-server/src/badge-proof.ts +469 -0
  117. package/mcp-server/src/index.ts +355 -0
  118. package/mcp-server/src/install-badge-proof.ts +132 -0
  119. package/mcp-server/tsconfig.json +22 -0
  120. package/package.json +84 -0
  121. package/scripts/init-leeway.js +217 -0
  122. package/scripts/leeway-agents/compliance-monitor.js +374 -0
  123. package/scripts/leeway-agents/header-injector.js +321 -0
  124. package/scripts/skill-integration-toolkit.py +319 -0
  125. package/scripts/skills-registry.json +1117 -0
  126. package/scripts/sync-skills.ps1 +275 -0
  127. package/scripts/verify-leeway-setup.js +249 -0
  128. package/scripts/workflow-integration-toolkit.py +522 -0
  129. package/sdk/application-installer.js +92 -0
  130. package/sdk/index.js +43 -0
  131. package/sdk/paths.js +167 -0
  132. package/skills/agent-autonomy/autonomous-conductor/SKILL.md +206 -0
  133. package/skills/agent-autonomy/full-stack-delivery/SKILL.md +206 -0
  134. package/skills/agent-orchestration/multi-agent-orchestration/SKILL.md +68 -0
  135. package/skills/agent-patterns/agent-design-patterns/SKILL.md +70 -0
  136. package/skills/ai-ml/llm-prompting/SKILL.md +71 -0
  137. package/skills/ai-ml/ml-model-development/SKILL.md +67 -0
  138. package/skills/ai-ml/multimodal-systems/SKILL.md +71 -0
  139. package/skills/ai-ml/retrieval-generation-fine-tuning/SKILL.md +71 -0
  140. package/skills/architecture/system-design/SKILL.md +67 -0
  141. package/skills/code-analysis/refactoring/SKILL.md +64 -0
  142. package/skills/code-analysis/security-vulnerability-scanning/SKILL.md +71 -0
  143. package/skills/code-analysis/static-analysis/SKILL.md +64 -0
  144. package/skills/code-generation/full-stack-application/SKILL.md +70 -0
  145. package/skills/code-generation/microservices-architecture/SKILL.md +71 -0
  146. package/skills/code-generation/python-codegen/SKILL.md +64 -0
  147. package/skills/code-generation/typescript-codegen/SKILL.md +64 -0
  148. package/skills/data-analysis/advanced-analytics/SKILL.md +71 -0
  149. package/skills/data-analysis/pandas-analysis/SKILL.md +66 -0
  150. package/skills/database-design/database-design-optimization/SKILL.md +70 -0
  151. package/skills/debugging/javascript-debugging/SKILL.md +67 -0
  152. package/skills/debugging/python-debugging/SKILL.md +67 -0
  153. package/skills/devops/dockerfile-creation/SKILL.md +64 -0
  154. package/skills/devops/kubernetes-deployment/SKILL.md +65 -0
  155. package/skills/documentation/api-documentation/SKILL.md +67 -0
  156. package/skills/error-handling/resilience-patterns/SKILL.md +70 -0
  157. package/skills/git-workflow/git-collaboration/SKILL.md +67 -0
  158. package/skills/infrastructure/cicd-pipelines/SKILL.md +70 -0
  159. package/skills/infrastructure/infrastructure-as-code/SKILL.md +70 -0
  160. package/skills/observability/monitoring-and-observability/SKILL.md +70 -0
  161. package/skills/performance-optimization/performance-engineering/SKILL.md +70 -0
  162. package/skills/prompt-optimization/prompt-engineering-advanced/SKILL.md +70 -0
  163. package/skills/quality-assurance/deployment-validator/SKILL.md +382 -0
  164. package/skills/quality-assurance/web-security-sweep/SKILL.md +320 -0
  165. package/skills/rag-knowledge/rag-systems/SKILL.md +70 -0
  166. package/skills/research/knowledge-synthesis/SKILL.md +71 -0
  167. package/skills/security/authentication-authorization/SKILL.md +71 -0
  168. package/skills/security/code-security/SKILL.md +66 -0
  169. package/skills/security/secure-architecture/SKILL.md +71 -0
  170. package/skills/self-optimization/dev-loop-optimizer/SKILL.md +344 -0
  171. package/skills/self-optimization/memory-learning/SKILL.md +335 -0
  172. package/skills/self-optimization/runtime-self-profiling/SKILL.md +250 -0
  173. package/skills/testing/advanced-testing-strategies/SKILL.md +71 -0
  174. package/skills/testing/integration-testing/SKILL.md +66 -0
  175. package/skills/testing/load-testing-capacity/SKILL.md +71 -0
  176. package/skills/testing/unit-testing/SKILL.md +66 -0
  177. package/skills/tool-integration/custom-tool-creation/SKILL.md +70 -0
  178. package/skills/web-development/advanced-frontend-patterns/SKILL.md +71 -0
  179. package/skills/web-development/api-design/SKILL.md +71 -0
  180. package/skills/web-development/css-styling/SKILL.md +67 -0
  181. package/skills/web-development/react-development/SKILL.md +79 -0
  182. package/skills/workflow-composition/workflow-orchestration/SKILL.md +70 -0
@@ -0,0 +1,263 @@
1
+ #!/usr/bin/env node
2
+ /*
3
+ LEEWAY HEADER — DO NOT REMOVE
4
+
5
+ REGION: LEEWAY.SKILLS.MCP
6
+ TAG: LEEWAY.SKILLS.MCP.SERVER
7
+
8
+ COLOR_ONION_HEX:
9
+ NEON=#39FF14
10
+ FLUO=#0DFF94
11
+ PASTEL=#C7FFD8
12
+
13
+ ICON_ASCII:
14
+ family=lucide
15
+ glyph=server
16
+
17
+ 5WH:
18
+ WHAT = Leeway Skills MCP Server - Exposes all Leeway Skills as callable MCP tools
19
+ WHY = Enables Agent Lee and other LLMs to use skills as first-class tools via MCP protocol
20
+ WHO = Leeway Industries (By Leonard Jerome Lee)
21
+ WHERE = mcp-server/src/index.ts
22
+ WHEN = 2026
23
+ HOW = Node.js MCP server that reads skill definitions and exposes them as callable tools
24
+
25
+ AGENTS:
26
+ SERVE
27
+ EXECUTE
28
+ INTROSPECT
29
+
30
+ LICENSE:
31
+ MIT
32
+ */
33
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
34
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
35
+ import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
36
+ import fs from "fs/promises";
37
+ import path from "path";
38
+ import { fileURLToPath, pathToFileURL } from "url";
39
+ const __filename = fileURLToPath(import.meta.url);
40
+ const __dirname = path.dirname(__filename);
41
+ /**
42
+ * LeewaySkillsMCPServer - Main MCP server implementation
43
+ *
44
+ * Provides:
45
+ * - Tool listing (all available skills)
46
+ * - Tool invocation (execute skill logic)
47
+ * - Tool introspection (get skill metadata)
48
+ */
49
+ export class LeewaySkillsMCPServer {
50
+ constructor() {
51
+ this.skills = new Map();
52
+ this.registryPath = path.resolve(__dirname, "../../scripts/skills-registry.json");
53
+ this.server = new Server({
54
+ name: "leeway-skills-mcp",
55
+ version: "1.0.0",
56
+ }, {
57
+ capabilities: {
58
+ tools: {},
59
+ },
60
+ });
61
+ this.setupHandlers();
62
+ }
63
+ /**
64
+ * Load all skills from the registry
65
+ */
66
+ async loadSkills() {
67
+ try {
68
+ const registryContent = await fs.readFile(this.registryPath, "utf-8");
69
+ const registry = JSON.parse(registryContent);
70
+ if (registry.skills && Array.isArray(registry.skills)) {
71
+ registry.skills.forEach((skill) => {
72
+ if (skill.enabled) {
73
+ const skillId = skill.name.toLowerCase().replace(/\s+/g, "-");
74
+ this.skills.set(skillId, {
75
+ name: skill.name,
76
+ category: skill.category,
77
+ description: skill.description,
78
+ capabilities: skill.capabilities || [],
79
+ tags: skill.tags || [],
80
+ skillPath: skill.path,
81
+ version: skill.version || "1.0.0",
82
+ });
83
+ }
84
+ });
85
+ }
86
+ console.error(`[Leeway Skills MCP] Loaded ${this.skills.size} skills from registry`);
87
+ }
88
+ catch (error) {
89
+ console.error(`[Leeway Skills MCP] Error loading skills registry:`, error);
90
+ }
91
+ }
92
+ /**
93
+ * Setup MCP handlers
94
+ */
95
+ setupHandlers() {
96
+ /**
97
+ * Handle tool listing
98
+ */
99
+ this.server.setRequestHandler(ListToolsRequestSchema, async () => {
100
+ const tools = [];
101
+ for (const [skillId, skill] of this.skills) {
102
+ tools.push({
103
+ name: skillId,
104
+ description: `${skill.description}\n\nCategory: ${skill.category}\nCapabilities: ${skill.capabilities.join(", ")}`,
105
+ inputSchema: {
106
+ type: "object",
107
+ properties: {
108
+ instruction: {
109
+ type: "string",
110
+ description: `Detailed instruction for applying the ${skill.name} skill`,
111
+ },
112
+ context: {
113
+ type: "object",
114
+ description: "Additional context or code to analyze/generate",
115
+ properties: {
116
+ code: { type: "string" },
117
+ files: { type: "array", items: { type: "string" } },
118
+ requirements: { type: "string" },
119
+ framework: { type: "string" },
120
+ language: { type: "string" },
121
+ },
122
+ },
123
+ options: {
124
+ type: "object",
125
+ description: "Skill-specific options and parameters",
126
+ additionalProperties: true,
127
+ },
128
+ },
129
+ required: ["instruction"],
130
+ },
131
+ });
132
+ }
133
+ return { tools };
134
+ });
135
+ /**
136
+ * Handle tool execution
137
+ */
138
+ this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
139
+ const toolName = request.params.name;
140
+ const skill = this.skills.get(toolName);
141
+ if (!skill) {
142
+ return {
143
+ content: [
144
+ {
145
+ type: "text",
146
+ text: `Error: Skill "${toolName}" not found. Available skills: ${Array.from(this.skills.keys()).join(", ")}`,
147
+ },
148
+ ],
149
+ isError: true,
150
+ };
151
+ }
152
+ try {
153
+ const result = await this.executeSkill(skill, this.normalizeToolArgs(request.params.arguments));
154
+ return {
155
+ content: [
156
+ {
157
+ type: "text",
158
+ text: result,
159
+ },
160
+ ],
161
+ };
162
+ }
163
+ catch (error) {
164
+ return {
165
+ content: [
166
+ {
167
+ type: "text",
168
+ text: `Error executing skill "${toolName}": ${error instanceof Error ? error.message : String(error)}`,
169
+ },
170
+ ],
171
+ isError: true,
172
+ };
173
+ }
174
+ });
175
+ }
176
+ /**
177
+ * Execute a skill with given parameters
178
+ */
179
+ async executeSkill(skill, args) {
180
+ const { instruction, context = {}, options = {} } = args;
181
+ // Try to load the skill SKILL.md file for detailed instructions
182
+ let skillInstructions = "";
183
+ try {
184
+ const skillPath = path.resolve(__dirname, `../../${skill.skillPath}/SKILL.md`);
185
+ skillInstructions = await fs.readFile(skillPath, "utf-8");
186
+ }
187
+ catch {
188
+ skillInstructions = `# ${skill.name}\n\n${skill.description}\n\nCapabilities: ${skill.capabilities.join(", ")}`;
189
+ }
190
+ // Build the skill execution prompt
191
+ const executionPrompt = `
192
+ Executing the "${skill.name}" skill from Leeway Skills.
193
+
194
+ SKILL DOCUMENTATION:
195
+ ${skillInstructions}
196
+
197
+ USER INSTRUCTION:
198
+ ${instruction}
199
+
200
+ CONTEXT PROVIDED:
201
+ ${JSON.stringify(context, null, 2)}
202
+
203
+ OPTIONS:
204
+ ${JSON.stringify(options, null, 2)}
205
+
206
+ Please execute this skill instruction using the skill's expertise and capabilities.
207
+ Provide structured, actionable output that can be directly used.
208
+ Reference specific techniques from the skill documentation when applicable.
209
+ `;
210
+ return executionPrompt;
211
+ }
212
+ normalizeToolArgs(args) {
213
+ const instruction = typeof args?.instruction === "string" ? args.instruction : "";
214
+ const context = args?.context && typeof args.context === "object"
215
+ ? args.context
216
+ : {};
217
+ const options = args?.options && typeof args.options === "object"
218
+ ? args.options
219
+ : {};
220
+ return { instruction, context, options };
221
+ }
222
+ /**
223
+ * Start the MCP server
224
+ */
225
+ async start() {
226
+ await this.loadSkills();
227
+ // Connect transport
228
+ const transport = new StdioServerTransport();
229
+ await this.server.connect(transport);
230
+ console.error("[Leeway Skills MCP] Server started successfully");
231
+ console.error(`[Leeway Skills MCP] Serving ${this.skills.size} skills`);
232
+ console.error("[Leeway Skills MCP] Ready to accept tool calls from LLMs");
233
+ }
234
+ }
235
+ export async function startLeewaySkillsMCPServer() {
236
+ const server = new LeewaySkillsMCPServer();
237
+ await server.start();
238
+ return server;
239
+ }
240
+ function isDirectExecution() {
241
+ if (!process.argv[1]) {
242
+ return false;
243
+ }
244
+ return import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
245
+ }
246
+ /**
247
+ * Main entry point
248
+ */
249
+ async function main() {
250
+ await startLeewaySkillsMCPServer();
251
+ // Handle graceful shutdown
252
+ process.on("SIGINT", () => {
253
+ console.error("[Leeway Skills MCP] Shutting down gracefully...");
254
+ process.exit(0);
255
+ });
256
+ }
257
+ if (isDirectExecution()) {
258
+ main().catch((error) => {
259
+ console.error("[Leeway Skills MCP] Fatal error:", error);
260
+ process.exit(1);
261
+ });
262
+ }
263
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=install-badge-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-badge-proof.d.ts","sourceRoot":"","sources":["../src/install-badge-proof.ts"],"names":[],"mappings":""}
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env node
2
+ /*
3
+ LEEWAY HEADER — DO NOT REMOVE
4
+
5
+ REGION: LEEWAY.SKILLS.BADGE
6
+ TAG: LEEWAY.SKILLS.BADGE.INSTALLER
7
+
8
+ COLOR_ONION_HEX:
9
+ NEON=#39FF14
10
+ FLUO=#0DFF94
11
+ PASTEL=#C7FFD8
12
+
13
+ ICON_ASCII:
14
+ family=lucide
15
+ glyph=package-plus
16
+
17
+ 5WH:
18
+ WHAT = CLI installer for the Leeway Skills badge proof bundle
19
+ WHY = Makes it easy to drop a verified Leeway Skills badge into another application
20
+ WHO = Leeway Industries (By Leonard Jerome Lee)
21
+ WHERE = mcp-server/src/install-badge-proof.ts
22
+ WHEN = 2026
23
+ HOW = Parses CLI arguments, installs the badge bundle, and prints the integration output paths
24
+
25
+ AGENTS:
26
+ EXECUTE
27
+
28
+ LICENSE:
29
+ MIT
30
+ */
31
+ import path from "path";
32
+ import { installLeewaySkillsBadgeBundle, } from "./badge-proof.js";
33
+ function getArg(flag) {
34
+ const index = process.argv.indexOf(flag);
35
+ if (index === -1) {
36
+ return undefined;
37
+ }
38
+ return process.argv[index + 1];
39
+ }
40
+ function hasFlag(flag) {
41
+ return process.argv.includes(flag);
42
+ }
43
+ function getPositionalArgs() {
44
+ const rawArgs = process.argv.slice(2);
45
+ const positional = [];
46
+ for (let index = 0; index < rawArgs.length; index += 1) {
47
+ const arg = rawArgs[index];
48
+ if (arg.startsWith("--")) {
49
+ if (arg !== "--help") {
50
+ index += 1;
51
+ }
52
+ continue;
53
+ }
54
+ positional.push(arg);
55
+ }
56
+ return positional;
57
+ }
58
+ function printHelp() {
59
+ console.log(`Leeway Skills Badge Proof Installer
60
+
61
+ Usage:
62
+ node dist/install-badge-proof.js --target <dir> [options]
63
+
64
+ Options:
65
+ --target <dir> Directory to receive the badge bundle
66
+ --app-name <name> Application name shown in the badge proof
67
+ --app-version <version> Application version stored in the proof manifest
68
+ --app-url <url> Application URL stored in the proof manifest
69
+ --integration-method <id> Integration method label, default: mcp-server
70
+ --asset-dir <name> Asset subdirectory name, default: assets
71
+ --badge-file <name> Output badge filename, default: leeway-skills-agent-badge.png
72
+ --help Show this help output
73
+ `);
74
+ }
75
+ async function main() {
76
+ if (hasFlag("--help")) {
77
+ printHelp();
78
+ return;
79
+ }
80
+ const positionalArgs = getPositionalArgs();
81
+ const targetArg = getArg("--target") ?? positionalArgs[0];
82
+ if (!targetArg) {
83
+ throw new Error("Missing required --target argument");
84
+ }
85
+ const options = {
86
+ targetDir: targetArg,
87
+ appName: getArg("--app-name") ?? positionalArgs[1],
88
+ appVersion: getArg("--app-version"),
89
+ appUrl: getArg("--app-url"),
90
+ integrationMethod: getArg("--integration-method") ?? positionalArgs[2],
91
+ assetDirName: getArg("--asset-dir"),
92
+ badgeFileName: getArg("--badge-file"),
93
+ };
94
+ const result = await installLeewaySkillsBadgeBundle(options);
95
+ console.log("[Leeway Skills Badge] Bundle installed");
96
+ console.log(` Target: ${result.targetDir}`);
97
+ console.log(` Proof: ${result.files.proof}`);
98
+ console.log(` Script: ${result.files.script}`);
99
+ console.log(` Style: ${result.files.style}`);
100
+ console.log(` Snippet: ${result.files.snippet}`);
101
+ console.log(` Badge: ${result.files.badge}`);
102
+ console.log(` Active Skills: ${result.proof.leewaySkills.activeSkills} | Installed Skills: ${result.proof.leewaySkills.installedSkills}`);
103
+ console.log(` Snippet Preview: ${path.join(result.targetDir, "leeway-skills-badge.html")}`);
104
+ }
105
+ main().catch((error) => {
106
+ console.error("[Leeway Skills Badge] Fatal error:", error);
107
+ process.exit(1);
108
+ });
109
+ //# sourceMappingURL=install-badge-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-badge-proof.js","sourceRoot":"","sources":["../src/install-badge-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@leeway/skills-mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "Leeway Skills MCP Server - Expose Leeway Skills as callable MCP tools for AI agents",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "exports": {
8
+ ".": "./dist/index.js",
9
+ "./badge-proof": "./dist/badge-proof.js"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "start": "node dist/index.js",
14
+ "dev": "tsc && node dist/index.js",
15
+ "badge:install": "node dist/install-badge-proof.js",
16
+ "prebuild": "npm run clean",
17
+ "clean": "node -e \"require('fs').rmSync('dist',{ recursive: true, force: true })\""
18
+ },
19
+ "keywords": [
20
+ "mcp",
21
+ "model-context-protocol",
22
+ "leeway-skills",
23
+ "agent",
24
+ "tools",
25
+ "ai"
26
+ ],
27
+ "author": "Leeway Industries (By Leonard Jerome Lee)",
28
+ "license": "MIT",
29
+ "engines": {
30
+ "node": ">=18.0.0"
31
+ },
32
+ "dependencies": {
33
+ "@modelcontextprotocol/sdk": "^0.5.0"
34
+ },
35
+ "devDependencies": {
36
+ "@types/node": "^20.0.0",
37
+ "typescript": "^5.0.0"
38
+ },
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "local"
42
+ }
43
+ }