home / skills / cexll / myclaude / skill-install

skill-install skill

/skills/skill-install

This skill installs Claude skills from GitHub with automated security scanning and user-guided approval to ensure safe integration.

npx playbooks add skill cexll/myclaude --skill skill-install

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
5.7 KB
---
name: skill-install
description: Install Claude skills from GitHub repositories with automated security scanning. Triggers when users want to install skills from a GitHub URL, need to browse available skills in a repository, or want to safely add new skills to their Claude environment.
---

# Skill Install

## Overview

Install Claude skills from GitHub repositories with built-in security scanning to protect against malicious code, backdoors, and vulnerabilities.

## When to Use

Trigger this skill when the user:
- Provides a GitHub repository URL and wants to install skills
- Asks to "install skills from GitHub"
- Wants to browse and select skills from a repository
- Needs to add new skills to their Claude environment

## Workflow

### Step 1: Parse GitHub URL

Accept a GitHub repository URL from the user. The URL should point to a repository containing a `skills/` directory.

Supported URL formats:
- `https://github.com/user/repo`
- `https://github.com/user/repo/tree/main/skills`
- `https://github.com/user/repo/tree/branch-name/skills`

Extract:
- Repository owner
- Repository name
- Branch (default to `main` if not specified)

### Step 2: Fetch Skills List

Use the WebFetch tool to retrieve the skills directory listing from GitHub.

GitHub API endpoint pattern:
```
https://api.github.com/repos/{owner}/{repo}/contents/skills?ref={branch}
```

Parse the response to extract:
- Skill directory names
- Each skill should be a subdirectory containing a SKILL.md file

### Step 3: Present Skills to User

Use the AskUserQuestion tool to let the user select which skills to install.

Set `multiSelect: true` to allow multiple selections.

Present each skill with:
- Skill name (directory name)
- Brief description (if available from SKILL.md frontmatter)

### Step 4: Fetch Skill Content

For each selected skill, fetch all files in the skill directory:

1. Get the file tree for the skill directory
2. Download all files (SKILL.md, scripts/, references/, assets/)
3. Store the complete skill content for security analysis

Use WebFetch with GitHub API:
```
https://api.github.com/repos/{owner}/{repo}/contents/skills/{skill_name}?ref={branch}
```

For each file, fetch the raw content:
```
https://raw.githubusercontent.com/{owner}/{repo}/{branch}/skills/{skill_name}/{file_path}
```

### Step 5: Security Scan

**CRITICAL:** Before installation, perform a thorough security analysis of each skill.

Read the security scan prompt template from `references/security_scan_prompt.md` and apply it to analyze the skill content.

Examine for:
1. **Malicious Command Execution** - eval, exec, subprocess with shell=True
2. **Backdoor Detection** - obfuscated code, suspicious network requests
3. **Credential Theft** - accessing ~/.ssh, ~/.aws, environment variables
4. **Unauthorized Network Access** - external requests to suspicious domains
5. **File System Abuse** - destructive operations, unauthorized writes
6. **Privilege Escalation** - sudo attempts, system modifications
7. **Supply Chain Attacks** - suspicious package installations

Output the security analysis with:
- Security Status: SAFE / WARNING / DANGEROUS
- Risk Level: LOW / MEDIUM / HIGH / CRITICAL
- Detailed findings with file locations and severity
- Recommendation: APPROVE / APPROVE_WITH_WARNINGS / REJECT

### Step 6: User Decision

Based on the security scan results:

**If SAFE (APPROVE):**
- Proceed directly to installation

**If WARNING (APPROVE_WITH_WARNINGS):**
- Display the security warnings to the user
- Use AskUserQuestion to confirm: "Security warnings detected. Do you want to proceed with installation?"
- Options: "Yes, install anyway" / "No, skip this skill"

**If DANGEROUS (REJECT):**
- Display the critical security issues
- Refuse to install
- Explain why the skill is dangerous
- Do NOT provide an option to override for CRITICAL severity issues

