Add skills system with Claude Code compatibility (#171)

* Add skills system with Claude Code compatibility

* consolidate skills into single module, merge loaders, add <available_skills> XML tags

* add Codex CLI skills compatibility, skip hidden/symlinks
This commit is contained in:
Nico Bailon 2025-12-12 09:24:52 -08:00 committed by GitHub
parent 4d9a06b931
commit 09bca9672f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 376 additions and 11 deletions

View file

@ -14,6 +14,10 @@ export interface RetrySettings {
baseDelayMs?: number; // default: 2000 (exponential backoff: 2s, 4s, 8s)
}
export interface SkillsSettings {
enabled?: boolean; // default: true
}
export interface Settings {
lastChangelogVersion?: string;
defaultProvider?: string;
@ -28,6 +32,7 @@ export interface Settings {
collapseChangelog?: boolean; // Show condensed changelog after update (use /changelog for full)
hooks?: string[]; // Array of hook file paths
hookTimeout?: number; // Timeout for hook execution in ms (default: 30000)
skills?: SkillsSettings;
}
export class SettingsManager {
@ -220,4 +225,16 @@ export class SettingsManager {
this.settings.hookTimeout = timeout;
this.save();
}
getSkillsEnabled(): boolean {
return this.settings.skills?.enabled ?? true;
}
setSkillsEnabled(enabled: boolean): void {
if (!this.settings.skills) {
this.settings.skills = {};
}
this.settings.skills.enabled = enabled;
this.save();
}
}