# Admin Skills

> |

- **Type:** Skill
- **Install:** `agentstack add skill-evolv3ai-claude-skills-archive-admin-skills`
- **Verified:** Pending review
- **Seller:** [evolv3ai](https://agentstack.voostack.com/s/evolv3ai)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [evolv3ai](https://github.com/evolv3ai)
- **Source:** https://github.com/evolv3ai/claude-skills-archive/tree/main/archive/skills/admin-skills
- **Website:** https://jezweb.com.au

## Install

```sh
agentstack add skill-evolv3ai-claude-skills-archive-admin-skills
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Skill Registry Management

## CRITICAL MUST: Secrets and .env

- NEVER store live `.env` files or credentials inside any skill folder.
- `.env.template` files belong only in `templates/` within a skill.
- Store live secrets in `~/.admin/.env` (or another non-skill location you control) and reference them from there.

**Requires**: Device profile from `admin` skill

---

## Profile-First Approach

Skills tracked in central registry:

```powershell
# Registry location
$AdminProfile.paths.skillsRegistry
# "C:/Users/Owner/.admin/skills-registry.json"

# Installed skills
$Registry.installedSkills | Format-Table Name, Source, Clients, Status
```

```bash
jq '.installedSkills' "$SKILLS_REGISTRY_PATH"
```

---

## Registry Schema

```json
{
  "schemaVersion": "1.0",
  "clients": { ... },           // Known AI clients
  "skillSources": { ... },      // Marketplaces/repos
  "installedSkills": { ... },   // Per-skill tracking
  "clientInstallations": { ... }, // Per-client summary
  "installMethods": { ... },    // How to install
  "syncHistory": [ ... ]        // Audit trail
}
```

Template: `templates/skills-registry.json`

---

## Quick Reference: Clients

| Client | Install Method | Skills Path | Capabilities |
|--------|---------------|-------------|--------------|
| **Claude Code** | plugin marketplace | `~/.claude/skills/` | skills, commands, agents |
| **Claude Desktop** | manual/MCP | N/A | skills (via MCP) |
| **Cursor** | .cursorrules | `~/.cursor/rules/` | rules only |
| **OpenCode** | symlink | `~/.config/opencode/skills/` | skills |
| **Windsurf** | rules file | `~/.windsurf/` | rules only |
| **Gemini CLI** | AGENTS.md | project root | agents |

---

## List Installed Skills

```powershell
$registry = Get-Content $AdminProfile.paths.skillsRegistry | ConvertFrom-Json

$registry.installedSkills.PSObject.Properties | ForEach-Object {
    [PSCustomObject]@{
        Name = $_.Name
        Source = $_.Value.source
        Clients = ($_.Value.clients -join ", ")
        Status = $_.Value.status
        Version = $_.Value.version
    }
} | Format-Table
```

```bash
jq -r '.installedSkills | to_entries[] | [.key, .value.source, .value.status] | @tsv' "$SKILLS_REGISTRY_PATH" | column -t
```

---

## Install Skill to Claude Code

### Via Marketplace (Recommended)

```bash
# Add marketplace (one-time)
/plugin marketplace add evolv3-ai/vibe-skills

# Install bundle
/plugin install admin

# Or individual skill
/plugin install ./skills/admin-skills
```

### Update Registry After Install

```powershell
$registry = Get-Content $AdminProfile.paths.skillsRegistry | ConvertFrom-Json

$registry.installedSkills["admin-skills"] = @{
    source = "evolv3-ai/vibe-skills"
    version = "1.0.0"
    installDate = (Get-Date -Format "yyyy-MM-dd")
    installMethod = "plugin"
    bundle = "admin"
    clients = @("claude-code")
    status = "active"
    lastVerified = (Get-Date -Format "yyyy-MM-dd")
    notes = "Skill registry management"
}

$registry.lastUpdated = (Get-Date -Format "yyyy-MM-ddTHH:mm:ssZ")
$registry | ConvertTo-Json -Depth 10 | Set-Content $AdminProfile.paths.skillsRegistry
```

---

## Sync Skill to Other Clients

### Export for Cursor/Windsurf

```bash
# Export skill content to rules format
SKILL_PATH="$HOME/.claude/skills/admin-skills"
TARGET="$HOME/.cursor/rules/admin-skills.md"

# Copy with header
echo "# admin-skills (from evolv3-ai/vibe-skills)" > "$TARGET"
cat "$SKILL_PATH/SKILL.md" >> "$TARGET"

# Update registry
# Mark as installed on cursor client
```

### Export for Gemini CLI

```bash
# Skills become agents in AGENTS.md format
# Append to project's AGENTS.md
cat >> AGENTS.md << 'EOF'

## admin-skills Agent
Source: evolv3-ai/vibe-skills
Purpose: Skill registry management
EOF
```

---

## Audit Skills

### Check All Installed

```powershell
function Test-SkillsHealth {
    $registry = Get-Content $AdminProfile.paths.skillsRegistry | ConvertFrom-Json

    foreach ($skill in $registry.installedSkills.PSObject.Properties) {
        $name = $skill.Name
        $info = $skill.Value

        # Check if skill files exist
        $skillPath = "$($AdminProfile.paths.claudeSkills)/$name"
        $exists = Test-Path $skillPath

        [PSCustomObject]@{
            Skill = $name
            Source = $info.source
            Status = $info.status
            FilesExist = $exists
            LastVerified = $info.lastVerified
        }
    }
}

Test-SkillsHealth | Format-Table
```

### Verify Against Source

```bash
# Check if local skill matches source version
SKILL="admin-skills"
SOURCE="evolv3-ai/vibe-skills"

# Get source version (from GitHub)
REMOTE_VERSION=$(curl -s "https://raw.githubusercontent.com/$SOURCE/main/skills/$SKILL/SKILL.md" | grep -oP 'version:\s*"\K[^"]+')

# Get local version
LOCAL_VERSION=$(jq -r ".installedSkills[\"$SKILL\"].version" "$SKILLS_REGISTRY_PATH")

echo "Local: $LOCAL_VERSION, Remote: $REMOTE_VERSION"
```

---

## Remove Skill

### From Claude Code

```bash
# Remove symlink or plugin
rm -rf ~/.claude/skills/skill-name

# Or via plugin
/plugin uninstall skill-name
```

### Update Registry

```powershell
$registry = Get-Content $AdminProfile.paths.skillsRegistry | ConvertFrom-Json

# Mark as removed (keep history)
$registry.installedSkills["skill-name"].status = "removed"
$registry.installedSkills["skill-name"].clients = @()

# Or fully remove
$registry.installedSkills.PSObject.Properties.Remove("skill-name")

$registry | ConvertTo-Json -Depth 10 | Set-Content $AdminProfile.paths.skillsRegistry
```

---

## Marketplace Management

### List Configured Marketplaces

```powershell
$registry = Get-Content $AdminProfile.paths.skillsRegistry | ConvertFrom-Json
$registry.skillSources | Format-List
```

### Add New Marketplace

```powershell
$registry.skillSources["my-org/skills"] = @{
    type = "marketplace"
    url = "https://github.com/my-org/skills"
    description = "My organization's skills"
    bundles = @("custom")
    default = $false
}

$registry | ConvertTo-Json -Depth 10 | Set-Content $AdminProfile.paths.skillsRegistry
```

---

## Sync History

Track all changes:

```powershell
$registry.syncHistory += @{
    date = (Get-Date -Format "yyyy-MM-dd")
    action = "install"
    source = "evolv3-ai/vibe-skills"
    changes = @("Added admin-skills v1.0.0")
}
```

View history:

```bash
jq '.syncHistory | reverse | .[0:10]' "$SKILLS_REGISTRY_PATH"
```

---

## Integration with admin Profile

### Add to Device Profile

```powershell
# Add skills registry path to device profile
$AdminProfile.paths.skillsRegistry = "$($AdminProfile.paths.adminRoot)/skills-registry.json"
$AdminProfile | ConvertTo-Json -Depth 10 | Set-Content $AdminProfile.paths.deviceProfile

# Initialize registry if needed
if (-not (Test-Path $AdminProfile.paths.skillsRegistry)) {
    Copy-Item "templates/skills-registry.json" $AdminProfile.paths.skillsRegistry
}
```

### Cross-Reference with MCP

Skills that provide MCP tools should be tracked in both registries:

```powershell
# If skill adds MCP server, update both
$AdminProfile.mcp.servers["skill-mcp"] = @{ ... }
$registry.installedSkills["skill-mcp-provider"].mcpServer = "skill-mcp"
```

---

## References

- `references/REGISTRY_SCHEMA.md` - Full schema documentation
- `references/CLIENT_COMPATIBILITY.md` - Per-client installation guides
- `references/SYNC_PATTERNS.md` - Multi-client sync strategies

## Scripts

| Script | Purpose |
|--------|---------|
| `Update-SkillsRegistry.ps1` | PowerShell registry updater |
| `sync-skills.sh` | Bash multi-client sync |
| `audit-skills.ps1` | Health check all skills |

## Related Skills

| Skill | Purpose |
|-------|---------|
| `admin` | Device profile orchestrator |
| `admin-mcp` | MCP server management |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [evolv3ai](https://github.com/evolv3ai)
- **Source:** [evolv3ai/claude-skills-archive](https://github.com/evolv3ai/claude-skills-archive)
- **License:** MIT
- **Homepage:** https://jezweb.com.au

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: flagged — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-evolv3ai-claude-skills-archive-admin-skills
- Seller: https://agentstack.voostack.com/s/evolv3ai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
