Gardening Skills Wiki
Maintain skills wiki health - check links, naming, cross-references, and coverage
Best use case
Gardening Skills Wiki is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Maintain skills wiki health - check links, naming, cross-references, and coverage
Teams using Gardening Skills Wiki should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/gardening-skills-wiki/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Gardening Skills Wiki Compares
| Feature / Agent | Gardening Skills Wiki | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Maintain skills wiki health - check links, naming, cross-references, and coverage
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Gardening Skills Wiki
## Overview
The skills wiki needs regular maintenance to stay healthy: links break, skills get orphaned, naming drifts, INDEX files fall out of sync.
**Core principle:** Automate health checks to maintain wiki quality without burning tokens on manual inspection.
## When to Use
**Run gardening after:**
- Adding new skills
- Removing or renaming skills
- Reorganizing categories
- Updating cross-references
- Suspicious that links are broken
**Periodic maintenance:**
- Weekly during active development
- Monthly during stable periods
## Quick Health Check
```bash
# Run all checks
~/.claude/skills/meta/gardening-skills-wiki/garden.sh
# Or run specific checks
~/.claude/skills/meta/gardening-skills-wiki/check-links.sh
~/.claude/skills/meta/gardening-skills-wiki/check-naming.sh
~/.claude/skills/meta/gardening-skills-wiki/check-index-coverage.sh
# Analyze search gaps (what skills are missing)
~/.claude/skills/meta/gardening-skills-wiki/analyze-search-gaps.sh
```
The master script runs all checks and provides a health report.
## What Gets Checked
### 1. Link Validation (`check-links.sh`)
**Checks:**
- Backtick-wrapped `@` links - backticks disable resolution
- Relative paths like skills/ or skills/gardening-skills-wiki/~/ - should use skills/ absolute paths
- All `skills/` references resolve to existing files
- Skills referenced in INDEX files exist
- Orphaned skills (not in any INDEX)
**Fixes:**
- Remove backticks from @ references
- Convert skills/ and skills/gardening-skills-wiki/~/ relative paths to skills/ absolute paths
- Update broken skills/ references to correct paths
- Add orphaned skills to their category INDEX
- Remove references to deleted skills
### 2. Naming Consistency (`check-naming.sh`)
**Checks:**
- Directory names are kebab-case
- No uppercase or underscores in directory names
- Frontmatter fields present (name, description, when_to_use, version, type)
- Skill names use active voice (not "How to...")
- Empty directories
**Fixes:**
- Rename directories to kebab-case
- Add missing frontmatter fields
- Remove empty directories
- Rephrase names to active voice
### 3. INDEX Coverage (`check-index-coverage.sh`)
**Checks:**
- All skills listed in their category INDEX
- All category INDEX files linked from main INDEX
- Skills have descriptions in INDEX entries
**Fixes:**
- Add missing skills to INDEX files
- Add category links to main INDEX
- Add descriptions for INDEX entries
## Common Issues and Fixes
### Broken Links
```
❌ BROKEN: skills/debugging/root-cause-tracing
Target: /path/to/skills/debugging/root-cause-tracing/SKILL.md
```
**Fix:** Update the reference path - skill might have moved or been renamed.
### Orphaned Skills
```
⚠️ ORPHANED: test-invariants/SKILL.md not in testing/INDEX.md
```
**Fix:** Add to the category INDEX:
```markdown
- skills/gardening-skills-wiki/test-invariants - Description of skill
```
### Backtick-Wrapped Links
```
❌ BACKTICKED: skills/testing/condition-based-waiting on line 31
File: getting-started/SKILL.md
Fix: Remove backticks - use bare @ reference
```
**Fix:** Remove backticks:
```markdown
# ❌ Bad - backticks disable link resolution
`skills/testing/condition-based-waiting`
# ✅ Good - bare @ reference
skills/testing/condition-based-waiting
```
### Relative Path Links
```
❌ RELATIVE: skills/testing in coding/SKILL.md
Fix: Use skills/ absolute path instead
```
**Fix:** Convert to absolute path:
```markdown
# ❌ Bad - relative paths are brittle
skills/testing/condition-based-waiting
# ✅ Good - absolute skills/ path
skills/testing/condition-based-waiting
```
### Naming Issues
```
⚠️ Mixed case: TestingPatterns (should be kebab-case)
```
**Fix:** Rename directory:
```bash
cd ~/.claude/skills/testing
mv TestingPatterns testing-patterns
# Update all references to old name
```
### Missing from INDEX
```
❌ NOT INDEXED: condition-based-waiting/SKILL.md
```
**Fix:** Add to `testing/INDEX.md`:
```markdown
## Available Skills
- skills/gardening-skills-wiki/condition-based-waiting - Replace timeouts with condition polling
```
### Empty Directories
```
⚠️ EMPTY: event-based-testing
```
**Fix:** Remove if no longer needed:
```bash
rm -rf ~/.claude/skills/event-based-testing
```
## Naming Conventions
### Directory Names
- **Format:** kebab-case (lowercase with hyphens)
- **Process skills:** Use gerunds when appropriate (`creating-skills`, `testing-skills`)
- **Pattern skills:** Use core concept (`flatten-with-flags`, `test-invariants`)
- **Avoid:** Mixed case, underscores, passive voice starters ("how-to-")
### Frontmatter Requirements
**Required fields:**
- `name`: Human-readable name
- `description`: One-line summary
- `when_to_use`: Symptoms and situations (CSO-critical)
- `version`: Semantic version
**Optional fields:**
- `languages`: Applicable languages
- `dependencies`: Required tools
- `context`: Special context (e.g., "AI-assisted development")
## Automation Workflow
### After Adding New Skill
```bash
# 1. Create skill
mkdir -p ~/.claude/skills/category/new-skill
vim ~/.claude/skills/category/new-skill/SKILL.md
# 2. Add to category INDEX
vim ~/.claude/skills/category/INDEX.md
# 3. Run health check
~/.claude/skills/meta/gardening-skills-wiki/garden.sh
# 4. Fix any issues reported
```
### After Reorganizing
```bash
# 1. Move/rename skills
mv ~/.claude/skills/old-category/skill ~/.claude/skills/new-category/
# 2. Update all references (grep for old paths)
grep -r "skills/gardening-skills-wiki/old-category/skill" ~/.claude/skills/
# 3. Run health check
~/.claude/skills/meta/gardening-skills-wiki/garden.sh
# 4. Fix broken links
```
### Periodic Maintenance
```bash
# Monthly: Run full health check
~/.claude/skills/meta/gardening-skills-wiki/garden.sh
# Review and fix:
# - ❌ errors (broken links, missing skills)
# - ⚠️ warnings (naming, empty dirs)
```
## The Scripts
### `garden.sh` (Master)
Runs all health checks and provides comprehensive report.
**Usage:**
```bash
~/.claude/skills/meta/gardening-skills-wiki/garden.sh [skills_dir]
```
### `check-links.sh`
Validates all `@` references and cross-links.
**Checks:**
- Backtick-wrapped `@` links (disables resolution)
- Relative paths (`skills/` or `skills/gardening-skills-wiki/~/`) - should be `skills/`
- `@` reference resolution to existing files
- Skills in INDEX files exist
- Orphaned skills detection
### `check-naming.sh`
Validates naming conventions and frontmatter.
**Checks:**
- Directory name format
- Frontmatter completeness
- Empty directories
### `check-index-coverage.sh`
Validates INDEX completeness.
**Checks:**
- Skills listed in category INDEX
- Categories linked in main INDEX
- Descriptions present
## Quick Reference
| Issue | Script | Fix |
|-------|--------|-----|
| Backtick-wrapped links | `check-links.sh` | Remove backticks from `@` refs |
| Relative paths | `check-links.sh` | Convert to `skills/` absolute |
| Broken links | `check-links.sh` | Update `@` references |
| Orphaned skills | `check-links.sh` | Add to INDEX |
| Naming issues | `check-naming.sh` | Rename directories |
| Empty dirs | `check-naming.sh` | Remove with `rm -rf` |
| Missing from INDEX | `check-index-coverage.sh` | Add to INDEX.md |
| No description | `check-index-coverage.sh` | Add to INDEX entry |
## Output Symbols
- ✅ **Pass** - Item is correct
- ❌ **Error** - Must fix (broken link, missing skill)
- ⚠️ **Warning** - Should fix (naming, empty dir)
- ℹ️ **Info** - Informational (no action needed)
## Integration with Workflow
**Before committing skill changes:**
```bash
~/.claude/skills/meta/gardening-skills-wiki/garden.sh
# Fix all ❌ errors
# Consider fixing ⚠️ warnings
git add .
git commit -m "Add/update skills"
```
**When links feel suspicious:**
```bash
~/.claude/skills/meta/gardening-skills-wiki/check-links.sh
```
**When INDEX seems incomplete:**
```bash
~/.claude/skills/meta/gardening-skills-wiki/check-index-coverage.sh
```
## Common Rationalizations
| Excuse | Reality |
|--------|---------|
| "Will check links manually" | Automated check is faster and more thorough |
| "INDEX probably fine" | Orphaned skills happen - always verify |
| "Naming doesn't matter" | Consistency aids discovery and maintenance |
| "Empty dir harmless" | Clutter confuses future maintainers |
| "Can skip periodic checks" | Issues compound - regular maintenance prevents big cleanups |
## Real-World Impact
**Without gardening:**
- Broken links discovered during urgent tasks
- Orphaned skills never found
- Naming drifts over time
- INDEX files fall out of sync
**With gardening:**
- 30-second health check catches issues early
- Automated validation prevents manual inspection
- Consistent structure aids discovery
- Wiki stays maintainable
## The Bottom Line
**Don't manually inspect - automate the checks.**
Run `garden.sh` after changes and periodically. Fix ❌ errors immediately, address ⚠️ warnings when convenient.
Maintained wiki = findable skills = reusable knowledge.Related Skills
Getting Started with Skills
Skills wiki intro - mandatory workflows, search tool, brainstorming triggers
Writing Skills
TDD for process documentation - test with subagents before writing, iterate until bulletproof
Testing Skills With Subagents
RED-GREEN-REFACTOR for process documentation - baseline without skill, write addressing failures, iterate closing loopholes
Sharing Skills
Contribute skills back to upstream via branch and PR
Pulling Updates from Skills Repository
Sync local skills repository with upstream changes from obra/superpowers-skills
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
web-asset-generator
Generate web assets including favicons, app icons (PWA), and social media meta images (Open Graph) for Facebook, Twitter, WhatsApp, and LinkedIn. Use when users need icons, favicons, social sharing images, or Open Graph images from logos or text slogans. Handles image resizing, text-to-image generation, and provides proper HTML meta tags.
web-artifacts-builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
variant-analysis
Find similar vulnerabilities and bugs across codebases using pattern-based analysis. Use when hunting bug variants, building CodeQL/Semgrep queries, analyzing security vulnerabilities, or performing systematic code audits after finding an initial issue.
wycheproof
Wycheproof provides test vectors for validating cryptographic implementations. Use when testing crypto code for known attacks and edge cases.
testing-handbook-generator
Meta-skill that analyzes the Trail of Bits Testing Handbook (appsec.guide) and generates Claude Code skills for security testing tools and techniques. Use when creating new skills based on handbook content.
ruzzy
Ruzzy is a coverage-guided Ruby fuzzer by Trail of Bits. Use for fuzzing pure Ruby code and Ruby C extensions.