Agent Skills
› langfuse/langfuse
› git-workflow
git-workflow
GitHub提供仓库特定的Git、GitHub PR及发布工作流规范,涵盖安全操作、Conventional Commits提交规范、分支命名规则及自动化审查与发布流程。
Trigger Scenarios
执行git提交或推送操作
创建或管理Pull Request
处理代码审查评论
执行版本发布
Install
npx skills add langfuse/langfuse --skill git-workflow -g -y
SKILL.md
Frontmatter
{
"name": "git-workflow",
"description": "Langfuse repo Git, GitHub, commit, branch, pull request, issue search,\nrelease, and production-promotion workflow. Use when staging, committing,\npushing, opening PRs, choosing a Linear git branch name, handling Claude,\nGreptile, or Codex review comments, searching GitHub issues, or changing\nrelease\/promotion behavior."
}
Git Workflow
Use this skill for repo-specific Git, GitHub, pull request, and release operations.
Safety
- Inspect
git statusbefore staging or committing. - Do not stage unrelated working-tree changes.
- Do not revert unrelated working-tree changes.
- Do not use destructive commands such as
git reset --hardorgit checkout --unless explicitly requested. - Keep commits focused and atomic.
- Never add secrets or credentials to the repo.
Commits and Pull Requests
- Commit messages and PR titles must follow Conventional Commits:
type(scope): descriptionortype: description. - Use
featfor new features andfixfor bug fixes. - Use a scope when it clarifies the affected area, for example
fix(api): handle missing trace id. - Mark breaking changes with
!in the type/scope or aBREAKING CHANGE:footer. - PR titles are validated by
.github/workflows/validate-pr-title.yml. - In PR descriptions, list impacted packages and executed verification commands.
- Keep internal ticket ids and Linear URLs out of commit messages, PR titles,
and PR descriptions — this repo is public, and a squash merge puts the PR
title into
main's permanent history. Describe the change on its own terms and carry the identifier in the branch name instead.
Branch names
- Copy Linear's git branch name (
lfe-XXXX-short-title), or the issue'sgitBranchNamewhen Linear MCP is available. - Cursor agents must not use a
cursor/prefix, even if a Cursor Cloud prompt asks for one. Repo guidance wins. - Keep a username prefix only when Linear's copied name already includes one.
GitHub
- Use
gh search issuesfor GitHub issue search. - Prefer non-interactive Git and GitHub commands where possible.
- Keep PRs narrow enough to review without unrelated refactors.
- Open PRs as reviewable, not as drafts, unless a human asks for a draft.
- Do not post GitHub PR comments as the human author. Cursor agents that
comment as Cursor should leave one last comment with proof of user-visible
work (screenshot, video, or before/after on the PR, not only in chat) and
what to doubt in review; see
cursor-agents-workflow. Claude Code and other tools that comment as the user must skip that comment. - Claude, Greptile, or Codex review comments (
claude[bot], Claude Code, security-review action,greptile-apps[bot],chatgpt-codex-connector[bot]): do not reply. Keep the thread open until you apply the fix and resolve it, or skip it because you are sure, tell the human in plain language (and invite them to doubt that skip), then resolve it. Do not post@claude reviewagain unless a human asks for another pass. Human reviewer comments stay open and may need a real reply.
Release
- Releases are cut with
pnpm run release, run on the branch being released. Allowed release branches aremainandv3(scripts/release-preflight.showns the allowlist). mainis the current line and the only branch that ships to Langfuse Cloud.v3is the OSS maintenance line: a release from it produces a tag, GitHub release, and Docker images, but never a Cloud deploy.- On any
vX.Y.Ztag push,.github/workflows/release.ymlpromotesmaintoproductiononly if the tagged commit is an ancestor ofmain; maintenance-branch tags skip promotion. The production migration confirmation in the release preflight likewise only runs formain. - Promote
maintoproductionwithout a release via.github/workflows/promote-main-to-production.ymlorpnpm run release:cloud(both main-only). - The latest-release markers track the current major line:
pipeline.ymlgates the Dockerlatesttag onrefs/tags/v4, and maintenance branches disable that gate and setrelease-it.github.makeLatest: falsein their rootpackage.jsonso their releases never claim the Dockerlatesttag or the GitHub "Latest release" badge. At the next major GA (v5), repeat the flip: move the gate torefs/tags/v5onmain, then disable it and setmakeLatest: falseon the newv4maintenance branch. - Do not change release/versioning flow without updating this skill and the impacted package guides.
Version History
-
f6e56cb
Current 2026-08-29 05:19
新增要求Cursor代理在PR上直接展示截图或视频作为工作证明;限制“审查疑点”评论仅由Cursor代理发布,避免与其他工具冲突。
- f7e3c26 2026-08-20 17:47


