Ninja Enrich

VerifiedCaution

Populates the 'long_description' field in meta.yaml files by fetching content from man pages, website meta descriptions, or --help output. Useful for automatically generating descriptions for tools after adding new scripts or website fields. Supports --force to refresh and --dry-run to preview changes.

Sby Skills Guide Bot
DevelopmentIntermediate
1006/2/2026
Claude Code
#meta-yaml#enrichment#automation#man-pages

Recommended for

Our review

Populates long_description fields in meta.yaml files from man pages, website meta descriptions, or --help output.

Strengths

  • Automatically fetches descriptions from multiple sources (man, web, --help)
  • Preserves existing descriptions unless --force is used
  • Supports dry-run mode and path scoping for safe previews
  • Auto-rebuilds SQLite cache after YAML updates

Limitations

  • Depends on man page availability and website meta tags
  • Cannot replace carefully crafted human-written descriptions
  • Output from --help may be generic or unhelpful
When to use it

Use after adding new scripts with man pages or website references, or periodically to refresh descriptions from upstream sources.

When not to use it

Avoid when descriptions are manually curated and should not be overwritten, or if upstream sources are unreliable.

Security analysis

Caution
Quality score88/100

The skill runs a Bash script that performs network requests and writes to files. While the described actions are legitimate for enrichment, the script's implementation is not provided, and network fetches carry inherent risk. No indication of direct harmful commands, but caution is warranted.

Findings
  • Executes a shell script (.claude/scripts/ninja-enrich.sh) that may fetch content from external websites, which could potentially be used to introduce malicious content or exfiltrate data if the script is compromised.
  • Modifies files (meta.yaml) and rebuilds SQLite cache, which could cause data loss or corruption if the script behaves unexpectedly.

Examples

Enrich a subtree
/ninja-enrich --path mainmenu/network
Force refresh all descriptions
/ninja-enrich --force
Preview changes without writing
/ninja-enrich --dry-run

name: ninja-enrich description: "Enrich meta.yaml long_description fields from man pages and websites" argument-hint: "[--force] [--path mainmenu/...] [--dry-run]" disable-model-invocation: true allowed-tools: Bash, Read

Ninja Enrich

Populate long_description fields in meta.yaml files by fetching content from man pages, website meta descriptions, or --help output.

Usage: /ninja-enrich or /ninja-enrich --force

Execution

Run the enrich script:

.claude/scripts/ninja-enrich.sh $ARGUMENTS

Sources (tried in order per tool)

  1. Man pageman -P cat <binary> → parse NAME section
  2. Website — fetch website: URL → extract <meta description> or og:description
  3. --help<binary> --help → first meaningful output line
  4. Skip — no source available

Flags

| Flag | Effect | |------|--------| | --force | Re-fetch even if long_description already set | | --path mainmenu/network | Limit enrichment to a subtree | | --dry-run | Show what would change without writing files |

What it updates

  • long_description: field in each *.meta.yaml / meta.yaml (source of truth)
  • SQLite cache (.cache/menu.db) rebuilt automatically after YAML updates

When to use

  • After adding new scripts that have man pages
  • After adding website: fields to web-app meta files
  • Periodically to refresh descriptions as upstream docs change (use --force)
  • With --dry-run to preview changes before committing
Related skills