Skip to content
API reference

skills/source

Import
import * as api from "@fungi.computer/shiitake-extensions/skills/source";
Kind Export Description
type alias SkillOrigin Where a skill folder came from: the work itself, the person, or an installed extension.
type alias SkillDescription Host-owned discovery metadata; bodies are loaded only through skill.load.
type alias SkillDiagnostic Safe discovery explanation, with the original cause kept separately for redacted logs.
type alias SkillCatalog Discovered skill descriptions and diagnostics from the same scan.
type alias SkillSource Read-only host port. The host owns frontmatter, discovery and containment.

SkillOrigintype alias

Section titled “SkillOrigin”
Signature
type SkillOrigin =
| Readonly<{
kind: "project" | "personal";
}>
| Readonly<{
kind: "extension";
extensionId: string;
}>;

Where a skill folder came from: the work itself, the person, or an installed extension.


SkillDescriptiontype alias

Section titled “SkillDescription”
Signature
type SkillDescription = Readonly<{
name: string;
description: string;
location: string;
origin: SkillOrigin;
displayLocation: string;
}>;

Host-owned discovery metadata; bodies are loaded only through skill.load.


SkillDiagnostictype alias

Section titled “SkillDiagnostic”
Signature
type SkillDiagnostic = Readonly<{
path: string;
reason:
| "invalid"
| "collision"
| "unavailable"
| "bound"
| "warning"
| "skipped"
| "empty";
message: string;
cause: unknown;
}>;

Safe discovery explanation, with the original cause kept separately for redacted logs.


SkillCatalogtype alias

Section titled “SkillCatalog”
Signature
type SkillCatalog = Readonly<{
skills: readonly SkillDescription[];
diagnostics: readonly SkillDiagnostic[];
}>;

Discovered skill descriptions and diagnostics from the same scan.


SkillSourcetype alias

Section titled “SkillSource”
Signature
type SkillSource = Readonly<{
catalog: (signal) => Promise<SkillCatalog>;
read: (
name,
file,
signal,
) => Promise<
Readonly<{
name: string;
file: string;
content: string;
baseDirectory: string;
supportingFiles: readonly string[];
}>
>;
}>;

Read-only host port. The host owns frontmatter, discovery and containment.