git-profile
Skill192 starsChanged 36 days agoMITView on GitHub
Git identity and GPG signing profile manager. Discovers profiles from GPG + git config, switches local identity, checks signing health. Use when: user says 'switch identity', 'git profile', 'check signing', 'gpg key status', 'which identity', or /git-profile
2 other projects use a version of this.
Adopted by
Most recently taken up by
- sd0xdev/sd0x-harnessword for word, first seen Oct 6, 2026
- exactbee/claude-code-workflowtheir own version, first seen Apr 25, 2026
Other versions2 projects use a version of this.
Word for word · 1
- sd0xdev/sd0x-harness★ 192100% same
Edited · 0
None found.
Wrote their own version · 1
- exactbee/claude-code-workflow★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository102 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- adrSkill
- agentctl-setupSkill
- architectureSkill
- askSkill
- best-practicesSkill
- bug-fixSkill
- bump-versionSkill
- check-coverageSkill
- claude-healthSkill
- code-exploreSkill
- code-investigateSkill
- codex-architectSkill
- codex-brainstormSkill
- codex-cli-reviewSkill
- codex-code-reviewSkill
- codex-explainSkill
- codex-implementSkill
- codex-review-branchSkill
- codex-review-docSkill
- codex-review-fastSkill
- codex-reviewSkill
- codex-securitySkill
- codex-setupSkill
- codex-test-genSkill
- codex-test-reviewSkill
- contract-decodeSkill
- create-prSkill
- create-requestSkill
- de-ai-flavorSkill
- debugSkill
- deep-analyzeSkill
- deep-exploreSkill
- deep-researchSkill
- dep-auditSkill
- deploy-flowSkill
- dev-security-auditSkill
- doc-refactorSkill
- doc-reviewSkill
- epic-mergeSkill
- feasibility-studySkill
- feature-devSkill
- feature-verifySkill
- fp-briefSkill
- generate-runnerSkill
- gh-stackSkill
- git-investigateSkill
- install-hooksSkill
- install-rulesSkill
- install-scriptsSkill
- issue-analyzeSkill
- jiraSkill
- load-pr-reviewSkill
- merge-prepSkill
- necessity-auditSkill
- next-stepSkill
- obsidian-cliSkill
- op-sessionSkill
- orchestrateSkill
- plan-reviewSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 6 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 68
Run diagnostics on current repository's git identity and GPG signing config.
- Very specific: line 91
If status is halt: show the issue and stop
- Very specific: line 92
If status is warn: show warnings, continue
- Distinctive: line 93
If registry is missing AND this is the first run: trigger auto-discovery (see below)
- Very specific: line 126
Use AskUserQuestion with options:
- Distinctive: line 135
Remove a profile from the registry.
- Very specific: line 139
If profile is active in any repo, use AskUserQuestion:
- Distinctive: line 167
If approved, the discover command already persisted them.
- Distinctive: line 168
If skipped, create an empty registry to avoid re-prompting
- Distinctive: line 190
Degradation policy: If the script is not found or fails, the calling skill falls back to its own inline diagnostics.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Git Profile Manager
Manage git identity and GPG signing profiles per-repository.
Workflow
sequenceDiagram
participant U as User
participant SK as SKILL.md
participant SH as git-profile.sh
participant AQ as AskUserQuestion
U->>SK: /git-profile [subcommand]
SK->>SK: Parse subcommand (default: doctor)
alt doctor (default)
SK->>SH: doctor
SH-->>SK: Diagnostic JSON
SK->>U: Health report table
end
alt list
SK->>SH: list
SH-->>SK: Profiles JSON
SK->>U: Profile table with current match
end
alt use <profile>
SK->>SH: resolve <profile>
SH-->>SK: Plan JSON + plan-hash
SK->>AQ: "Apply [hash] to local config?" / "Abort"
AQ-->>SK: Approved
SK->>SH: apply --plan-hash <hash>
SH-->>SK: Result JSON
SK->>U: Applied / Error
end
alt remove <profile>
SK->>SH: remove-check <profile>
SH-->>SK: Safety JSON (active repos list)
alt profile is active
SK->>AQ: "Profile active in N repos. Remove anyway?" / "Cancel"
end
SK->>SH: remove-exec <profile> [--force]
SH-->>SK: Result JSON
SK->>U: Removed / Error
end
alt verify
SK->>SH: verify
SH-->>SK: Verification JSON
SK->>U: Verification report
endSubcommands
doctor (default)
Run diagnostics on current repository's git identity and GPG signing config.
Steps:
- Run:
bash scripts/run-skill.sh git-profile git-profile.sh doctor - Parse the JSON output
- Render a health report table:
## Git Profile Health
| Item | Value | Source | Status |
|------|-------|--------|--------|
| Name | ... | ... | ... |
| Email | ... | ... | ... |
| Signing | ... | ... | ... |
| GPG Key | ... | ... | ... |
| Env Override | ... | ... | ... |
| Worktree | ... | ... | ... |
| Profile Match | ... | ... | ... |
Status: [overall status]- If
statusishalt: show the issue and stop - If
statusiswarn: show warnings, continue - If registry is missing AND this is the first run: trigger auto-discovery (see below)
list
List all registered profiles.
Steps:
- Run:
bash scripts/run-skill.sh git-profile git-profile.sh list - Parse the JSON output
- Render a profile table with a marker on the currently matched profile
use <profile>
Switch the current repository to use a named profile.
Steps:
- Run:
bash scripts/run-skill.sh git-profile git-profile.sh resolve <profile> - Parse the plan JSON — contains profile data, planned commands, and plan-hash
- Show the user what will be written:
## Apply Profile: <profile-id>
| Config Key | Current | New |
|------------|---------|-----|
| user.name | ... | ... |
| user.email | ... | ... |
| user.signingkey | ... | ... / (unset) |
| commit.gpgsign | ... | true / (unset) |
Note: Keyless profiles unset signing-related keys instead of setting them.- Use
AskUserQuestionwith options:"Apply [<plan-hash>] to local config (Recommended)""Abort"
- On approval:
bash scripts/run-skill.sh git-profile git-profile.sh apply --plan-hash <hash> - Parse result; if error (hash mismatch, write failure) report and stop
- On success: report applied config
remove <profile>
Remove a profile from the registry.
Steps:
- Run:
bash scripts/run-skill.sh git-profile git-profile.sh remove-check <profile> - If profile is active in any repo, use
AskUserQuestion:"Profile is active in N repos. Remove with --force?""Cancel"
- On approval:
bash scripts/run-skill.sh git-profile git-profile.sh remove-exec <profile> [--force] - Report result
verify
Deep verification of current identity setup.
Steps:
- Run:
bash scripts/run-skill.sh git-profile git-profile.sh verify - Parse the verification JSON
- Render verification report with checks:
- Key expiry (90-day warning threshold)
- Email match between git config and GPG key UID
- Registry consistency
Auto-Discovery
Triggered when: registry file is missing on first doctor run.
Steps:
- Run:
bash scripts/run-skill.sh git-profile git-profile.sh discover - Parse candidates JSON
- Present candidates to user via
AskUserQuestion:"Save N discovered profiles to registry (Recommended)""Skip — I'll configure manually"
- If approved, the discover command already persisted them; confirm to user
- If skipped, create an empty registry to avoid re-prompting
Safety Rules
| Rule | Description |
v1 NEVER writes ~/.gitconfig | Only --local scope writes |
v1 NEVER enables extensions.worktreeConfig | Linked worktree: detect + warn only |
| NEVER auto-fix without confirmation | All writes gated by AskUserQuestion |
| NEVER store key material | Registry stores fingerprints only |
| Plan-hash verification | Re-compute hash before apply; reject if stale |
| Atomic registry writes | temp file + chmod 0600 + mv |
Diagnostic Integration
The doctor --json output follows the Shared Diagnostic Contract (see tech spec section 3.2).
Other skills (e.g., /smart-commit Step 1c) can call:
bash scripts/run-skill.sh git-profile git-profile.sh doctor --jsonDegradation policy: If the script is not found or fails, the calling skill falls back to its own inline diagnostics. Infrastructure failure = warn-only; identity/signing missing = halt (unchanged).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

