home / skills / kkkkhazix / khazix-skills / github-to-skills
This skill converts a GitHub repository URL into a ready-to-use AI skill with standardized structure and extended metadata for lifecycle management.
npx playbooks add skill kkkkhazix/khazix-skills --skill github-to-skillsReview the files below or copy the command above to add this skill to your agents.
---
name: github-to-skills
description: Automated factory for converting GitHub repositories into specialized AI skills. Use this skill when the user provides a GitHub URL and wants to "package", "wrap", or "create a skill" from it. It automatically fetches repository details, latest commit hashes, and generates a standardized skill structure with enhanced metadata suitable for lifecycle management.
license: MIT
---
# GitHub to Skills Factory
This skill automates the conversion of GitHub repositories into fully functional AI skills.
## Core Functionality
1. **Analysis**: Fetches repository metadata (Description, README, Latest Commit Hash).
2. **Scaffolding**: Creates a standardized skill directory structure.
3. **Metadata Injection**: Generates `SKILL.md` with extended frontmatter (tracking source, version, hash) for future automated management.
4. **Wrapper Generation**: Creates a `scripts/wrapper.py` (or similar) to interface with the tool.
## Usage
**Trigger**: `/GitHub-to-skills <github_url>` or "Package this repo into a skill: <url>"
### Required Metadata Schema
Every skill created by this factory MUST include the following extended YAML frontmatter in its `SKILL.md`. This is critical for the `skill-manager` to function later.
```yaml
---
name: <kebab-case-repo-name>
description: <concise-description-for-agent-triggering>
# EXTENDED METADATA (MANDATORY)
github_url: <original-repo-url>
github_hash: <latest-commit-hash-at-time-of-creation>
version: <tag-or-0.1.0>
created_at: <ISO-8601-date>
entry_point: scripts/wrapper.py # or main script
dependencies: # List main dependencies if known, e.g., ["yt-dlp", "ffmpeg"]
---
```
## Workflow
1. **Fetch Info**: The agent first runs `scripts/fetch_github_info.py` to get the raw data from the repo.
2. **Plan**: The agent analyzes the README to understand how to invoke the tool (CLI args, Python API, etc.).
3. **Generate**: The agent uses the `skill-creator` patterns to write the `SKILL.md` and wrapper scripts, ensuring the **extended metadata** is present.
4. **Verify**: Checks if the commit hash was correctly captured.
## Resources
- `scripts/fetch_github_info.py`: Utility to scrape/API fetch repo details (README, Hash, Tags).
- `scripts/create_github_skill.py`: Orchestrator to scaffold the folder and write the initial files.
## Best Practices for Generated Skills
- **Isolation**: The generated skill should install its own dependencies (e.g., in a venv or via `uv`/`pip`) if possible, or clearly state them.
- **Progressive Disclosure**: Do not dump the entire repo into the skill. Only include the necessary wrapper code and reference the original repo for deep dives.
- **Idempotency**: The `github_hash` field allows the future `skill-manager` to check `if remote_hash != local_hash` to trigger updates.
This skill automates converting a GitHub project URL into a packaged AI skill with standardized structure and metadata. It fetches project details and the latest commit hash, then generates a wrapped skill with lifecycle-ready metadata and a lightweight runtime wrapper. The result is a repeatable artifact ready for version checks and automated management.
Given a GitHub URL, the skill fetches core project data (description, docs, latest commit hash and tags) via the GitHub API or a fetch utility. It analyzes project docs to determine invocation patterns and dependencies, then scaffolds a skill folder, injects an extended metadata file, and creates a small wrapper script to expose the tool to the agent. Finally, it verifies the captured commit hash and reports creation details for future update checks.
Will this include the full project code in the generated skill?
No. The factory extracts the invocation surface and key dependencies, producing a lightweight wrapper and metadata while referencing the original source for full details.
How does the skill detect updates to the original project?
The generated metadata records the source URL and latest commit hash; a lifecycle manager can compare the stored hash to the remote hash to decide if regeneration is needed.