repo-tidy
Pass
Audited by Gen Agent Trust Hub on Sep 1, 2026
Risk Level: SAFEPERSISTENCEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTION
Full Analysis
- [PERSISTENCE]: The skill instructions advise the user to register a shell script (
scripts/git-repo-status.sh) as aSessionStarthook within the agent's global configuration file (~/.claude/settings.json). This configuration enables the automatic execution of the script at the beginning of every session to provide repository status context, which acts as a persistence mechanism. - [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted metadata from Git repositories, such as branch names and tracking information, creating a surface for indirect prompt injection.
- Ingestion points: Data enters the context via
git for-each-refandgit statusoutput processed inscripts/repo_tidy.pyandscripts/git-repo-status.sh. - Boundary markers: The skill does not employ explicit delimiters or instructions to help the agent distinguish repository metadata from valid instructions.
- Capability inventory: The skill possesses capabilities for destructive file system operations, including deleting branches (
git branch -D) and removing worktrees (git worktree remove). - Sanitization: The Python script utilizes
subprocess.runwith argument lists (shell=False), effectively preventing direct shell command injection, though the logic remains theoretically susceptible to manipulation through carefully crafted branch names or Git metadata. - [COMMAND_EXECUTION]: The skill core logic in
scripts/repo_tidy.pyfrequently executes shell commands via thesubprocessmodule to interact with Git. While these operations include destructive actions, the script implements a default dry-run behavior and the skill instructions require the agent to obtain user confirmation before executing changes with the--applyflag.
Audit Metadata