skills-index-updater
Skill index updater
Automatically regenerate skill indexes by scanning skill directories and updating:
- Global skills ->
~/Documents/Cline/Rules/cline_overview.md - Local skills ->
.clinerules/agents_skills.mdin the repo (only when NOT in home directory)
Note: This skill is for Cline, which does not have native skill indexing built-in.
Quick start
# Run from any location
python3 ~/.claude/skills/skills-index-updater/scripts/update_skill_index.py
# Preview changes without writing
python3 ~/.claude/skills/skills-index-updater/scripts/update_skill_index.py --dry-run
Prerequisites
- Python 3.8+
- PyYAML package (
pip install pyyaml) - optional, falls back to regex parsing - For Cline:
~/Documents/Cline/Rules/cline_overview.mdmust exist with## Available Global Skills Indexsection
How it works
The script automatically determines what to update based on your current location:
| Location | Global skills | Local skills |
|---|---|---|
Home directory (~/) |
Updated in cline_overview.md |
Skipped (none exist) |
| Any repo | Updated in cline_overview.md |
Updated in .clinerules/agents_skills.md |
| Directory with .clinerules/agents_skills.md | Updated in cline_overview.md |
Updated in .clinerules/agents_skills.md |
| Outside a repo (no agents_skills.md) | Updated in cline_overview.md |
Skipped (use --force-local to override) |
Skill locations
The script checks multiple locations and uses the first one with skills:
Global skills (checked in order):
~/Documents/Cline/skills/~/.kiro/skills/
Local skills (checked in order):
./.claude/skills/./.kiro/skills/
| Scope | Output files |
|---|---|
| Global | ~/Documents/Cline/Rules/cline_overview.md |
| Local | .clinerules/agents_skills.md in repo root |
Available flags
| Flag | Short | Behavior |
|---|---|---|
--dry-run |
-n |
Show changes without writing |
--init |
Create .clinerules/agents_skills.md if missing (auto-prompted otherwise) |
|
--force-local |
Force local skills update even without git repo |
Workflow
1. Run the update script
python3 ~/.claude/skills/skills-index-updater/scripts/update_skill_index.py
The script will:
- Detect your working directory and whether you're in a git repo
- Scan global skills in
~/Documents/Cline/skills/ - Update
~/Documents/Cline/Rules/cline_overview.mdwith global skills index - If in a repo (and not in home directory):
- Scan local skills in
.claude/skills/ - Update
.clinerules/agents_skills.mdwith local skills index
- Scan local skills in
2. Verify output
# Check cline_overview.md update
grep -A 20 "## Available Global Skills Index" ~/Documents/Cline/Rules/cline_overview.md
# Check agents_skills.md update (if in a repo)
grep -A 10 "## Available Local Skills Index" .clinerules/agents_skills.md
Example output
Working directory: /Users/you/projects/my-repo
Home directory: /Users/you
In home directory: False
Repository root: /Users/you/projects/my-repo
============================================================
GLOBAL SKILLS
============================================================
Scanning global skills in: /Users/you/Documents/Cline/skills
Found 5 global skills
Skills found:
- skill-builder (skill-builder)
- skills-index-updater (skills-index-updater)
- save-context (save-context)
- humanize (humanize)
- docx (docx)
Updated: /Users/you/Documents/Cline/Rules/cline_overview.md
============================================================
LOCAL SKILLS
============================================================
Scanning local skills in: /Users/you/projects/my-repo/.claude/skills
Found 2 local skills
Skills found:
- extract-videos (extract-videos)
- download-transcripts (download-transcripts)
Updated: /Users/you/projects/my-repo/.clinerules/agents_skills.md
============================================================
SUMMARY
============================================================
Index update complete.
Output formats
Global skills (in cline_overview.md)
## Available Global Skills Index
*(Auto-generated - do not edit manually)*
path: Documents/Cline/skills/skill-builder
name: skill-builder
description: Create, evaluate, and improve Agent skills...
---
path: Documents/Cline/skills/humanize
name: humanize
description: Convert AI-written text to more human-like writing...
---
Local skills (in .clinerules/agents_skills.md)
## Available Local Skills Index
_This index is for IDEs that don't natively support skills. Skip if your IDE reads SKILL.md directly._
- **Name:** `extract-videos`
- **Trigger:** Extract video URLs from various sources...
- **Path:** `.claude/skills/extract-videos/SKILL.md`
- **Name:** `download-transcripts`
- **Trigger:** Download and process video transcripts...
- **Path:** `.claude/skills/download-transcripts/SKILL.md`
Quality rules
- Descriptions come from frontmatter - Never manually edit the index
- Global and local are separate - Each goes to its own file
- Run after every skill change - Create, delete, or modify triggers update
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| "cline_overview.md not found" | Missing Cline config | Create ~/Documents/Cline/Rules/cline_overview.md with index section |
| Skill not appearing | Missing frontmatter | Add name: and description: to SKILL.md |
| YAML parse error | Invalid frontmatter syntax | Check for tabs, missing colons |
| Index section not found | Missing marker | Add ## Available Global Skills Index section |
| Local skills skipped | Working from ~/ | This is expected (no local skills in home directory) |
Additional resources
- TESTING.md - Evaluation scenarios and validation commands
More from dparedesi/agent-global-skills
synap-assistant
Manage a personal knowledge capture system. Use when the user wants to capture ideas, track todos, organize projects, review their synap, or mentions "synap", "brain dump", "capture this", "add to my list", "what's on my plate", "what should I focus on", or "daily review".
3token-pacing
Calculate the optimal token usage burn rate to reach exactly 100% usage by reset. Use when the user asks about token budget, usage limits, spending speed, or "will I run out". Supports Claude, Gemini, Codex, VS Code, and other providers.
3dev-browser
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.
3slack-gif-creator
Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack.
3mac-health
Quick Mac system health check with battery, RAM, CPU status and actionable recommendations. Use when user mentions "mac health", "mac status", "mac performance", "battery check", "ram usage", "what's eating memory", "should I kill any process", or "mac running slow".
1remotion-best-practices
Best practices for Remotion - Video creation in React
1