From sd0x-dev-flow
Manages Git identities and GPG signing profiles per repository: discovers from GPG/git config, lists profiles, switches configs, removes, diagnoses signing health via doctor/list/use/verify.
npx claudepluginhub sd0xdev/sd0x-dev-flow --plugin sd0x-dev-flowThis skill is limited to using the following tools:
Manage git identity and GPG signing profiles per-repository.
Configures per-directory Git identities for user.email, GPG signing keys, and SSH keys using includeIf conditionals. Use for work/personal setups, multiple GitHub accounts, fixing unverified commits, auditing isolation, or troubleshooting includeIf/GPG/SSH issues.
Enforces Git security best practices for 2025 including signed commits, zero-trust workflows, secret scanning, verification, audit logging, and branch protection. Useful for securing repositories and CI/CD pipelines.
Handles git and GitHub operations via gh CLI: create/review PRs, watch CI checks, interactive rebasing, branch cleanup, submodule management, git log/blame/bisect. Activates on any github.com URL.
Share bugs, ideas, or general feedback.
Manage git identity and GPG signing profiles per-repository.
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
end
doctor (default)Run diagnostics on current repository's git identity and GPG signing config.
Steps:
bash scripts/run-skill.sh git-profile git-profile.sh doctor## Git Profile Health
| Item | Value | Source | Status |
|------|-------|--------|--------|
| Name | ... | ... | ... |
| Email | ... | ... | ... |
| Signing | ... | ... | ... |
| GPG Key | ... | ... | ... |
| Env Override | ... | ... | ... |
| Worktree | ... | ... | ... |
| Profile Match | ... | ... | ... |
Status: [overall status]
status is halt: show the issue and stopstatus is warn: show warnings, continuelistList all registered profiles.
Steps:
bash scripts/run-skill.sh git-profile git-profile.sh listuse <profile>Switch the current repository to use a named profile.
Steps:
bash scripts/run-skill.sh git-profile git-profile.sh resolve <profile>## 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.
AskUserQuestion with options:
"Apply [<plan-hash>] to local config (Recommended)""Abort"bash scripts/run-skill.sh git-profile git-profile.sh apply --plan-hash <hash>remove <profile>Remove a profile from the registry.
Steps:
bash scripts/run-skill.sh git-profile git-profile.sh remove-check <profile>AskUserQuestion:
"Profile is active in N repos. Remove with --force?""Cancel"bash scripts/run-skill.sh git-profile git-profile.sh remove-exec <profile> [--force]verifyDeep verification of current identity setup.
Steps:
bash scripts/run-skill.sh git-profile git-profile.sh verifyTriggered when: registry file is missing on first doctor run.
Steps:
bash scripts/run-skill.sh git-profile git-profile.sh discoverAskUserQuestion:
"Save N discovered profiles to registry (Recommended)""Skip — I'll configure manually"| 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 |
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 --json
Degradation 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).