analytics-unused

Identify commands and skills that have never been invoked, helping you discover unused features or clean up unused plugins.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "analytics-unused" with this command: npx skills add laurigates/claude-plugins/laurigates-claude-plugins-analytics-unused

/analytics:unused

Identify commands and skills that have never been invoked, helping you discover unused features or clean up unused plugins.

Context

Check analytics availability:

if [[ ! -f ~/.claude-analytics/summary.json ]]; then echo "No analytics data yet. Cannot determine unused commands/skills." exit 0 fi

Execution

Scan for unused commands and skills:

ANALYTICS_DIR="${HOME}/.claude-analytics" SUMMARY_FILE="${ANALYTICS_DIR}/summary.json"

echo "🔍 Scanning for unused commands and skills..." echo ""

Get list of used commands/skills

if [[ -f "${SUMMARY_FILE}" ]]; then USED=$(cat "${SUMMARY_FILE}" | jq -r '.items | keys[]') else USED="" fi

Find all command files in plugins

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "Unused Commands" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo ""

UNUSED_COUNT=0

Scan for skill files

find . -type f ( -name "SKILL.md" -o -name "skill.md" ) -not -path "/node_modules/" 2>/dev/null | while read -r cmd_file; do

Extract command name from filename

Format: plugin-name/commands/plugin-command.md -> plugin:command

BASENAME=$(basename "$cmd_file" .md)

Try to extract command name from frontmatter

CMD_NAME=$(grep -A 20 "^---$" "$cmd_file" | grep "^# /" | head -1 | sed 's/^# ///' || echo "")

if [[ -z "$CMD_NAME" ]]; then # Fallback: derive from filename (e.g., analytics-report.md -> analytics:report) CMD_NAME=$(echo "$BASENAME" | sed 's/-/:/' | sed 's/-/:/') fi

Check if command has been used

if ! echo "$USED" | grep -q "^${CMD_NAME}$"; then echo " 📝 /${CMD_NAME}" echo " File: ${cmd_file}" echo "" UNUSED_COUNT=$((UNUSED_COUNT + 1)) fi done

if [[ $UNUSED_COUNT -eq 0 ]]; then echo " All commands have been used! 🎉" echo "" fi

Find all skill files

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "Unused Skills" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo ""

UNUSED_SKILLS=0

find . -type f -path "/skills//skill.md" -not -path "/node_modules/" 2>/dev/null | while read -r skill_file; do

Extract skill name from directory name

SKILL_DIR=$(dirname "$skill_file") SKILL_NAME=$(basename "$SKILL_DIR")

Try to get skill name from frontmatter

FRONTMATTER_NAME=$(grep -A 5 "^---$" "$skill_file" | grep "^name:" | head -1 | sed 's/^name: *//' || echo "")

if [[ -n "$FRONTMATTER_NAME" ]]; then SKILL_NAME="$FRONTMATTER_NAME" fi

Check if skill has been used

if ! echo "$USED" | grep -qi "$SKILL_NAME"; then echo " 🎯 ${SKILL_NAME}" echo " File: ${skill_file}" echo "" UNUSED_SKILLS=$((UNUSED_SKILLS + 1)) fi done

if [[ $UNUSED_SKILLS -eq 0 ]]; then echo " All skills have been used! 🎉" echo "" fi

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo ""

if [[ $UNUSED_COUNT -eq 0 && $UNUSED_SKILLS -eq 0 ]]; then echo "✨ All commands and skills have been used at least once!" else echo "💡 Consider:" echo " • Trying out unused features to see if they're helpful" echo " • Removing plugins you never use" echo " • Sharing useful commands with your team" fi

echo ""

Post-actions

None.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ruff-linting

No summary provided by upstream source.

Repository SourceNeeds Review
General

imagemagick-conversion

No summary provided by upstream source.

Repository SourceNeeds Review
General

jq json processing

No summary provided by upstream source.

Repository SourceNeeds Review