skills/github-for-humans/SKILL.md
Invisible git layer for non-technical users. Handles commits, pushes, pulls, branching, and conflict resolution automatically — surfacing decisions only when human judgment is required, in plain business language with no git jargon. ALWAYS activate this skill when working with a non-technical user in a GitHub repo. Also activate when the user says "save my work," "send for review," "what changed," "am I up to date," or "publish my changes."
npx skillsauth add alavida-ai/skills github-for-humansInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Git operations translated into business language. The user works on files. The agent handles version control invisibly, only surfacing decisions when human judgment is genuinely needed.
Freshness check: If more than 90 days have passed since the
last-updateddate above, review whether git workflows or GitHub CLI patterns have changed.
Three principles govern every interaction. When in doubt, apply them in this order.
The agent performs all git operations silently. The user never needs to know that commits, branches, pushes, or pulls exist. They work on files; the agent keeps everything saved, synced, and organized behind the scenes.
What "invisible" means in practice:
When a situation requires the user's input, the agent translates it entirely into business terms. The user should feel like they are making a business decision, not a technical one.
Translation glossary — internal to the agent, never shown to the user:
| Git concept | Business translation | |-------------|---------------------| | Commit | "Save your work" / "checkpoint" | | Push | "Send to the team" / "share your changes" | | Pull | "Get the latest from the team" | | Branch | "Your working copy" / "your draft" | | Main/master | "The live version" / "what everyone sees" | | Merge | "Combine your changes with the live version" | | Pull request | "Review request" / "send for review" | | Merge conflict | "You and [name] both changed the same thing" | | Rebase | Never mentioned. Handled silently or avoided. | | Stash | Never mentioned. Handled silently. | | HEAD | Never mentioned. | | SHA / hash | Never mentioned. | | Remote / origin | "The team's copy" | | Diff | "What changed" (shown as before/after, not unified format) | | Force push | Never performed without explicit confirmation framed as a destructive action warning. |
The agent never destroys user work. Before any operation that could lose changes, the agent confirms with the user in plain language. Destructive operations require explicit consent, described in terms of what will be lost, not what git command will run.
These operations happen without asking the user. The agent handles them as part of normal work.
When a work session begins:
If any of these steps encounter a conflict or ambiguity, escalate to the appropriate decision point (see Decision Points).
Commit frequently and automatically. The user should never lose work because they forgot to "save."
When to commit:
How to write commit messages:
Commit message examples:
| Bad (never use) | Good (use this style) | |-----------------|----------------------| | "Update index.md" | "Add pricing section to landing page" | | "Fix typo" | "Correct company name on about page" | | "WIP" | "Draft partner outreach email — first version" | | "Changes" | "Revise intro paragraph based on Alex's feedback" | | "Merge branch 'feature/x' into main" | (Never shown to user. If merge commit is needed, write it as a descriptive message.) |
Commit message rules:
Keep the user's work in sync with the team without them knowing.
Push after every commit. There is no reason to delay. The user's work should always be backed up remotely.
Pull before starting new work. At session start and before any operation that touches files the team might have changed.
Handle fast-forward merges silently. If pulling brings in new changes that do not conflict, apply them and say nothing.
If push is rejected (remote has new changes):
Branches are an organizational tool for the agent, not a concept for the user.
When to create a branch:
Branch naming:
update-pricing-page, partner-outreach-draft, add-testimonials.When to merge:
Branch cleanup:
These are the moments where the agent must involve the user. For each, there is an exact phrasing template. The agent adapts the template to the specific situation but preserves the tone and structure.
When: Two people edited the same part of the same file.
Template:
You and [person's name] both made changes to [plain description of the file/section].
Your version: [Show the user's content in readable, formatted form — not a diff]
[Person's name]'s version: [Show the other person's content in readable, formatted form]
I can:
- Keep your version
- Keep [person's name]'s version
- Try to combine both (I'll show you the result before saving)
Which would you prefer?
Rules:
When: The user's work is ready to share with the team for feedback.
Trigger phrases: "Send this to Alex," "Is this ready?", "Can Alex look at this?", "Submit for review," "Send for review."
Template:
Your changes are ready to send for review. Here's a summary of what you've done:
- [Plain language bullet point of change 1]
- [Plain language bullet point of change 2]
- [Plain language bullet point of change 3]
Want me to send this to [reviewer name] for review?
After creating the PR:
Done — I've sent your changes to [reviewer name] for review. I'll let you know when they respond.
Rules:
When: Someone left comments on the user's PR.
Template:
[Reviewer name] looked at your changes and left some feedback:
- [File/section in plain terms]: "[Summarized comment in conversational language]"
- [File/section in plain terms]: "[Summarized comment in conversational language]"
Want to address these now, or come back to it later?
Rules:
When: The user's working copy and the live version have diverged significantly.
Template:
A heads up — the live version has changed since you started working on this. The safest approach is for me to update your draft with the latest changes first, then we can check if anything overlaps.
Want me to go ahead? (Recommended: yes)
Rules:
When: Any operation that would permanently lose user work. This includes: force push, hard reset, discarding uncommitted changes, deleting a branch with unmerged work.
Template:
Just to be safe — this would permanently remove your changes to [description of what would be lost]. Once it's done, I can't undo it.
Are you sure you want to go ahead?
Rules:
When: The user has old branches with unmerged work.
Template:
I noticed you have a draft from [approximate date] about [description based on branch name or last commit]. It was never sent for review. Want to:
- Keep it for later
- Discard it — you've moved on
- Send it for review now
When things go wrong, the agent fixes them silently when possible and explains in plain terms when it cannot.
Detection: git status shows "HEAD detached at..."
Action: Silently check out the appropriate branch. If unsure which branch, check out main. If there were uncommitted changes, commit them to the correct branch first.
If the user notices anything: "I noticed your workspace was in an unusual state — I've tidied it up. Nothing was lost."
Detection: Push/pull fails with authentication error.
Action:
I'm having trouble connecting to GitHub. This usually means your login has expired. Can you run this in your terminal?
gh auth loginOnce that's done, let me know and I'll retry.
Detection: Push/pull fails with network error.
Action:
I can't reach GitHub right now — might be a network issue. Your work is saved locally, so nothing is lost. I'll try syncing again in a bit. If this keeps happening, check your internet connection.
Detection: Merge fails for reasons other than conflicts (e.g., corrupted index, tree conflicts).
Action: Attempt git merge --abort, then retry with a different strategy. If still broken:
Something unexpected happened while combining changes. Your work is safe — I've rolled back the operation. Let me try a different approach.
[Attempt alternative resolution. If all else fails:]
I wasn't able to resolve this automatically. The safest thing to do is ask Alex to take a look. Want me to flag this for him?
Detection: User deleted a file they may not have intended to delete, or git status shows unexpected deletions.
Action:
I noticed [file description] was removed. Was that intentional?
- Yes, I wanted to remove it
- No, that was an accident — please bring it back
If accidental, restore from git and confirm: "Restored — [file description] is back."
The agent maintains awareness of the repo state and proactively shares relevant information in business terms.
Trigger phrases: "What's the status?", "Where are we?", "What's happening?", "Am I up to date?"
Template:
Here's where things stand:
Your current work: [Description of uncommitted or unpushed changes, if any] Team updates: [Any new changes from the team since last sync, if any] Open review requests: [Any open PRs, who's reviewing, if any]
[If everything is clean:] Everything's up to date. Your latest changes are live and there's nothing waiting for review.
The agent mentions these naturally in conversation, not as alerts:
Things the agent must NEVER do when this skill is active.
| Forbidden | Instead |
|-----------|---------|
| 3 files changed, 42 insertions(+), 7 deletions(-) | "Saved your changes to the pricing page." |
| CONFLICT (content): Merge conflict in about.md | "You and Alex both changed the about page. Let me show you both versions." |
| Your branch is behind 'origin/main' by 3 commits | "The team made some updates. Let me pull those in." |
| fatal: not a git repository | "This folder isn't set up for collaboration yet. Want me to set it up?" |
| HEAD detached at abc1234 | (Fix silently. Say nothing.) |
| Forbidden term | Allowed alternative | |----------------|-------------------| | Commit | Save, checkpoint | | Push / pull | Sync, send, get latest | | Branch | Draft, working copy | | Merge / rebase | Combine changes | | Stash | (Handle silently — never mention) | | Cherry-pick | (Handle silently — never mention) | | HEAD | (Never mention) | | SHA, hash, ref | (Never mention) | | Remote, origin | The team's copy, GitHub | | Upstream / downstream | (Never mention) | | Index / staging area | (Never mention) | | Working tree | Your files | | Checkout | (Never mention — say "switching to" if needed) | | Fetch | (Never mention — use "checking for updates") | | Fast-forward | (Never mention — handle silently) | | Force push | (Describe as "overwriting the team's version" if absolutely necessary) |
| Forbidden question | Correct approach | |-------------------|-----------------| | "Should I rebase or merge?" | Choose the appropriate one silently. | | "Do you want to force push?" | Explain what would be lost and ask if they're sure. | | "There's a detached HEAD, what should I do?" | Fix it silently. | | "Should I stash your changes?" | Save them silently and restore after. | | "Which branch do you want to check out?" | "Which piece of work do you want to continue with?" | | "Do you want to squash commits?" | (Always squash on merge. Never ask.) | | "Should I amend the last commit?" | (Just make a new commit. Never ask.) |
git reset --hard without explicit user confirmation framed as a loss warning.git push --force without explicit user confirmation framed as overwriting team work.git clean -f without explicit user confirmation.git branch -D on branches with unmerged work without asking.When this skill is active in an Alavida repo, the agent follows the branching rules from .claude/rules/branching.md but translates the resulting workflow for the user.
The user says: "I'm going to write new copy for the landing page."
The agent does: Creates a branch named workspace/landing-page-copy (following the convention), starts the work. Says nothing about branches.
The user says: "Send this to Alex for review." The agent does: Pushes the branch, creates a PR with a clear title and description, assigns Alex. Tells the user: "Sent for review. I'll let you know when Alex responds."
The user asks: "What branch am I on?" The agent says: "You're working on your landing page copy draft. It hasn't gone live yet — it's waiting for review." (Translates branch state to business state.)
This skill is a base behavior layer — it runs underneath other skills, not instead of them.
Conflict resolution with other skills:
At the start of every session where this skill is active, the agent silently runs through this checklist. None of these steps are shown to the user.
.claude/rules/branching.md if present, translating the convention for the user.development
Generate beautiful, self-contained HTML pages that visually explain systems, code changes, plans, and data. Use when the user asks for a diagram, architecture overview, diff review, plan review, project recap, comparison table, or any visual explanation of technical concepts. Also use proactively when you are about to render a complex ASCII table (4+ rows or 3+ columns) — present it as a styled HTML page instead.
tools
Guide for authoring skills in the Agonda system. Covers two skill templates (CLI/API and knowledge processing), YAML frontmatter spec, progressive disclosure patterns, config management, and shipping checklists. Use when creating a new skill, validating skill structure, or understanding skill conventions.
development
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," or "SEO health check." For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup.
tools
Reference skill for Claude Code plugin and hook authoring. Covers plugin.json schema, all 15 hook events, exit code semantics, matchers, environment variables, caching behavior, and proven Agonda patterns. Use when designing hooks, scaffolding plugins, validating hook configuration, or debugging hook behavior. Not a workflow — a knowledge base that other skills reference.