script-discovery-annotation
GitHub用于为 TypeScript 脚本生成或验证 SCRIPT_JDOC 元数据,确保脚本能被 list_scripts 等工具可靠发现。支持预览、写入及校验模式,帮助维护脚本目录的可发现性。
Trigger Scenarios
Install
npx skills add rcarmo/piclaw --skill script-discovery-annotation -g -y
SKILL.md
Frontmatter
{
"name": "script-discovery-annotation",
"description": "Add or validate SCRIPT_JDOC metadata on skill-shipped and workspace scripts so list_scripts and future script discovery can find them reliably.",
"distribution": "public"
}
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> --write -
For helper/support modules that should not be treated as standalone entrypoints:
bun ./annotate-script-jdoc.ts --path <file-or-dir> --write --role module -
Validate 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.
Version History
- 5fa0ce5 Current 2026-07-25 10:26


