Help us improve
Share bugs, ideas, or general feedback.
From dstoic
Streamlines git commits for praxis-managed repos using CLAUDE.md aliases. Runs recon, proposes conventional messages with human approval gate, then stages and commits. Use for 'commit repo' or similar.
npx claudepluginhub digital-stoic-org/agent-skills --plugin dstoicHow this skill is triggered — by the user, by Claude, or both
Slash command
/dstoic:commit-reposonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Streamlined commit flow for praxis-managed repos. One human gate only.
Creates conventional git commits via git-agent for staged/unstaged changes. Use on 'commit' requests or /commit, optionally co-authoring with Claude model.
Guides Git workflows in Claude Code: detects repo state, crafts conventional commits, creates PRs via GitHub CLI, manages branches, resolves merge conflicts.
Manages Git commit workflow using Conventional Commits format with safety protocols. Creates, validates, executes commits; handles hooks, PRs, and safety checks before operations.
Share bugs, ideas, or general feedback.
Streamlined commit flow for praxis-managed repos. One human gate only.
Resolve <repo-alias> to a git-managed path:
praxis): use CWD (the project root itself)data pathExample CLAUDE.md format:
## Alias Paths
- **nano-vc**: control `/praxis/repos/nano-vc` | data `/home/mat/dev/nano-vc`
- **agent-skills**: control `/praxis/repos/agent-skills` | data `/home/mat/dev/agent-skills`
The data value = the git repo path to commit in.
If alias not found, list available aliases from CLAUDE.md and exit.
$ARGUMENTS first word = repo alias (required)--all flag: stage all modified files before committing (runs git add -A)--yes flag: skip human confirmation gate — auto-approve the commit proposal--all: only commits what's already stagedCRITICAL: Each git command MUST be a separate Bash call. NEVER chain with &&, ||, or ;. This enables auto-approval via permission rules.
Run these as separate sequential Bash calls:
git -C <data-path> statusgit -C <data-path> diff --staged (if no --all flag)
OR git -C <data-path> diff (if --all flag, to show what will be staged)git -C <data-path> log --oneline -5From the recon output:
--all)type(scope): description per CLAUDE.md rulesWhat: bullets + Why: line---
📦 Commit proposal for <alias> (<branch>)
Staged files:
- file1
- file2
Commit message:
type(scope): description
What:
- change 1
- change 2
Why: reason
If --yes flag is set: skip confirmation, proceed directly to step 3.
Otherwise — ⚠️ MANDATORY HUMAN GATE — use AskUserQuestion:
If --all: git -C <data-path> add -A
Run git -C <data-path> commit -m "<message>"
Use HEREDOC for multi-line messages:
git -C <data-path> commit -m "$(cat <<'EOF'
subject line
What:
- change 1
- change 2
Why: reason
EOF
)"
git -C <data-path> log --oneline -1 (auto-approved, verify success)Report: ✅ Committed <short-hash> to <branch> in <alias>
Your project CLAUDE.md must have an ## Alias Paths section with data paths pointing to git repos:
## Alias Paths
- **my-repo**: control `/praxis/repos/my-repo` | data `/path/to/my-repo`
Add auto-approve rules for read-only git commands on each repo path. Example for ~/.claude/settings.json:
"permissions": {
"allow": [
"Bash(git -C /path/to/repo status *)",
"Bash(git -C /path/to/repo status)",
"Bash(git -C /path/to/repo diff *)",
"Bash(git -C /path/to/repo diff)",
"Bash(git -C /path/to/repo log *)"
]
}
This keeps recon (Phase 1) zero-approval. The explicit AskUserQuestion in Phase 3 serves as the single human gate (do NOT rely on Bash permission prompts — they fail open inside skills, see Claude Code bug #18950/#25181).