一键导入
lina-community-new-branch
手动触发:将主仓库与 apps/lina-plugins 对齐最新 main 后, 按提示在两侧各建独立分支;分支就绪后继续处理提示词中的后续请求。 必须用户手动触发,禁止自动触发该技能。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
手动触发:将主仓库与 apps/lina-plugins 对齐最新 main 后, 按提示在两侧各建独立分支;分支就绪后继续处理提示词中的后续请求。 必须用户手动触发,禁止自动触发该技能。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
用于处理用户对已有实现的反馈分诊与执行闭环:先判断是否需要纳入 OpenSpec 活跃变更或新建变更,再完成根因分析、实现、验证和必要测试。凡是用户针对已有实现反馈 Bug、缺陷、改进点、建议或实现遗漏,即使没有明确提到“反馈”或 OpenSpec,也必须使用本技能。
用于审查 LinaPro OpenSpec 工作流中的代码变更和规范合规性。在完成 /opsx:apply 任务、 完成 lina-feedback 反馈修复、执行 /opsx:archive 归档前必须使用;在用户要求代码审查、 规范合规检查,或明确调用 /lina-review 时也必须使用。
手动触发:为 LinaPro 主仓库及 apps/lina-plugins 子模块完成提交、PR 前 rebase、推送、创建 PR, 主仓 CI 修复回路,以及 PR 合并后恢复原始分支并同步 main。禁止自动触发。
审查 LinaPro 社区 GitHub Issues,并按项目规范和源码实现分类处理。 必须用户手动触发,禁止自动触发该技能。
先执行 lina-openspec-archive-changes 归档活跃变更,再执行 lina-openspec-archive-consolidate 做归档摘要。 必须用户手动触发,禁止自动触发。
排查并修复给定的 LinaPro GitHub Actions 失败问题;修复完成后保留本地改动, 禁止自动提交、推送或创建 PR。 必须用户手动触发,禁止自动触发该技能。
| name | lina-community-new-branch |
| description | 手动触发:将主仓库与 apps/lina-plugins 对齐最新 main 后, 按提示在两侧各建独立分支;分支就绪后继续处理提示词中的后续请求。 必须用户手动触发,禁止自动触发该技能。 |
将主仓库与子模块切到最新 main,再按用户提示在两侧各创建独立任务分支。分支创建(或切换)成功后,必须继续处理同一条提示词中除“建分支”以外的后续请求,不得只建分支就结束。
linaproai/linapro。apps/lina-plugins,远端从 .gitmodules / git -C apps/lina-plugins remote -v 读取,通常 linaproai/official-plugins。origin/main;创建分支前必须 fetch 且快进对齐 main。--force、reset --hard、clean -fd。脏工作区允许继续建分支:未提交改动随分支切换一并携带;前置检查中须报告脏状态,但不得仅因脏工作区阻断。若 git switch / merge 因本地改动冲突而失败,则停止并交用户处理,仍不得丢弃改动。commit / push / 创建 PR。后续请求若本身需要提交/PR,应改走对应技能(如 lina-community-commit-push-and-pr),而非在本技能建分支步骤中执行。/ 分层、数字字母与连字符;推荐 feature/<slug>、fix/<slug>、chore/<slug>。origin/main(优先 ff-only merge);远端有本地无则 switch --track;冲突或分叉则停止交用户。main 失败(非快进、冲突、分离 HEAD 无法安全处理)立即停止,不硬切。识别用户给出的:
新建分支 / new branchfeature/cloud-storage)未给出分支线索时先问清再执行,不得自造无依据分支名。
进入执行前,把用户消息拆成两部分并记下来:
| 部分 | 含义 | 示例 |
|---|---|---|
| A. 分支意图 | 要建/切的分支名或可推导 slug 的描述 | 新建分支 feature/foo、基于 main 开 fix/bar |
| B. 后续请求 | 去掉建分支语句后仍需完成的工作 | 实现插件卸载禁用、/opsx:propose ...、继续 tasks.md |
规则:
git rev-parse --show-toplevel
git status --short --branch
git branch --show-current
git remote -v
cat .gitmodules
git submodule status apps/lina-plugins
git -C apps/lina-plugins status --short --branch
git -C apps/lina-plugins branch --show-current
git -C apps/lina-plugins remote -v
主仓库或子模块存在未提交改动时:
git status --short),并在最终输出中注明“未提交改动已随分支携带”。stash(除非用户明确要求)、reset --hard、clean -fd 或覆盖用户本地改动。git switch / git merge --ff-only 因本地改动与目标树冲突而失败,报告冲突文件与命令输出,停止阶段 A,交用户处理;不得强行丢弃或覆盖。阻断条件(任一成立则停止并报告;不得进入阶段 B):
注意:脏工作区不是阻断条件。
feature/ / fix/ / chore/,默认 feature/。branch_name,再执行后续步骤。git fetch origin main
git -C apps/lina-plugins fetch origin main
git switch main
git merge --ff-only origin/main
--ff-only 失败或 switch 因本地改动冲突失败则停止。
git -C apps/lina-plugins switch main
git -C apps/lina-plugins merge --ff-only origin/main
--ff-only 失败或 switch 因本地改动冲突失败则停止。此时主仓库可能显示子模块指针变化,不要为此提交。
主仓库:
if git show-ref --verify --quiet "refs/heads/$branch_name"; then
git switch "$branch_name"
git merge --ff-only origin/main # 失败则停止
elif git ls-remote --exit-code --heads origin "$branch_name" >/dev/null 2>&1; then
git fetch origin "$branch_name"
git switch --track "origin/$branch_name"
else
git switch -c "$branch_name"
fi
子模块:
if git -C apps/lina-plugins show-ref --verify --quiet "refs/heads/$branch_name"; then
git -C apps/lina-plugins switch "$branch_name"
git -C apps/lina-plugins merge --ff-only origin/main # 失败则停止
elif git -C apps/lina-plugins ls-remote --exit-code --heads origin "$branch_name" >/dev/null 2>&1; then
git -C apps/lina-plugins fetch origin "$branch_name"
git -C apps/lina-plugins switch --track "origin/$branch_name"
else
git -C apps/lina-plugins switch -c "$branch_name"
fi
脏工作区下:上述 switch / switch -c 会尽量携带未提交改动;若 Git 拒绝切换,按「脏工作区策略」停止并报告。
git status --short --branch
git rev-parse --short HEAD
git merge-base --is-ancestor origin/main HEAD && echo "main: contains origin/main"
git -C apps/lina-plugins status --short --branch
git -C apps/lina-plugins rev-parse --short HEAD
git -C apps/lina-plugins merge-base --is-ancestor origin/main HEAD && echo "sub: contains origin/main"
阶段 A 失败 → 报告原因并停止,不要假装进入后续请求。
阶段 A 成功 → 先给出简短分支结果(可并入最终回复),有后续请求则立即进入阶段 B。
origin/main 或已按规则处理已有分支)。openspec-propose / openspec-apply-change / lina-feedback 等对应技能与项目规则。AGENTS.md 与命中的 .agents/rules/* 执行;本技能不豁免任何规则域。lina-community-commit-push-and-pr 等专门技能,且仍须用户按该技能的手动触发规则授权。仅输出阶段 A 结果,明确说明“未检测到后续请求,分支已就绪”,然后结束。
## 新分支结果
- 分支名:`<branch_name>`
- 主仓库:当前分支 / HEAD / 是否含 `origin/main` / 工作区(含是否脏、脏文件摘要)
- 子模块:当前分支 / HEAD / 是否含 `origin/main` / 工作区(含是否脏、脏文件摘要)
- 动作摘要:对齐 main / 新建或切换;脏工作区是否已携带
- 未执行:commit、push、PR
- 后续请求:无(本次仅建分支)
先简要给出分支结果,再汇报后续请求进展(或最终完成情况):
## 新分支结果
- 分支名:`<branch_name>`
- 主仓库 / 子模块:…(同上,可从简;若有预存脏改动须注明已携带)
- 后续请求:已继续处理 → `<一句话概括后续请求>`
## 后续请求进展
- …(按实际技能/实现结果填写:做了什么、验证了什么、还剩什么)
main