Clone, pull, and manage GitHub repositories using SSH authentication. Handles yousufjoyian repos and third-party repos.
Install
npx skillscat add yousufjoyian/claude-skills/github Install via the SkillsCat registry.
SKILL.md
GitHub Repository Manager
This skill manages GitHub repositories via SSH - cloning, pulling, and pushing code.
Account Details
| Setting | Value |
|---|---|
| Username | yousufjoyian |
| SSH Key | ~/.ssh/github_ed25519 |
| Default Clone Location | /home/yousuf/local_workspaces/ |
When to Use This Skill
- Cloning a repository from GitHub
- Pulling latest changes from a repo
- Pushing commits to GitHub
- Checking repo status
- Listing user's repositories
What This Skill Does
- Clone Repos: Downloads repositories via SSH
- Pull Updates: Fetches and merges latest changes
- Push Changes: Uploads commits to GitHub
- Smart Defaults: Assumes
yousufjoyian/for bare repo names
How to Use
Clone Your Own Repo
Pull triclaudeClone my youtube-transcripts repoGet repo living-contractClone Someone Else's Repo
Clone anthropics/claude-codePull microsoft/vscodeUpdate Existing Repo
Update triclaude with latest changesPull latest on youtube-transcriptsPush Changes
Push my changes to triclaudeCommands Reference
Clone a repo (yousufjoyian)
git clone git@github.com:yousufjoyian/<repo>.git /home/yousuf/local_workspaces/<repo>Clone third-party repo
git clone git@github.com:<owner>/<repo>.git /home/yousuf/local_workspaces/<repo>Pull latest
cd /home/yousuf/local_workspaces/<repo> && git pullPush changes
cd /home/yousuf/local_workspaces/<repo> && git pushCheck status
cd /home/yousuf/local_workspaces/<repo> && git statusTest SSH connection
ssh -T git@github.comWorkflow
Parse repo name:
triclaude→yousufjoyian/triclaudeanthropics/claude-code→anthropics/claude-code
Check if exists locally:
- If
/home/yousuf/local_workspaces/<repo>/exists →git pull - Otherwise →
git clone
- If
Execute and report:
- Show clone/pull output
- Report final path
Trigger Words
| Phrase | Action |
|---|---|
| "pull", "clone", "get repo" | Clone or pull repo |
| "push", "upload" | Push commits |
| "github pull", "fetch from github" | Clone/pull |
| "update repo" | Git pull |
Example Session
User: "Pull triclaude"
Assistant:
Cloning yousufjoyian/triclaude...
git clone git@github.com:yousufjoyian/triclaude.git /home/yousuf/local_workspaces/triclaude
Cloning into '/home/yousuf/local_workspaces/triclaude'...
remote: Enumerating objects: 245, done.
remote: Counting objects: 100% (245/245), done.
Receiving objects: 100% (245/245), 1.2 MiB | 5.00 MiB/s, done.
Done: /home/yousuf/local_workspaces/triclaude/Related Skills
| Skill | Purpose |
|---|---|
git-commit |
Local commits with smart staging and message crafting |
Workflow: Use git-commit skill for staging and committing locally, then this skill for push/pull.
Troubleshooting
| Issue | Solution |
|---|---|
| Permission denied (publickey) | Run ssh-add ~/.ssh/github_ed25519 |
| Repository not found | Check repo name/owner spelling |
| Already exists | Use git pull instead of clone |
| Merge conflicts on pull | Resolve conflicts manually or stash changes |
SSH Setup (Already Configured)
Key location: ~/.ssh/github_ed25519
If SSH agent needs the key:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/github_ed25519Verify connection:
ssh -T git@github.com
# Expected: Hi yousufjoyian! You've successfully authenticated...