agentsclimarketplace

Tool git

Skill niksavis/basicly/.agents/skills/tool-git

One-command harness distribution for coding agents — a versioned YAML catalog projected into agent instructions, skills, and deterministic git gates.

Install
npx -y skills add niksavis/basicly --skill tool-git

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use git for repository state inspection, safe staging, diff review, and history-aware change management. Trigger when the task involves commits, branches, diffs, or version control decisions.

SKILL.md

2.9 KB, 626 tokens by cl100k_base, as published. Nobody here has run it

<!-- Generated by `basicly skills-build` from skill.yaml. Do not edit; edit the source. -->

tool-git

When To Use

  • Inspect working tree state and commit history.
  • Review and stage focused diffs before commit.
  • Compare branches and verify what changed.

Trusted Commands

git status --short
git --no-pager diff
git --no-pager diff --staged
git --no-pager log --oneline -n 20
git --no-pager show HEAD
git add path/to/file
git restore --staged path/to/file

Safe Defaults

  • Use --no-pager in non-interactive contexts.
  • Stage only task-relevant files.
  • Check status before and after edits to avoid accidental scope creep.

Common Pitfalls

  • Mixing unrelated edits into one commit.
  • Using destructive reset/checkout patterns without explicit approval.
  • Misreading staged vs unstaged columns in short status output.

Output Interpretation

  • ?? indicates untracked files.
  • Left/right M columns in short status represent index/worktree changes.

Why It Matters For Agents

  • Git state determines safe automation and review boundaries.
  • High-signal diff workflows prevent accidental regressions.

Commit Identity (per remote host)

  • Commits must carry the identity that matches the remote; set it per repo, not globally. Leaving the global user.email unset is deliberate — with no email git silently commits a …@hostname.local address, which pollutes and de-anonymizes history.

  • Before committing, verify git config user.email is set for this repo; if empty or a .local/(none) hostname value, set git config --local user.name/user.email first.

  • Automate it with git conditional includes so identity follows the remote URL:

    # ~/.gitconfig  (email is set only inside the includes; global email stays unset)
    [includeIf "hasconfig:remote.*.url:https://github.com/**"]
        path = ~/.gitconfig-github
    [includeIf "hasconfig:remote.*.url:https://git.example.com/**"]
        path = ~/.gitconfig-work
    

    Scaffold this with .scripts/setup_git_identity.py add --host <host> --name <n> --email <e>.

  • Enforcement: the identity-guard pre-commit hook blocks a commit whose identity is missing or auto-generated. Optionally require a domain per repo with git config basicly.identityAllowEmail '@example\.com$'.

Repo Conventions

  • Never rewrite history or run destructive git commands without explicit confirmation.
  • Keep diffs minimal and avoid unrelated reformatting.

Trigger Examples

  • Should trigger: "Review my staged diff for regressions before commit."
  • Should trigger: "Show what changed in this branch compared to main."
  • Should not trigger: "Lint this shell script for POSIX issues."

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.