ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Claude Code System Prompts 解析:Quick git commit 快速提交提示词的工作机制与安全协议

Claude Code System Prompts 解析:Quick git commit 快速提交提示词的工作机制与安全协议 文档提示工程人工智能【免费下载链接】claude-code-system-promptsAll parts of Claude Codes system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.项目地址https://gitcode.com/gh_mirrors/cl/claude-code-system-prompts点击查看免费下载导读本文深入解析 claude-code-system-prompts 仓库中的 Quick git commit 子代理提示词该提示词约 1368 tokens对应 Claude Code v2.1.273是 Claude Code 在用户要求创建一次 git 提交时注入的流线化指令它预先填充仓库上下文、内置完整的 Git 安全协议并约束提交信息的起草与命令执行方式。读完本文你将掌握该提示词的上下文采集命令、十条安全红线、四步提交流程、Bash/PowerShell 双环境的 HEREDOC 提交写法以及它与 Bash 工具的 Git 提交指令 之间的层级关系。一、定位一次提交、零探索的流线化提示词在 Claude Code 的系统提示词体系中agent-prompt-quick-git-commit.md 归属于 Agent Prompts子代理与工具提示词其 Front Matter 中声明name: Agent Prompt: Quick git commitdescription: Streamlined prompt for creating a single git commit with pre-populated contextccVersion: 2.1.273README 中将其描述为 Streamlined prompt for creating a single git commit with pre-populated context并给出约1368 tokens的体量。与同类提示词对比可见其定位Pull request creation1207 tks负责基于已有提交创建 PRQuick PR creation1741 tks则把提交 PR两步合并而 Quick git commit 是其中最小粒度、只做单个提交的提示词。它的核心设计思路是pre-populated context预填充上下文在提示词正文中直接以内联命令捕获当前仓库状态从而让模型无需额外探索即可完成提交正如文档末尾所强调的Do not run additional commands to read or explore code beyond the git context above, and do not use any non-git tools for this task.二、上下文采集四条内联命令构建提交现场提示词开头的## Context区块通过四条内联命令!command 语法表示由 harness 执行并把结果拼接到提示词中一次性采集仓库现场- Current git status: !git status - Current git diff (staged and unstaged changes): !git diff HEAD - Current branch: !git branch --show-current - Recent commits: !git log --oneline -10各命令的作用与约束如下命令采集内容在后续流程中的用途git status全部未跟踪文件与已跟踪变更判断是否存在可提交的变更避免创建空提交git diff HEAD已暂存staged与未暂存unstaged的全部差异分析变更本质起草提交信息git branch --show-current当前分支名确认提交目标分支避免误提交git log --oneline -10最近 10 条提交信息学习该仓库的提交信息风格使新提交与之保持一致此外若会话中传入了用户补充指导还会通过模板变量注入一段附加上下文${ADDITIONAL_COMMIT_GUIDANCE? User guidance for this commit: ${ADDITIONAL_COMMIT_GUIDANCE} :}这种!command 内联采集方式与 Bash 工具完整 Git 提交工作流 中并行运行 status/diff/log 三个命令的做法一脉相承——后者明确要求这三个命令并行执行以节省往返并额外提示git status时不要使用-uall标志因为在大仓库中可能导致内存问题。三、Git Safety Protocol提交动作的十条安全红线Quick git commit 提示词的## Git Safety Protocol区块是全文的重中之重它把AI 可以动 git但绝不能造成破坏的约束显式化为十条规则绝不更新 git 配置NEVER update the git config绝不执行破坏性命令push --force、reset --hard、checkout .、restore .、clean -f、branch -D除非用户明确要求绝不跳过钩子--no-verify、--no-gpg-sign等除非用户明确要求绝不强制推送到 main/master若用户要求则必须警告关键规则始终创建新提交而非 amend——当 pre-commit 钩子失败时提交实际上没有发生此时--amend会修改上一次提交可能摧毁已有工作或丢失变更正确做法是修复问题、重新暂存、创建新提交暂存文件时按名称添加具体文件优先于git add -A/git add .后者可能误纳入敏感文件.env、凭据或大型二进制文件不提交可能包含密钥的文件.env、credentials.json等用户执意提交时须发出警告没有可提交变更时禁止创建空提交禁止使用带-i标志的 git 命令git rebase -i、git add -i因为交互式输入在非交互环境中不受支持除非用户明确要求不得推送远端仓库。这十条红线并非孤立存在而是 Claude Code 全系统的统一 git 安全基线的快照。对比同一仓库中的 Bashgit — prefer new commits、Bashgit — never skip hooks、Bashgit — avoid destructive ops 三个独立提示词片段可以看到同样的约束以更精简的形式存在于 Bash 工具描述中prefer new commitsPrefer to create a new commit rather than amending an existing commit.never skip hooksNever skip hooks (--no-verify) or bypass signing (--no-gpg-sign, -c commit.gpgsignfalse) unless the user has explicitly asked for it. If a hook fails, investigate and fix the underlying issue.avoid destructive opsBefore running destructive operations (e.g., git reset --hard, git push --force, git checkout --), consider whether there is a safer alternative that achieves the same goal. Only use destructive operations when they are truly the best approach.PowerShell 工具的 git 指导 也以同样的措辞约束了非 Bash 环境的提交行为。这种主提示词完整版 工具描述精简版的冗余设计保证了无论模型以何种路径接触到 git 操作安全边界都不会被绕过。四、任务流程起草、暂存、提交、验证四步走## Your task区块把任务拆成四个明确步骤每步都带有强约束。第 1 步分析变更并起草提交信息参考上方git log --oneline -10的输出遵循该仓库既有的提交信息风格概括变更性质新功能、增强、缺陷修复、重构、测试、文档等确保措辞与变更语义精确对应add 表示全新功能、update 表示对既有功能的增强、fix 表示缺陷修复提交信息要求简洁1-2 句且聚焦于为什么而非做了什么focuses on the why rather than the what该步骤可被${COMMIT_WRITING_GUIDANCE_FN()}变量注入额外的提交信息写作指导例如来自用户配置或团队规范的补充要求。第 2 步暂存相关文件并创建提交——强制内联传参为了保证格式正确提示词要求始终通过 HEREDOC 或 here-string 内联传递提交信息明确禁止从文件或模板读取-F、--file、-t在该提示词运行时被拒绝。这一要求由${IS_BASH_ENV_FN()}变量根据当前 shell 环境自动选择语法Bash / POSIX 环境HEREDOCgit commit -m $(cat EOF Commit message here. EOF )非 Bash 环境here-stringgit commit -m Commit message here. 对于 here-string 写法提示词特别强调收尾的必须位于第 0 列column 0前面不能有任何缩进否则提交信息格式会被破坏。其中${COMMIT_ATTRIBUTION_TEXT}变量会在需要时把署名文本追加到提交信息之后例如组织要求的由 Claude 生成署名示例如下git commit -m $(cat EOF Commit message here. Generated with Claude Code. EOF )而${PRE_COMMIT_CHECKS_GUIDANCE}变量则会在提交前追加预提交检查相关的指导。之所以采用 HEREDOC 而非-F文件从 Bash 工具 Git 提交指令 的措辞可以印证其动机——In order to ensure good formatting, ALWAYS pass the commit message via a HEREDOC——即内联方式能保证多行提交信息、空行与特殊字符在 shell 中不被拆分或转义破坏。第 3 步提交完成后运行git status验证提示词要求提交完成后运行git status确认提交成功。这与 Bash 工具工作流中的串行依赖一致git status依赖提交完成因此必须在提交之后顺序执行而不能与提交命令并行。第 4 步pre-commit 钩子失败的处理若提交因 pre-commit 钩子失败正确流程是修复问题 → 重新暂存 → 创建新提交。提示词明确禁止用--amend或--no-verify绕过失败的钩子这与安全协议第 5 条、never skip hooks 片段以及 Bash 工作流中的 If the commit fails due to pre-commit hook: fix the issue and create a NEW commit 完全一致。五、执行纪律单条消息完成、不越界探索提示词的收尾段落体现了两条重要的执行纪律单消息内完成You have the capability to call multiple tools in a single response. Stage and create the commit using a single message.——暂存与提交应在同一轮响应中并行完成git status除外它依赖提交完成不越界探索Do not run additional commands to read or explore code beyond the git context above, and do not use any non-git tools for this task.——禁止在 git 上下文之外再读取或探索代码也禁止使用非 git 工具。对照 Bash 工具的 Git 提交指令这一纪律在完整工作流中体现为NEVER run additional commands to read or explore code, besides git bash commands 以及 NEVER use the TodoWrite/TaskCreate or Agent tools即不允许借助任务追踪工具或子代理来绕弯子同时强调 Only create commits when requested by the user. If unclear, ask first.——只有当用户明确要求时才创建提交这是避免过度主动over-proactive的基本前提。六、模板变量系统提示词如何做到一处模板、多态输出该提示词声明了五个可注入变量理解它们才能真正读懂文档中的条件语法变量作用语法形态ADDITIONAL_COMMIT_GUIDANCE注入用户对本次提交的补充指导${VAR?...:}条件展开COMMIT_WRITING_GUIDANCE_FN()注入提交信息写作指导函数${FN()}函数调用IS_BASH_ENV_FN()按 shell 环境切换 HEREDOC / here-string 语法${FN()?A:B}三元选择COMMIT_ATTRIBUTION_TEXT在提交信息后追加署名文本${VAR?\n\n${VAR}:}条件追加PRE_COMMIT_CHECKS_GUIDANCE注入提交前的预检查指导${VAR?\n\n${VAR}:}条件追加其中IS_BASH_ENV_FN()是最能体现一处模板适配多环境设计的变量同一份提示词文本在 Bash 环境下渲染出git commit -m $(cat EOF ... EOF)的 HEREDOC 写法在 Windows PowerShell 等非 Bash 环境下则渲染出git commit -m ... 的 here-string 写法。这与仓库中 PowerShell 工具的 git 指导 的存在相互印证——Claude Code 需要同时驾驭 POSIX 与 Windows 两类 shell 环境。七、与相邻提示词的关系Quick git commit 在提交/PR 流水线中的位置在 README 的提示词清单中Quick git commit 与 Pull request creation、Quick PR creation 共同构成了提交 → PR的自动化链路Quick git commit1368 tks只负责创建单个提交上下文包含 status/diff/branch/log 四条命令Pull request creation1207 tks从已有提交创建 GitHub PR包含分支、模板、署名、shell 格式化与 git 安全指导Quick PR creation1741 tks把两者合并先建分支、再提交、最后建 PR上下文额外增加了gh pr view --json number、git diff ${DEFAULT_BRANCH}...HEAD以及SAFEUSER/whoami用于生成username/feature-name风格的分支名前缀等信息。对比可见三者共享同一套安全协议骨架不更新 git config、不执行破坏性命令、不跳过钩子、按文件名暂存、不用-i交互标志而 Quick PR creation 中同样出现了与 Quick git commit 完全一致的 HEREDOC/here-string 双环境提交模板——这是模板复用而非重复造轮子的直接证据。八、实战要点速查让 AI 帮你提交时上述安全协议保证AI 不会 amend 你的历史提交、不会跳过钩子、不会git add .全量暂存、不会未经请求就 push如果你的仓库有 pre-commit 钩子钩子失败后 AI 会被要求修复 → 重新暂存 → 新建提交而不是偷偷用--amend或--no-verify蒙混过关多行提交信息通过 HEREDOCBash或 here-stringPowerShell内联传递-F/--file/-t在提示词运行期间被拒绝收尾符必须顶格书写提交信息风格对齐AI 会先读最近 10 条提交git log --oneline -10再动笔确保新提交与仓库既有风格一致本仓库作为参考来源以上全部结论均可在 agent-prompt-quick-git-commit.md、tool-description-bash-git-commit-instructions.md、tool-description-bash-git-prefer-new-commits.md、tool-description-bash-git-never-skip-hooks.md、tool-description-bash-git-avoid-destructive-ops.md、tool-description-powershell-git-guidance.md 与 README.md 中逐一核实。赞分享文档提示工程人工智能【免费下载链接】claude-code-system-promptsAll parts of Claude Codes system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.项目地址https://gitcode.com/gh_mirrors/cl/claude-code-system-prompts点击查看免费下载相关推荐Claude Artifacts 系统提示词全解析内容判据、MIME 类型与 antartifact 协作协议leaked-system-promptsClaude Artifacts 系统提示词全解析内容判据、MIME 类型与 antartifact 协作协议leaked system prompts人工智能大模型提示工程深入解析 Claude Code 交互式系统提示词基于 leaked-system-prompts 仓库的 Claude Opus 5 版 Prompt 结构拆解深入解析 Claude Code 交互式系统提示词基于 leaked system prompts 仓库的 Claude Opus 5 版 Prompt 结构人工智能大模型提示工程GitHub_Trending/aw/awesome-prompts提示词协作协议定义多人协作的指令交互规则GitHub_Trending/aw/awesome prompts提示词协作协议定义多人协作的指令交互规则 在多人协作的AI任务场景中团队成员往往因指令提示工程文档人工智能上一篇CopilotKit Headless 模式完整版Headless Complete实战与验证指南以 Langroid 集成 demo 为例下一篇gVisor seccheck 性能基准测试完全指南execve 哈希缓存与 Redis 内存开销的量化剖析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表