/** * Skill Scanner * * Scans the OpenClaw skills directory, parses SKILL.md frontmatter, * extracts command requirements, and cross-references with discovered binaries. */ import type { SkillMetadata, SkillExtractedInfo, DiscoveredSkill, SkillCommandRequirement, DiscoveredBinary, DiscoveryOptions } from '@agenshield/ipc'; /** * Extract structured info (API keys, bins, config options, install steps) from skill metadata */ export declare function extractSkillInfo(metadata: SkillMetadata | null): SkillExtractedInfo; /** * Parse SKILL.md content, extracting YAML frontmatter and body */ export declare function parseSkillMd(content: string): { metadata: SkillMetadata; body: string; } | null; /** * Extract command requirements from metadata and content body */ export declare function extractCommands(metadata: SkillMetadata | null, body: string, binaryLookup: Map): SkillCommandRequirement[]; /** * Get the approval status of a skill */ export declare function getApprovalStatus(skillName: string): 'approved' | 'quarantined' | 'unknown'; /** * Scan the skills directory and return discovered skills */ export declare function scanSkills(options: DiscoveryOptions, binaryLookup: Map): DiscoveredSkill[]; /** * Strip env-related fields from SKILL.md frontmatter. * * OpenClaw reads `requires.env` / `metadata.openclaw.requires.env` / `metadata.openclaw.primaryEnv` * from SKILL.md and prompts the user for those env vars. AgenShield handles secrets via its own * vault/broker, so we strip these fields before writing to the agent's skill directory. */ export declare function stripEnvFromSkillMd(content: string): string; //# sourceMappingURL=skill-scanner.d.ts.map