SkillManifest class final

One parsed skill frontmatter.

Constructors

SkillManifest({String? description, String? whenToUse, String? argumentHint, List<String> arguments = const [], bool disableModelInvocation = false, bool userInvocable = true, List<String> allowedTools = const [], List<String> disallowedTools = const [], String? model, String? effort, bool contextFork = false, String? agent, bool background = true, List<String> paths = const [], String? shell, String? license, String? compatibility, Map<String, Object?> metadata = const {}, List<String> applyTo = const [], String? excludeAgent, List<String> notes = const [], List<String> operative = const []})
const
SkillManifest.fromFrontmatter(Map<String, Object?> frontmatter, {String skillName = ''})
Parses one frontmatter map (from parseFrontmatterTyped).
factory

Properties

agent → String?
Claude's agent: the subagent type to use with contextFork.
final
allowedTools → List<String>
Agent Skills spec allowed-tools: tool names the skill may use without a prompt during the invoking turn. Pattern entries (Bash(git status:*)) are kept verbatim but only plain tool names take effect (see plainAllowedTools).
final
applyTo → List<String>
Copilot instructions applyTo glob list (path-specific activation).
final
argumentHint → String?
Claude's argument-hint (autocomplete placeholder).
final
arguments → List<String>
Claude's arguments — named positional args for $name substitution.
final
background → bool
Claude's background (only with contextFork): false waits for the forked subagent's result in the invoking turn. Default true.
final
catalogDescription → String?
The catalog description: description plus Claude's when_to_use appended (Claude concatenates both into the listing, capped at 1536 chars; we keep the same concatenation, the host applies its budget).
no setter
compatibility → String?
Agent Skills spec compatibility (≤500 chars per spec; not enforced).
final
contextFork → bool
Claude's context: fork — run the skill body as a subagent prompt.
final
description → String?
Frontmatter description (null → the host falls back to the first non-empty body line).
final
disableModelInvocation → bool
Claude's disable-model-invocation: only the user may run it.
final
disallowedTools → List<String>
Claude's disallowed-tools: tools removed while the skill is active (turn-scoped deny).
final
effort → String?
Claude's effort override (low/medium/high/…). Parsed but only informational until a provider mapping exists.
final
excludeAgent → String?
Copilot instructions excludeAgent (code-review/cloud-agent).
final
hashCode → int
The hash code for this object.
no setterinherited
license → String?
Agent Skills spec license.
final
metadata → Map<String, Object?>
Agent Skills spec metadata (free-form map, host tooling only).
final
model → String?
Claude/Copilot model: a model id or role hint for the invoking turn.
final
notes → List<String>
Non-fatal parse notes (unknown keys, pattern-only tool grants, …).
final
operative → List<String>
gh-1409 operative: the skill's compaction-pinned directive lines. Each entry is ONE self-contained imperative line (one line = one rule); lines ride every compaction fold verbatim via SkillOperativePins (see operative_pins.dart). A skill without the key pins nothing — downstream behavior is bit-identical. Lines over operativeLineMaxChars are rejected at parse time with a note (E4: an operative line nobody rereads is not operative).
final
paths → List<String>
Claude's paths glob activation list.
final
plainAllowedTools → List<String>
allowedTools entries that are plain tool names (no pattern suffix) — the only ones our per-tool approval gate can honor today.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
shell → String?
Claude's shell for injected commands (bash/powershell).
final
userInvocable → bool
Claude's user-invocable: false: only the model may load it.
final
whenToUse → String?
Claude's when_to_use — extra trigger hints appended to the description in catalog listings.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Constants

empty → const SkillManifest
An empty manifest (skill file without frontmatter).