agentleFS
therealtinhtutetherealtinhtute/mono-harness/skills/tools/git/SKILL.md

git

Skill5 starsChanged 5 days agoMITView on GitHub

Git operations with conventional commits. Use for staging, committing, pushing, PRs, merges. Auto-splits commits by type/scope. Security scans for secrets.

  • Reads credentials
  • Commits and pushes

57 other projects use a version of this, 2 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use sql, databases and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • thechandanbhagatSkill

    sql

    Write SQL queries, optimize database performance, design schemas, and debug SQL issues. Use for database operations, query optimization, and schema design.

    Also in 4 projects that use this

  • mrgoonieSkill

    databases

    Work with MongoDB (document database, BSON documents, aggregation pipelines, Atlas cloud) and PostgreSQL (relational database, SQL queries, psql CLI, pgAdmin). Use when designing database schemas, writing queries and aggregations, optimizing indexes for performance, performing database migrations, configuring replication and sharding, implementing backup and restore strategies, managing database users and permissions, analyzing query performance, or administering production databases.

    Also in 3 projects that use this

  • mrgoonieSkill

    devops

    Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm). Use for serverless, containers, CI/CD, GitOps, security audit.

    Also in 4 projects that use this

  • MicrosoftSkill

    typescript

    TypeScript best practices for this monorepo. Use this skill when: (1) writing new TypeScript code, (2) reviewing TypeScript code, (3) working with API responses, fetch calls, or JSON parsing, (4) adding or modifying types and interfaces.

    Also in 4 projects that use this

  • VercelSkill

    react

    React renderer for json-render that turns JSON specs into React components. Use when working with @json-render/react, building React UIs from JSON, creating component catalogs, or rendering AI-generated specs.

    Also in 3 projects that use this

  • Microsoft AzureSkill

    test

    Also in 8 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 51 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    No argument: ask with the agent's question tool (AskUserQuestion on Claude Code) (header "Git Operation", question "What would you like to …

    line 23
  2. Distinctive:

    Leave anything you did not mean to commit unstaged.

    line 37
  3. Distinctive:

    Search for related GitHub issues and note them in the commit/PR body.

    line 52
  4. Distinctive:

    Add no attribution of your own.

    line 64

“Common” is measured: kept by at least 6 in 10 of the 51 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

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, run {baseDir}/scripts/scan-staged.sh. It prints ok (exit 0) or one secret: file:line / file: path line per hit (exit 1), never the value.

Exit 1: STOP, report its lines as-is, suggest env vars or .gitignore, offer git restore --staged <file>. Do not commit.

Step 3: Split decision

Run {baseDir}/scripts/group-staged.sh; it prints kind: file per staged file (deps, config, test, docs, code). It already keeps a manifest with its lockfile (deps) and a co-located test with its source (code), because splitting either yields a commit that was never built or tested. Treat its grouping as final unless a file is plainly misfiled.

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

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.

Add no attribution of your own; when the host or the user's instructions supply attribution lines for commits or PRs, use them exactly.

Step 5: Push (cp, or cm + explicit push request only)

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

ErrorAction
Secrets detectedBlock commit, show files
No changesExit cleanly
rejected - non-fast-forward / push rejectedSuggest git pull --rebase, resolve, push again
No upstream branchgit push -u origin HEAD
Merge conflictsSuggest manual resolution
Authentication failedCheck 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.