Skill: ivangdavila/skill-manager (version 1.0.3)

--- name: "Skill Manager" description: "Manage installed skills lifecycle: suggest by context, track installations, check updates, and cleanup unused." version: "1.0.3" changelog: "Fix contradictions: clarify declined tracking, add npx security note" --- ## Skill Lifecycle Management Manage the full lifecycle of installed skills: discovery, installation, updates, and cleanup. **References:** - `suggestions.md` — when to suggest skills based on current task - `lifecycle.md` — installation, updates, and cleanup **Complements:** - `skill-finder` — user-initiated search ("find me a skill for X") - `skill-manager` — proactive lifecycle management --- ## Scope This skill ONLY: - Suggests skills based on current task context - Tracks installed skills in `~/skill-manager/inventory.md` - Tracks skills user explicitly declined (with their stated reason) - Checks for skill updates This skill NEVER: - Counts task repetition or user behavior patterns - Installs without explicit user consent - Reads files outside `~/skill-manager/` --- ## Security Note This skill uses `npx clawhub` commands which download and execute code from ClawHub registry. This is the standard mechanism for skill management. Always review skills before installing. --- ## Context-Based Suggestions When working on a task, notice the **current context**: - User mentions specific tool (Stripe, AWS, GitHub) → check if skill exists - Task involves unfamiliar domain → suggest searching This is responding to current context, not tracking patterns. ## Lifecycle Actions | Action | Command | |--------|---------| | Install | `npx clawhub install <slug>` | | Update | `npx clawhub update <slug>` | | Info | `npx clawhub info <slug>` | | Remove | `npx clawhub uninstall <slug>` | --- ## Memory Storage Inventory at `~/skill-manager/inventory.md`. **First use:** `mkdir -p ~/skill-manager` **Format:** ```markdown ## Installed - slug@version — purpose — YYYY-MM-DD ## Declined - slug — "user's stated reason" ``` **What is tracked:** - Skills user installed (with purpose and date) - Skills user explicitly declined (with their stated reason) **Why track declined:** To avoid re-suggesting skills user already said no to. Only stores what user explicitly stated.

path: lifecycle.md
content: # Skill Lifecycle Management

Reference — installation, updates, and cleanup.

## Installation

When user consents to install:

```bash
npx clawhub install <slug>
```

Then add to inventory:
```markdown
## Installed
- slug@1.0.0 — "purpose" — 2026-02-16
```

## Checking Updates

To check if skill has updates:

```bash
npx clawhub info <slug>
```

Compare version with inventory. If newer available:
> "skill-name has an update (v1.0.0 → v1.1.0). Update?"

## Updating

When user consents:

```bash
npx clawhub update <slug>
```

Update version in inventory.

## Removal

When user asks to remove:

```bash
npx clawhub uninstall <slug>
```

Remove from inventory.

## Periodic Audit

When user asks "what skills do I have?" or "cleanup skills":

1. List installed from inventory
2. For each: "Still using [slug] for [purpose]?"
3. User says no → offer to remove
4. User says yes → keep

## Inventory Format

```markdown
# Skill Manager Inventory

## Installed
- github@1.2.0 — "PR workflows" — 2026-01-15
- stripe@1.0.0 — "payment integration" — 2026-02-01

## Declined
- jira — "don't use Jira"
```

## Rules

- Always get consent before install/update/remove
- Track purpose so audit makes sense
- Keep inventory current
- Don't auto-remove anything


path: suggestions.md
content: # Context-Based Skill Suggestions

Reference — when to suggest skills based on current task.

## Trigger: Current Task Context

Suggest a skill when the **current task** involves:

**Specific tools/services:**
- User mentions Stripe → "There's a stripe skill, want it?"
- User works with GitHub PRs → "github skill could help"
- User asks about AWS → check for aws skill

**Unfamiliar domains:**
- Legal document → "legal skill might help here"
- Medical terminology → "medical skill exists"

**Explicit request:**
- User says "is there a better way" → search for skills

## NOT Triggers

Do NOT suggest based on:
- Counting how many times user does something
- Inferring struggle from behavior
- Tracking suggestion frequency

## How to Suggest

**In context:**
> "Since you're working with [X], there's a skill for that. Want me to install it?"

**Brief:**
> "There's a [domain] skill that could help here. Interested?"

## After Suggestion

- User says yes → install and track in inventory
- User says no → ask reason, store in Declined section
- User ignores → do nothing

## Declined Skills

When user declines, store their stated reason in `~/skill-manager/inventory.md`:
```
## Declined
- slug — "reason user gave"
```

Don't re-suggest declined skills unless user explicitly asks.

## Difference from skill-finder

| skill-finder | skill-manager |
|--------------|---------------|
| User asks "find skill for X" | You notice context opportunity |
| Reactive search | Proactive suggestion |
| One-time lookup | Ongoing lifecycle |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)