/** * Bundled-resource link detector. * * Emits SKILL_REFERENCES_BUT_NO_LINKS at info severity when a skill * directory contains a bundled subdirectory (the content-type routing * categories plus the claude-web `references/` layout) holding files that * neither SKILL.md's body nor any transitively linked file points at. * * Plugin-dev's "Mistake 4: Missing Resource References" — bundled assets * the body never links to are dead weight in the install. The author * intended progressive disclosure but forgot to wire up the references. * * Two properties are load-bearing: * * 1. **The vocabulary is derived, never re-listed.** A hardcoded list drifts * from `content-type-routing.ts` — which routes `.md` and every unknown * extension to `resources/` — and a subdirectory missing from the list * makes the detector structurally unable to fire on it. * * 2. **Coverage is per file, not per directory.** A single live mention must * not mask dead siblings: the real `command-development` skill ships 7 * files under `references/` and mentions only 2 of them, and a * directory-granular check reported nothing at all. * * A file counts as referenced when its skill-relative path appears anywhere * in the body — markdown link target, inline code span, or bare prose alike — * or when link traversal reached it. Fenced code blocks are deliberately NOT * parsed out: that approach was tried and rejected as too fragile. */ import { type ValidationIssue } from '@vibe-agent-toolkit/agent-schema'; /** * @param skillPath Absolute path to SKILL.md * @param skillDir Absolute path to the skill directory (typically dirname(skillPath)) * @param linkedFiles Absolute paths of files reached during BFS link traversal * @param locationRoot Root the emitted `location` is expressed relative to */ export declare function detectBundledResourceWithoutLinks(skillPath: string, skillDir: string, linkedFiles: readonly string[], locationRoot: string): ValidationIssue[]; //# sourceMappingURL=bundled-resource-link-detection.d.ts.map