SYMBOL INDEX (575 symbols across 18 files) FILE: cli.js constant LEGACY_COLLECTION_ALIASES (line 103) | const LEGACY_COLLECTION_ALIASES = { constant SWIFT_SHORTCUT (line 134) | const SWIFT_SHORTCUT = 'swift'; constant MKTG_SHORTCUT (line 135) | const MKTG_SHORTCUT = 'mktg'; constant UNIVERSAL_DEFAULT_AGENTS (line 136) | const UNIVERSAL_DEFAULT_AGENTS = ['claude', 'codex']; constant FORMAT_ENUM (line 137) | const FORMAT_ENUM = ['text', 'json']; constant WORK_AREA_ENUM (line 138) | const WORK_AREA_ENUM = ['frontend', 'backend', 'mobile', 'workflow', 'ag... constant CATEGORY_ENUM (line 139) | const CATEGORY_ENUM = ['development', 'document', 'creative', 'business'... constant TRUST_ENUM (line 140) | const TRUST_ENUM = ['listed', 'verified']; constant TIER_ENUM (line 141) | const TIER_ENUM = ['house', 'upstream']; constant DISTRIBUTION_ENUM (line 142) | const DISTRIBUTION_ENUM = ['bundled', 'live']; constant ORIGIN_ENUM (line 143) | const ORIGIN_ENUM = ['authored', 'curated', 'adapted']; constant SYNC_MODE_ENUM (line 144) | const SYNC_MODE_ENUM = ['snapshot', 'live', 'authored', 'adapted']; constant FLAG_DEFINITIONS (line 146) | const FLAG_DEFINITIONS = { constant COMMAND_REGISTRY (line 185) | const COMMAND_REGISTRY = { constant COMMAND_ALIAS_MAP (line 344) | const COMMAND_ALIAS_MAP = Object.entries(COMMAND_REGISTRY).reduce((map, ... function resolveCommandAlias (line 352) | function resolveCommandAlias(command) { function getCommandDefinition (line 356) | function getCommandDefinition(command) { function getFlagSchema (line 361) | function getFlagSchema(flagName) { function stringSchema (line 370) | function stringSchema(description = null, extra = {}) { function booleanSchema (line 378) | function booleanSchema(description = null, extra = {}) { function integerSchema (line 386) | function integerSchema(description = null, extra = {}) { function enumSchema (line 394) | function enumSchema(values, description = null, extra = {}) { function arraySchema (line 403) | function arraySchema(items, description = null, extra = {}) { function objectSchema (line 412) | function objectSchema(properties, required = [], description = null, ext... function oneOfSchema (line 423) | function oneOfSchema(variants, description = null, extra = {}) { function nullableSchema (line 431) | function nullableSchema(schema) { function buildEnvelopeSchema (line 438) | function buildEnvelopeSchema(commandName, dataSchema, description = null) { function buildNdjsonSchema (line 457) | function buildNdjsonSchema(commandName, summarySchema, itemSchema, descr... constant STRING_OR_STRING_ARRAY_SCHEMA (line 483) | const STRING_OR_STRING_ARRAY_SCHEMA = oneOfSchema([ constant COLLECTION_INPUT_SCHEMA (line 488) | const COLLECTION_INPUT_SCHEMA = oneOfSchema([ constant WORK_AREA_INPUT_SCHEMA (line 493) | const WORK_AREA_INPUT_SCHEMA = oneOfSchema([ constant STARTER_COLLECTION_INPUT_SCHEMA (line 502) | const STARTER_COLLECTION_INPUT_SCHEMA = oneOfSchema([ constant SERIALIZED_SKILL_SCHEMA (line 512) | const SERIALIZED_SKILL_SCHEMA = objectSchema({ function buildMutationStdinSchema (line 532) | function buildMutationStdinSchema(commandName) { function buildCommandInputSchema (line 603) | function buildCommandInputSchema(commandName) { constant IMPORT_RESULT_SCHEMA (line 610) | const IMPORT_RESULT_SCHEMA = objectSchema({ function buildCommandOutputSchema (line 653) | function buildCommandOutputSchema(commandName) { function getCommandSchema (line 976) | function getCommandSchema(command) { function buildHelpSchema (line 994) | function buildHelpSchema(command = null) { function emitSchemaHelp (line 1025) | function emitSchemaHelp(command = null) { constant ANSI_PATTERN (line 1030) | const ANSI_PATTERN = /\x1b\[[0-9;]*m/g; constant OUTPUT_STATE (line 1031) | let OUTPUT_STATE = { function stripAnsi (line 1041) | function stripAnsi(value) { function resolveOutputFormat (line 1045) | function resolveOutputFormat(parsed = {}) { function resetOutputState (line 1053) | function resetOutputState(format = 'text', command = null, explicitForma... function isJsonOutput (line 1065) | function isJsonOutput() { function captureMessage (line 1069) | function captureMessage(level, value) { function log (line 1077) | function log(msg) { function success (line 1085) | function success(msg) { function info (line 1093) | function info(msg) { function warn (line 1101) | function warn(msg) { function error (line 1109) | function error(msg) { function setJsonResultData (line 1117) | function setJsonResultData(data) { function emitJsonEnvelope (line 1121) | function emitJsonEnvelope(command, data = null, errors = null, options =... function emitJsonRecord (line 1132) | function emitJsonRecord(command, data = null, errors = null, options = {... function finalizeJsonOutput (line 1143) | function finalizeJsonOutput() { function isMachineReadableOutput (line 1148) | function isMachineReadableOutput() { function sanitizeMachineField (line 1152) | function sanitizeMachineField(value) { function emitMachineLine (line 1159) | function emitMachineLine(kind, fields = []) { function emitActionableError (line 1163) | function emitActionableError(message, hint = '', options = {}) { function emitDryRunResult (line 1187) | function emitDryRunResult(command, actions = [], extra = {}) { constant ACTIVE_LIBRARY_CONTEXT (line 1205) | let ACTIVE_LIBRARY_CONTEXT = getBundledLibraryContext(); function setActiveLibraryContext (line 1207) | function setActiveLibraryContext(context) { function getActiveLibraryContext (line 1212) | function getActiveLibraryContext() { function getActiveSkillsDir (line 1216) | function getActiveSkillsDir() { function getLibraryDisplayName (line 1220) | function getLibraryDisplayName(context = getActiveLibraryContext()) { function getLibraryModeHint (line 1228) | function getLibraryModeHint(context = getActiveLibraryContext()) { function requireWorkspaceContext (line 1235) | function requireWorkspaceContext(actionLabel = 'This command') { function slugifyLibraryName (line 1246) | function slugifyLibraryName(name) { function isInsideDirectory (line 1254) | function isInsideDirectory(targetPath, candidatePath) { function isMaintainerRepoContext (line 1259) | function isMaintainerRepoContext(context) { function requireEditableLibraryContext (line 1265) | function requireEditableLibraryContext(actionLabel = 'This command') { function getCatalogContextFromMeta (line 1281) | function getCatalogContextFromMeta(meta) { function buildCatalogInstallMeta (line 1306) | function buildCatalogInstallMeta(skillName, targetDir, context = getActi... function getBundledCatalogData (line 1320) | function getBundledCatalogData() { function getBundledCatalogSkill (line 1324) | function getBundledCatalogSkill(skillName) { function inferInstallSourceFromCatalogSkill (line 1329) | function inferInstallSourceFromCatalogSkill(skill) { function buildImportedCatalogEntryFromBundledSkill (line 1342) | function buildImportedCatalogEntryFromBundledSkill(skill, fields) { function getCatalogInstallOrder (line 1373) | function getCatalogInstallOrder(data, requestedSkillNames, noDeps = fals... function getCatalogInstallPlan (line 1381) | function getCatalogInstallPlan(data, requestedSkillNames, noDeps = false) { function getInstallStateText (line 1395) | function getInstallStateText(skillName, index = buildInstallStateIndex()) { function serializeSkillForJson (line 1399) | function serializeSkillForJson(data, skill, installStateIndex = null) { constant DEFAULT_LIST_JSON_FIELDS (line 1423) | const DEFAULT_LIST_JSON_FIELDS = ['name', 'tier', 'workArea', 'descripti... constant DEFAULT_COLLECTIONS_JSON_FIELDS (line 1424) | const DEFAULT_COLLECTIONS_JSON_FIELDS = ['id', 'title', 'description', '... constant DEFAULT_PREVIEW_JSON_FIELDS (line 1425) | const DEFAULT_PREVIEW_JSON_FIELDS = ['name', 'sourceType', 'content', 's... constant DEFAULT_INSTALL_LIST_JSON_FIELDS (line 1426) | const DEFAULT_INSTALL_LIST_JSON_FIELDS = ['name', 'description']; constant DEFAULT_REMOTE_INSTALL_LIST_JSON_FIELDS (line 1427) | const DEFAULT_REMOTE_INSTALL_LIST_JSON_FIELDS = ['name', 'tier', 'workAr... function parseFieldMask (line 1429) | function parseFieldMask(value, fallback = null) { function selectObjectFields (line 1438) | function selectObjectFields(record, fields) { function paginateItems (line 1448) | function paginateItems(items, limit = null, offset = null) { function applyTopLevelFieldMask (line 1464) | function applyTopLevelFieldMask(payload, fields, fallback = null) { function resolveReadJsonOptions (line 1476) | function resolveReadJsonOptions(parsed, commandName) { function colorizeInstallStateLabel (line 1508) | function colorizeInstallStateLabel(label) { function loadConfig (line 1515) | function loadConfig() { function saveConfig (line 1526) | function saveConfig(config) { function writeSkillMeta (line 1538) | function writeSkillMeta(skillPath, meta) { function readSkillMeta (line 1542) | function readSkillMeta(skillPath) { constant AGENT_INPUT_HINT (line 1548) | const AGENT_INPUT_HINT = 'Remove path traversal (`../`), percent-encoded... constant AGENT_IDENTIFIER_FIELDS (line 1549) | const AGENT_IDENTIFIER_FIELDS = new Set([ constant AGENT_FREEFORM_FIELDS (line 1564) | const AGENT_FREEFORM_FIELDS = new Set([ constant PROMPT_INJECTION_PATTERNS (line 1574) | const PROMPT_INJECTION_PATTERNS = [ constant BASE64ISH_LINE_PATTERN (line 1579) | const BASE64ISH_LINE_PATTERN = /^[A-Za-z0-9+/]{80,}={0,2}$/; function validateAgentInput (line 1581) | function validateAgentInput(value, fieldName, options = {}) { function validateAgentValue (line 1606) | function validateAgentValue(value, fieldName, mode = 'text') { function validateAgentPayloadValue (line 1619) | function validateAgentPayloadValue(value, fieldName = 'payload', parentK... function sandboxOutputPath (line 1642) | function sandboxOutputPath(target, allowedRoot) { function sanitizeSkillContent (line 1651) | function sanitizeSkillContent(content) { function validateParsedAgentInputs (line 1683) | function validateParsedAgentInputs(command, parsed, payload = null) { function validateSkillName (line 1721) | function validateSkillName(name) { function isSafePath (line 1744) | function isSafePath(basePath, targetPath) { function safeTempCleanup (line 1751) | function safeTempCleanup(dir) { function validateGitHubSkillPath (line 1764) | function validateGitHubSkillPath(skillPath) { function parseSkillMarkdown (line 1784) | function parseSkillMarkdown(raw) { function readSkillDirectory (line 1788) | function readSkillDirectory(skillDir) { function loadSkillsJson (line 1808) | function loadSkillsJson() { function getCollections (line 1816) | function getCollections(data) { function getCollection (line 1820) | function getCollection(data, collectionId) { function resolveCollection (line 1825) | function resolveCollection(data, collectionId) { function uniquePaths (line 1882) | function uniquePaths(paths) { function getCollectionsForSkill (line 1886) | function getCollectionsForSkill(data, skillName) { function getCollectionBadgeText (line 1892) | function getCollectionBadgeText(data, skill, limit = 2) { function getCollectionStartHere (line 1898) | function getCollectionStartHere(collection, limit = 3) { function validateRemoteWorkspaceCatalog (line 1902) | function validateRemoteWorkspaceCatalog(data) { function getSearchMatchScore (line 1921) | function getSearchMatchScore(skill, query) { function sortSkillsForSearch (line 1939) | function sortSkillsForSearch(data, skills, query) { function getWorkAreas (line 1947) | function getWorkAreas(data) { function formatWorkAreaTitle (line 1951) | function formatWorkAreaTitle(workArea) { function formatCount (line 1960) | function formatCount(count, singular, plural = `${singular}s`) { function getWorkAreaMeta (line 1964) | function getWorkAreaMeta(data, workAreaId) { function getSkillWorkArea (line 1968) | function getSkillWorkArea(skill) { function getSkillBranch (line 1975) | function getSkillBranch(skill) { function getOrigin (line 1982) | function getOrigin(skill) { function getTrust (line 1989) | function getTrust(skill) { function getSyncMode (line 1998) | function getSyncMode(skill) { function getTier (line 2007) | function getTier(skill) { function getDistribution (line 2014) | function getDistribution(skill) { function getTierBadge (line 2021) | function getTierBadge(skill) { function getTierLine (line 2028) | function getTierLine(skill) { function getSkillMeta (line 2035) | function getSkillMeta(skill, includeCategory = true) { function filterSkillsByCollection (line 2051) | function filterSkillsByCollection(data, skills, collectionId) { function printCollectionSuggestions (line 2081) | function printCollectionSuggestions(data) { function getAvailableSkills (line 2091) | function getAvailableSkills() { function parseArgs (line 2123) | function parseArgs(args) { constant JSON_INPUT_COMMANDS (line 2358) | const JSON_INPUT_COMMANDS = new Set(['add', 'catalog', 'vendor', 'curate... constant INVALID_JSON_INPUT (line 2359) | const INVALID_JSON_INPUT = Symbol('invalid-json-input'); function readJsonStdin (line 2361) | async function readJsonStdin() { function parseJsonInput (line 2386) | async function parseJsonInput(command, parsed) { function getPayloadValue (line 2405) | function getPayloadValue(payload, ...keys) { function mergeMutationOption (line 2415) | function mergeMutationOption(cliValue, payload, ...keys) { function mergeMutationNullableBoolean (line 2419) | function mergeMutationNullableBoolean(cliValue, payload, ...keys) { function mergeMutationBoolean (line 2427) | function mergeMutationBoolean(cliValue, payload, ...keys) { function resolveMutationSource (line 2433) | function resolveMutationSource(param, payload, options = {}) { function buildWorkspaceMutationOptions (line 2440) | function buildWorkspaceMutationOptions(parsed, payload = {}) { function buildCurateParsed (line 2463) | function buildCurateParsed(parsed, payload = {}) { function resolveInstallPath (line 2487) | function resolveInstallPath(parsed, options = {}) { function resolveManagedTargets (line 2507) | function resolveManagedTargets(parsed) { function resolveScopeLabel (line 2530) | function resolveScopeLabel(targetPath) { function isKnownCommand (line 2536) | function isKnownCommand(command) { function isImplicitSourceCommand (line 2540) | function isImplicitSourceCommand(command) { function copyDir (line 2547) | function copyDir(src, dest, currentSize = { total: 0 }, rootSrc = null) { function getDirectorySize (line 2605) | function getDirectorySize(dir) { function buildHouseSkillInstallMeta (line 2623) | function buildHouseSkillInstallMeta(skillName, destDir, { function installSkill (line 2660) | function installSkill(skillName, agent = 'claude', dryRun = false, targe... function installSkillToScope (line 2768) | function installSkillToScope(skillName, scopePath, scopeLabel, dryRun = ... function getCollectionSkillsInOrder (line 2835) | function getCollectionSkillsInOrder(data, collection) { function buildCollectionInstallOperations (line 2846) | function buildCollectionInstallOperations(skills, { sourceContext = getA... function printCatalogInstallPlan (line 2877) | function printCatalogInstallPlan(plan, installPaths, { function installCatalogPlan (line 2958) | async function installCatalogPlan(plan, installPaths, { function installCatalogSkillFromLibrary (line 3054) | async function installCatalogSkillFromLibrary(skillName, installPaths, d... function installCollection (line 3072) | async function installCollection(collectionId, parsed, installPaths) { function showAgentInstructions (line 3108) | function showAgentInstructions(agent, skillName, destPath) { function uninstallSkill (line 3127) | function uninstallSkill(skillName, agent = 'claude', dryRun = false) { function uninstallSkillFromPath (line 3132) | function uninstallSkillFromPath(skillName, destDir, targetLabel = 'globa... function getInstalledSkills (line 3169) | function getInstalledSkills(agent = 'claude') { function getInstalledSkillsInPath (line 3174) | function getInstalledSkillsInPath(destDir) { function listInstalledSkills (line 3178) | function listInstalledSkills(agent = 'claude') { function listInstalledSkillsInPath (line 3184) | function listInstalledSkillsInPath(destDir, label = 'global', installed ... function runDoctor (line 3224) | function runDoctor(agentsToCheck = Object.keys(AGENT_PATHS)) { function runValidate (line 3335) | function runValidate(targetPath) { function updateFromRegistry (line 3384) | function updateFromRegistry(skillName, targetLabel, destPath, dryRun, me... function updateFromRemoteSource (line 3431) | function updateFromRemoteSource(meta, skillName, targetLabel, destPath, ... function updateFromGitHub (line 3549) | function updateFromGitHub(meta, skillName, targetLabel, destPath, dryRun) { function updateFromGitUrl (line 3553) | function updateFromGitUrl(meta, skillName, targetLabel, destPath, dryRun) { function updateFromLocalPath (line 3558) | function updateFromLocalPath(meta, skillName, targetLabel, destPath, dry... function updateSkill (line 3604) | function updateSkill(skillName, agent = 'claude', dryRun = false) { function updateSkillInPath (line 3609) | function updateSkillInPath(skillName, destDir, targetLabel = 'global', d... function updateAllSkills (line 3648) | function updateAllSkills(agent = 'claude', dryRun = false) { function updateAllSkillsInPath (line 3653) | function updateAllSkillsInPath(destDir, targetLabel = 'global', dryRun =... function resolveCatalogSkillSelection (line 3679) | function resolveCatalogSkillSelection(category = null, tags = null, coll... function emitListJson (line 3714) | function emitListJson(category = null, tags = null, collectionId = null,... function emitSearchJson (line 3763) | function emitSearchJson(query, category = null, collectionId = null, wor... function emitInstalledSkillsJson (line 3827) | function emitInstalledSkillsJson(targets) { function listSkills (line 3855) | function listSkills(category = null, tags = null, collectionId = null, w... function searchSkills (line 3998) | function searchSkills(query, category = null, collectionId = null, workA... function showCollections (line 4085) | function showCollections(options = {}) { function getBundledSkillFilePath (line 4145) | function getBundledSkillFilePath(skillName, options = {}) { function showPreview (line 4168) | function showPreview(skillName, options = {}) { function isInteractiveTerminal (line 4246) | function isInteractiveTerminal() { function launchBrowser (line 4250) | async function launchBrowser({agent = null, scope = 'global'} = {}) { function runExternalInstallAction (line 4256) | function runExternalInstallAction(action) { function levenshteinDistance (line 4279) | function levenshteinDistance(a, b) { function sanitizeSubpath (line 4310) | function sanitizeSubpath(subpath) { return sanitizeSubpathLib(subpath); } function parseSource (line 4311) | function parseSource(source) { return parseSourceLib(source); } function isGitHubUrl (line 4313) | function isGitHubUrl(source) { function isGitUrl (line 4323) | function isGitUrl(source) { return isGitUrlLib(source); } function parseGitUrl (line 4324) | function parseGitUrl(source) { return parseGitUrlLib(source); } function getRepoNameFromUrl (line 4325) | function getRepoNameFromUrl(url) { return getRepoNameFromUrlLib(url); } function validateGitUrl (line 4326) | function validateGitUrl(url) { return validateGitUrlLib(url); } function sanitizeGitUrl (line 4327) | function sanitizeGitUrl(url) { return sanitizeGitUrlLib(url); } function isWindowsPath (line 4328) | function isWindowsPath(source) { return isWindowsPathLib(source); } function isLocalPath (line 4329) | function isLocalPath(source) { return isLocalPathLib(source); } function expandPath (line 4330) | function expandPath(p) { return expandPathLib(p); } function getArgValue (line 4332) | function getArgValue(argv, flag) { function createPromptInterface (line 4337) | function createPromptInterface() { function promptLine (line 4344) | function promptLine(rl, label, defaultValue = '') { function promptConfirm (line 4354) | function promptConfirm(label, defaultYes = true) { function promptForEditorialFields (line 4375) | async function promptForEditorialFields(initialFields, options = {}) { function formatReviewQueue (line 4440) | function formatReviewQueue(queue) { function buildCurateChanges (line 4470) | function buildCurateChanges(parsed) { function validateGitHubName (line 4491) | function validateGitHubName(name, type = 'name') { function findNearestExistingParent (line 4505) | function findNearestExistingParent(targetPath) { function getPathAccessStatus (line 4517) | function getPathAccessStatus(targetPath) { function getBrokenInstalledEntries (line 4546) | function getBrokenInstalledEntries(agent = 'claude') { function validateSkillDirectory (line 4565) | function validateSkillDirectory(skillTarget) { function discoverSkills (line 4657) | function discoverSkills(rootDir, repoRoot = rootDir) { function buildRepoId (line 4661) | function buildRepoId(parsed) { function buildInstallSourceRef (line 4668) | function buildInstallSourceRef(parsed, relativeDir = null) { function getLibraryRepoProvenance (line 4695) | function getLibraryRepoProvenance(parsed) { function getCatalogSkillSourceRef (line 4703) | function getCatalogSkillSourceRef(skill, { sourceContext = getActiveLibr... function buildSourceUrl (line 4713) | function buildSourceUrl(parsed, relativeDir = null) { function maybeRenameRootSkill (line 4727) | function maybeRenameRootSkill(discovered, parsed, rootDir, repoRoot) { function findDiscoveredSkill (line 4750) | function findDiscoveredSkill(discovered, filter) { function uniqueSkillFilters (line 4760) | function uniqueSkillFilters(filters = []) { function catalogSkills (line 4776) | async function catalogSkills(source, options = {}) { function vendorSkill (line 4917) | async function vendorSkill(source, options = {}) { function addBundledSkillToWorkspace (line 5068) | async function addBundledSkillToWorkspace(skillName, options = {}) { function addSkillToWorkspace (line 5147) | async function addSkillToWorkspace(source, options = {}) { function runCurateCommand (line 5165) | function runCurateCommand(skillName, parsed) { function classifyGitError (line 5276) | function classifyGitError(message) { function copySkillFiles (line 5281) | function copySkillFiles(srcDir, destDir, sandboxRoot) { function defaultImportClassification (line 5309) | function defaultImportClassification(workAreas) { function buildImportedSkillEntry (line 5318) | function buildImportedSkillEntry(candidate, workspaceData, options = {}) { function emitImportResult (line 5368) | function emitImportResult(result, options = {}) { function importWorkspaceSkills (line 5446) | function importWorkspaceSkills(importPath = null, options = {}) { function getSourceLabel (line 5632) | function getSourceLabel(parsed, fallbackSource = '') { function printRemoteWorkspaceList (line 5646) | function printRemoteWorkspaceList(sourceLabel, data, skills, options = {... function emitInstallSourceListJson (line 5701) | function emitInstallSourceListJson(sourceLabel, discovered, options = {}) { function installFromWorkspaceSource (line 5730) | async function installFromWorkspaceSource(source, parsed, prepared, inst... function installFromSource (line 5843) | async function installFromSource(source, parsed, installPaths, skillFilt... function installFromGitHub (line 6035) | async function installFromGitHub(source, agent = 'claude', dryRun = fals... function installFromGitUrl (line 6041) | async function installFromGitUrl(source, agent = 'claude', dryRun = fals... function installFromLocalPath (line 6047) | function installFromLocalPath(source, agent = 'claude', dryRun = false) { function showHelp (line 6055) | function showHelp() { function showInfo (line 6160) | function showInfo(skillName, options = {}) { function showConfig (line 6315) | function showConfig() { function setConfig (line 6340) | function setConfig(key, value) { function initSkill (line 6385) | function initSkill(name, options = {}) { function buildWorkspaceReadmeTemplate (line 6453) | function buildWorkspaceReadmeTemplate(libraryName) { constant DEFAULT_WORKSPACE_WORK_AREAS (line 6490) | const DEFAULT_WORKSPACE_WORK_AREAS = [ function normalizeWorkspaceWorkAreas (line 6518) | function normalizeWorkspaceWorkAreas(workAreas) { function normalizeStarterCollections (line 6555) | function normalizeStarterCollections(collections) { function normalizeAreasFlag (line 6596) | function normalizeAreasFlag(value) { function readIfExists (line 6605) | function readIfExists(targetPath) { function hasGeneratedReadmeMarkers (line 6613) | function hasGeneratedReadmeMarkers(content) { function buildManagedReadmeSection (line 6618) | function buildManagedReadmeSection() { function ensureWorkspaceReadme (line 6647) | function ensureWorkspaceReadme(context, libraryName) { function ensureWorkspaceWorkAreasFile (line 6663) | function ensureWorkspaceWorkAreasFile(context, starterData) { function createStarterLibraryData (line 6672) | function createStarterLibraryData(libraryName, librarySlug, options = {}) { function initLibrary (line 6686) | function initLibrary(name, options = {}) { function buildDocs (line 6838) | function buildDocs(options = {}) { function collectCheckResults (line 6887) | function collectCheckResults(scope) { function checkSkills (line 6995) | function checkSkills(scope) { function main (line 7043) | async function main() { FILE: lib/catalog-data.cjs constant VALID_CATEGORIES (line 7) | const VALID_CATEGORIES = ['development', 'document', 'creative', 'busine... constant VALID_DISTRIBUTIONS (line 8) | const VALID_DISTRIBUTIONS = ['bundled', 'live']; constant VALID_ORIGINS (line 9) | const VALID_ORIGINS = ['authored', 'curated', 'adapted']; constant VALID_SYNC_MODES (line 10) | const VALID_SYNC_MODES = ['authored', 'mirror', 'snapshot', 'adapted', '... constant VALID_TIERS (line 11) | const VALID_TIERS = ['house', 'upstream']; constant VALID_TRUST (line 12) | const VALID_TRUST = ['verified', 'reviewed', 'listed']; constant SKILL_NAME_PATTERN (line 13) | const SKILL_NAME_PATTERN = /^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/; function getCatalogSkillNameValidationError (line 15) | function getCatalogSkillNameValidationError(name) { function isValidCatalogSkillName (line 28) | function isValidCatalogSkillName(name) { function deriveTier (line 32) | function deriveTier(skill) { function deriveDistribution (line 37) | function deriveDistribution(skill, tier) { function normalizeSkill (line 44) | function normalizeSkill(skill) { function normalizeCatalogData (line 68) | function normalizeCatalogData(data) { function resolveCatalogPath (line 77) | function resolveCatalogPath(context) { function loadCatalogData (line 81) | function loadCatalogData(context = null) { function writeCatalogData (line 86) | function writeCatalogData(data, context = null) { function findSkillByName (line 92) | function findSkillByName(data, skillName) { function getCatalogCounts (line 96) | function getCatalogCounts(data) { function validateCatalogData (line 107) | function validateCatalogData(data) { FILE: lib/catalog-mutations.cjs constant VALID_TRUST (line 13) | const VALID_TRUST = ['listed', 'reviewed', 'verified']; constant CURATION_STALE_DAYS (line 14) | const CURATION_STALE_DAYS = 180; constant SUSPICIOUS_BRANCHES (line 15) | const SUSPICIOUS_BRANCHES = new Set(['general', 'misc', 'other', 'defaul... function currentIsoDay (line 17) | function currentIsoDay() { function currentCatalogTimestamp (line 21) | function currentCatalogTimestamp() { function normalizeListInput (line 25) | function normalizeListInput(value) { function ensureRequiredPlacement (line 38) | function ensureRequiredPlacement(fields, data) { function ensureCollectionIdsExist (line 59) | function ensureCollectionIdsExist(collectionIds, data) { function ensureValidTrust (line 72) | function ensureValidTrust(trust) { function buildRepoId (line 78) | function buildRepoId(parsed, fallbackSource = '') { function buildInstallSourceRef (line 85) | function buildInstallSourceRef(parsed, relativeDir) { function buildSourceUrl (line 101) | function buildSourceUrl(parsed, relativeDir) { function buildUpstreamCatalogEntry (line 113) | function buildUpstreamCatalogEntry({ source, parsed, discoveredSkill, fi... function buildHouseCatalogEntry (line 149) | function buildHouseCatalogEntry(fields, data) { function normalizeTrust (line 185) | function normalizeTrust(trust) { function resolveLastVerified (line 191) | function resolveLastVerified(fields, existingSkill = null) { function addSkillToCollections (line 207) | function addSkillToCollections(collections, skillName, collectionIds) { function removeSkillFromSelectedCollections (line 228) | function removeSkillFromSelectedCollections(collections, skillName, coll... function applyCurateChanges (line 242) | function applyCurateChanges(skill, changes, data) { function removeSkillFromCollections (line 317) | function removeSkillFromCollections(collections, skillName) { function commitCatalogData (line 324) | function commitCatalogData(rawData, context = null, options = {}) { function addUpstreamSkillFromDiscovery (line 350) | function addUpstreamSkillFromDiscovery({ source, parsed, discoveredSkill... function addHouseSkillEntry (line 374) | function addHouseSkillEntry(entry, context = null) { function curateSkill (line 389) | function curateSkill(skillName, changes, context = null) { function removeSkillFromCatalog (line 417) | function removeSkillFromCatalog(skillName, context = null) { function buildReviewQueue (line 432) | function buildReviewQueue(rawData, now = new Date()) { function generatedDocsStatus (line 476) | function generatedDocsStatus(context = null) { FILE: lib/catalog-paths.cjs function getCatalogSkillRelativePath (line 4) | function getCatalogSkillRelativePath(skill) { function resolveCatalogSkillSourcePath (line 11) | function resolveCatalogSkillSourcePath(skillName, { sourceContext, skill... function hasLocalCatalogSkillFiles (line 19) | function hasLocalCatalogSkillFiles(skill, sourceContext) { function shouldTreatCatalogSkillAsHouse (line 24) | function shouldTreatCatalogSkillAsHouse(skill, sourceContext) { FILE: lib/dependency-graph.cjs function normalizeRequires (line 1) | function normalizeRequires(value) { function buildDependencyGraph (line 18) | function buildDependencyGraph(data) { function getSkillDependencies (line 93) | function getSkillDependencies(data, skillName) { function getSkillDependents (line 98) | function getSkillDependents(data, skillName) { function resolveInstallOrder (line 103) | function resolveInstallOrder(data, requestedSkillNames) { FILE: lib/frontmatter.cjs constant YAML (line 1) | const YAML = require('yaml'); function parseSkillMarkdown (line 3) | function parseSkillMarkdown(raw) { FILE: lib/install-metadata.cjs function parseRepoFromUrl (line 6) | function parseRepoFromUrl(url) { function normalizeInstalledMeta (line 12) | function normalizeInstalledMeta(meta = {}) { function writeInstalledMeta (line 36) | function writeInstalledMeta(skillPath, meta) { function readInstalledMeta (line 52) | function readInstalledMeta(skillPath) { FILE: lib/install-state.cjs function getStandardInstallTargets (line 5) | function getStandardInstallTargets(cwd = process.cwd()) { function listInstalledSkillNamesInDir (line 21) | function listInstalledSkillNamesInDir(dirPath) { function buildInstallStateIndex (line 35) | function buildInstallStateIndex(options = {}) { function getInstallState (line 63) | function getInstallState(index, skillName) { function formatInstallStateLabel (line 92) | function formatInstallStateLabel(state) { function getInstalledSkillNames (line 96) | function getInstalledSkillNames(index, scope = null) { FILE: lib/library-context.cjs constant WORKSPACE_DIR_NAME (line 6) | const WORKSPACE_DIR_NAME = '.ai-agent-skills'; constant WORKSPACE_CONFIG_NAME (line 7) | const WORKSPACE_CONFIG_NAME = 'config.json'; function createLibraryContext (line 9) | function createLibraryContext(rootDir, mode = 'bundled') { constant BUNDLED_LIBRARY_CONTEXT (line 27) | const BUNDLED_LIBRARY_CONTEXT = createLibraryContext(ROOT_DIR, 'bundled'); function getBundledLibraryContext (line 29) | function getBundledLibraryContext() { function isManagedWorkspaceRoot (line 33) | function isManagedWorkspaceRoot(rootDir) { function resolveLibraryContext (line 41) | function resolveLibraryContext(startDir = process.cwd()) { function readWorkspaceConfig (line 57) | function readWorkspaceConfig(context) { FILE: lib/paths.cjs constant ROOT_DIR (line 4) | const ROOT_DIR = path.join(__dirname, '..'); constant SKILLS_DIR (line 5) | const SKILLS_DIR = path.join(ROOT_DIR, 'skills'); constant SKILLS_JSON_PATH (line 6) | const SKILLS_JSON_PATH = path.join(ROOT_DIR, 'skills.json'); constant README_PATH (line 7) | const README_PATH = path.join(ROOT_DIR, 'README.md'); constant WORK_AREAS_PATH (line 8) | const WORK_AREAS_PATH = path.join(ROOT_DIR, 'WORK_AREAS.md'); constant CONFIG_FILE (line 9) | const CONFIG_FILE = path.join(os.homedir(), '.agent-skills.json'); constant SKILL_META_FILE (line 10) | const SKILL_META_FILE = '.skill-meta.json'; constant MAX_SKILL_SIZE (line 11) | const MAX_SKILL_SIZE = 50 * 1024 * 1024; constant SCOPES (line 13) | const SCOPES = { constant LEGACY_AGENTS (line 18) | const LEGACY_AGENTS = { constant AGENT_PATHS (line 32) | const AGENT_PATHS = { FILE: lib/render-docs.cjs constant README_MARKERS (line 6) | const README_MARKERS = { function formatTable (line 13) | function formatTable(headers, rows) { function escapeCell (line 20) | function escapeCell(value) { function sortSources (line 24) | function sortSources(skills) { function buildBundledLibraryStatsSection (line 33) | function buildBundledLibraryStatsSection(data) { function buildWorkspaceLibraryStatsSection (line 61) | function buildWorkspaceLibraryStatsSection(data) { function buildLibraryStatsSection (line 75) | function buildLibraryStatsSection(data, options = {}) { function buildShelfTableSection (line 83) | function buildShelfTableSection(data) { function buildCollectionTableSection (line 91) | function buildCollectionTableSection(data) { function buildSourceTableSection (line 107) | function buildSourceTableSection(data) { function replaceSection (line 115) | function replaceSection(content, markers, replacement) { function renderReadme (line 124) | function renderReadme(data, source, options = {}) { function renderWorkAreas (line 133) | function renderWorkAreas(data, options = {}) { function renderGeneratedDocs (line 178) | function renderGeneratedDocs(rawData, options = {}) { function generatedDocsAreInSync (line 188) | function generatedDocsAreInSync(rawData, options = {}) { function writeGeneratedDocs (line 200) | function writeGeneratedDocs(rawData, context = null) { function ensureTrailingNewline (line 209) | function ensureTrailingNewline(value) { function escapeRegex (line 214) | function escapeRegex(value) { FILE: lib/source.cjs function sanitizeSubpath (line 8) | function sanitizeSubpath(subpath) { function isWindowsPath (line 19) | function isWindowsPath(source) { function isLocalPath (line 23) | function isLocalPath(source) { function isGitUrl (line 31) | function isGitUrl(source) { function parseGitUrl (line 39) | function parseGitUrl(source) { function getRepoNameFromUrl (line 49) | function getRepoNameFromUrl(url) { function validateGitUrl (line 62) | function validateGitUrl(url) { function sanitizeGitUrl (line 78) | function sanitizeGitUrl(url) { function expandPath (line 91) | function expandPath(p) { function parseSource (line 98) | function parseSource(source) { function classifyGitError (line 172) | function classifyGitError(message) { function discoverSkills (line 186) | function discoverSkills(rootDir, options = {}) { function prepareSource (line 272) | function prepareSource(source, options = {}) { FILE: lib/workspace-import.cjs constant RESERVED_FLAT_DIRS (line 7) | const RESERVED_FLAT_DIRS = new Set([ constant DEFAULT_CLASSIFY_KEYWORDS (line 16) | const DEFAULT_CLASSIFY_KEYWORDS = { constant IMPORT_AREA_ALIASES (line 24) | const IMPORT_AREA_ALIASES = { constant IMPORT_BRANCH_PREFIXES (line 35) | const IMPORT_BRANCH_PREFIXES = { function readSkillCandidate (line 43) | function readSkillCandidate(dirPath, layout) { function listChildDirectories (line 91) | function listChildDirectories(rootDir) { function humanizeAreaId (line 101) | function humanizeAreaId(id) { function humanizeToken (line 109) | function humanizeToken(token) { function tokenizeText (line 117) | function tokenizeText(value) { function countMatches (line 125) | function countMatches(text, token) { function countSubstringMatches (line 132) | function countSubstringMatches(text, token) { function discoverImportCandidates (line 149) | function discoverImportCandidates(rootDir) { function classifyImportedSkill (line 227) | function classifyImportedSkill(candidate, workAreas = []) { function inferImportedBranch (line 329) | function inferImportedBranch(candidate, workArea, firstTokenCounts = new... function phraseFromDescription (line 348) | function phraseFromDescription(description) { function buildImportedWhyHere (line 370) | function buildImportedWhyHere(candidate, classification) { function buildWorkAreaDistribution (line 379) | function buildWorkAreaDistribution(imported = []) { FILE: scripts/test-live.js function info (line 24) | function info(message) { function pass (line 28) | function pass(message) { function warn (line 32) | function warn(message) { function fail (line 36) | function fail(message) { function parseArgs (line 40) | function parseArgs(argv) { function ensure (line 85) | function ensure(condition, message) { function sha256 (line 91) | function sha256(value) { function sanitizeForReport (line 95) | function sanitizeForReport(text) { function runCommand (line 101) | function runCommand(command, args, options = {}) { function runCli (line 123) | function runCli(args, options = {}) { function runExpect (line 131) | function runExpect(script, options = {}) { function maybeMkdir (line 135) | function maybeMkdir(dirPath) { function removeDir (line 139) | function removeDir(dirPath) { function listFilesRecursive (line 143) | function listFilesRecursive(rootDir, relativePrefix = '') { function snapshotDirectory (line 166) | function snapshotDirectory(dirPath, { excludeMeta = false } = {}) { function compareSnapshots (line 191) | function compareSnapshots(sourceSnapshot, installedSnapshot, contextLabe... function repoIdFromSource (line 211) | function repoIdFromSource(source) { function getSkillSourceDir (line 219) | function getSkillSourceDir(skill, repoCache) { function collectSourceSnapshot (line 254) | function collectSourceSnapshot(skill, repoCache) { function pickQuickSkills (line 287) | function pickQuickSkills(catalog) { function selectSkills (line 298) | function selectSkills(catalog, options) { function createIsolatedContext (line 311) | function createIsolatedContext(options = {}) { function createPrivateLibraryFixture (line 332) | function createPrivateLibraryFixture() { function expectedInstallDir (line 369) | function expectedInstallDir(scope, context, skillName) { function runWorkspaceBrowseSmoke (line 376) | function runWorkspaceBrowseSmoke(env, cwd, expectedLines) { function runPrivateLibraryScenario (line 391) | function runPrivateLibraryScenario() { function verifyInstalledMeta (line 470) | function verifyInstalledMeta(skill, scope, meta) { function runPreviewFlow (line 487) | function runPreviewFlow(skill) { function runCatalogListFlow (line 500) | function runCatalogListFlow(sourceRepo, expectedSkills) { function runInstallLifecycle (line 515) | function runInstallLifecycle(skill, sourceSnapshot, scope) { function runCollectionInstallFlow (line 588) | function runCollectionInstallFlow(collectionId, expectedSkills) { function resolveExpectBinary (line 620) | function resolveExpectBinary() { function runTuiSmoke (line 627) | function runTuiSmoke(env) { function runTuiHomeSnapshot (line 640) | function runTuiHomeSnapshot(env, { columns, rows, expectedLines }) { function runTuiDetailSnapshot (line 655) | function runTuiDetailSnapshot(skillName, env, cwd) { function runTuiInstall (line 689) | function runTuiInstall(skillName, scope, env, cwd) { function runPackSmoke (line 734) | function runPackSmoke() { function cacheUpstreamRepos (line 746) | function cacheUpstreamRepos(skills, report) { function cleanupRepoCache (line 781) | function cleanupRepoCache(repoCache) { function main (line 789) | async function main() { FILE: scripts/validate.js function error (line 22) | function error(msg) { console.error(` \x1b[31m✗\x1b[0m ${msg}`); errors... function warn (line 23) | function warn(msg) { console.warn(` \x1b[33m!\x1b[0m ${msg}`); warnings... function pass (line 24) | function pass(msg) { console.log(` \x1b[32m✓\x1b[0m ${msg}`); } FILE: test.js function test (line 29) | function test(name, fn) { function assert (line 41) | function assert(condition, message) { function assertEqual (line 45) | function assertEqual(a, b, message) { function assertContains (line 49) | function assertContains(str, substr, message) { function assertNotContains (line 53) | function assertNotContains(str, substr, message) { function parseJsonLines (line 57) | function parseJsonLines(output) { function withDefaultFormat (line 65) | function withDefaultFormat(args, options = {}) { function run (line 72) | function run(cmd) { function runArgs (line 81) | function runArgs(args) { function runArgsWithOptions (line 89) | function runArgsWithOptions(args, options = {}) { function runModule (line 101) | function runModule(source) { function runCommandResult (line 109) | function runCommandResult(args, options = {}) { function copyValidateFixtureFiles (line 128) | function copyValidateFixtureFiles(tmpDir) { function writeFixtureDocs (line 143) | function writeFixtureDocs(tmpDir, data) { function snapshotCatalogFiles (line 168) | function snapshotCatalogFiles() { function restoreCatalogFiles (line 176) | function restoreCatalogFiles(snapshot) { function slugifyName (line 182) | function slugifyName(name) { function createWorkspaceFixture (line 190) | function createWorkspaceFixture(libraryName = 'Workspace Test') { function seedWorkspaceCatalog (line 209) | function seedWorkspaceCatalog(workspaceDir) { function initGitRepo (line 265) | function initGitRepo(repoDir) { function createLocalSkillRepo (line 271) | function createLocalSkillRepo(skillName, description = 'Fixture skill') { function createFlatSkillLibraryFixture (line 283) | function createFlatSkillLibraryFixture(skillDefs = []) { FILE: tui/catalog.cjs constant SKILLS_CLI_VERSION (line 11) | const SKILLS_CLI_VERSION = 'skills@1.4.5'; constant SOURCE_TITLES (line 13) | const SOURCE_TITLES = { constant SKILLS_AGENT_MAP (line 22) | const SKILLS_AGENT_MAP = { constant TOKEN_TITLES (line 35) | const TOKEN_TITLES = { function titleizeToken (line 52) | function titleizeToken(token) { function humanizeSlug (line 59) | function humanizeSlug(slug) { function sourceTitle (line 67) | function sourceTitle(source) { function readSkillsJson (line 71) | function readSkillsJson(context) { function readSkillMarkdown (line 75) | function readSkillMarkdown(skillName, context, skill = null) { function buildSearchText (line 84) | function buildSearchText(parts) { function buildCollectionPlacementMap (line 91) | function buildCollectionPlacementMap(collections) { function getSkillOriginRank (line 103) | function getSkillOriginRank(skill) { function getSkillTrustRank (line 109) | function getSkillTrustRank(skill) { function getSkillCurationScore (line 115) | function getSkillCurationScore(collectionPlacement, skill) { function compareSkillsByCuration (line 126) | function compareSkillsByCuration(collectionPlacement, left, right) { function sortSkillsByCuration (line 148) | function sortSkillsByCuration(data, skills) { function compareSkillsByCurationData (line 153) | function compareSkillsByCurationData(data, left, right) { function getSiblingRecommendations (line 158) | function getSiblingRecommendations(data, skill, limit = 3) { function shellQuote (line 203) | function shellQuote(value) { function getSkillsAgent (line 209) | function getSkillsAgent(agent) { function getSkillsInstallSpec (line 213) | function getSkillsInstallSpec(skill, agent) { function getGitHubTreePath (line 261) | function getGitHubTreePath(sourceUrl, source) { function getGitHubInstallSource (line 283) | function getGitHubInstallSource(skill) { function getGitHubInstallSpec (line 303) | function getGitHubInstallSpec(skill, agent) { function buildCatalog (line 317) | function buildCatalog(context = resolveLibraryContext()) { function getInstallCommand (line 546) | function getInstallCommand(skill, scope) { function getInstallCommandForAgent (line 551) | function getInstallCommandForAgent(skill, agent) { FILE: tui/index.mjs constant CLI_PATH (line 16) | const CLI_PATH = require.resolve('../cli.js'); constant THEMES (line 18) | const THEMES = [ constant COLORS (line 96) | const COLORS = {...THEMES[0].colors}; constant SOURCE_NOTES (line 98) | const SOURCE_NOTES = { constant CREATOR_HANDLE (line 107) | const CREATOR_HANDLE = '@moizibnyousaf'; constant LIBRARY_SIGNATURE (line 108) | const LIBRARY_SIGNATURE = "Moiz's Curated Agent Skills Library"; constant LIBRARY_THESIS (line 109) | const LIBRARY_THESIS = 'Start with a shelf.'; constant LIBRARY_SUPPORT (line 110) | const LIBRARY_SUPPORT = 'A smaller library, kept by hand.'; function clamp (line 112) | function clamp(value, min, max) { function applyTheme (line 116) | function applyTheme(themeIndex) { function parsePositiveNumber (line 122) | function parsePositiveNumber(value) { function readTerminalMetric (line 127) | function readTerminalMetric(name) { function resolveTerminalSize (line 137) | function resolveTerminalSize(stdout) { function wait (line 153) | function wait(milliseconds) { function waitForStableTerminalSize (line 159) | async function waitForStableTerminalSize(stdout, attempts = 4, intervalM... function enterInteractiveScreen (line 174) | function enterInteractiveScreen(stdout) { function getViewportProfile (line 199) | function getViewportProfile({columns, rows}) { function getReservedRows (line 222) | function getReservedRows(screen, viewport, {showInspector = false} = {}) { function fitText (line 249) | function fitText(text, maxLength) { function formatCount (line 255) | function formatCount(count, singular, plural = `${singular}s`) { function shellQuote (line 259) | function shellQuote(value) { function commandLabel (line 267) | function commandLabel(parts) { function stripFrontmatter (line 271) | function stripFrontmatter(markdown) { function excerpt (line 279) | function excerpt(markdown, lines = 12) { function compactText (line 287) | function compactText(text, maxLength) { function sourceNoteFor (line 291) | function sourceNoteFor(sourceSlug, fallback = '') { function getColumnsPerRow (line 295) | function getColumnsPerRow(columns, mode = 'default') { function getAtlasTileHeight (line 308) | function getAtlasTileHeight(mode = 'default', compact = false) { function moveGrid (line 316) | function moveGrid(index, key, itemCount, columnsPerRow) { function getViewportState (line 325) | function getViewportState({items, selectedIndex, columns, rows, mode = '... function Header (line 361) | function Header({breadcrumbs, title, subtitle, hint, metaItems = [], vie... function ModeTabs (line 408) | function ModeTabs({rootMode, compact = false}) { function FooterBar (line 432) | function FooterBar({hint, detail = 'Curated library', mode = 'ATLAS', co... function MetricLine (line 457) | function MetricLine({items}) { function ChipRow (line 469) | function ChipRow({items, selected, compact = false}) { function AtlasTile (line 489) | function AtlasTile({ function AtlasGrid (line 579) | function AtlasGrid({items, selectedIndex, columns, rows, mode = 'default... function getStripState (line 628) | function getStripState({items, selectedIndex, columns, mode = 'default',... function ShelfStrip (line 653) | function ShelfStrip({items, selectedIndex, columns, mode = 'default', ac... function getHeroHighlights (line 690) | function getHeroHighlights(section, selectedItem, selectedIndex = 0, lim... function ShelfHero (line 707) | function ShelfHero({section, selectedItem, columns, selectedIndex = 0, v... function formatPreviewLines (line 746) | function formatPreviewLines(markdown, maxLines = 12) { function SearchOverlay (line 795) | function SearchOverlay({query, setQuery, results, selectedIndex, columns... function HelpOverlay (line 832) | function HelpOverlay({viewport = null}) { function PaletteOverlay (line 850) | function PaletteOverlay({query, setQuery, items, selectedIndex, viewport... function TextEntryOverlay (line 883) | function TextEntryOverlay({title, subtitle, value, setValue, viewport = ... function MenuOverlay (line 899) | function MenuOverlay({title, subtitle, items, selectedIndex, viewport = ... function ReviewOverlay (line 922) | function ReviewOverlay({entries, selectedIndex, viewport = null}) { function Inspector (line 954) | function Inspector({title, eyebrow, lines, command, footer, variant = 'c... function ActionBar (line 1005) | function ActionBar({items}) { function ModalShell (line 1018) | function ModalShell({title, subtitle, width = 84, children, footerLines ... function ModalOption (line 1045) | function ModalOption({label, meta = '', description = '', selected}) { function SkillScreen (line 1062) | function SkillScreen({skill, previewMode, scope, agent, columns, viewpor... function InstallChooser (line 1283) | function InstallChooser({skill, scope, agent, selectedIndex, columns, vi... function buildBreadcrumbs (line 1394) | function buildBreadcrumbs(rootMode, stack, catalog) { function getCollectionItems (line 1450) | function getCollectionItems(catalog) { function getShelfItems (line 1463) | function getShelfItems(catalog) { function getTierSkillItems (line 1484) | function getTierSkillItems(catalog, tier, limit = 6) { function getTierLabel (line 1492) | function getTierLabel(skill) { function getDistributionLabel (line 1496) | function getDistributionLabel(skill) { function getInstallSummary (line 1500) | function getInstallSummary(skill) { function getSkillProvenanceLines (line 1506) | function getSkillProvenanceLines(skill, {wide = false} = {}) { function getNeighboringPickLines (line 1518) | function getNeighboringPickLines(relatedSkills) { function getSourceItems (line 1526) | function getSourceItems(catalog) { function getSkillCardChips (line 1539) | function getSkillCardChips(skill, fallbackChips = []) { function getAreaItems (line 1546) | function getAreaItems(area) { function getSourceBranchItems (line 1561) | function getSourceBranchItems(source) { function getSkillItems (line 1575) | function getSkillItems(skills) { function getCollectionSkillItems (line 1587) | function getCollectionSkillItems(collection) { function getInstalledItems (line 1599) | function getInstalledItems(catalog) { function filterPaletteItems (line 1605) | function filterPaletteItems(items, query) { function runCliMutation (line 1611) | function runCliMutation(args) { function maybeRenameRootSkillForRepo (line 1618) | function maybeRenameRootSkillForRepo(discovered, parsed, rootDir, repoRo... function discoverSourceSkillsForCatalog (line 1641) | function discoverSourceSkillsForCatalog(source) { function App (line 1671) | function App({catalog: initialCatalog, scope, agent, onExit, libraryCont... function launchTui (line 3119) | async function launchTui({agent = null, scope = 'global'} = {}) {