Script Discovery Annotation
Use this skill when adding or updating TypeScript scripts that should be discoverable by list_scripts or future script-catalog tooling.
What to annotate
Apply SCRIPT_JDOC blocks to script files under surfaces such as:
- packaged skill scripts:
runtime/skills/**/*.ts - packaged extension skill scripts:
runtime/extensions/**/skills/**/*.ts - workspace skill scripts:
.pi/skills/**/*.ts - workspace note scripts:
notes/**/*.ts
Workflow
Preview scaffold metadata for a file or directory:
bun ./annotate-script-jdoc.ts --path <file-or-dir>Write scaffold metadata in place:
bun ./annotate-script-jdoc.ts --path <file-or-dir> --writeFor helper/support modules that should not be treated as standalone entrypoints:
bun ./annotate-script-jdoc.ts --path <file-or-dir> --write --role moduleValidate that every target script has a parseable
SCRIPT_JDOCblock:bun ./annotate-script-jdoc.ts --path <file-or-dir> --check
Review checklist
After scaffolding, hand-tune the JSON block so it reflects the real user-facing purpose:
summaryshould be a short, literal descriptionaliasesshould match phrases a human would actually typedomains,verbs, andnounsshould help intent matchingkeywordsshould stay short and relevantexamplesshould be short task-shaped phrasesroleshould beentrypointfor runnable scripts andmodulefor helper fileskind/weightshould reflect real behavior and cost
Primary script purpose matters more than path scaffolding. Keep the metadata compact and human-facing.
Canonical fields
{
summary?: string,
aliases?: string[],
domains?: string[],
verbs?: string[],
nouns?: string[],
keywords?: string[],
guidance?: string[],
examples?: string[],
kind?: "read-only" | "mutating" | "mixed",
weight?: "lightweight" | "standard" | "heavy",
role?: "entrypoint" | "module"
}
Notes
- The helper script creates or updates only the
SCRIPT_JDOCcomment block. - Preview mode prints the generated block without modifying files.
--forcereplaces an existing block; without it, existing metadata is left alone.- Prefer manual review after scaffolding, especially for high-value scripts.
- If
list_scriptsis available, use it after annotation to confirm the script is discoverable.