/** * Schema for the YAML frontmatter of a `SKILL.md` file. * * Claude Code skills are markdown files whose frontmatter declares * metadata that governs discovery, invocation, and tool access. All * frontmatter fields are optional in Claude Code; `name` falls back to * the directory name and `description` can fall back to the body. * * This schema intentionally stays permissive for Claude Code runtime * compatibility. The stricter Agent Skills open-standard constraints * (for example lowercase hyphenated names, length limits, and * name-matches-directory checks) are better enforced by plugin linting * where the file path is available. * * Note: Claude Code uses kebab-cased keys in some frontmatter fields * (`disable-model-invocation`, `user-invocable`, `allowed-tools`, * `disallowed-tools`, `argument-hint`). `Schema.Class` preserves the * exact key, so the TypeScript properties use the same kebab-case * identifier via bracket access. * * @since 0.1.0 */ import * as Schema from 'effect/Schema'; export declare const StringOrStringArray: Schema.Union]>; export declare const EffortLevel: Schema.Literals; declare const SkillFrontmatter_base: Schema.Class; readonly description: Schema.optional; readonly when_to_use: Schema.optional; readonly license: Schema.optional; readonly metadata: Schema.optional>; readonly compatibility: Schema.optional; readonly 'disable-model-invocation': Schema.optional; readonly 'user-invocable': Schema.optional; readonly context: Schema.optional; readonly agent: Schema.optional; readonly model: Schema.optional; readonly effort: Schema.optional>; readonly arguments: Schema.optional]>>; readonly 'allowed-tools': Schema.optional]>>; readonly 'disallowed-tools': Schema.optional]>>; readonly 'argument-hint': Schema.optional; readonly paths: Schema.optional]>>; readonly shell: Schema.optional>; readonly hooks: Schema.optional>>; }>, {}>; /** * The full frontmatter schema for a `SKILL.md` file. * * @category Schemas * @since 0.1.0 */ export declare class SkillFrontmatter extends SkillFrontmatter_base { } export type SkillFrontmatterInput = typeof SkillFrontmatter.Type; export {}; //# sourceMappingURL=Skill.d.ts.map