@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.
- package/.leeway/config.json +133 -0
- package/LICENSE +21 -0
- package/LeeWay-Standards/LICENSE +21 -0
- package/LeeWay-Standards/README.md +324 -0
- package/LeeWay-Standards/examples/NexusButton.tsx +90 -0
- package/LeeWay-Standards/examples/example-agent.js +89 -0
- package/LeeWay-Standards/package.json +61 -0
- package/LeeWay-Standards/schemas/leeway-config.schema.json +81 -0
- package/LeeWay-Standards/schemas/leeway-header.schema.json +63 -0
- package/LeeWay-Standards/src/agents/discovery/architecture-map-agent.js +134 -0
- package/LeeWay-Standards/src/agents/discovery/docs-agent.js +126 -0
- package/LeeWay-Standards/src/agents/discovery/explain-agent.js +95 -0
- package/LeeWay-Standards/src/agents/discovery/intent-registry-agent.js +119 -0
- package/LeeWay-Standards/src/agents/discovery/schema-agent.js +116 -0
- package/LeeWay-Standards/src/agents/discovery/sitemap-agent.js +88 -0
- package/LeeWay-Standards/src/agents/governance/align-agent.js +155 -0
- package/LeeWay-Standards/src/agents/governance/assess-agent.js +161 -0
- package/LeeWay-Standards/src/agents/governance/audit-agent.js +185 -0
- package/LeeWay-Standards/src/agents/integrity/circular-dependency-agent.js +88 -0
- package/LeeWay-Standards/src/agents/integrity/dependency-graph-agent.js +107 -0
- package/LeeWay-Standards/src/agents/integrity/duplicate-logic-agent.js +108 -0
- package/LeeWay-Standards/src/agents/integrity/import-agent.js +83 -0
- package/LeeWay-Standards/src/agents/integrity/module-policy-agent.js +94 -0
- package/LeeWay-Standards/src/agents/integrity/refactor-scan-agent.js +113 -0
- package/LeeWay-Standards/src/agents/integrity/syntax-agent.js +84 -0
- package/LeeWay-Standards/src/agents/mcp/endpoint-agent.js +106 -0
- package/LeeWay-Standards/src/agents/mcp/env-agent.js +111 -0
- package/LeeWay-Standards/src/agents/mcp/health-agent-lite.js +119 -0
- package/LeeWay-Standards/src/agents/mcp/manifest-agent.js +87 -0
- package/LeeWay-Standards/src/agents/mcp/port-agent.js +125 -0
- package/LeeWay-Standards/src/agents/mcp/process-agent.js +124 -0
- package/LeeWay-Standards/src/agents/mcp/runtime-agent.js +108 -0
- package/LeeWay-Standards/src/agents/mcp/transport-agent.js +78 -0
- package/LeeWay-Standards/src/agents/orchestration/doctor-agent.js +149 -0
- package/LeeWay-Standards/src/agents/orchestration/memory-agent-lite.js +125 -0
- package/LeeWay-Standards/src/agents/orchestration/router-agent.js +110 -0
- package/LeeWay-Standards/src/agents/security/permission-agent.js +98 -0
- package/LeeWay-Standards/src/agents/security/policy-agent.js +100 -0
- package/LeeWay-Standards/src/agents/security/privacy-agent.js +83 -0
- package/LeeWay-Standards/src/agents/security/prompt-security-agent.js +103 -0
- package/LeeWay-Standards/src/agents/security/secret-scan-agent.js +108 -0
- package/LeeWay-Standards/src/agents/security/tool-access-agent.js +105 -0
- package/LeeWay-Standards/src/agents/standards/authority-agent.js +114 -0
- package/LeeWay-Standards/src/agents/standards/discovery-pipeline-agent.js +91 -0
- package/LeeWay-Standards/src/agents/standards/header-agent.js +120 -0
- package/LeeWay-Standards/src/agents/standards/placement-agent.js +96 -0
- package/LeeWay-Standards/src/agents/standards/region-agent.js +99 -0
- package/LeeWay-Standards/src/agents/standards/registry-agent.js +153 -0
- package/LeeWay-Standards/src/agents/standards/tag-agent.js +111 -0
- package/LeeWay-Standards/src/cli/leeway.js +225 -0
- package/LeeWay-Standards/src/core/compliance-scorer.js +168 -0
- package/LeeWay-Standards/src/core/compliance-scorer.test.js +121 -0
- package/LeeWay-Standards/src/core/header-parser.js +207 -0
- package/LeeWay-Standards/src/core/header-parser.test.js +198 -0
- package/LeeWay-Standards/src/core/region-classifier.js +137 -0
- package/LeeWay-Standards/src/core/region-classifier.test.js +100 -0
- package/LeeWay-Standards/src/core/tag-validator.js +139 -0
- package/LeeWay-Standards/src/core/tag-validator.test.js +109 -0
- package/LeeWay-Standards/src/index.js +83 -0
- package/README.md +217 -0
- package/agent-config.yaml +456 -0
- package/agentbage.png.png +0 -0
- package/bin/leeway-skills-badge.js +52 -0
- package/bin/leeway-skills-mcp.js +48 -0
- package/bin/leeway-skills.js +160 -0
- package/bin/leeway-standards.js +49 -0
- package/config/.skillsignore +63 -0
- package/config/skills-config.json +70 -0
- package/documents/AGENT_LEARNING_REFERENCE.md +329 -0
- package/documents/AGENT_LEE_INTEGRATION.md +534 -0
- package/documents/COMPLETE_SYSTEM_OVERVIEW.md +502 -0
- package/documents/COMPREHENSIVE_SKILL_INTEGRATION_PLAN.md +644 -0
- package/documents/DIRECTORY_MAP.md +323 -0
- package/documents/EXTENDING.md +514 -0
- package/documents/FILE_DIRECTORY_GUIDE.md +427 -0
- package/documents/LEEWAY_BADGE_INTEGRATION.md +76 -0
- package/documents/LEEWAY_IMPLEMENTATION_SUMMARY.md +384 -0
- package/documents/LEEWAY_INTEGRATION_GUIDE.md +414 -0
- package/documents/LEEWAY_NPM_SDK.md +66 -0
- package/documents/LEEWAY_QUICK_START.md +288 -0
- package/documents/LEEWAY_SKILLS_BRANDING.md +375 -0
- package/documents/LEEWAY_SKILLS_MCP_SUMMARY.md +593 -0
- package/documents/LEEWAY_STANDARDS_COMPLIANCE.md +361 -0
- package/documents/LEEWAY_UNIFIED_ARCHITECTURE.md +473 -0
- package/documents/LEEWAY_WORKFLOWS_QUICK_REFERENCE.md +307 -0
- package/documents/LEEWAY_WORKFLOWS_STRATEGIC_PLAN.md +515 -0
- package/documents/LIFELONG_LEARNING_LAYER.md +478 -0
- package/documents/MCP_ARCHITECTURE.md +683 -0
- package/documents/QUICK_REFERENCE.md +301 -0
- package/documents/SETUP.md +325 -0
- package/documents/SETUP_SUMMARY.md +413 -0
- package/documents/SKILL_ACQUISITION_EXECUTIVE_SUMMARY.md +373 -0
- package/documents/SKILL_ACQUISITION_IMPLEMENTATION.md +692 -0
- package/documents/SKILL_ACQUISITION_MANIFEST.md +404 -0
- package/documents/SKILL_ACQUISITION_QUICK_REFERENCE.md +349 -0
- package/documents/SKILL_WORKFLOW_COMPOSITION_MATRIX.md +537 -0
- package/documents/STRUCTURE.md +382 -0
- package/documents/SYSTEM_TRANSFORMATION_SUMMARY.md +560 -0
- package/documents/USAGE.md +390 -0
- package/documents/WORKFLOW_ACQUISITION_MANIFEST.md +576 -0
- package/documents/aiskills.txt +460 -0
- package/mcp-server/README.md +697 -0
- package/mcp-server/dist/badge-proof.d.ts +66 -0
- package/mcp-server/dist/badge-proof.d.ts.map +1 -0
- package/mcp-server/dist/badge-proof.js +324 -0
- package/mcp-server/dist/badge-proof.js.map +1 -0
- package/mcp-server/dist/index.d.ts +64 -0
- package/mcp-server/dist/index.d.ts.map +1 -0
- package/mcp-server/dist/index.js +263 -0
- package/mcp-server/dist/index.js.map +1 -0
- package/mcp-server/dist/install-badge-proof.d.ts +3 -0
- package/mcp-server/dist/install-badge-proof.d.ts.map +1 -0
- package/mcp-server/dist/install-badge-proof.js +109 -0
- package/mcp-server/dist/install-badge-proof.js.map +1 -0
- package/mcp-server/package.json +43 -0
- package/mcp-server/src/badge-proof.ts +469 -0
- package/mcp-server/src/index.ts +355 -0
- package/mcp-server/src/install-badge-proof.ts +132 -0
- package/mcp-server/tsconfig.json +22 -0
- package/package.json +84 -0
- package/scripts/init-leeway.js +217 -0
- package/scripts/leeway-agents/compliance-monitor.js +374 -0
- package/scripts/leeway-agents/header-injector.js +321 -0
- package/scripts/skill-integration-toolkit.py +319 -0
- package/scripts/skills-registry.json +1117 -0
- package/scripts/sync-skills.ps1 +275 -0
- package/scripts/verify-leeway-setup.js +249 -0
- package/scripts/workflow-integration-toolkit.py +522 -0
- package/sdk/application-installer.js +92 -0
- package/sdk/index.js +43 -0
- package/sdk/paths.js +167 -0
- package/skills/agent-autonomy/autonomous-conductor/SKILL.md +206 -0
- package/skills/agent-autonomy/full-stack-delivery/SKILL.md +206 -0
- package/skills/agent-orchestration/multi-agent-orchestration/SKILL.md +68 -0
- package/skills/agent-patterns/agent-design-patterns/SKILL.md +70 -0
- package/skills/ai-ml/llm-prompting/SKILL.md +71 -0
- package/skills/ai-ml/ml-model-development/SKILL.md +67 -0
- package/skills/ai-ml/multimodal-systems/SKILL.md +71 -0
- package/skills/ai-ml/retrieval-generation-fine-tuning/SKILL.md +71 -0
- package/skills/architecture/system-design/SKILL.md +67 -0
- package/skills/code-analysis/refactoring/SKILL.md +64 -0
- package/skills/code-analysis/security-vulnerability-scanning/SKILL.md +71 -0
- package/skills/code-analysis/static-analysis/SKILL.md +64 -0
- package/skills/code-generation/full-stack-application/SKILL.md +70 -0
- package/skills/code-generation/microservices-architecture/SKILL.md +71 -0
- package/skills/code-generation/python-codegen/SKILL.md +64 -0
- package/skills/code-generation/typescript-codegen/SKILL.md +64 -0
- package/skills/data-analysis/advanced-analytics/SKILL.md +71 -0
- package/skills/data-analysis/pandas-analysis/SKILL.md +66 -0
- package/skills/database-design/database-design-optimization/SKILL.md +70 -0
- package/skills/debugging/javascript-debugging/SKILL.md +67 -0
- package/skills/debugging/python-debugging/SKILL.md +67 -0
- package/skills/devops/dockerfile-creation/SKILL.md +64 -0
- package/skills/devops/kubernetes-deployment/SKILL.md +65 -0
- package/skills/documentation/api-documentation/SKILL.md +67 -0
- package/skills/error-handling/resilience-patterns/SKILL.md +70 -0
- package/skills/git-workflow/git-collaboration/SKILL.md +67 -0
- package/skills/infrastructure/cicd-pipelines/SKILL.md +70 -0
- package/skills/infrastructure/infrastructure-as-code/SKILL.md +70 -0
- package/skills/observability/monitoring-and-observability/SKILL.md +70 -0
- package/skills/performance-optimization/performance-engineering/SKILL.md +70 -0
- package/skills/prompt-optimization/prompt-engineering-advanced/SKILL.md +70 -0
- package/skills/quality-assurance/deployment-validator/SKILL.md +382 -0
- package/skills/quality-assurance/web-security-sweep/SKILL.md +320 -0
- package/skills/rag-knowledge/rag-systems/SKILL.md +70 -0
- package/skills/research/knowledge-synthesis/SKILL.md +71 -0
- package/skills/security/authentication-authorization/SKILL.md +71 -0
- package/skills/security/code-security/SKILL.md +66 -0
- package/skills/security/secure-architecture/SKILL.md +71 -0
- package/skills/self-optimization/dev-loop-optimizer/SKILL.md +344 -0
- package/skills/self-optimization/memory-learning/SKILL.md +335 -0
- package/skills/self-optimization/runtime-self-profiling/SKILL.md +250 -0
- package/skills/testing/advanced-testing-strategies/SKILL.md +71 -0
- package/skills/testing/integration-testing/SKILL.md +66 -0
- package/skills/testing/load-testing-capacity/SKILL.md +71 -0
- package/skills/testing/unit-testing/SKILL.md +66 -0
- package/skills/tool-integration/custom-tool-creation/SKILL.md +70 -0
- package/skills/web-development/advanced-frontend-patterns/SKILL.md +71 -0
- package/skills/web-development/api-design/SKILL.md +71 -0
- package/skills/web-development/css-styling/SKILL.md +67 -0
- package/skills/web-development/react-development/SKILL.md +79 -0
- package/skills/workflow-composition/workflow-orchestration/SKILL.md +70 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/*
|
|
2
|
+
LEEWAY HEADER — DO NOT REMOVE
|
|
3
|
+
|
|
4
|
+
REGION: CORE.SDK.VALIDATOR
|
|
5
|
+
TAG: CORE.SDK.TAG.VALIDATOR
|
|
6
|
+
|
|
7
|
+
COLOR_ONION_HEX:
|
|
8
|
+
NEON=#39FF14
|
|
9
|
+
FLUO=#0DFF94
|
|
10
|
+
PASTEL=#C7FFD8
|
|
11
|
+
|
|
12
|
+
ICON_ASCII:
|
|
13
|
+
family=lucide
|
|
14
|
+
glyph=tag
|
|
15
|
+
|
|
16
|
+
5WH:
|
|
17
|
+
WHAT = Validates and infers LEEWAY TAG values for files
|
|
18
|
+
WHY = Every file needs a structured TAG to be discoverable and machine-readable
|
|
19
|
+
WHO = Rapid Web Development
|
|
20
|
+
WHERE = src/core/tag-validator.js
|
|
21
|
+
WHEN = 2026
|
|
22
|
+
HOW = Pattern matching against known domain/subdomain/asset/purpose vocabulary
|
|
23
|
+
|
|
24
|
+
AGENTS:
|
|
25
|
+
TAG
|
|
26
|
+
ASSESS
|
|
27
|
+
|
|
28
|
+
LICENSE:
|
|
29
|
+
MIT
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
const TAG_DOMAINS = ['UI', 'CORE', 'DATA', 'AI', 'SEO', 'UTIL', 'MCP', 'SECURITY', 'TEST', 'DOCS'];
|
|
33
|
+
|
|
34
|
+
const DOMAIN_SUBDOMAINS = {
|
|
35
|
+
UI: ['COMPONENT', 'PAGE', 'LAYOUT', 'HOOK', 'CONTEXT', 'STYLE', 'THEME'],
|
|
36
|
+
CORE: ['SDK', 'ENGINE', 'RUNTIME', 'CONFIG', 'SCHEMA', 'REGISTRY'],
|
|
37
|
+
DATA: ['LOCAL', 'REMOTE', 'STORE', 'CACHE', 'MODEL', 'MIGRATION'],
|
|
38
|
+
AI: ['ORCHESTRATION', 'MODEL', 'PROMPT', 'ROUTER', 'AGENT', 'MEMORY'],
|
|
39
|
+
SEO: ['SCHEMA', 'META', 'SITEMAP', 'GENERATOR', 'DISCOVERY'],
|
|
40
|
+
UTIL: ['FORMAT', 'DATE', 'STRING', 'MATH', 'CRYPTO', 'LOGGER', 'HELPER'],
|
|
41
|
+
MCP: ['TRANSPORT', 'ENDPOINT', 'PORT', 'PROCESS', 'MANIFEST', 'HEALTH'],
|
|
42
|
+
SECURITY: ['SCANNER', 'POLICY', 'PERMISSION', 'VALIDATOR', 'AUDIT'],
|
|
43
|
+
TEST: ['UNIT', 'INTEGRATION', 'E2E', 'FIXTURE', 'MOCK'],
|
|
44
|
+
DOCS: ['STANDARD', 'GUIDE', 'SCHEMA', 'REPORT', 'EXAMPLE'],
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Validate a LEEWAY TAG string.
|
|
49
|
+
* Format: DOMAIN.SUBDOMAIN.ASSET.PURPOSE (minimum 3 parts)
|
|
50
|
+
*
|
|
51
|
+
* @param {string} tag
|
|
52
|
+
* @returns {{ valid: boolean, errors: string[] }}
|
|
53
|
+
*/
|
|
54
|
+
export function validateTag(tag) {
|
|
55
|
+
const errors = [];
|
|
56
|
+
|
|
57
|
+
if (!tag || typeof tag !== 'string') {
|
|
58
|
+
return { valid: false, errors: ['TAG must be a non-empty string'] };
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const parts = tag.toUpperCase().split('.');
|
|
62
|
+
if (parts.length < 3) {
|
|
63
|
+
errors.push('TAG must have at least 3 parts: DOMAIN.SUBDOMAIN.ASSET');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const [domain, subdomain] = parts;
|
|
67
|
+
|
|
68
|
+
if (!TAG_DOMAINS.includes(domain)) {
|
|
69
|
+
errors.push(`Unknown TAG domain "${domain}". Valid: ${TAG_DOMAINS.join(', ')}`);
|
|
70
|
+
} else if (subdomain && DOMAIN_SUBDOMAINS[domain]) {
|
|
71
|
+
if (!DOMAIN_SUBDOMAINS[domain].includes(subdomain)) {
|
|
72
|
+
errors.push(`Unknown subdomain "${subdomain}" for domain "${domain}". Valid: ${DOMAIN_SUBDOMAINS[domain].join(', ')}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const tagPattern = /^[A-Z][A-Z0-9]*(\.[A-Z][A-Z0-9]*)+$/;
|
|
77
|
+
if (!tagPattern.test(tag)) {
|
|
78
|
+
errors.push('TAG must use UPPERCASE.DOT.NOTATION with alphanumeric segments');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return { valid: errors.length === 0, errors };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Infer a LEEWAY TAG from a file path and optional context.
|
|
86
|
+
*
|
|
87
|
+
* @param {string} filePath - Relative or absolute file path
|
|
88
|
+
* @param {{ purpose?: string, name?: string }} [context]
|
|
89
|
+
* @returns {string} - Inferred TAG string
|
|
90
|
+
*/
|
|
91
|
+
export function inferTag(filePath, context = {}) {
|
|
92
|
+
const path = filePath.toLowerCase().replace(/\\/g, '/');
|
|
93
|
+
const normalizedOriginal = filePath.replace(/\\/g, '/');
|
|
94
|
+
const originalSegments = normalizedOriginal.split('/').filter(Boolean);
|
|
95
|
+
const originalFileName = originalSegments[originalSegments.length - 1] || '';
|
|
96
|
+
const segments = path.split('/').filter(Boolean);
|
|
97
|
+
const fileName = segments[segments.length - 1] || '';
|
|
98
|
+
const baseName = fileName.replace(/\.[^.]+$/, '').toUpperCase().replace(/[^A-Z0-9]/g, '_');
|
|
99
|
+
const purpose = (context.purpose || 'MAIN').toUpperCase().replace(/[^A-Z0-9]/g, '_');
|
|
100
|
+
|
|
101
|
+
if (path.includes('/components/') || path.includes('/ui/')) {
|
|
102
|
+
return `UI.COMPONENT.${baseName}.${purpose}`;
|
|
103
|
+
}
|
|
104
|
+
if (path.includes('/pages/') || path.includes('/page/')) {
|
|
105
|
+
return `UI.PAGE.${baseName}.${purpose}`;
|
|
106
|
+
}
|
|
107
|
+
if (path.includes('/hooks/') || /^use[A-Z]/.test(originalFileName)) {
|
|
108
|
+
return `UI.HOOK.${baseName}.${purpose}`;
|
|
109
|
+
}
|
|
110
|
+
if (path.includes('/agents/')) {
|
|
111
|
+
return `AI.AGENT.${baseName}.${purpose}`;
|
|
112
|
+
}
|
|
113
|
+
if (path.includes('/ai/') || path.includes('/llm/')) {
|
|
114
|
+
return `AI.ORCHESTRATION.${baseName}.${purpose}`;
|
|
115
|
+
}
|
|
116
|
+
if (path.includes('/data/') || path.includes('/store/') || path.includes('/db/')) {
|
|
117
|
+
return `DATA.STORE.${baseName}.${purpose}`;
|
|
118
|
+
}
|
|
119
|
+
if (path.includes('/security/') || path.includes('/auth/')) {
|
|
120
|
+
return `SECURITY.VALIDATOR.${baseName}.${purpose}`;
|
|
121
|
+
}
|
|
122
|
+
if (path.includes('/seo/') || path.includes('/discovery/') || path.includes('/schema/')) {
|
|
123
|
+
return `SEO.SCHEMA.${baseName}.${purpose}`;
|
|
124
|
+
}
|
|
125
|
+
if (path.includes('/utils/') || path.includes('/helpers/') || path.includes('/util/')) {
|
|
126
|
+
return `UTIL.HELPER.${baseName}.${purpose}`;
|
|
127
|
+
}
|
|
128
|
+
if (path.includes('/mcp/') || path.includes('/transport/')) {
|
|
129
|
+
return `MCP.TRANSPORT.${baseName}.${purpose}`;
|
|
130
|
+
}
|
|
131
|
+
if (path.includes('/core/') || path.includes('/sdk/')) {
|
|
132
|
+
return `CORE.SDK.${baseName}.${purpose}`;
|
|
133
|
+
}
|
|
134
|
+
if (path.includes('/docs/') || path.includes('/documentation/')) {
|
|
135
|
+
return `DOCS.STANDARD.${baseName}.${purpose}`;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return `CORE.SDK.${baseName}.${purpose}`;
|
|
139
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*
|
|
2
|
+
LEEWAY HEADER — DO NOT REMOVE
|
|
3
|
+
|
|
4
|
+
REGION: TEST.CORE.TAG
|
|
5
|
+
TAG: TEST.UNIT.TAG.VALIDATOR
|
|
6
|
+
|
|
7
|
+
COLOR_ONION_HEX:
|
|
8
|
+
NEON=#39FF14
|
|
9
|
+
FLUO=#0DFF94
|
|
10
|
+
PASTEL=#C7FFD8
|
|
11
|
+
|
|
12
|
+
ICON_ASCII:
|
|
13
|
+
family=lucide
|
|
14
|
+
glyph=test-tube
|
|
15
|
+
|
|
16
|
+
5WH:
|
|
17
|
+
WHAT = Unit tests for the LEEWAY tag-validator core module
|
|
18
|
+
WHY = TAG validation is critical — invalid tags break discoverability and governance
|
|
19
|
+
WHO = Rapid Web Development
|
|
20
|
+
WHERE = src/core/tag-validator.test.js
|
|
21
|
+
WHEN = 2026
|
|
22
|
+
HOW = Node.js built-in test runner (node:test) with assert
|
|
23
|
+
|
|
24
|
+
AGENTS:
|
|
25
|
+
AUDIT
|
|
26
|
+
|
|
27
|
+
LICENSE:
|
|
28
|
+
MIT
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
import { test, describe } from 'node:test';
|
|
32
|
+
import assert from 'node:assert/strict';
|
|
33
|
+
import { validateTag, inferTag } from './tag-validator.js';
|
|
34
|
+
|
|
35
|
+
describe('validateTag', () => {
|
|
36
|
+
test('validates a correct tag', () => {
|
|
37
|
+
const { valid, errors } = validateTag('UI.COMPONENT.NEXUS.BUTTON');
|
|
38
|
+
assert.equal(valid, true);
|
|
39
|
+
assert.equal(errors.length, 0);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('rejects a tag with too few parts', () => {
|
|
43
|
+
const { valid, errors } = validateTag('UI.COMPONENT');
|
|
44
|
+
assert.equal(valid, false);
|
|
45
|
+
assert.ok(errors.some(e => e.includes('3 parts')));
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test('rejects an empty tag', () => {
|
|
49
|
+
const { valid } = validateTag('');
|
|
50
|
+
assert.equal(valid, false);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
test('rejects null tag', () => {
|
|
54
|
+
const { valid } = validateTag(null);
|
|
55
|
+
assert.equal(valid, false);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('rejects lowercase tag', () => {
|
|
59
|
+
const { valid } = validateTag('ui.component.button');
|
|
60
|
+
assert.equal(valid, false);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test('validates multi-part tags', () => {
|
|
64
|
+
const tags = [
|
|
65
|
+
'AI.ORCHESTRATION.MODEL.LOADER',
|
|
66
|
+
'DATA.LOCAL.STORE.MAIN',
|
|
67
|
+
'SEO.SCHEMA.GENERATOR.JSONLD',
|
|
68
|
+
'UTIL.FORMAT.DATE.HELPER',
|
|
69
|
+
'CORE.SDK.HEADER.PARSER',
|
|
70
|
+
];
|
|
71
|
+
for (const tag of tags) {
|
|
72
|
+
const { valid, errors } = validateTag(tag);
|
|
73
|
+
assert.equal(valid, true, `Tag "${tag}" should be valid. Errors: ${errors.join(', ')}`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
describe('inferTag', () => {
|
|
79
|
+
test('infers UI tag for component path', () => {
|
|
80
|
+
const tag = inferTag('src/components/NexusButton.tsx');
|
|
81
|
+
assert.ok(tag.startsWith('UI.COMPONENT.'));
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test('infers AI tag for agent path', () => {
|
|
85
|
+
const tag = inferTag('src/agents/assess-agent.js');
|
|
86
|
+
assert.ok(tag.startsWith('AI.AGENT.'));
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
test('infers DATA tag for store path', () => {
|
|
90
|
+
const tag = inferTag('src/store/userStore.js');
|
|
91
|
+
assert.ok(tag.startsWith('DATA.STORE.'));
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
test('infers UTIL tag for utils path', () => {
|
|
95
|
+
const tag = inferTag('src/utils/formatDate.js');
|
|
96
|
+
assert.ok(tag.startsWith('UTIL.HELPER.'));
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
test('infers SECURITY tag for auth path', () => {
|
|
100
|
+
const tag = inferTag('src/auth/validator.js');
|
|
101
|
+
assert.ok(tag.startsWith('SECURITY.VALIDATOR.'));
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
test('returns fallback for unknown paths', () => {
|
|
105
|
+
const tag = inferTag('src/unknown/something.js');
|
|
106
|
+
assert.ok(typeof tag === 'string');
|
|
107
|
+
assert.ok(tag.length > 0);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*
|
|
2
|
+
LEEWAY HEADER — DO NOT REMOVE
|
|
3
|
+
|
|
4
|
+
REGION: CORE.SDK.ENTRY
|
|
5
|
+
TAG: CORE.SDK.LEEWAY.INDEX
|
|
6
|
+
|
|
7
|
+
COLOR_ONION_HEX:
|
|
8
|
+
NEON=#39FF14
|
|
9
|
+
FLUO=#0DFF94
|
|
10
|
+
PASTEL=#C7FFD8
|
|
11
|
+
|
|
12
|
+
ICON_ASCII:
|
|
13
|
+
family=lucide
|
|
14
|
+
glyph=layers
|
|
15
|
+
|
|
16
|
+
5WH:
|
|
17
|
+
WHAT = LEEWAY SDK main entry point — exports all agents, core modules, and utilities
|
|
18
|
+
WHY = Provides a single importable surface for consumers of the LEEWAY governance framework
|
|
19
|
+
WHO = Rapid Web Development
|
|
20
|
+
WHERE = src/index.js
|
|
21
|
+
WHEN = 2026
|
|
22
|
+
HOW = ESM exports, lazy agent loading, zero heavy dependencies
|
|
23
|
+
|
|
24
|
+
AGENTS:
|
|
25
|
+
ASSESS
|
|
26
|
+
ALIGN
|
|
27
|
+
AUDIT
|
|
28
|
+
|
|
29
|
+
LICENSE:
|
|
30
|
+
MIT
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
export { parseHeader, buildHeader, validateHeader } from './core/header-parser.js';
|
|
34
|
+
export { validateTag, inferTag } from './core/tag-validator.js';
|
|
35
|
+
export { classifyRegion, REGIONS } from './core/region-classifier.js';
|
|
36
|
+
export { scoreCompliance, COMPLIANCE_LEVELS } from './core/compliance-scorer.js';
|
|
37
|
+
|
|
38
|
+
export { AssessAgent } from './agents/governance/assess-agent.js';
|
|
39
|
+
export { AlignAgent } from './agents/governance/align-agent.js';
|
|
40
|
+
export { AuditAgent } from './agents/governance/audit-agent.js';
|
|
41
|
+
|
|
42
|
+
export { HeaderAgent } from './agents/standards/header-agent.js';
|
|
43
|
+
export { TagAgent } from './agents/standards/tag-agent.js';
|
|
44
|
+
export { RegionAgent } from './agents/standards/region-agent.js';
|
|
45
|
+
export { DiscoveryPipelineAgent } from './agents/standards/discovery-pipeline-agent.js';
|
|
46
|
+
export { AuthorityAgent } from './agents/standards/authority-agent.js';
|
|
47
|
+
export { PlacementAgent } from './agents/standards/placement-agent.js';
|
|
48
|
+
export { RegistryAgent } from './agents/standards/registry-agent.js';
|
|
49
|
+
|
|
50
|
+
export { EndpointAgent } from './agents/mcp/endpoint-agent.js';
|
|
51
|
+
export { TransportAgent } from './agents/mcp/transport-agent.js';
|
|
52
|
+
export { PortAgent } from './agents/mcp/port-agent.js';
|
|
53
|
+
export { ProcessAgent } from './agents/mcp/process-agent.js';
|
|
54
|
+
export { EnvAgent } from './agents/mcp/env-agent.js';
|
|
55
|
+
export { RuntimeAgent } from './agents/mcp/runtime-agent.js';
|
|
56
|
+
export { ManifestAgent } from './agents/mcp/manifest-agent.js';
|
|
57
|
+
export { HealthAgentLite } from './agents/mcp/health-agent-lite.js';
|
|
58
|
+
|
|
59
|
+
export { SyntaxAgent } from './agents/integrity/syntax-agent.js';
|
|
60
|
+
export { ImportAgent } from './agents/integrity/import-agent.js';
|
|
61
|
+
export { ModulePolicyAgent } from './agents/integrity/module-policy-agent.js';
|
|
62
|
+
export { DuplicateLogicAgent } from './agents/integrity/duplicate-logic-agent.js';
|
|
63
|
+
export { DependencyGraphAgent } from './agents/integrity/dependency-graph-agent.js';
|
|
64
|
+
export { CircularDependencyAgent } from './agents/integrity/circular-dependency-agent.js';
|
|
65
|
+
export { RefactorScanAgent } from './agents/integrity/refactor-scan-agent.js';
|
|
66
|
+
|
|
67
|
+
export { SecretScanAgent } from './agents/security/secret-scan-agent.js';
|
|
68
|
+
export { PermissionAgent } from './agents/security/permission-agent.js';
|
|
69
|
+
export { PromptSecurityAgent } from './agents/security/prompt-security-agent.js';
|
|
70
|
+
export { ToolAccessAgent } from './agents/security/tool-access-agent.js';
|
|
71
|
+
export { PolicyAgent } from './agents/security/policy-agent.js';
|
|
72
|
+
export { PrivacyAgent } from './agents/security/privacy-agent.js';
|
|
73
|
+
|
|
74
|
+
export { SchemaAgent } from './agents/discovery/schema-agent.js';
|
|
75
|
+
export { SitemapAgent } from './agents/discovery/sitemap-agent.js';
|
|
76
|
+
export { IntentRegistryAgent } from './agents/discovery/intent-registry-agent.js';
|
|
77
|
+
export { DocsAgent } from './agents/discovery/docs-agent.js';
|
|
78
|
+
export { ExplainAgent } from './agents/discovery/explain-agent.js';
|
|
79
|
+
export { ArchitectureMapAgent } from './agents/discovery/architecture-map-agent.js';
|
|
80
|
+
|
|
81
|
+
export { RouterAgent } from './agents/orchestration/router-agent.js';
|
|
82
|
+
export { MemoryAgentLite } from './agents/orchestration/memory-agent-lite.js';
|
|
83
|
+
export { DoctorAgent } from './agents/orchestration/doctor-agent.js';
|
package/README.md
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# LeeWay Agent Skills
|
|
2
|
+
|
|
3
|
+
[](https://github.com/4citeB4U/LeeWay-Agent-Skills)
|
|
4
|
+
[](https://www.npmjs.com/package/@leeway/agent-skills)
|
|
5
|
+
[](https://nodejs.org/)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](mcp-server/README.md)
|
|
8
|
+
|
|
9
|
+
> The developer-facing skill system for agentic engineering.
|
|
10
|
+
>
|
|
11
|
+
> LeeWay Agent Skills gives developers, AI engineers, platform teams, and product builders a practical way to turn LLM capability into an operating layer: reusable skill modules, callable MCP tools, workflow orchestration, governance automation, and proof-backed integration assets.
|
|
12
|
+
|
|
13
|
+
## Why This Project Exists
|
|
14
|
+
|
|
15
|
+
Most AI tooling stops at prompting. LeeWay Agent Skills is built for teams that need more than a clever demo. It packages structured execution knowledge, workflow composition, MCP delivery, and compliance controls into one repository so agentic systems can be deployed with more consistency, more speed, and less operational guesswork.
|
|
16
|
+
|
|
17
|
+
If you are building internal copilots, engineering assistants, AI-enabled products, platform tooling, or multi-agent systems, this project is designed to help you move from experimentation to repeatable delivery.
|
|
18
|
+
|
|
19
|
+
## What You Get
|
|
20
|
+
|
|
21
|
+
| Area | What it delivers |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| Skill Library | 51 installed skill modules across 27 categories for engineering, QA, AI, security, architecture, workflow composition, and more |
|
|
24
|
+
| MCP Runtime | 44 active MCP-exposed tools today through the packaged skills registry |
|
|
25
|
+
| Workflow Layer | 50+ documented workflow patterns and acquisition plans for orchestration at scale |
|
|
26
|
+
| Standards and Governance | Leeway Standards integration for headers, compliance scanning, remediation, and operational guardrails |
|
|
27
|
+
| NPM Distribution | Installable package and CLI surface via `@leeway/agent-skills` |
|
|
28
|
+
| Integration Proof | Badge bundle generator to visibly prove another application is powered by LeeWay Agent Skills |
|
|
29
|
+
|
|
30
|
+
## Built For
|
|
31
|
+
|
|
32
|
+
- Developers building faster with structured AI capabilities instead of ad hoc prompting
|
|
33
|
+
- Engineering organizations that want reusable agent skills with governance built in
|
|
34
|
+
- AI product teams shipping assistants, copilots, internal platforms, or MCP servers
|
|
35
|
+
- Agencies, consultants, and platform teams who need proof-backed AI integration assets
|
|
36
|
+
- Multi-agent and workflow builders who need a growing skill and orchestration layer
|
|
37
|
+
|
|
38
|
+
## Product Positioning
|
|
39
|
+
|
|
40
|
+
LeeWay Agent Skills is not just a prompt collection and not just a documentation dump. It is a packaged capability layer for agentic software systems.
|
|
41
|
+
|
|
42
|
+
It combines:
|
|
43
|
+
|
|
44
|
+
- A reusable skill library
|
|
45
|
+
- A callable MCP tool surface
|
|
46
|
+
- Workflow composition strategy
|
|
47
|
+
- Governance and compliance automation
|
|
48
|
+
- Badge-driven proof of integration
|
|
49
|
+
- A distribution model that works through GitHub and npm
|
|
50
|
+
|
|
51
|
+
That combination makes it useful both as an engineering asset and as a platform story you can deploy, demonstrate, and sell internally or externally.
|
|
52
|
+
|
|
53
|
+
## Quick Start
|
|
54
|
+
|
|
55
|
+
### Install From npm
|
|
56
|
+
|
|
57
|
+
```powershell
|
|
58
|
+
npm install @leeway/agent-skills
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
```powershell
|
|
62
|
+
leeway-agent-skills info
|
|
63
|
+
leeway-agent-skills-mcp
|
|
64
|
+
leeway-agent-skills-badge .\public\leeway-proof "My App" mcp-server
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Compatibility aliases are also included:
|
|
68
|
+
|
|
69
|
+
```powershell
|
|
70
|
+
leeway-skills info
|
|
71
|
+
leeway-skills-mcp
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Clone The Repository
|
|
75
|
+
|
|
76
|
+
```powershell
|
|
77
|
+
git clone https://github.com/4citeB4U/LeeWay-Agent-Skills.git
|
|
78
|
+
cd LeeWay-Agent-Skills
|
|
79
|
+
npm --prefix mcp-server install
|
|
80
|
+
npm --prefix mcp-server run build
|
|
81
|
+
node .\bin\leeway-skills.js info
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Run The MCP Server
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
node .\bin\leeway-skills.js mcp
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Generate A Proof-Backed Badge Bundle
|
|
91
|
+
|
|
92
|
+
```powershell
|
|
93
|
+
node .\bin\leeway-skills.js badge .\public\leeway-proof "My App" mcp-server
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## How Developers Use It
|
|
97
|
+
|
|
98
|
+
| Use case | What LeeWay Agent Skills adds |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| Internal engineering copilots | Reusable skill modules, clearer execution prompts, and callable tools |
|
|
101
|
+
| CI and delivery automation | Workflow composition patterns for diagnosis, recovery, validation, and release handling |
|
|
102
|
+
| Code generation and review | Structured expertise across TypeScript, Python, testing, architecture, and security |
|
|
103
|
+
| Security and compliance | Standards checks, header enforcement, secret scanning, and remediation helpers |
|
|
104
|
+
| Productized AI platforms | Badge proof bundles and npm distribution for integration into other apps |
|
|
105
|
+
|
|
106
|
+
## Architecture At A Glance
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
Skills -> Workflows -> MCP Tools -> Agents -> Governance -> Proof
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
LeeWay Agent Skills
|
|
114
|
+
|- skills/ reusable capability modules
|
|
115
|
+
|- mcp-server/ packaged Model Context Protocol server
|
|
116
|
+
|- LeeWay-Standards/ governance, scanning, and repair tooling
|
|
117
|
+
|- scripts/ automation and registry utilities
|
|
118
|
+
|- documents/ strategy, planning, architecture, and rollout docs
|
|
119
|
+
|- bin/ package-level developer CLIs
|
|
120
|
+
`- sdk/ importable runtime helpers and path utilities
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Core Capabilities
|
|
124
|
+
|
|
125
|
+
### Skill Library
|
|
126
|
+
|
|
127
|
+
The `skills/` tree contains the actual operating knowledge for the system. These skills cover code generation, debugging, testing, infrastructure, AI/ML, architecture, security, research, workflow composition, and more.
|
|
128
|
+
|
|
129
|
+
### MCP Server
|
|
130
|
+
|
|
131
|
+
The packaged MCP server exposes the active skill registry as callable tools so LLMs and agent frameworks can interact with the system as runtime capabilities instead of static reference text.
|
|
132
|
+
|
|
133
|
+
Start here: [mcp-server/README.md](mcp-server/README.md)
|
|
134
|
+
|
|
135
|
+
### Workflow Strategy
|
|
136
|
+
|
|
137
|
+
LeeWay Agent Skills includes workflow planning and orchestration strategy for higher-order execution, including pre-composed bundles for CI recovery, reporting, coordination, analysis, and agent collaboration.
|
|
138
|
+
|
|
139
|
+
Start here: [documents/LEEWAY_WORKFLOWS_STRATEGIC_PLAN.md](documents/LEEWAY_WORKFLOWS_STRATEGIC_PLAN.md)
|
|
140
|
+
|
|
141
|
+
### Governance And Standards
|
|
142
|
+
|
|
143
|
+
The project integrates Leeway Standards so teams can add headers, scan compliance posture, and improve consistency across files, agents, and automation pipelines.
|
|
144
|
+
|
|
145
|
+
Start here: [documents/LEEWAY_STANDARDS_COMPLIANCE.md](documents/LEEWAY_STANDARDS_COMPLIANCE.md)
|
|
146
|
+
|
|
147
|
+
### Badge And Proof Integration
|
|
148
|
+
|
|
149
|
+
If another application uses LeeWay Agent Skills, the badge tooling can generate visible proof files and embeddable assets so usage is not hidden or hand-wavy.
|
|
150
|
+
|
|
151
|
+
Start here: [documents/LEEWAY_BADGE_INTEGRATION.md](documents/LEEWAY_BADGE_INTEGRATION.md)
|
|
152
|
+
|
|
153
|
+
## Repository Guide
|
|
154
|
+
|
|
155
|
+
| Path | Purpose |
|
|
156
|
+
| --- | --- |
|
|
157
|
+
| `README.md` | Project overview, positioning, and developer onboarding |
|
|
158
|
+
| `package.json` | Root npm package for `@leeway/agent-skills` |
|
|
159
|
+
| `skills/` | Installed skill library |
|
|
160
|
+
| `mcp-server/` | MCP runtime source and packaged build output |
|
|
161
|
+
| `LeeWay-Standards/` | Governance toolkit and CLI |
|
|
162
|
+
| `scripts/` | Registry, compliance, bootstrap, and workflow tooling |
|
|
163
|
+
| `documents/` | Strategic, technical, and operational documentation |
|
|
164
|
+
| `sdk/` | Importable helpers for packaged consumers |
|
|
165
|
+
| `bin/` | CLI entrypoints for package users |
|
|
166
|
+
|
|
167
|
+
## Documentation Map
|
|
168
|
+
|
|
169
|
+
- [NPM SDK Guide](documents/LEEWAY_NPM_SDK.md)
|
|
170
|
+
- [MCP Architecture](documents/MCP_ARCHITECTURE.md)
|
|
171
|
+
- [Agent Lee Integration](documents/AGENT_LEE_INTEGRATION.md)
|
|
172
|
+
- [Leeway Standards Compliance](documents/LEEWAY_STANDARDS_COMPLIANCE.md)
|
|
173
|
+
- [Workflow Strategic Plan](documents/LEEWAY_WORKFLOWS_STRATEGIC_PLAN.md)
|
|
174
|
+
- [Skill Acquisition Executive Summary](documents/SKILL_ACQUISITION_EXECUTIVE_SUMMARY.md)
|
|
175
|
+
|
|
176
|
+
## Current Status
|
|
177
|
+
|
|
178
|
+
| Signal | Status |
|
|
179
|
+
| --- | --- |
|
|
180
|
+
| Repository path | `C:\Tools\LeeWay-AgentSkills` |
|
|
181
|
+
| Package name | `@leeway/agent-skills` |
|
|
182
|
+
| Installed skill modules | 51 |
|
|
183
|
+
| Installed categories | 27 |
|
|
184
|
+
| Active MCP tools in registry | 44 |
|
|
185
|
+
| Workflow roadmap | 50+ documented patterns |
|
|
186
|
+
| Expansion roadmap | 250+ target skill acquisition plan |
|
|
187
|
+
|
|
188
|
+
## Roadmap
|
|
189
|
+
|
|
190
|
+
- Sync the active registry to fully reflect all installed skills
|
|
191
|
+
- Publish and stabilize the npm package lifecycle
|
|
192
|
+
- Expand toward the 250+ skill acquisition roadmap
|
|
193
|
+
- Add more production-ready workflow bundles and integration examples
|
|
194
|
+
- Strengthen productized deployment stories for internal AI platforms and external SaaS products
|
|
195
|
+
|
|
196
|
+
## Why It Matters For Engineering Leaders
|
|
197
|
+
|
|
198
|
+
LeeWay Agent Skills gives technical teams a cleaner answer to a hard problem: how do you make AI behavior more reusable, inspectable, composable, and governable?
|
|
199
|
+
|
|
200
|
+
This repository answers that with a system developers can actually adopt:
|
|
201
|
+
|
|
202
|
+
- installable
|
|
203
|
+
- inspectable
|
|
204
|
+
- documentable
|
|
205
|
+
- extensible
|
|
206
|
+
- compatible with MCP
|
|
207
|
+
- aligned with governance
|
|
208
|
+
|
|
209
|
+
That makes it easier to turn AI from a fragile experiment into an engineering capability.
|
|
210
|
+
|
|
211
|
+
## Contributing
|
|
212
|
+
|
|
213
|
+
Contributions should preserve the structure of the skill system, keep non-README markdown inside `documents/`, and maintain compatibility with the Leeway Standards governance model.
|
|
214
|
+
|
|
215
|
+
## License
|
|
216
|
+
|
|
217
|
+
MIT. See [LICENSE](LICENSE).
|