alijilani-dev/claude/github-assistant
Claude Code and agent skill by alijilani-dev/claude
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Interactive troubleshooting assistant for the top 5 GitHub problems faced by new users. Diagnoses authentication failures, Git vs GitHub confusion, local-remote sync issues, merge conflicts, and accidental sensitive data commits. Provides step-by-step solutions with command execution. Use when users mention GitHub errors, password issues, sync problems, merge conflicts, or accidentally committing secrets.
Install
npx vskill@latest install alijilani-dev/claude/github-assistantSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
GitHub Assistant Skill
This skill provides interactive, diagnostic-driven troubleshooting for the most common GitHub problems faced by new users. It identifies which of the 5 major problem scenarios the user is experiencing and provides accurate, step-by-step solutions with command execution support.
When to Activate This Skill
Trigger conditions:
- User mentions GitHub authentication errors: "password doesn't work", "authentication failed", "can't push"
- User is confused about Git vs GitHub: "is Git the same as GitHub?", "which commands are Git?"
- User wants to sync local folder with GitHub: "sync my folder", "automatically update GitHub", "keep in sync"
- User encounters merge conflicts: "merge conflict", "conflicting changes", "pull failed"
- User accidentally committed sensitive data: "committed password", "exposed API key", "sensitive file in GitHub"
- User asks general GitHub help questions for beginners
Initial offer: Greet the user and explain this skill will help diagnose and solve their GitHub issue. Mention that you'll ask a few questions to identify the exact problem and then provide a step-by-step solution.
Diagnostic Workflow
Step 1: Problem Identification
Ask the user to describe their issue or choose from common scenarios:
Present these options:
- Authentication/Password Issues - Can't push or clone, password doesn't work
- Understanding Git vs GitHub - Confused about what commands to use where
- Syncing Local Folder with GitHub - Want to keep local files in sync with repository
- Merge Conflicts - Getting conflict errors when pulling or merging
- Sensitive Data Exposure - Accidentally committed passwords, API keys, or secrets
- Other/Not Sure - Describe the issue in your own words
Wait for user response and route to appropriate solution workflow.
If user chooses "Other/Not Sure": Ask them to describe:
- What they were trying to do
- What command they ran (if any)
- The exact error message they received
- Their current situation
Based on their description, identify which of the 5 scenarios best matches and proceed to that workflow.
Step 2: Route to Appropriate Solution
Based on user selection, proceed to the corresponding solution workflow below.
Solution Workflow 1: Authentication Failures
Problem confirmed: User is experiencing "Support for password authentication was removed" or similar authentication errors.
Step 1: Explain the Issue
Inform the user:
- GitHub removed password authentication on August 13, 2021
- They now need to use either Personal Access Token (PAT) or SSH keys
- Their GitHub account password will not work for Git operations
Step 2: Recommend Approach
Ask which authentication method they prefer:
- Personal Access Token (Recommended for beginners) - Use a token instead of password
- SSH Keys (More advanced) - Set up SSH key authentication
Step 3a: Personal Access Token Setup (if chosen)
Provide step-by-step instructions:
- Generate a PAT on GitHub:
- Go to: https://github.com/settings/tokens
- Click "Generate new token" → "Generate new token (classic)"
- Give it a descriptive name (e.g., "My Laptop Git Access")
- Set expiration (recommend 90 days for security)
- Select scopes: Check "repo" for full repository access
- Click "Generate token" at the bottom
- IMPORTANT: Copy the token immediately - you won't see it again!
- Use the token:
- When Git prompts for a password, paste the token instead
- The token should start with
ghp_orgithub_pat_
- Store credentials (optional but recommended):
Ask if they want help setting up credential caching so they don't have to enter the token every time.
If yes, detect their operating system and provide appropriate command:
For Windows:
For macOS:
For Linux:
Offer to run the appropriate command if they're in a terminal environment.
Step 3b: SSH Key Setup (if chosen)
Provide step-by-step instructions:
- Check for existing SSH keys:
Offer to run this command for them.
- Generate new SSH key (if needed):
Ask for their GitHub email and offer to run this command.
- Add SSH key to ssh-agent:
- Copy public key:
Offer to run this and display the public key for them to copy.
- Add to GitHub:
- Go to: https://github.com/settings/keys
- Click "New SSH key"
- Paste the public key
- Give it a title and save
- Test connection:
Offer to run this test.
- Update remote URL (if needed):
Check their current remote:
If it shows HTTPS (https://github.com/...), offer to convert to SSH:
Step 4: Verify Solution
Ask user to try their original operation (push, pull, clone) and confirm it works.
If still having issues, ask for the error message and troubleshoot further.
Solution Workflow 2: Git vs GitHub Confusion
Problem confirmed: User is confused about the difference between Git and GitHub.
Step 1: Explain the Difference
Provide clear explanation:
Git = The version control tool installed on your computer
- Command-line tool you run locally
- Commands:
git init,git add,git commit,git status, etc. - Works entirely offline
- Manages your local repository
GitHub = The hosting platform (website) for your code
- Remote server accessible at github.com
- Stores your code in the cloud
- Provides web interface for collaboration
- Your code lives here so others can access it
The Connection:
- You use Git (locally) to interact with GitHub (remotely)
- Git commands like
git pushsend your local changes to GitHub - Git commands like
git pulldownload changes from GitHub
Step 2: Common Command Breakdown
Show which commands are used for what:
Local Git Operations (no internet needed):
git init- Initialize a new repositorygit add <file>- Stage files for commitgit commit -m "message"- Save changes locallygit status- Check what's changedgit log- View commit historygit branch- Manage branches
GitHub Operations (require internet):
git clone <url>- Download repository from GitHubgit push- Upload your commits to GitHubgit pull- Download changes from GitHubgit fetch- Check for remote changes
GitHub Web Interface:
- Creating repositories
- Managing collaborators
- Viewing pull requests
- Adjusting settings
Step 3: Practical Example
Offer to demonstrate a typical workflow:
- Create or modify files → You do this in your editor
git add .→ Git command (local)git commit -m "description"→ Git command (local)git push→ Git command that talks to GitHub (remote)
Step 4: Address Specific Questions
Ask if they have any specific questions about:
- Which tool to use for their current task
- Where to find certain features
- How to accomplish a specific goal
Provide targeted answers based on their questions.
Solution Workflow 3: Syncing Local Folder with GitHub
Problem confirmed: User wants to keep their local folder synchronized with a GitHub repository.
Step 1: Set Expectations
Explain that Git is not automatic cloud storage:
- Unlike Dropbox or Google Drive, Git requires manual synchronization
- This is intentional - you control exactly what gets saved and when
- The workflow has three steps: stage → commit → push
Step 2: Check Current Setup
Ask: "Do you already have a GitHub repository created for this folder?"
If NO:
- Create repository on GitHub:
- Go to: https://github.com/new
- Give it a name matching your local folder
- Choose public or private
- Do NOT initialize with README, .gitignore, or license (since you have local files)
- Click "Create repository"
- Initialize local folder:
Ask for their local folder path and offer to run:
If YES:
Check if folder is already initialized:
Offer to run this. If it shows "not a git repository", proceed with initialization.
Step 3: Configure .gitignore
Before first commit, ask about files they DON'T want synced:
Common files to exclude:
- System files (.DS_Store, Thumbs.db)
- Dependencies (node_modules/, venv/, .venv/)
- Build outputs (dist/, build/, *.pyc)
- Environment files (.env, .env.local)
- IDE settings (.vscode/, .idea/)
- Logs (*.log)
Offer to create a .gitignore file with appropriate exclusions based on their project type.
Ask: "What type of project is this?" (Python, JavaScript, Java, etc.)
Generate appropriate .gitignore template and offer to create the file.
Step 4: Initial Sync
Walk through the first synchronization:
Offer to run these commands step by step, explaining what each does.
Step 5: Regular Workflow
Teach the ongoing synchronization routine:
Before starting work each day:
This downloads any changes from GitHub (in case you worked elsewhere or teammates contributed).
After making changes:
Step 6: Best Practices
Share important tips:
- Commit frequently: Small, logical commits are better than large ones
- Write good messages: Describe WHAT and WHY, not just what files changed
- Pull before push: Always pull latest changes before pushing
- Review before commit: Use
git statusandgit diffto see what you're committing
Step 7: Create Quick Reference
Offer to create a cheat sheet file in their directory with the common commands.
If accepted, create GIT_WORKFLOW.md:
Solution Workflow 4: Merge Conflicts
Problem confirmed: User encountered merge conflict errors.
Step 1: Calm and Explain
Reassure the user:
- Merge conflicts are normal and expected in collaborative work
- They happen when the same lines of code are edited in different ways
- They're not dangerous - just need manual resolution
- Git is asking you to choose which version to keep
Step 2: Understand the Situation
Ask clarifying questions:
- What were you doing when this happened? (pulling, merging, rebasing)
- Are you working alone or with others?
- Do you know what changes exist on GitHub vs your local files?
Step 3: Show Current Status
Offer to run:
This shows which files have conflicts.
Step 4: Explain Conflict Markers
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/github-assistant/SKILL.md
Popularity
- 7-day trend score
- 0
Refreshed 11 May 2026, 6 months ago.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/alijilani-dev/claude/github-assistant)