skillops-cli 1.2.1 → 1.3.1
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 +92 -65
- package/dist/cli.js +2530 -430
- package/dist/index.d.ts +444 -188
- package/dist/index.js +3085 -1181
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { z } from 'zod';
|
|
|
8
8
|
* telemetry and Multi-Runtime Transpilation lockfiles.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
declare const SKILLOPS_VERSION = "1.
|
|
11
|
+
declare const SKILLOPS_VERSION = "1.3.1";
|
|
12
12
|
/**
|
|
13
13
|
* Count whitespace-delimited words in text.
|
|
14
14
|
*/
|
|
@@ -1189,95 +1189,6 @@ interface LoadedSkillOpsConfigResult {
|
|
|
1189
1189
|
*/
|
|
1190
1190
|
declare function loadSkillOpsConfig(repoPath: string): LoadedSkillOpsConfigResult;
|
|
1191
1191
|
|
|
1192
|
-
/**
|
|
1193
|
-
* Directory and file discovery/parsing engine for Hybrid Executable Skills (SKILL.md)
|
|
1194
|
-
* and Context-Isolated Subagents (SUBAGENT.md / *.agent.md).
|
|
1195
|
-
*/
|
|
1196
|
-
|
|
1197
|
-
interface ParsedSkillDirectory {
|
|
1198
|
-
readonly skillDir: string;
|
|
1199
|
-
readonly skillMdPath: string;
|
|
1200
|
-
readonly manifest: SkillManifest;
|
|
1201
|
-
readonly rawText: string;
|
|
1202
|
-
readonly markdownBody: string;
|
|
1203
|
-
readonly totalLines: number;
|
|
1204
|
-
readonly declaredScripts: string[];
|
|
1205
|
-
readonly missingDeclaredScripts: string[];
|
|
1206
|
-
readonly extraScripts: string[];
|
|
1207
|
-
readonly referenceFiles: string[];
|
|
1208
|
-
readonly evalsPath: string | null;
|
|
1209
|
-
}
|
|
1210
|
-
interface ParsedSubagentFile {
|
|
1211
|
-
readonly filePath: string;
|
|
1212
|
-
readonly manifest: SubagentManifest;
|
|
1213
|
-
readonly systemPromptBody: string;
|
|
1214
|
-
readonly rawText: string;
|
|
1215
|
-
}
|
|
1216
|
-
interface ParseSkillOptions {
|
|
1217
|
-
readonly requireLayout?: boolean;
|
|
1218
|
-
}
|
|
1219
|
-
/**
|
|
1220
|
-
* Recursively discover all skill directories under catalogDir containing SKILL.md.
|
|
1221
|
-
*/
|
|
1222
|
-
declare function discoverSkillDirectories(catalogDir: string): string[];
|
|
1223
|
-
/**
|
|
1224
|
-
* Parse a single skill directory and validate its SKILL.md manifest and Level 3 layout.
|
|
1225
|
-
*/
|
|
1226
|
-
declare function parseSkillDirectory(skillDir: string, options?: ParseSkillOptions): ParsedSkillDirectory;
|
|
1227
|
-
/**
|
|
1228
|
-
* Discover all Subagent Markdown definitions in catalog/subagents/ and .github/agents/*.agent.md.
|
|
1229
|
-
*/
|
|
1230
|
-
declare function discoverSubagentFiles(repoOrCatalogRoot: string): string[];
|
|
1231
|
-
/**
|
|
1232
|
-
* Parse and validate a Subagent definition file.
|
|
1233
|
-
*/
|
|
1234
|
-
declare function parseSubagentFile(filePath: string): ParsedSubagentFile;
|
|
1235
|
-
|
|
1236
|
-
/**
|
|
1237
|
-
* 3-Level Progressive Disclosure & Subagent Token Budget Linter (INV-SKILL-01 & INV-SKILL-04).
|
|
1238
|
-
*/
|
|
1239
|
-
interface SkillTokenBudgetAudit {
|
|
1240
|
-
readonly skillName: string;
|
|
1241
|
-
readonly skillDir: string;
|
|
1242
|
-
readonly l1Words: number;
|
|
1243
|
-
readonly l1Tokens: number;
|
|
1244
|
-
readonly l2Lines: number;
|
|
1245
|
-
readonly l2Tokens: number;
|
|
1246
|
-
readonly totalLines: number;
|
|
1247
|
-
readonly scriptsCount: number;
|
|
1248
|
-
readonly passed: boolean;
|
|
1249
|
-
readonly errors: string[];
|
|
1250
|
-
readonly warnings: string[];
|
|
1251
|
-
}
|
|
1252
|
-
interface SubagentTokenBudgetAudit {
|
|
1253
|
-
readonly subagentName: string;
|
|
1254
|
-
readonly filePath: string;
|
|
1255
|
-
readonly descriptionTokens: number;
|
|
1256
|
-
readonly systemPromptLines: number;
|
|
1257
|
-
readonly systemPromptTokens: number;
|
|
1258
|
-
readonly maxOutputTokens: number;
|
|
1259
|
-
readonly tools: string[];
|
|
1260
|
-
readonly passed: boolean;
|
|
1261
|
-
readonly errors: string[];
|
|
1262
|
-
}
|
|
1263
|
-
interface CatalogTokenBudgetSummary {
|
|
1264
|
-
readonly catalogPath: string;
|
|
1265
|
-
readonly skills: SkillTokenBudgetAudit[];
|
|
1266
|
-
readonly subagents: SubagentTokenBudgetAudit[];
|
|
1267
|
-
readonly totalL1Tokens: number;
|
|
1268
|
-
readonly totalSubagentPromptTokens: number;
|
|
1269
|
-
readonly errors: string[];
|
|
1270
|
-
readonly warnings: string[];
|
|
1271
|
-
readonly passed: boolean;
|
|
1272
|
-
}
|
|
1273
|
-
declare function auditSkillTokenBudget(skillDir: string, options?: {
|
|
1274
|
-
requireLayout?: boolean;
|
|
1275
|
-
}): SkillTokenBudgetAudit;
|
|
1276
|
-
declare function auditSubagentTokenBudget(filePath: string): SubagentTokenBudgetAudit;
|
|
1277
|
-
declare function auditCatalogTokenBudgets(catalogDir: string, options?: {
|
|
1278
|
-
requireLayout?: boolean;
|
|
1279
|
-
}): CatalogTokenBudgetSummary;
|
|
1280
|
-
|
|
1281
1192
|
/**
|
|
1282
1193
|
* Zero-API Hybrid Lexical & Structural Semantic Collision Detector (ADR-0002).
|
|
1283
1194
|
*
|
|
@@ -1315,31 +1226,6 @@ interface AuditCatalogOptions {
|
|
|
1315
1226
|
*/
|
|
1316
1227
|
declare function auditCatalog(catalogDir: string, options?: AuditCatalogOptions): CollisionReport;
|
|
1317
1228
|
|
|
1318
|
-
/**
|
|
1319
|
-
* Repository Token Economy & Startup Context Tax Analyzer (`npx skillops@latest tokens`).
|
|
1320
|
-
*
|
|
1321
|
-
* Implements Issue #60:
|
|
1322
|
-
* - Scans always-on repository instruction files (`CLAUDE.md`, `AGENTS.md`, `GEMINI.md`,
|
|
1323
|
-
* `.github/copilot-instructions.md`), `.cursor/rules/*.mdc`, and `.mcp.json` / `.cursor/mcp.json`.
|
|
1324
|
-
* - Scans catalog/repository Skills (L1 frontmatter vs L2 Markdown body vs L3 zero-token scripts)
|
|
1325
|
-
* and Context-Isolated Subagents (`SUBAGENT.md` / `*.agent.md`).
|
|
1326
|
-
* - Quantifies Startup Token Tax, Monolithic Equivalent Tokens, Progressive Disclosure L1 Tokens,
|
|
1327
|
-
* Estimated Tokens Saved, Token Savings %, and actionable TokenWasteHotspot items.
|
|
1328
|
-
*/
|
|
1329
|
-
|
|
1330
|
-
interface AnalyzeTokenEconomyOptions {
|
|
1331
|
-
readonly catalogDir?: string;
|
|
1332
|
-
readonly startupTaxBudget?: number;
|
|
1333
|
-
}
|
|
1334
|
-
/**
|
|
1335
|
-
* Analyze a repository's Startup Token Tax and Progressive Disclosure savings.
|
|
1336
|
-
*/
|
|
1337
|
-
declare function analyzeRepoTokenEconomy(repoPath: string, options?: AnalyzeTokenEconomyOptions): TokenEconomyReport;
|
|
1338
|
-
/**
|
|
1339
|
-
* Render a TokenEconomyReport as a human-readable ASCII table, Markdown report, or JSON string.
|
|
1340
|
-
*/
|
|
1341
|
-
declare function formatTokenEconomyReport(report: TokenEconomyReport, format?: "table" | "json" | "markdown" | "github"): string;
|
|
1342
|
-
|
|
1343
1229
|
/**
|
|
1344
1230
|
* Repository Environment Diagnostics & Lockfile Drift Auditor (`npx skillops-cli@latest doctor` / `status`).
|
|
1345
1231
|
*
|
|
@@ -1418,95 +1304,118 @@ declare function formatHarnessInspectionReport(report: HarnessInspectionReport,
|
|
|
1418
1304
|
declare function formatDoctorReport(report: DoctorReport, format?: "table" | "json" | "markdown" | "github"): string;
|
|
1419
1305
|
|
|
1420
1306
|
/**
|
|
1421
|
-
*
|
|
1422
|
-
*
|
|
1423
|
-
* Inspects manifest files (`pyproject.toml`, `requirements*.txt`, `uv.lock`, `package.json`,
|
|
1424
|
-
* `tsconfig.json`, `Cargo.toml`, `go.mod`, `Dockerfile`, `docker-compose*.yml`, `.github/workflows`),
|
|
1425
|
-
* SQL files, and source files without executing untrusted repository code.
|
|
1307
|
+
* Directory and file discovery/parsing engine for Hybrid Executable Skills (SKILL.md)
|
|
1308
|
+
* and Context-Isolated Subagents (SUBAGENT.md / *.agent.md).
|
|
1426
1309
|
*/
|
|
1427
1310
|
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
readonly
|
|
1431
|
-
|
|
1432
|
-
|
|
1311
|
+
interface ParsedSkillDirectory {
|
|
1312
|
+
readonly skillDir: string;
|
|
1313
|
+
readonly skillMdPath: string;
|
|
1314
|
+
readonly manifest: SkillManifest;
|
|
1315
|
+
readonly rawText: string;
|
|
1316
|
+
readonly markdownBody: string;
|
|
1317
|
+
readonly totalLines: number;
|
|
1318
|
+
readonly declaredScripts: string[];
|
|
1319
|
+
readonly missingDeclaredScripts: string[];
|
|
1320
|
+
readonly extraScripts: string[];
|
|
1321
|
+
readonly referenceFiles: string[];
|
|
1322
|
+
readonly evalsPath: string | null;
|
|
1323
|
+
}
|
|
1324
|
+
interface ParsedSubagentFile {
|
|
1325
|
+
readonly filePath: string;
|
|
1326
|
+
readonly manifest: SubagentManifest;
|
|
1327
|
+
readonly systemPromptBody: string;
|
|
1328
|
+
readonly rawText: string;
|
|
1329
|
+
}
|
|
1330
|
+
interface ParseSkillOptions {
|
|
1331
|
+
readonly requireLayout?: boolean;
|
|
1433
1332
|
}
|
|
1434
|
-
declare function fingerprintRepository(repoPath: string): RepoProfile;
|
|
1435
|
-
|
|
1436
1333
|
/**
|
|
1437
|
-
*
|
|
1438
|
-
*
|
|
1439
|
-
* Enforces INV-SKILL-03:
|
|
1440
|
-
* - Compiles a deterministic, collision-free bundle of <= 12 skills (<= 1,500 L1 tokens,
|
|
1441
|
-
* < 0.78 pairwise cosine similarity) tailored to the repository fingerprint and task prompt.
|
|
1442
|
-
* - Selects matching Context-Isolated Subagents (`recommended_subagents`).
|
|
1334
|
+
* Recursively discover all skill directories under catalogDir containing SKILL.md.
|
|
1443
1335
|
*/
|
|
1444
|
-
|
|
1445
|
-
interface RouteOptions {
|
|
1446
|
-
readonly maxSkills?: number;
|
|
1447
|
-
readonly maxL1Tokens?: number;
|
|
1448
|
-
readonly maxSimilarity?: number;
|
|
1449
|
-
readonly taskPrompt?: string;
|
|
1450
|
-
}
|
|
1451
|
-
declare function scoreSkillAgainstProfile(parsedSkill: ParsedSkillDirectory, profile: RepoProfile, taskPrompt?: string): {
|
|
1452
|
-
score: number;
|
|
1453
|
-
matchedSignals: string[];
|
|
1454
|
-
negativeMatch: string | null;
|
|
1455
|
-
};
|
|
1456
|
-
declare function compileSkillBundle(profile: RepoProfile, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
1457
|
-
declare function routeRepository(repoPath: string, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
1458
|
-
declare function formatRoutedBundle(bundle: RoutedBundle, format?: "table" | "json" | "markdown"): string;
|
|
1459
|
-
|
|
1336
|
+
declare function discoverSkillDirectories(catalogDir: string): string[];
|
|
1460
1337
|
/**
|
|
1461
|
-
*
|
|
1462
|
-
*
|
|
1463
|
-
* Implements Issue #61:
|
|
1464
|
-
* - Transpiles Hybrid Executable Skills (SKILL.md + Level 3 scripts/references) and
|
|
1465
|
-
* Context-Isolated Subagents (SUBAGENT.md) across:
|
|
1466
|
-
* 1. Claude Code (`.claude/skills/<name>/`, `.claude/agents/<name>.md`)
|
|
1467
|
-
* 2. Antigravity / Gemini CLI (`.agent/skills/<name>/`, `.agent/agents/<name>.md`)
|
|
1468
|
-
* 3. Cursor (`.cursor/rules/skillops-<name>.mdc`, `.cursor/rules/skillops-agent-<name>.mdc`)
|
|
1469
|
-
* 4. OpenAI Codex CLI (`.codex/skills/<name>/`, `.codex/agents/<name>.md`, `AGENTS.md`)
|
|
1470
|
-
* 5. GitHub Copilot (`.github/instructions/`, `.github/prompts/`, `.github/agents/<name>.agent.md`)
|
|
1471
|
-
* - Enforces `.skillops-lock.json` SHA-256 integrity, local drift detection, and surgical `add`.
|
|
1338
|
+
* Parse a single skill directory and validate its SKILL.md manifest and Level 3 layout.
|
|
1472
1339
|
*/
|
|
1340
|
+
declare function parseSkillDirectory(skillDir: string, options?: ParseSkillOptions): ParsedSkillDirectory;
|
|
1341
|
+
/**
|
|
1342
|
+
* Discover all Subagent Markdown definitions in catalog/subagents/ and .github/agents/*.agent.md.
|
|
1343
|
+
*/
|
|
1344
|
+
declare function discoverSubagentFiles(repoOrCatalogRoot: string): string[];
|
|
1345
|
+
/**
|
|
1346
|
+
* Parse and validate a Subagent definition file.
|
|
1347
|
+
*/
|
|
1348
|
+
declare function parseSubagentFile(filePath: string): ParsedSubagentFile;
|
|
1473
1349
|
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
readonly
|
|
1481
|
-
readonly
|
|
1482
|
-
readonly
|
|
1350
|
+
/**
|
|
1351
|
+
* 3-Level Progressive Disclosure & Subagent Token Budget Linter (INV-SKILL-01 & INV-SKILL-04).
|
|
1352
|
+
*/
|
|
1353
|
+
interface SkillTokenBudgetAudit {
|
|
1354
|
+
readonly skillName: string;
|
|
1355
|
+
readonly skillDir: string;
|
|
1356
|
+
readonly l1Words: number;
|
|
1357
|
+
readonly l1Tokens: number;
|
|
1358
|
+
readonly l2Lines: number;
|
|
1359
|
+
readonly l2Tokens: number;
|
|
1360
|
+
readonly totalLines: number;
|
|
1361
|
+
readonly scriptsCount: number;
|
|
1362
|
+
readonly passed: boolean;
|
|
1363
|
+
readonly errors: string[];
|
|
1364
|
+
readonly warnings: string[];
|
|
1483
1365
|
}
|
|
1484
|
-
interface
|
|
1485
|
-
readonly
|
|
1486
|
-
readonly
|
|
1487
|
-
readonly
|
|
1366
|
+
interface SubagentTokenBudgetAudit {
|
|
1367
|
+
readonly subagentName: string;
|
|
1368
|
+
readonly filePath: string;
|
|
1369
|
+
readonly descriptionTokens: number;
|
|
1370
|
+
readonly systemPromptLines: number;
|
|
1371
|
+
readonly systemPromptTokens: number;
|
|
1372
|
+
readonly maxOutputTokens: number;
|
|
1373
|
+
readonly tools: string[];
|
|
1374
|
+
readonly passed: boolean;
|
|
1375
|
+
readonly errors: string[];
|
|
1488
1376
|
}
|
|
1489
|
-
interface
|
|
1490
|
-
readonly
|
|
1491
|
-
readonly
|
|
1377
|
+
interface CatalogTokenBudgetSummary {
|
|
1378
|
+
readonly catalogPath: string;
|
|
1379
|
+
readonly skills: SkillTokenBudgetAudit[];
|
|
1380
|
+
readonly subagents: SubagentTokenBudgetAudit[];
|
|
1381
|
+
readonly totalL1Tokens: number;
|
|
1382
|
+
readonly totalSubagentPromptTokens: number;
|
|
1383
|
+
readonly errors: string[];
|
|
1384
|
+
readonly warnings: string[];
|
|
1385
|
+
readonly passed: boolean;
|
|
1492
1386
|
}
|
|
1493
|
-
declare function
|
|
1494
|
-
|
|
1495
|
-
|
|
1387
|
+
declare function auditSkillTokenBudget(skillDir: string, options?: {
|
|
1388
|
+
requireLayout?: boolean;
|
|
1389
|
+
}): SkillTokenBudgetAudit;
|
|
1390
|
+
declare function auditSubagentTokenBudget(filePath: string): SubagentTokenBudgetAudit;
|
|
1391
|
+
declare function auditCatalogTokenBudgets(catalogDir: string, options?: {
|
|
1392
|
+
requireLayout?: boolean;
|
|
1393
|
+
}): CatalogTokenBudgetSummary;
|
|
1394
|
+
|
|
1496
1395
|
/**
|
|
1497
|
-
*
|
|
1396
|
+
* Repository Token Economy & Startup Context Tax Analyzer (`npx skillops@latest tokens`).
|
|
1397
|
+
*
|
|
1398
|
+
* Implements Issue #60:
|
|
1399
|
+
* - Scans always-on repository instruction files (`CLAUDE.md`, `AGENTS.md`, `GEMINI.md`,
|
|
1400
|
+
* `.github/copilot-instructions.md`), `.cursor/rules/*.mdc`, and `.mcp.json` / `.cursor/mcp.json`.
|
|
1401
|
+
* - Scans catalog/repository Skills (L1 frontmatter vs L2 Markdown body vs L3 zero-token scripts)
|
|
1402
|
+
* and Context-Isolated Subagents (`SUBAGENT.md` / `*.agent.md`).
|
|
1403
|
+
* - Quantifies Startup Token Tax, Monolithic Equivalent Tokens, Progressive Disclosure L1 Tokens,
|
|
1404
|
+
* Estimated Tokens Saved, Token Savings %, and actionable TokenWasteHotspot items.
|
|
1498
1405
|
*/
|
|
1499
|
-
|
|
1500
|
-
|
|
1406
|
+
|
|
1407
|
+
interface AnalyzeTokenEconomyOptions {
|
|
1408
|
+
readonly catalogDir?: string;
|
|
1409
|
+
readonly startupTaxBudget?: number;
|
|
1410
|
+
}
|
|
1501
1411
|
/**
|
|
1502
|
-
*
|
|
1412
|
+
* Analyze a repository's Startup Token Tax and Progressive Disclosure savings.
|
|
1503
1413
|
*/
|
|
1504
|
-
declare function
|
|
1414
|
+
declare function analyzeRepoTokenEconomy(repoPath: string, options?: AnalyzeTokenEconomyOptions): TokenEconomyReport;
|
|
1505
1415
|
/**
|
|
1506
|
-
*
|
|
1416
|
+
* Render a TokenEconomyReport as a human-readable ASCII table, Markdown report, or JSON string.
|
|
1507
1417
|
*/
|
|
1508
|
-
declare function
|
|
1509
|
-
declare function formatSyncReport(report: SyncReport, format?: "table" | "json" | "markdown"): string;
|
|
1418
|
+
declare function formatTokenEconomyReport(report: TokenEconomyReport, format?: "table" | "json" | "markdown" | "github"): string;
|
|
1510
1419
|
|
|
1511
1420
|
/**
|
|
1512
1421
|
* Zero-API Deterministic TDD Benchmark Runner & Static HTML/Markdown Exporter (`src/eval/index.ts`).
|
|
@@ -1975,6 +1884,110 @@ declare function evaluateCatalog(catalogDir: string, options?: {
|
|
|
1975
1884
|
}): CatalogEvalSummary;
|
|
1976
1885
|
declare function formatEvalSummary(summary: CatalogEvalSummary, format?: "table" | "json" | "markdown" | "html" | "github"): string;
|
|
1977
1886
|
|
|
1887
|
+
/**
|
|
1888
|
+
* SkillOps Framework & Library Operations Engine (Issue #126).
|
|
1889
|
+
*
|
|
1890
|
+
* Implements:
|
|
1891
|
+
* 1. Library Explorer: `inspectCatalogItem` (`skillops info <name>`) & `searchCatalog` (`skillops search <query>`)
|
|
1892
|
+
* 2. Framework Scaffolder: `scaffoldFrameworkItem` (`skillops create skill|subagent <name>`)
|
|
1893
|
+
* 3. 1-Command Onboarding Pipeline: `runQuickstart` (`skillops quickstart` / `skillops setup`)
|
|
1894
|
+
*/
|
|
1895
|
+
|
|
1896
|
+
interface CatalogItemInfo {
|
|
1897
|
+
readonly kind: "skill" | "subagent";
|
|
1898
|
+
readonly name: string;
|
|
1899
|
+
readonly description: string;
|
|
1900
|
+
readonly path: string;
|
|
1901
|
+
readonly l1Tokens: number;
|
|
1902
|
+
readonly l2Lines: number;
|
|
1903
|
+
readonly l2Tokens: number;
|
|
1904
|
+
readonly savingsPct: number;
|
|
1905
|
+
readonly scripts: readonly string[];
|
|
1906
|
+
readonly evalCasesCount: number;
|
|
1907
|
+
readonly tools: readonly string[];
|
|
1908
|
+
readonly maxOutputTokens: number | null;
|
|
1909
|
+
readonly isolation: string | null;
|
|
1910
|
+
readonly headings: readonly string[];
|
|
1911
|
+
}
|
|
1912
|
+
/**
|
|
1913
|
+
* Inspect a single Skill or Subagent from the Library by name (`skillops info <name>`).
|
|
1914
|
+
*/
|
|
1915
|
+
declare function inspectCatalogItem(catalogDir: string, itemName: string): CatalogItemInfo;
|
|
1916
|
+
/**
|
|
1917
|
+
* Format detailed inspection card for a Skill or Subagent.
|
|
1918
|
+
*/
|
|
1919
|
+
declare function formatCatalogItemInfo(info: CatalogItemInfo, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1920
|
+
interface CatalogSearchMatch {
|
|
1921
|
+
readonly kind: "skill" | "subagent";
|
|
1922
|
+
readonly name: string;
|
|
1923
|
+
readonly score: number;
|
|
1924
|
+
readonly tokens: number;
|
|
1925
|
+
readonly summary: string;
|
|
1926
|
+
}
|
|
1927
|
+
interface CatalogSearchReport {
|
|
1928
|
+
readonly query: string;
|
|
1929
|
+
readonly total_matches: number;
|
|
1930
|
+
readonly matches: readonly CatalogSearchMatch[];
|
|
1931
|
+
}
|
|
1932
|
+
/**
|
|
1933
|
+
* Search the SkillOps Library of Skills & Subagents by keyword (`skillops search <query>`).
|
|
1934
|
+
*/
|
|
1935
|
+
declare function searchCatalog(catalogDir: string, query: string): CatalogSearchReport;
|
|
1936
|
+
/**
|
|
1937
|
+
* Format search results from the SkillOps Library.
|
|
1938
|
+
*/
|
|
1939
|
+
declare function formatCatalogSearchReport(report: CatalogSearchReport, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1940
|
+
interface ScaffoldResult {
|
|
1941
|
+
readonly kind: "skill" | "subagent";
|
|
1942
|
+
readonly name: string;
|
|
1943
|
+
readonly target_dir: string;
|
|
1944
|
+
readonly created_files: readonly string[];
|
|
1945
|
+
}
|
|
1946
|
+
interface ScaffoldOptions {
|
|
1947
|
+
readonly description?: string;
|
|
1948
|
+
readonly force?: boolean;
|
|
1949
|
+
}
|
|
1950
|
+
/**
|
|
1951
|
+
* Scaffold a new custom Hybrid Executable Skill (`INV-SKILL-01..03`) or Context-Isolated Subagent (`INV-SKILL-04`)
|
|
1952
|
+
* using the SkillOps Framework Contract (`skillops create skill|subagent <name>`).
|
|
1953
|
+
*/
|
|
1954
|
+
declare function scaffoldFrameworkItem(catalogDir: string, kind: "skill" | "subagent", rawName: string, options?: ScaffoldOptions): ScaffoldResult;
|
|
1955
|
+
/**
|
|
1956
|
+
* Format the output of `skillops create skill|subagent <name>`.
|
|
1957
|
+
*/
|
|
1958
|
+
declare function formatScaffoldReport(result: ScaffoldResult, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1959
|
+
interface QuickstartOptions {
|
|
1960
|
+
readonly targetsArg?: string;
|
|
1961
|
+
readonly maxSkills?: number;
|
|
1962
|
+
readonly dryRun?: boolean;
|
|
1963
|
+
readonly force?: boolean;
|
|
1964
|
+
readonly skipMcp?: boolean;
|
|
1965
|
+
}
|
|
1966
|
+
interface QuickstartReport {
|
|
1967
|
+
readonly repo_path: string;
|
|
1968
|
+
readonly config_path: string;
|
|
1969
|
+
readonly dry_run: boolean;
|
|
1970
|
+
readonly detected_languages: readonly string[];
|
|
1971
|
+
readonly detected_frameworks: readonly string[];
|
|
1972
|
+
readonly detected_harnesses: readonly RuntimeTarget[];
|
|
1973
|
+
readonly active_targets: readonly RuntimeTarget[];
|
|
1974
|
+
readonly selected_skills: readonly string[];
|
|
1975
|
+
readonly selected_subagents: readonly string[];
|
|
1976
|
+
readonly total_l1_tokens: number;
|
|
1977
|
+
readonly max_l1_budget: number;
|
|
1978
|
+
readonly synced_files_count: number;
|
|
1979
|
+
readonly mcp_configured_count: number;
|
|
1980
|
+
readonly passed: boolean;
|
|
1981
|
+
}
|
|
1982
|
+
/**
|
|
1983
|
+
* Execute the 1-Command Onboarding Pipeline (`skillops quickstart` / `skillops setup`).
|
|
1984
|
+
*/
|
|
1985
|
+
declare function runQuickstart(repoPath: string, catalogDir: string, options?: QuickstartOptions): QuickstartReport;
|
|
1986
|
+
/**
|
|
1987
|
+
* Render the visual 4-step Quickstart summary dashboard.
|
|
1988
|
+
*/
|
|
1989
|
+
declare function formatQuickstartReport(report: QuickstartReport, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1990
|
+
|
|
1978
1991
|
/**
|
|
1979
1992
|
* Native JSON-RPC 2.0 Stdio Model Context Protocol Server (`src/mcp/index.ts`).
|
|
1980
1993
|
*
|
|
@@ -2036,4 +2049,247 @@ declare function setupMcpForHarnesses(repoPath: string, options?: McpSetupOption
|
|
|
2036
2049
|
*/
|
|
2037
2050
|
declare function formatMcpSetupReport(report: McpSetupReport, format?: "table" | "json" | "markdown"): string;
|
|
2038
2051
|
|
|
2039
|
-
|
|
2052
|
+
/**
|
|
2053
|
+
* Dynamic Skill & Subagent Router (`src/router/bundle_compiler.ts`).
|
|
2054
|
+
*
|
|
2055
|
+
* Enforces INV-SKILL-03:
|
|
2056
|
+
* - Compiles a deterministic, collision-free bundle of <= 12 skills (<= 1,500 L1 tokens,
|
|
2057
|
+
* < 0.78 pairwise cosine similarity) tailored to the repository fingerprint and task prompt.
|
|
2058
|
+
* - Selects matching Context-Isolated Subagents (`recommended_subagents`).
|
|
2059
|
+
*/
|
|
2060
|
+
|
|
2061
|
+
interface RouteOptions {
|
|
2062
|
+
readonly maxSkills?: number;
|
|
2063
|
+
readonly maxL1Tokens?: number;
|
|
2064
|
+
readonly maxSimilarity?: number;
|
|
2065
|
+
readonly taskPrompt?: string;
|
|
2066
|
+
}
|
|
2067
|
+
declare function scoreSkillAgainstProfile(parsedSkill: ParsedSkillDirectory, profile: RepoProfile, taskPrompt?: string): {
|
|
2068
|
+
score: number;
|
|
2069
|
+
matchedSignals: string[];
|
|
2070
|
+
negativeMatch: string | null;
|
|
2071
|
+
};
|
|
2072
|
+
declare function compileSkillBundle(profile: RepoProfile, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
2073
|
+
declare function routeRepository(repoPath: string, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
2074
|
+
declare function formatRoutedBundle(bundle: RoutedBundle, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
2075
|
+
|
|
2076
|
+
/**
|
|
2077
|
+
* Deterministic, zero-execution Repository Stack Fingerprinter (`src/router/fingerprinter.ts`).
|
|
2078
|
+
*
|
|
2079
|
+
* Inspects manifest files (`pyproject.toml`, `requirements*.txt`, `uv.lock`, `package.json`,
|
|
2080
|
+
* `tsconfig.json`, `Cargo.toml`, `go.mod`, `Dockerfile`, `docker-compose*.yml`, `.github/workflows`),
|
|
2081
|
+
* SQL files, and source files without executing untrusted repository code.
|
|
2082
|
+
*/
|
|
2083
|
+
|
|
2084
|
+
declare function normalizePackageName(rawSpec: string): string;
|
|
2085
|
+
declare class RepoFingerprinter {
|
|
2086
|
+
readonly repoPath: string;
|
|
2087
|
+
constructor(repoPath: string);
|
|
2088
|
+
fingerprint(): RepoProfile;
|
|
2089
|
+
}
|
|
2090
|
+
declare function fingerprintRepository(repoPath: string): RepoProfile;
|
|
2091
|
+
|
|
2092
|
+
/**
|
|
2093
|
+
* Multi-Runtime Transpiler for Skills & Context-Isolated Subagents (`src/sync/adapters.ts`).
|
|
2094
|
+
*
|
|
2095
|
+
* Implements Issue #61:
|
|
2096
|
+
* - Transpiles Hybrid Executable Skills (SKILL.md + Level 3 scripts/references) and
|
|
2097
|
+
* Context-Isolated Subagents (SUBAGENT.md) across:
|
|
2098
|
+
* 1. Claude Code (`.claude/skills/<name>/`, `.claude/agents/<name>.md`)
|
|
2099
|
+
* 2. Antigravity / Gemini CLI (`.agent/skills/<name>/`, `.agent/agents/<name>.md`)
|
|
2100
|
+
* 3. Cursor (`.cursor/rules/skillops-<name>.mdc`, `.cursor/rules/skillops-agent-<name>.mdc`)
|
|
2101
|
+
* 4. OpenAI Codex CLI (`.codex/skills/<name>/`, `.codex/agents/<name>.md`, `AGENTS.md`)
|
|
2102
|
+
* 5. GitHub Copilot (`.github/instructions/`, `.github/prompts/`, `.github/agents/<name>.agent.md`)
|
|
2103
|
+
* - Enforces `.skillops-lock.json` SHA-256 integrity, local drift detection, and surgical `add`.
|
|
2104
|
+
*/
|
|
2105
|
+
|
|
2106
|
+
interface SyncOptions extends RouteOptions {
|
|
2107
|
+
readonly targets?: readonly RuntimeTarget[];
|
|
2108
|
+
readonly dryRun?: boolean;
|
|
2109
|
+
readonly force?: boolean;
|
|
2110
|
+
}
|
|
2111
|
+
interface AddOptions {
|
|
2112
|
+
readonly targets?: readonly RuntimeTarget[];
|
|
2113
|
+
readonly dryRun?: boolean;
|
|
2114
|
+
readonly force?: boolean;
|
|
2115
|
+
}
|
|
2116
|
+
interface RemoveOptions {
|
|
2117
|
+
readonly targets?: readonly RuntimeTarget[];
|
|
2118
|
+
readonly dryRun?: boolean;
|
|
2119
|
+
readonly force?: boolean;
|
|
2120
|
+
}
|
|
2121
|
+
interface CleanOptions {
|
|
2122
|
+
readonly dryRun?: boolean;
|
|
2123
|
+
readonly force?: boolean;
|
|
2124
|
+
}
|
|
2125
|
+
declare function computeSha256(content: string): string;
|
|
2126
|
+
declare function renderCodexAgentsIndex(existingContent: string | null, skills: readonly ParsedSkillDirectory[], subagents: readonly ParsedSubagentFile[]): string;
|
|
2127
|
+
declare function syncRepository(repoPath: string, catalogDir: string, options?: SyncOptions): SyncReport;
|
|
2128
|
+
/**
|
|
2129
|
+
* Surgically install a single Skill or Subagent by name across active runtime targets.
|
|
2130
|
+
*/
|
|
2131
|
+
declare function addSkillOrSubagent(repoPath: string, catalogDir: string, itemName: string, options?: AddOptions): SyncReport;
|
|
2132
|
+
declare function stripCodexAgentsBlock(existingContent: string): string;
|
|
2133
|
+
/**
|
|
2134
|
+
* Surgically remove a single synced Skill or Subagent by name across target runtimes.
|
|
2135
|
+
*/
|
|
2136
|
+
declare function removeSkillOrSubagent(repoPath: string, catalogDir: string, itemName: string, options?: RemoveOptions): SyncReport;
|
|
2137
|
+
/**
|
|
2138
|
+
* Clean all SkillOps-managed runtime artifacts tracked in `.skillops-lock.json`.
|
|
2139
|
+
*/
|
|
2140
|
+
declare function cleanSyncedArtifacts(repoPath: string, catalogDir: string, options?: CleanOptions): SyncReport;
|
|
2141
|
+
declare function formatSyncReport(report: SyncReport, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
2142
|
+
|
|
2143
|
+
/**
|
|
2144
|
+
* SkillOps CLI Help System, 3-Pillar Framework/Library Dashboard & Fuzzy Typo Matcher (`src/ui/help.ts`).
|
|
2145
|
+
*/
|
|
2146
|
+
interface CommandOptionSpec {
|
|
2147
|
+
readonly flags: string;
|
|
2148
|
+
readonly description: string;
|
|
2149
|
+
}
|
|
2150
|
+
interface CommandHelpSpec {
|
|
2151
|
+
readonly name: string;
|
|
2152
|
+
readonly aliases: readonly string[];
|
|
2153
|
+
readonly pillar: "library" | "framework" | "runtime";
|
|
2154
|
+
readonly summary: string;
|
|
2155
|
+
readonly usage: string;
|
|
2156
|
+
readonly options: readonly CommandOptionSpec[];
|
|
2157
|
+
readonly examples: readonly {
|
|
2158
|
+
readonly command: string;
|
|
2159
|
+
readonly description: string;
|
|
2160
|
+
}[];
|
|
2161
|
+
}
|
|
2162
|
+
declare const COMMAND_HELP_SPECS: readonly CommandHelpSpec[];
|
|
2163
|
+
/**
|
|
2164
|
+
* Find a command help specification by primary name or alias.
|
|
2165
|
+
*/
|
|
2166
|
+
declare function findCommandHelpSpec(commandOrAlias: string): CommandHelpSpec | undefined;
|
|
2167
|
+
/**
|
|
2168
|
+
* Render the compact, emoji-free 3-Pillar Framework & Library global help tree (`npx skillops-cli --help`).
|
|
2169
|
+
*/
|
|
2170
|
+
declare function renderGlobalHelp(version: string, colorEnabled?: boolean): string;
|
|
2171
|
+
/**
|
|
2172
|
+
* Render detailed per-command help (`npx skillops-cli <cmd> --help` or `npx skillops-cli help <cmd>`).
|
|
2173
|
+
*/
|
|
2174
|
+
declare function renderCommandHelp(spec: CommandHelpSpec, version: string, colorEnabled?: boolean): string;
|
|
2175
|
+
|
|
2176
|
+
/**
|
|
2177
|
+
* SkillOps Zero-Dependency Terminal UI (TUI) Aesthetic Engine.
|
|
2178
|
+
*
|
|
2179
|
+
* Provides ANSI styling with automatic TTY / NO_COLOR / FORCE_COLOR awareness,
|
|
2180
|
+
* Unicode rounded panels, ANSI-aware aligned multi-column tables, visual token
|
|
2181
|
+
* budget progress bars, step indicators, AI invocation guides, and fuzzy
|
|
2182
|
+
* Levenshtein command suggestions.
|
|
2183
|
+
*/
|
|
2184
|
+
interface ColorOverrideOptions {
|
|
2185
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
2186
|
+
readonly isTTY?: boolean;
|
|
2187
|
+
}
|
|
2188
|
+
/**
|
|
2189
|
+
* Determine whether ANSI terminal colors should be emitted.
|
|
2190
|
+
* Respects https://no-color.org (`NO_COLOR`), `FORCE_COLOR`, `TERM=dumb`, and `stdout.isTTY`.
|
|
2191
|
+
*/
|
|
2192
|
+
declare function isColorEnabled(options?: ColorOverrideOptions): boolean;
|
|
2193
|
+
declare const style: {
|
|
2194
|
+
bold: (text: string, enabled?: boolean) => string;
|
|
2195
|
+
dim: (text: string, enabled?: boolean) => string;
|
|
2196
|
+
italic: (text: string, enabled?: boolean) => string;
|
|
2197
|
+
underline: (text: string, enabled?: boolean) => string;
|
|
2198
|
+
cyan: (text: string, enabled?: boolean) => string;
|
|
2199
|
+
green: (text: string, enabled?: boolean) => string;
|
|
2200
|
+
yellow: (text: string, enabled?: boolean) => string;
|
|
2201
|
+
red: (text: string, enabled?: boolean) => string;
|
|
2202
|
+
magenta: (text: string, enabled?: boolean) => string;
|
|
2203
|
+
blue: (text: string, enabled?: boolean) => string;
|
|
2204
|
+
gray: (text: string, enabled?: boolean) => string;
|
|
2205
|
+
white: (text: string, enabled?: boolean) => string;
|
|
2206
|
+
};
|
|
2207
|
+
/**
|
|
2208
|
+
* Strip all ANSI SGR escape sequences from a string.
|
|
2209
|
+
*/
|
|
2210
|
+
declare function stripAnsi(text: string): string;
|
|
2211
|
+
/**
|
|
2212
|
+
* Compute visible character width of a string ignoring ANSI color codes.
|
|
2213
|
+
*/
|
|
2214
|
+
declare function visibleLength(text: string): number;
|
|
2215
|
+
/**
|
|
2216
|
+
* Pad a potentially ANSI-styled string to a target visible width.
|
|
2217
|
+
*/
|
|
2218
|
+
declare function padVisible(text: string, width: number, align?: "left" | "right" | "center"): string;
|
|
2219
|
+
interface BoxOptions {
|
|
2220
|
+
readonly title?: string;
|
|
2221
|
+
readonly borderColor?: (text: string, enabled?: boolean) => string;
|
|
2222
|
+
readonly paddingX?: number;
|
|
2223
|
+
readonly minWidth?: number;
|
|
2224
|
+
readonly colorEnabled?: boolean;
|
|
2225
|
+
}
|
|
2226
|
+
/**
|
|
2227
|
+
* Render a rounded Unicode panel (`╭───╮ │ ╰───╯`).
|
|
2228
|
+
*/
|
|
2229
|
+
declare function renderBox(lines: readonly string[], options?: BoxOptions): string;
|
|
2230
|
+
/**
|
|
2231
|
+
* Render the official SkillOps Framework & Library top header line (clean tree root).
|
|
2232
|
+
*/
|
|
2233
|
+
declare function renderHeaderBanner(subtitle?: string, options?: {
|
|
2234
|
+
version?: string;
|
|
2235
|
+
colorEnabled?: boolean;
|
|
2236
|
+
}): string;
|
|
2237
|
+
interface TableOptions {
|
|
2238
|
+
readonly align?: readonly ("left" | "right" | "center")[];
|
|
2239
|
+
readonly indent?: number;
|
|
2240
|
+
readonly colorEnabled?: boolean;
|
|
2241
|
+
}
|
|
2242
|
+
/**
|
|
2243
|
+
* Render an ANSI-aware multi-column aligned table with Unicode header rules.
|
|
2244
|
+
*/
|
|
2245
|
+
declare function renderTable(headers: readonly string[], rows: readonly (readonly string[])[], options?: TableOptions): string;
|
|
2246
|
+
interface TokenBarOptions {
|
|
2247
|
+
readonly width?: number;
|
|
2248
|
+
readonly label?: string;
|
|
2249
|
+
readonly unit?: string;
|
|
2250
|
+
readonly colorEnabled?: boolean;
|
|
2251
|
+
}
|
|
2252
|
+
/**
|
|
2253
|
+
* Render a visual token budget progress bar (`[████████░░░░░░░░] 48.0% (720 / 1,500 tokens)`).
|
|
2254
|
+
*/
|
|
2255
|
+
declare function renderTokenBar(current: number, max: number, options?: TokenBarOptions): string;
|
|
2256
|
+
/**
|
|
2257
|
+
* Alias for renderTokenBar used across token/budget progress visualizations.
|
|
2258
|
+
*/
|
|
2259
|
+
declare const renderProgressBar: typeof renderTokenBar;
|
|
2260
|
+
/**
|
|
2261
|
+
* Render a clean minimalist tree section header (`├─ Title`).
|
|
2262
|
+
*/
|
|
2263
|
+
declare function renderSectionHeader(title: string, colorEnabled?: boolean): string;
|
|
2264
|
+
type BadgeType = "pass" | "warn" | "fail" | "info" | "skill" | "subagent";
|
|
2265
|
+
/**
|
|
2266
|
+
* Render a semantic status or artifact badge.
|
|
2267
|
+
*/
|
|
2268
|
+
declare function formatBadge(type: BadgeType, customLabel?: string, colorEnabled?: boolean): string;
|
|
2269
|
+
/**
|
|
2270
|
+
* Render a numbered onboarding step line (`│ ✔ [1/4] Title · Detail`).
|
|
2271
|
+
*/
|
|
2272
|
+
declare function renderStep(step: number, total: number, title: string, detail?: string, status?: "done" | "warn" | "skip", colorEnabled?: boolean): string;
|
|
2273
|
+
interface NextStepHint {
|
|
2274
|
+
readonly command: string;
|
|
2275
|
+
readonly description: string;
|
|
2276
|
+
}
|
|
2277
|
+
/**
|
|
2278
|
+
* Render an actionable "Next Steps" tree footer guiding the developer on what to run next.
|
|
2279
|
+
*/
|
|
2280
|
+
declare function renderNextSteps(hints: readonly NextStepHint[], colorEnabled?: boolean): string;
|
|
2281
|
+
/**
|
|
2282
|
+
* Render a compact, emoji-free tree guide explaining how to invoke installed Skills & Subagents.
|
|
2283
|
+
*/
|
|
2284
|
+
declare function renderAiUsageGuide(targets: readonly string[], skills: readonly string[], subagents: readonly string[], colorEnabled?: boolean): string;
|
|
2285
|
+
/**
|
|
2286
|
+
* Compute Levenshtein edit distance between two strings for typo suggestions.
|
|
2287
|
+
*/
|
|
2288
|
+
declare function levenshteinDistance(a: string, b: string): number;
|
|
2289
|
+
declare const DEFAULT_VALID_COMMANDS: readonly string[];
|
|
2290
|
+
/**
|
|
2291
|
+
* Suggest the closest valid CLI command when a user makes a typo.
|
|
2292
|
+
*/
|
|
2293
|
+
declare function suggestCommand(unknownCommand: string, validCommands?: readonly string[]): string | null;
|
|
2294
|
+
|
|
2295
|
+
export { ALL_RUNTIME_TARGETS, type AddOptions, type AnalyzeTokenEconomyOptions, type AuditCatalogOptions, type BadgeType, type BenchmarkArm, BenchmarkArmSchema, type BenchmarkDelta, BenchmarkDeltaSchema, type BoxOptions, COMMAND_HELP_SPECS, CORE_RUNTIME_TARGETS, type CatalogEvalSummary, CatalogEvalSummarySchema, type CatalogItemInfo, type CatalogSearchMatch, type CatalogSearchReport, type CatalogTokenBudgetSummary, type CatalogTrack, CatalogTrackSchema, type CleanOptions, type CollisionPair, CollisionPairSchema, type CollisionReport, CollisionReportSchema, type CollisionSeverity, CollisionSeveritySchema, type ColorOverrideOptions, type CommandHelpSpec, type CommandOptionSpec, DEFAULT_VALID_COMMANDS, type DiagnoseRepositoryOptions, type DoctorCheckItem, type DoctorReport, type EvalAssertion, EvalAssertionSchema, type EvalCase, EvalCaseSchema, ExitCode, type ExitCodeValue, type HarnessCategory, type HarnessInspectionEntry, type HarnessInspectionReport, type HarnessSkillFormat, type JsonRpcRequest, type JsonRpcResponse, type LoadedSkillOpsConfigResult, type LockfileArtifactDiagnostic, type McpConfigAction, type McpServerContext, type McpSetupOptions, type McpSetupReport, type NextStepHint, type ParseSkillOptions, type ParsedSkillDirectory, type ParsedSubagentFile, type QuickstartOptions, type QuickstartReport, RUNTIME_HARNESS_SPECS, type RemoveOptions, RepoFingerprinter, type RepoProfile, RepoProfileSchema, type RouteOptions, type RoutedBundle, RoutedBundleSchema, type RoutingSignals, RoutingSignalsSchema, type RuntimeHarnessSpec, type RuntimeTarget, RuntimeTargetSchema, SKILLOPS_VERSION, type ScaffoldOptions, type ScaffoldResult, type ScoredSkill, ScoredSkillSchema, type ScriptEntrypoint, ScriptEntrypointSchema, type SkillBenchmark, SkillBenchmarkSchema, type SkillEntrypoints, SkillEntrypointsSchema, type SkillEvalSuite, SkillEvalSuiteSchema, type SkillManifest, type SkillManifestInput, SkillManifestSchema, type SkillOpsConfig, SkillOpsConfigSchema, type SkillOpsDetectedStackConfig, SkillOpsDetectedStackConfigSchema, type SkillOpsTokenEconomyConfig, SkillOpsTokenEconomyConfigSchema, type SkillTokenBudgetAudit, type SkippedSkill, SkippedSkillSchema, type SubagentManifest, SubagentManifestSchema, type SubagentTokenBudgetAudit, type SyncLockEntry, SyncLockEntrySchema, type SyncLockfile, SyncLockfileSchema, type SyncOptions, type SyncReport, SyncReportSchema, type SyncedArtifact, SyncedArtifactSchema, type TableOptions, type TokenBarOptions, type TokenEconomyReport, TokenEconomyReportSchema, type TokenFileCategory, TokenFileCategorySchema, type TokenFileEntry, TokenFileEntrySchema, type TokenWasteHotspot, TokenWasteHotspotSchema, addSkillOrSubagent, analyzeRepoTokenEconomy, auditCatalog, auditCatalogTokenBudgets, auditSkillTokenBudget, auditSubagentTokenBudget, classifyCollisionSeverity, cleanSyncedArtifacts, compileSkillBundle, computeCollisionMatrix, computeFeatureCosine, computeIdfWeights, computeSha256, countWords, createCollisionPair, createCollisionReport, createSkillManifest, createSubagentManifest, detectInstalledHarnesses, diagnoseRepository, discoverSkillDirectories, discoverSubagentFiles, estimateTokenCount, evaluateCatalog, evaluateSkillDirectory, extractSkillFeatures, findCommandHelpSpec, fingerprintRepository, formatBadge, formatCatalogItemInfo, formatCatalogSearchReport, formatDoctorReport, formatEvalSummary, formatHarnessInspectionReport, formatMcpSetupReport, formatQuickstartReport, formatRoutedBundle, formatScaffoldReport, formatSyncReport, formatTokenEconomyReport, handleMcpJsonRpcRequest, inspectCatalogItem, inspectHarnesses, isColorEnabled, levenshteinDistance, loadSkillOpsConfig, normalizePackageName, padVisible, parseSkillDirectory, parseSkillMdFile, parseSubagentFile, parseSubagentMdFile, removeSkillOrSubagent, renderAiUsageGuide, renderBox, renderCodexAgentsIndex, renderCommandHelp, renderGlobalHelp, renderHeaderBanner, renderNextSteps, renderProgressBar, renderSectionHeader, renderStep, renderTable, renderTokenBar, resolveRuntimeTargets, routeRepository, runQuickstart, scaffoldFrameworkItem, scoreSkillAgainstProfile, searchCatalog, setupMcpForHarnesses, splitFrontmatter, startMcpStdioServer, stripAnsi, stripCodexAgentsBlock, stripNegativeTriggerClauses, style, suggestCommand, syncRepository, tokenizeRoutingText, visibleLength };
|