import { VettingVerdict } from './skill-vetting'; interface SkillEntry { name: string; version: string; active: boolean; path: string; } export declare function listSkills(): SkillEntry[]; export declare function downloadSkills(): Promise; export declare function injectSkillsToClaudeCode(): number; export declare function getSkillStats(): { total: number; active: number; installed: number; }; interface SkillDescription { name: string; description: string; category: string; } /** * Error thrown when no Genius Team skills source can be resolved AND no cached * copy exists. Carries an actionable, human-readable message so the MCP layer * can surface configuration instructions instead of a silent "No skills found". */ export declare class SkillSourceError extends Error { constructor(message: string); } export type GTSourceOrigin = 'env' | 'config' | 'registry' | 'common'; export interface GTSourceCandidate { path: string; origin: GTSourceOrigin; exists: boolean; } export interface GTSourceResolution { /** Resolved `/.claude/skills` directory, or null if none found. */ skillsDir: string | null; /** Resolved repo root, or null. */ root: string | null; /** How it was resolved, or null when unresolved. */ origin: GTSourceOrigin | null; /** Every candidate that was considered (for `cortex doctor`). */ candidates: GTSourceCandidate[]; } /** * Resolve the canonical Genius Team skills source explicitly and in a fixed * priority order, recording every candidate for diagnostics (G1). * * Priority: * 1. env GENIUS_TEAM_SOURCE_DIR (per-session override) * 2. config.gtSourceDir (~/.genius-cortex/config.json) * 3. registry — a repo that actually looks like genius-team (not merely the * first repo that happens to have a .claude/skills/ dir, which was the G1 * fragility: any tracked repo could mask GT) * 4. common install locations */ export declare function resolveGTSource(): GTSourceResolution; /** * The actionable message used both by the fail-loud MCP errors and by * `cortex doctor` when no skills source is available. */ export declare function skillSourceInstructions(): string; /** * True when skills can be served from any source (live GT repo, write-through * cache, or legacy downloaded skills). When false, callers must fail loud. */ export declare function hasSkillSource(): boolean; export declare function getSkillContent(name: string): string | null; /** * Build the full supply-chain verdict for a skill (provenance @owner/slug, * declared permissions, sha256 checksum over SKILL.md + references, security * lint, quarantine state). This is how the Store "computes and exposes the * checksum at resolution/serve time" (P5-01a). Returns null when the skill has * no content to hash. */ export declare function getSkillCard(name: string): VettingVerdict | null; /** * Audit every enumerable skill and return its supply-chain verdict — the data * behind `cortex doctor`'s supply-chain section (skills without a Skill Card, * invalid checksum, red lint, or quarantined). Never throws per-skill. */ export declare function auditSkills(): VettingVerdict[]; export declare function listSkillDescriptions(category?: string): SkillDescription[]; export declare function routeTask(description: string): SkillDescription[]; export {};