skill-tree 0.1.4 → 0.1.5

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/dist/index.d.mts CHANGED
@@ -14,18 +14,10 @@ interface Skill {
14
14
  version: string;
15
15
  /** Short description optimized for semantic matching (1-2 sentences) */
16
16
  description: string;
17
- /** What problem does this skill solve? */
18
- problem: string;
19
- /** When should this skill be triggered? */
20
- triggerConditions: TriggerCondition[];
21
- /** Step-by-step solution */
22
- solution: string;
23
- /** How to verify the skill worked */
24
- verification: string;
25
- /** Concrete examples of usage */
26
- examples: SkillExample[];
27
- /** Additional notes, caveats, edge cases */
28
- notes?: string;
17
+ /** Free-form markdown instructions (the SKILL.md body) */
18
+ instructions: string;
19
+ /** Related skill IDs */
20
+ related?: string[];
29
21
  author: string;
30
22
  tags: string[];
31
23
  createdAt: Date;
@@ -84,22 +76,6 @@ interface ExpandTriggerConfig {
84
76
  };
85
77
  }
86
78
  type SkillStatus = 'draft' | 'active' | 'deprecated' | 'experimental';
87
- interface TriggerCondition {
88
- /** Type of trigger */
89
- type: 'error' | 'pattern' | 'context' | 'keyword' | 'custom';
90
- /** The actual condition (regex, keyword, description) */
91
- value: string;
92
- /** Optional description of when this triggers */
93
- description?: string;
94
- }
95
- interface SkillExample {
96
- /** Description of the scenario */
97
- scenario: string;
98
- /** Input/before state */
99
- before: string;
100
- /** Output/after state */
101
- after: string;
102
- }
103
79
  interface SkillMetrics {
104
80
  /** Number of times this skill was used */
105
81
  usageCount: number;
@@ -257,83 +233,6 @@ interface SkillFork {
257
233
  /** When the fork happened */
258
234
  forkedAt: Date;
259
235
  }
260
- /**
261
- * Represents a parsed agent session/trajectory
262
- */
263
- interface Trajectory {
264
- /** Unique session identifier */
265
- sessionId: string;
266
- /** When the session started */
267
- startedAt: Date;
268
- /** When the session ended */
269
- endedAt?: Date;
270
- /** The messages/turns in this session */
271
- turns: Turn[];
272
- /** Overall session metadata */
273
- metadata: TrajectoryMetadata;
274
- /** Session outcome */
275
- outcome?: TrajectoryOutcome;
276
- }
277
- interface Turn {
278
- /** Turn index (0-based) */
279
- index: number;
280
- /** Role: user, assistant, system, tool */
281
- role: 'user' | 'assistant' | 'system' | 'tool';
282
- /** Content of the turn */
283
- content: string;
284
- /** Tool calls made in this turn */
285
- toolCalls?: ToolCall[];
286
- /** Tool results returned in this turn */
287
- toolResults?: ToolResult[];
288
- /** Timestamp of this turn */
289
- timestamp?: Date;
290
- /** Extension data from custom extractors */
291
- [key: string]: unknown;
292
- }
293
- interface ToolCall {
294
- /** Tool name */
295
- name: string;
296
- /** Tool input/arguments */
297
- input: Record<string, unknown>;
298
- /** Unique call ID */
299
- callId?: string;
300
- }
301
- interface ToolResult {
302
- /** Corresponding call ID */
303
- callId?: string;
304
- /** Tool name */
305
- name: string;
306
- /** Result content */
307
- output: string;
308
- /** Whether the tool succeeded */
309
- success: boolean;
310
- /** Error message if failed */
311
- error?: string;
312
- }
313
- interface TrajectoryMetadata {
314
- /** Agent type (claude-code, custom, etc.) */
315
- agentType: string;
316
- /** Model used */
317
- model?: string;
318
- /** Working directory */
319
- workingDirectory?: string;
320
- /** Project/repo name */
321
- projectName?: string;
322
- /** Custom metadata */
323
- custom?: Record<string, unknown>;
324
- }
325
- interface TrajectoryOutcome {
326
- /** Did the session succeed in its goal? */
327
- success: boolean;
328
- /** Summary of what was accomplished */
329
- summary?: string;
330
- /** Files modified */
331
- filesModified?: string[];
332
- /** Errors encountered */
333
- errors?: string[];
334
- /** User satisfaction signal if available */
335
- userSatisfaction?: 'positive' | 'negative' | 'neutral';
336
- }
337
236
  interface StorageAdapter {
338
237
  /** Initialize the storage */
339
238
  initialize(): Promise<void>;
@@ -402,6 +301,23 @@ type SkillTreeEvent = {
402
301
  skillId: string;
403
302
  };
404
303
  type SkillTreeEventHandler = (event: SkillTreeEvent) => void | Promise<void>;
304
+ /**
305
+ * Configuration for materializing skills to agent-discoverable locations
306
+ */
307
+ interface MaterializationConfig {
308
+ /** Enable automatic materialization on skill changes (default: false) */
309
+ enabled: boolean;
310
+ /** Materialization mode: 'symlink' creates symlinks, 'copy' copies directories (default: 'symlink') */
311
+ mode?: 'symlink' | 'copy';
312
+ /** Additional directories to symlink/copy skill dirs into (e.g. ['.claude/skills', '.agent/skills']) */
313
+ symlinkPaths?: string[];
314
+ /** Path to write AGENTS.md (e.g. './AGENTS.md'). If set, auto-regenerates on changes */
315
+ agentsMdPath?: string;
316
+ /** Format for AGENTS.md generation (default: 'xml') */
317
+ agentsMdFormat?: 'xml' | 'markdown' | 'json';
318
+ /** Debounce interval in ms for batch updates (default: 500) */
319
+ debounceMs?: number;
320
+ }
405
321
 
406
322
  /**
407
323
  * Semantic versioning utilities
@@ -487,10 +403,6 @@ type MergeStrategy = 'source' | 'target' | 'combine' | 'newest' | 'longest' | 'u
487
403
  interface MergeConfig {
488
404
  /** Default strategy for text fields */
489
405
  textStrategy?: MergeStrategy;
490
- /** Strategy for trigger conditions */
491
- triggerStrategy?: MergeStrategy;
492
- /** Strategy for examples */
493
- exampleStrategy?: MergeStrategy;
494
406
  /** Strategy for tags */
495
407
  tagStrategy?: MergeStrategy;
496
408
  /** Fields to include in merge (defaults to all) */
@@ -623,8 +535,6 @@ declare class SkillMerger {
623
535
  private getStrategyForField;
624
536
  private mergeField;
625
537
  private mergeArrays;
626
- private mergeTriggerConditions;
627
- private mergeExamples;
628
538
  private mergeStrings;
629
539
  private calculateSimilarity;
630
540
  private buildMergeSuggestion;
@@ -883,13 +793,17 @@ interface SkillSyncState {
883
793
  }
884
794
 
885
795
  /**
886
- * Types for the hooks and activation system
796
+ * Types for the hooks system
797
+ *
798
+ * Session lifecycle tracking belongs to sessionlog.
799
+ * Skill runtime hooks (matched/applied/feedback) belong to cognitive-core.
800
+ * skill-tree hooks cover storage and CRUD lifecycle only.
887
801
  */
888
802
 
889
803
  /**
890
804
  * Events that can trigger hooks
891
805
  */
892
- type HookEvent = 'storage:before-save' | 'storage:after-save' | 'storage:before-delete' | 'storage:after-delete' | 'session:start' | 'session:end' | 'session:message' | 'skill:activated' | 'skill:matched' | 'skill:applied' | 'skill:feedback' | 'skill:created' | 'skill:updated' | 'skill:deprecated' | 'skill:deleted';
806
+ type HookEvent = 'storage:before-save' | 'storage:after-save' | 'storage:before-delete' | 'storage:after-delete' | 'skill:created' | 'skill:updated' | 'skill:deprecated' | 'skill:deleted';
893
807
  /**
894
808
  * Priority levels for hook execution
895
809
  */
@@ -916,39 +830,6 @@ interface StorageHookContext extends BaseHookContext {
916
830
  /** Whether the operation was successful */
917
831
  success?: boolean;
918
832
  }
919
- /**
920
- * Context for session hooks
921
- */
922
- interface SessionHookContext extends BaseHookContext {
923
- event: 'session:start' | 'session:end' | 'session:message';
924
- sessionId: string;
925
- /** Available on session:end */
926
- trajectory?: Trajectory;
927
- /** Message content (on session:message) */
928
- message?: {
929
- role: 'user' | 'assistant';
930
- content: string;
931
- };
932
- }
933
- /**
934
- * Context for skill runtime hooks (activation/matching/usage)
935
- */
936
- interface SkillRuntimeHookContext extends BaseHookContext {
937
- event: 'skill:activated' | 'skill:matched' | 'skill:applied' | 'skill:feedback';
938
- skill: Skill;
939
- /** Match score (on skill:matched) */
940
- matchScore?: number;
941
- /** Application result (on skill:applied) */
942
- applicationResult?: {
943
- success: boolean;
944
- output?: string;
945
- };
946
- /** Feedback data (on skill:feedback) */
947
- feedback?: {
948
- type: 'positive' | 'negative' | 'neutral';
949
- comment?: string;
950
- };
951
- }
952
833
  /**
953
834
  * Context for skill CRUD hooks (create/update/deprecate/delete)
954
835
  */
@@ -960,15 +841,10 @@ interface SkillCrudHookContext extends BaseHookContext {
960
841
  /** Deprecation reason (on skill:deprecated) */
961
842
  deprecationReason?: string;
962
843
  }
963
- /**
964
- * Legacy alias for backward compatibility
965
- * @deprecated Use SkillRuntimeHookContext instead
966
- */
967
- type SkillHookContext = SkillRuntimeHookContext;
968
844
  /**
969
845
  * Union of all hook contexts
970
846
  */
971
- type HookContext = StorageHookContext | SessionHookContext | SkillRuntimeHookContext | SkillCrudHookContext;
847
+ type HookContext = StorageHookContext | SkillCrudHookContext;
972
848
  /**
973
849
  * Result from a hook handler
974
850
  */
@@ -2092,22 +1968,10 @@ declare class RemoteManager {
2092
1968
  * Parse YAML frontmatter (simple implementation)
2093
1969
  */
2094
1970
  private parseYamlFrontmatter;
2095
- /**
2096
- * Extract a section from markdown body
2097
- */
2098
- private extractSection;
2099
- /**
2100
- * Parse trigger conditions from metadata
2101
- */
2102
- private parseTriggerConditions;
2103
1971
  /**
2104
1972
  * Parse tags from metadata
2105
1973
  */
2106
1974
  private parseTags;
2107
- /**
2108
- * Parse examples from body
2109
- */
2110
- private parseExamples;
2111
1975
  /**
2112
1976
  * Serialize a skill to SKILL.md format
2113
1977
  */
@@ -2363,8 +2227,6 @@ declare class LineageTracker {
2363
2227
  * Get suggested next version based on changes
2364
2228
  */
2365
2229
  suggestNextVersion(skillId: string, changes: VersionChanges): Promise<string>;
2366
- private mergeTriggerConditions;
2367
- private mergeExamples;
2368
2230
  private mergeText;
2369
2231
  private diffSkills;
2370
2232
  }
@@ -2438,6 +2300,8 @@ interface SkillBankConfig {
2438
2300
  /** Pull remote changes on initialize() (default: false) */
2439
2301
  pullOnInit?: boolean;
2440
2302
  };
2303
+ /** Materialization configuration for agent-discoverable skill output */
2304
+ materialization?: MaterializationConfig;
2441
2305
  }
2442
2306
  /**
2443
2307
  * Main SkillBank class
@@ -2459,6 +2323,8 @@ declare class SkillBank {
2459
2323
  private syncManager?;
2460
2324
  /** Whether to pull on initialize */
2461
2325
  private syncPullOnInit;
2326
+ /** Materializer for agent-discoverable output */
2327
+ private materializer?;
2462
2328
  constructor(config?: SkillBankConfig);
2463
2329
  /**
2464
2330
  * Initialize the skill bank (required before use)
@@ -2872,12 +2738,6 @@ interface AgentsGeneratorConfig {
2872
2738
  includeIds?: boolean;
2873
2739
  /** Include version information (default: true) */
2874
2740
  includeVersions?: boolean;
2875
- /** Include trigger conditions (default: true) */
2876
- includeTriggers?: boolean;
2877
- /** Include examples (default: true) */
2878
- includeExamples?: boolean;
2879
- /** Maximum examples per skill (default: 3) */
2880
- maxExamples?: number;
2881
2741
  /** Group skills by tags (default: false) */
2882
2742
  groupByTags?: boolean;
2883
2743
  /** Custom header content */
@@ -2912,26 +2772,20 @@ interface ParsedAgentSkill {
2912
2772
  name: string;
2913
2773
  /** Skill description */
2914
2774
  description: string;
2915
- /** Problem this skill solves */
2775
+ /** Instructions content */
2776
+ instructions?: string;
2777
+ /** Problem this skill solves (legacy, used during parsing) */
2916
2778
  problem?: string;
2917
- /** Solution steps */
2779
+ /** Solution steps (legacy, used during parsing) */
2918
2780
  solution?: string;
2919
- /** Verification steps */
2781
+ /** Verification steps (legacy, used during parsing) */
2920
2782
  verification?: string;
2921
- /** Additional notes */
2783
+ /** Additional notes (legacy, used during parsing) */
2922
2784
  notes?: string;
2923
- /** Trigger conditions */
2924
- triggers?: string[];
2925
2785
  /** Tags extracted from content */
2926
2786
  tags?: string[];
2927
2787
  /** Version (if present) */
2928
2788
  version?: string;
2929
- /** Examples */
2930
- examples?: Array<{
2931
- scenario: string;
2932
- before?: string;
2933
- after?: string;
2934
- }>;
2935
2789
  /** Raw content block */
2936
2790
  rawContent: string;
2937
2791
  }
@@ -3080,10 +2934,6 @@ declare class AgentsParser {
3080
2934
  * Generate ID from skill name
3081
2935
  */
3082
2936
  private generateId;
3083
- /**
3084
- * Infer trigger type from content
3085
- */
3086
- private inferTriggerType;
3087
2937
  /**
3088
2938
  * Extract header content
3089
2939
  */
@@ -3173,6 +3023,9 @@ declare function importFromAgentsMd(filePath: string, storage: StorageAdapter, o
3173
3023
 
3174
3024
  /**
3175
3025
  * Built-in hooks for common use cases
3026
+ *
3027
+ * Runtime metrics hooks (matched/applied/feedback) have moved to cognitive-core
3028
+ * which handles skill usage tracking via sessionlog integration.
3176
3029
  */
3177
3030
 
3178
3031
  /**
@@ -3191,10 +3044,6 @@ declare function createSaveValidationHook(options: {
3191
3044
  maxDescriptionLength?: number;
3192
3045
  requireTriggers?: boolean;
3193
3046
  }): RegisterHookOptions;
3194
- /**
3195
- * Creates a hook that tracks skill usage metrics
3196
- */
3197
- declare function createMetricsHook(updateMetrics: (skillId: string, event: 'matched' | 'applied' | 'feedback', data?: unknown) => Promise<void>): RegisterHookOptions;
3198
3047
  /**
3199
3048
  * Combines multiple hook handlers into one
3200
3049
  */
@@ -3292,8 +3141,6 @@ interface ViewRendererConfig {
3292
3141
  includeTokenEstimates?: boolean;
3293
3142
  /** Maximum summary length (characters) */
3294
3143
  maxSummaryLength?: number;
3295
- /** Include examples in expanded content */
3296
- includeExamples?: boolean;
3297
3144
  }
3298
3145
  /**
3299
3146
  * Renders loadout state for agent consumption
@@ -3325,10 +3172,6 @@ declare class ViewRenderer {
3325
3172
  * Get summary for a skill (short description)
3326
3173
  */
3327
3174
  private getSummary;
3328
- /**
3329
- * Render skill content for expanded view
3330
- */
3331
- private renderSkillContent;
3332
3175
  /**
3333
3176
  * Escape special XML characters
3334
3177
  */
@@ -3483,6 +3326,93 @@ declare function getBuiltInProfile(name: string): LoadoutCriteria | undefined;
3483
3326
  */
3484
3327
  declare function listBuiltInProfiles(): string[];
3485
3328
 
3329
+ /**
3330
+ * Materializer - Keeps agent-discoverable filesystem representations
3331
+ * in sync with the skill bank.
3332
+ *
3333
+ * Supports two modes:
3334
+ * - 'symlink': Creates symlinks from discovery paths into .skilltree/skills/
3335
+ * - 'copy': Copies skill directories to discovery paths
3336
+ *
3337
+ * Also auto-regenerates AGENTS.md on skill changes with marker-based sections.
3338
+ */
3339
+
3340
+ declare class Materializer {
3341
+ private storage;
3342
+ private basePath;
3343
+ private config;
3344
+ private debounceTimer;
3345
+ private pendingRegen;
3346
+ private regenerating;
3347
+ private watcher;
3348
+ private watchDebounceTimer;
3349
+ constructor(storage: StorageAdapter, basePath: string, config: MaterializationConfig);
3350
+ private get mode();
3351
+ private get skillsSourceDir();
3352
+ /**
3353
+ * Initial materialization: create all symlinks/copies + generate AGENTS.md
3354
+ */
3355
+ initialize(): Promise<void>;
3356
+ /**
3357
+ * Called when a skill is created or updated
3358
+ */
3359
+ onSkillChanged(skillId: string): Promise<void>;
3360
+ /**
3361
+ * Called when a skill is deleted
3362
+ */
3363
+ onSkillDeleted(skillId: string): Promise<void>;
3364
+ /**
3365
+ * Materialize a skill to all configured paths (symlink or copy)
3366
+ */
3367
+ private ensureMaterialized;
3368
+ /**
3369
+ * Remove a materialized skill from all configured paths
3370
+ */
3371
+ private removeMaterialized;
3372
+ /**
3373
+ * Create or verify a symlink
3374
+ */
3375
+ private ensureSymlink;
3376
+ /**
3377
+ * Copy a skill directory, adding a marker file so we know we manage it
3378
+ */
3379
+ private copyDir;
3380
+ /**
3381
+ * Schedule debounced AGENTS.md regeneration
3382
+ */
3383
+ private scheduleAgentsMdRegen;
3384
+ /**
3385
+ * Regenerate AGENTS.md with marker-based section replacement
3386
+ */
3387
+ regenerateAgentsMd(): Promise<void>;
3388
+ private _doRegenerateAgentsMd;
3389
+ /**
3390
+ * Remove stale entries (symlinks or copies) that point to non-existent skills
3391
+ */
3392
+ cleanup(): Promise<void>;
3393
+ /**
3394
+ * Start watching .skilltree/skills/ for external changes.
3395
+ * Re-materializes when files are added/changed/removed outside the SkillBank API.
3396
+ */
3397
+ watch(): void;
3398
+ /**
3399
+ * Stop watching for file changes
3400
+ */
3401
+ unwatch(): void;
3402
+ /**
3403
+ * Flush any pending debounced operations (useful for testing)
3404
+ */
3405
+ flush(): Promise<void>;
3406
+ /**
3407
+ * Tear down: cancel pending timers and stop watcher
3408
+ */
3409
+ shutdown(): void;
3410
+ /**
3411
+ * Resolve a path relative to basePath, handling ~ expansion
3412
+ */
3413
+ private resolvePath;
3414
+ }
3415
+
3486
3416
  /**
3487
3417
  * Git Sync Adapter
3488
3418
  *
@@ -3547,7 +3477,6 @@ declare class GitSyncAdapter {
3547
3477
  private applyStrategy;
3548
3478
  private getConflictingFields;
3549
3479
  private parseSkillContent;
3550
- private extractSection;
3551
3480
  private writeSkill;
3552
3481
  private buildSkillContent;
3553
3482
  private buildCommitMessage;
@@ -3650,4 +3579,4 @@ declare function createDefaultSyncConfig(remoteUrl: string, agentId: string, opt
3650
3579
  */
3651
3580
  declare const VERSION = "0.1.0";
3652
3581
 
3653
- export { type AgentConfig, AgentsGenerator, type AgentsGeneratorConfig, AgentsParser, AgentsSync, type BaseHookContext, type BumpType, CachedStorageAdapter, type CachedStorageConfig, type ConflictConfig, type ConflictResolution$1 as ConflictResolution, ConflictStore, type ConflictStrategy, DEFAULT_AGENTS_CONFIG, type DiscoveredSkill, type EvictionStrategy, type ExpandTrigger, type ExpandTriggerConfig, type FederatedRemoteConfig, type FederationEvent, type FederationEventHandler, FederationManager, type FederationManagerOptions, type FetchResult, type ForkOptions, GitSyncAdapter, type GitSyncAdapterOptions, type SyncResult$1 as GitSyncResult, type GraphServerConfig, type HookContext, type HookEvent, type HookExecutionResult, type HookHandler, type HookPriority, HookRegistry, type HookResult, type ImportMode, type ImportOptions, type ImportResult, LineageTracker, type LineageTree, LoadoutCompiler, type LoadoutCompilerConfig, type LoadoutCriteria, type LoadoutSource, type LoadoutState, type LoadoutView, MemoryStorageAdapter, type MergeConfig, type MergeConflict, type MergePreview, type MergeResult, type MergeStrategy, type MergeSuggestion, type MigrationOptions, type MigrationProgressItem, type MigrationResult, type NewVersionOptions, type ParsedAgentSkill, type ParsedAgentsFile, type ParsedVersion, type ProjectContext, ProjectDetector, type PullOptions, type PullUpstreamOptions, type PullUpstreamResult, type PushOptions, type RegisterHookOptions, type RegisteredHook, type RemoteConfig, RemoteManager, type RemoteState, RemoteStore, type RollbackOptions, type ServingEvent, type ServingEventHandler, type ShareOptions, type ShareResult, type Skill, type SkillAccessControl, SkillBank, type SkillBankConfig, type SkillBankStats, type SkillChange, type SkillConflict, type SkillDiffChanges, type SkillExample, type SkillFilter, type SkillFork, type SkillFormat, SkillGraphServer, type SkillHookContext, type SkillLineage, type SkillMergeResult, SkillMerger, type SkillMetrics, type SkillNamespace, type SkillScope, type SkillSelector, type SkillServingMetadata, type SkillSource, type SkillState, type SkillStatus, type SkillSummary, type SkillSyncState, type SkillTreeEvent, type SkillTreeEventHandler, type SkillUpstream, type SkillVersion, type SkillVisibility, type StorageAdapter, type StorageConfig, type StorageHookContext, type SyncBehaviorConfig, type SyncConfig, type ConflictResolution as SyncConflictResolution, type SyncError, SyncManager, type SyncManagerOptions, type SyncOptions, type SyncResult, type SyncState, type SyncStatus, type TriggerCondition, type UpstreamUpdate, VERSION, type VersionChanges, type VersionDiff, ViewRenderer, type ViewRendererConfig, builtInProfiles, bumpVersion, codeReviewProfile, combineHandlers, compareVersions, conditionalHook, createAgentsGenerator, createAgentsParser, createAgentsSync, createBackupHook, createConflictStore, createDefaultSyncConfig, createFederationManager, createGitSyncAdapter, createLoggingHook, createMetricsHook, createSaveValidationHook, createSkillBank, createSkillMerger, createSyncManager, debuggingProfile, devopsProfile, discoverSkills, documentationProfile, formatVersion, generateAgentsMd, getBuiltInProfile, getLatestVersion, hasSkilltreeDir, hookRegistry, implementationProfile, importFromAgentsMd, inferBumpType, isValidVersion, listBuiltInProfiles, migrateStorage, parseVersion, refactoringProfile, satisfiesRange, securityProfile, sortVersions, testingProfile, writeAgentsMd };
3582
+ export { type AgentConfig, AgentsGenerator, type AgentsGeneratorConfig, AgentsParser, AgentsSync, type BaseHookContext, type BumpType, CachedStorageAdapter, type CachedStorageConfig, type ConflictConfig, type ConflictResolution$1 as ConflictResolution, ConflictStore, type ConflictStrategy, DEFAULT_AGENTS_CONFIG, type DiscoveredSkill, type EvictionStrategy, type ExpandTrigger, type ExpandTriggerConfig, type FederatedRemoteConfig, type FederationEvent, type FederationEventHandler, FederationManager, type FederationManagerOptions, type FetchResult, type ForkOptions, GitSyncAdapter, type GitSyncAdapterOptions, type SyncResult$1 as GitSyncResult, type GraphServerConfig, type HookContext, type HookEvent, type HookExecutionResult, type HookHandler, type HookPriority, HookRegistry, type HookResult, type ImportMode, type ImportOptions, type ImportResult, LineageTracker, type LineageTree, LoadoutCompiler, type LoadoutCompilerConfig, type LoadoutCriteria, type LoadoutSource, type LoadoutState, type LoadoutView, type MaterializationConfig, Materializer, MemoryStorageAdapter, type MergeConfig, type MergeConflict, type MergePreview, type MergeResult, type MergeStrategy, type MergeSuggestion, type MigrationOptions, type MigrationProgressItem, type MigrationResult, type NewVersionOptions, type ParsedAgentSkill, type ParsedAgentsFile, type ParsedVersion, type ProjectContext, ProjectDetector, type PullOptions, type PullUpstreamOptions, type PullUpstreamResult, type PushOptions, type RegisterHookOptions, type RegisteredHook, type RemoteConfig, RemoteManager, type RemoteState, RemoteStore, type RollbackOptions, type ServingEvent, type ServingEventHandler, type ShareOptions, type ShareResult, type Skill, type SkillAccessControl, SkillBank, type SkillBankConfig, type SkillBankStats, type SkillChange, type SkillConflict, type SkillCrudHookContext, type SkillDiffChanges, type SkillFilter, type SkillFork, type SkillFormat, SkillGraphServer, type SkillLineage, type SkillMergeResult, SkillMerger, type SkillMetrics, type SkillNamespace, type SkillScope, type SkillSelector, type SkillServingMetadata, type SkillSource, type SkillState, type SkillStatus, type SkillSummary, type SkillSyncState, type SkillTreeEvent, type SkillTreeEventHandler, type SkillUpstream, type SkillVersion, type SkillVisibility, type StorageAdapter, type StorageConfig, type StorageHookContext, type SyncBehaviorConfig, type SyncConfig, type ConflictResolution as SyncConflictResolution, type SyncError, SyncManager, type SyncManagerOptions, type SyncOptions, type SyncResult, type SyncState, type SyncStatus, type UpstreamUpdate, VERSION, type VersionChanges, type VersionDiff, ViewRenderer, type ViewRendererConfig, builtInProfiles, bumpVersion, codeReviewProfile, combineHandlers, compareVersions, conditionalHook, createAgentsGenerator, createAgentsParser, createAgentsSync, createBackupHook, createConflictStore, createDefaultSyncConfig, createFederationManager, createGitSyncAdapter, createLoggingHook, createSaveValidationHook, createSkillBank, createSkillMerger, createSyncManager, debuggingProfile, devopsProfile, discoverSkills, documentationProfile, formatVersion, generateAgentsMd, getBuiltInProfile, getLatestVersion, hasSkilltreeDir, hookRegistry, implementationProfile, importFromAgentsMd, inferBumpType, isValidVersion, listBuiltInProfiles, migrateStorage, parseVersion, refactoringProfile, satisfiesRange, securityProfile, sortVersions, testingProfile, writeAgentsMd };