### Step 7: Install Skills

For approved skills, install to `~/.claude/skills/`:

1. Create the skill directory: `~/.claude/skills/{skill_name}/`
2. Write all skill files maintaining the directory structure
3. Ensure proper file permissions (executable for scripts)
4. Verify SKILL.md exists and has valid frontmatter

Use the Write tool to create files.

### Step 8: Confirmation

After installation, provide a summary:
- List of successfully installed skills
- List of skipped skills (if any) with reasons
- Location: `~/.claude/skills/`
- Next steps: "The skills are now available. Restart Claude or use them directly."

## Example Usage

**User:** "Install skills from https://github.com/example/claude-skills"

**Assistant:**
1. Fetches skills list from the repository
2. Presents available skills: "skill-a", "skill-b", "skill-c"
3. User selects "skill-a" and "skill-b"
4. Performs security scan on each skill
5. skill-a: SAFE - proceeds to install
6. skill-b: WARNING (makes HTTP request) - asks user for confirmation
7. Installs approved skills to ~/.claude/skills/
8. Confirms: "Successfully installed: skill-a, skill-b"

## Security Notes

- **Never skip security scanning** - Always analyze skills before installation
- **Be conservative** - When in doubt, flag as WARNING and let user decide
- **Critical issues are blocking** - CRITICAL severity findings cannot be overridden
- **Transparency** - Always show users what was found during security scans
- **Sandboxing** - Remind users that skills run with Claude's permissions

## Resources

### references/security_scan_prompt.md

Contains the detailed security analysis prompt template with:
- Complete list of security categories to check
- Output format requirements
- Example analyses for safe, suspicious, and dangerous skills
- Decision criteria for APPROVE/REJECT recommendations

Load this file when performing security scans to ensure comprehensive analysis.

Overview

This skill installs Claude skills from GitHub repositories with automated security scanning to protect against malicious code and unsafe behavior. It fetches available skills, scans their contents for risks, and installs approved skills into the local Claude skills directory. The process is interactive and conservative: warnings require user confirmation, and critical findings block installation.

How this skill works

The skill accepts a GitHub URL and enumerates a skills directory in the target repo. It downloads each selected skill's files, runs a structured security analysis against a comprehensive prompt template, and classifies findings as SAFE, WARNING, or DANGEROUS with a recommended action. Approved skills are written into the local skills path with preserved structure and appropriate permissions; warnings require explicit user consent before installation.

When to use it

  • You have a GitHub URL that contains a skills folder and want to install one or more skills.
  • You want to browse and select available skills from a remote repository before installing.
  • You need an automated security review of a third-party skill before adding it to Claude.
  • You want to safely add new capabilities to your Claude environment while minimizing risk.

Best practices

  • Always review the scanner's findings before approving installations marked WARNING.
  • Prefer skills that receive a SAFE assessment or have minimal, low-risk warnings.
  • Keep the installed skills directory backed up and restrict file permissions for scripts.
  • Avoid installing skills that access sensitive local paths or external services without clear necessity.
  • When in doubt, reject skills with obfuscated code, credential access, or unexpected network calls.

Example use cases

  • Install a set of task automation skills shared in a team's GitHub project after scanning them for shell or network risks.
  • Browse a public collection of skills and selectively install only those that pass the security scan.
  • Add a community-contributed skill while being alerted to any external dependencies or privilege escalations.
  • Automate deployment of approved skills into ~/.claude/skills/ for a fresh Claude instance setup.

FAQ

What happens if the scanner marks a skill as WARNING?

You will see detailed warnings and must explicitly confirm whether to proceed; the decision stays with you.

Can I override a DANGEROUS (critical) result?

Critical severity findings block installation and cannot be overridden to protect your environment.

Where are installed skills placed?

Approved skills are installed under ~/.claude/skills/ with directory structure and executable flags preserved.