Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/therealtinhtute-git
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/git
What's inside
- Skill name
git- Description
- Git operations with conventional commits. Use for staging, committing, pushing, PRs, merges. Auto-splits commits by type/scope. Security scans for secrets.
- License
- MIT
- Compatibility
- Designed for Claude Code
- Instructions
- 112 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- branch-management.md · references/
- gh-cli-guide.md · references/
- workflow.md · references/
SKILL.md (first lines)
`git` owns no harness entity; a missing, stale, or broken harness never blocks it, and no harness command gates it. `cm`/`cp` follow the steps below. `pr`/`merge`: read `{baseDir}/references/workflow.md` now and follow it. Load `{baseDir}/references/branch-management.md` or `gh-cli-guide.md` only when the task needs them.
<security>
- Block destructive operations without confirmation
</security>
## Arguments
- `cm` — stage files & create commit(s)
- `cp` — stage, commit, and push
- `pr [to-branch] [from-branch]` — create a pull request (defaults: the repository's resolved base branch, current branch)
- `merge [to-branch] [from-branch]` — merge branches (defaults: the repository's resolved base branch, current branch)
No argument: ask with the agent's question tool (`AskUserQuestion` on Claude Code) (header "Git Operation", question "What would you like to do?", options `cm`, `cp`, `pr`, `merge`).
## Commit (`cm`, `cp`)
### Step 1: Stage + analyze
Review what changed first, then stage explicit paths — never a blanket stage, which the Anti-Patterns section below forbids for catching `.env`, secrets, and `node_modules`.
```bash
git status --porcelain
git add path/to/file1 path/to/file2
git diff --cached --stat && git diff --cached --name-only
```
Leave anything you did not mean to commit unstaged; if `git status --porcelain` lists a path you cannot account for, ask before staging it.
### Step 2: Security check
A repo with this harness's pre-commit hook blocks staged secrets itself. Elsewhere, scan the staged files; the `cut` keeps output to `file:line`, never the value:
```bash
git diff --cached --name-only -z | xargs -0 -r git grep --cached -nE "AKIA[0-9A-Z]{16}|-----BEGIN ([A-Z]+ )*PRIVATE KEY|://[^/:@ ]+:[^/@ ]+@|(api[_-]?key|token|password|secret)[\"']?[[:space:]]*[:=]" -- | cut -d: -f1-2
```
Also flag staged `.env`/`.env.*` (except `*.example`), `*.key`, `*.pem`, `*.p12`, `credentials.json`, `secrets.json`. **Any hit: STOP, report `file:line` only, suggest env vars or `.gitignore`, offer `git restore --staged <file>`. Do not commit.**
### Step 3: Split decision
Group staged files by kind (`docs:` for `.md`/`.txt`, `test:` for test/spec paths, `config:` for `.claude/` files, `deps:` for dependency manifests and lockfiles, `code:` for everything else).
`deps:` covers every stack, not just Node: `package.json` with `package-lock.json`/`yarn.lock`/`pnpm-lock.yaml`, `go.mod` with `go.sum`, `Cargo.toml` with `Cargo.lock`, and `pyproject.toml` with `requirements*.txt`/`poetry.lock`/`uv.lock`. A manifest always commits together with its lockfile — splitting them produces a commit that resolves to different dependency versions than the one that was tested.
A changed `*_test.go` commits with the source file it covers when both changed, rather than splitting into `test:` and `code:`. Go places `foo_test.go` beside `foo.go` in the same package, so the split yields two commits, neither of which builds and passes on its own. The same applies to any stack that co-locates a test with its source (`foo.spec.ts` beside `foo.ts`, `foo_test.py` beside `foo.py`); a test directory that mirrors the tree separately (`tests/`, `__tests__/`) still splits normally.
**Single commit:** same type/scope, files ≤ 3, lines ≤ 50.
**Multiple commits:** mixed types/scopes — one commit per group (`chore(config)`, `chore(deps)`, `test`, `feat`/`fix` for `code:`, `docs`). Reset and re-stage per group: `git reset && git add file1 file2 && git commit -m "type(scope): desc"`.
Search for related GitHub issues and note them in the commit/PR body.
### Step 4: Commit
```bash
git commit -m "type(scope): description"
```
**Format:** `type(scope): description`, under 72 characters, present tense/imperative ("add" not "added"), no trailing period, focused on WHAT not HOW.
**Types (priority order):** `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `perf`, `build`, `ci`.
**Never include AI attribution** ("Generated with Claude", "Co-Authored-By: Claude", or any AI reference) in the commit message.
### Step 5: Push (`cp`, or `cm` + explicit push request only)
```bash
git status && git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline 2>/dev/null || echo "NO_UPSTREAM"
git push origin HEAD # or: git push -u origin HEAD if NO_UPSTREAM
```
**Never force push to `main`, `master`, `production`, `prod`, or `release/*`.** On a feature branch, force push only on explicit user request, and warn: "Force push rewrites history. Collaborators may lose work."
## Output Format
Report the summary only, never raw command output.
**Console output:**
```
✓ staged: N files (+X/-Y lines)
✓ security: passed
✓ commit: HASH type(scope): description
✓ pushed: yes/no
```
## Error Handling
| Error | Action |
|---|---|
| Secrets detected | Block commit, show files |
| No changes | Exit cleanly |
| `rejected - non-fast-forward` / push rejected | Suggest `git pull --rebase`, resolve, push again |
| No upstream branch | `git push -u origin HEAD` |
| Merge conflicts | Suggest manual resolution |
| Authentication failed | Check `gh auth status` or SSH keys |
## Anti-Patterns
- Staging everything with `git add -A` instead of specific files — catches `.env`, secrets, `node_modules`.
- Single commit when changes span multiple types/scopes — "one commit is cleaner" produces an un-reviewable diff, impossible to revert selectively.
- Skipping the security scan because "it's just config" — config files often contain secrets or tokens.
- Force pushing without explicit user confirmation — overwrites upstream work silently.
Exit condition — `cm`/`cp`: changes staged, security-scanned, committed (single or split by group); `cp` additionally pushed.
Defer to: `check` for code review before committing.From therealtinhtute/mono-harness, MIT.
More from therealtinhtute/mono-harness
- 0.624score
turbo-mono-platform
therealtinhtute
Full-stack TypeScript monorepo specialist: Turborepo, Next.js, Hono, tRPC, Drizzle, Postgres.
SkillAFreshness: A★ 5Claude Code +9 - 0.624score
create-cli
therealtinhtute
Design CLI interfaces (commands, flags, I/O, errors, config) and produce implementation roadmaps with framework choice and shipping strategy.
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
read
therealtinhtute
Search the web and fetch URLs or PDFs as clean Markdown via a privacy-first cascade (local, gh, TinyFish/Firecrawl/Exa, opt-in proxy).
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
think
therealtinhtute
Reason hard before building: attack premises, run named thinking lenses, compare real alternatives, give one verdict.
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
librarian
therealtinhtute
GitHub code research via gh CLI, no cloning.
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
hunt
therealtinhtute
Find the root cause before any fix: build a red-capable repro loop, rank falsifiable hypotheses, prove, fix, sweep siblings.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
mono-mode
therealtinhtute
Entry router: match a task to one of twelve playbooks (feature, bug-fix, refactoring, perf, research, ship, ...) and run its skill steps as a todo list.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
retro
therealtinhtute
Session retrospective: evidence-cited, severity-ranked findings about the agent's environment, then one user-approved fix — a guard or a rerun-gated experiment.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
arena
therealtinhtute
Design bakeoff: sub-agents build one artifact several ways, a rubric picks the base, the best parts of the rest are grafted on.
SkillAFreshness: A★ 5Claude Code +9 - 0.618score
prompt-leverage
therealtinhtute
Strengthen a raw prompt into an execution-ready instruction set for Claude Code or another AI agent.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
watzup
therealtinhtute
Recap: read branch state, committed + uncommitted changes, handoff context, and artifact chain — then recommend the next action.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
check
therealtinhtute
Pre-commit and pre-merge gate.
SkillAFreshness: A★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 1
- Open issues
- 1
- Last commit (this folder)
- Oct 24, 2026 (4 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/therealtinhtute/mono-harness
- Website
- harness.tinhtute.me
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from therealtinhtute
- 0.624score
turbo-mono-platform
therealtinhtute
Full-stack TypeScript monorepo specialist: Turborepo, Next.js, Hono, tRPC, Drizzle, Postgres.
SkillAFreshness: A★ 5Claude Code +9 - 0.624score
create-cli
therealtinhtute
Design CLI interfaces (commands, flags, I/O, errors, config) and produce implementation roadmaps with framework choice and shipping strategy.
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
librarian
therealtinhtute
GitHub code research via gh CLI, no cloning.
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
think
therealtinhtute
Reason hard before building: attack premises, run named thinking lenses, compare real alternatives, give one verdict.
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
hunt
therealtinhtute
Find the root cause before any fix: build a red-capable repro loop, rank falsifiable hypotheses, prove, fix, sweep siblings.
SkillAFreshness: A★ 5Claude Code +9 - 0.621score
read
therealtinhtute
Search the web and fetch URLs or PDFs as clean Markdown via a privacy-first cascade (local, gh, TinyFish/Firecrawl/Exa, opt-in proxy).
SkillAFreshness: A★ 5Claude Code +9
Cite this page
git skill. Agent Mart. https://agentmart.dev/skills/therealtinhtute-git (last updated 2026-10-24)