fast-meeting

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Fast Meeting

Fast Meeting

Run a fully autonomous meeting with expert personas, then immediately implement the recommended solution, create a merge request or pull request, and post a French description — all without asking the user for confirmation.
运行由专家角色参与的完全自主会议,随后立即执行推荐的解决方案,创建merge request或pull request,并发布法语描述——全程无需征求用户确认。

When to Use This Skill

何时使用此技能

Activate when the user:
  • Demande un « fast meeting » ou « réunion rapide » sur un sujet
  • Veut une décision ET une implémentation automatique sans interruption
  • Dit « fast-meeting » ou « lance un fast meeting sur... »
  • Veut qu'un sujet soit analysé, décidé et implémenté en une seule commande
当用户出现以下行为时触发:
  • 就某个主题要求进行「fast meeting」或「réunion rapide」(快速会议)
  • 需要无需打断的自动决策+自动落地能力
  • 说出「fast-meeting」或「lance un fast meeting sur...」(就某个主题启动快速会议)
  • 希望通过单条命令完成某个主题的分析、决策和落地

Core Principles

核心原则

1. Full Autonomy

1. 完全自主

  • The entire pipeline runs without asking any user questions
  • Persona selection is automatic based on context analysis
  • The best course of action is implemented immediately after the meeting
  • A MR/PR is created automatically on the detected remote (GitLab or GitHub)
  • 整个流程运行期间无需询问用户任何问题
  • 基于上下文分析自动选择参会角色
  • 会议结束后立即执行最优行动方案
  • 自动在检测到的远程仓库(GitLab或GitHub)上创建MR/PR

2. Speed Over Thoroughness

2. 速度优先于完备性

  • The meeting is compressed: 2 rounds instead of 3 (opening + convergence)
  • Personas are limited to 3-4 maximum
  • The analysis is concise and action-oriented
  • Implementation starts as soon as the meeting concludes
  • 会议流程压缩:仅2轮环节而非3轮(开场+收敛)
  • 参会角色最多限制为3-4个
  • 分析内容简洁、以行动为导向
  • 会议一结束立即启动落地工作

3. Diverse but Focused Perspectives

3. 多元但聚焦的视角

  • Personas are auto-selected based on the subject matter
  • Each persona brings a genuinely different viewpoint
  • The meeting converges quickly toward an actionable recommendation
  • 基于主题领域自动选择参会角色
  • 每个角色都能提供真正差异化的观点
  • 会议快速收敛到可落地的建议方案

4. Complete Delivery

4. 完整交付

  • Code changes are committed on a dedicated branch
  • A MR/PR is created automatically
  • The MR/PR description in French summarizes the meeting analysis and implementation
  • 代码变更提交到专用分支
  • 自动创建MR/PR
  • MR/PR的法语描述会汇总会议分析和落地内容

Workflow

工作流程

Step 0: Worktree Hygiene

步骤0:工作树清理

Before starting, clean up stale worktrees from previous meetings that may have crashed:
  1. Run
    git worktree prune
    to remove stale worktree references
  2. Check
    git worktree list
    — if any entries match sibling directories named
    fast-meeting-*
    or
    fm-*
    :
    • Parallel safety: before removing, verify the worktree directory has no active git processes (
      fuser -s <worktree-path> 2>/dev/null
      ). If the directory is in active use, skip it — it belongs to another running fast-meeting
    • Only remove worktrees confirmed to be stale:
      git worktree remove <path> --force
  3. Also clean up any legacy
    fast-meeting/*
    branches:
    git branch --list 'fast-meeting/*' | xargs -r git branch -D
This ensures a clean starting state without disrupting parallel fast-meeting runs.
启动前,清理之前可能崩溃的会议留下的失效工作树:
  1. 运行
    git worktree prune
    移除失效的工作树引用
  2. 检查
    git worktree list
    ——如果存在匹配
    fast-meeting-*
    fm-*
    命名的兄弟目录条目:
    • 并行安全保障: 移除前先验证工作树目录没有活跃的git进程(
      fuser -s <worktree-path> 2>/dev/null
      )。如果目录正在被使用,跳过该目录——它属于另一个正在运行的快速会议进程
    • 仅移除确认失效的工作树:
      git worktree remove <path> --force
  3. 同时清理所有遗留的
    fast-meeting/*
    分支:
    git branch --list 'fast-meeting/*' | xargs -r git branch -D
这一步可确保初始状态干净,且不会打断并行运行的快速会议进程。

Step 1: Gather Context

步骤1:收集上下文

  1. Read the user's prompt — extract the topic, constraints, and goals
  2. If an issue is referenced (GitLab
    #123
    or GitHub
    #123
    ):
    • Fetch the issue details (description, labels, comments)
    • Store the issue reference (number, URL, project) for Steps 8 and 9
  3. If no issue is referenced, note this — an issue may be created later in Step 4b
  4. If code is involved, read relevant files to understand the current state
  5. Detect the remote repository type:
    • Run
      git remote -v
      to determine if the remote is GitLab or GitHub
    • Store this for Step 8 (MR/PR creation)
  6. Identify the decision to make — frame it as a clear one-line question
Output the decision question before proceeding. Example:
"Question: Should we migrate the authentication system from session-based to JWT tokens?"
  1. 读取用户提示——提取主题、约束和目标
  2. 如果引用了Issue(GitLab
    #123
    或GitHub
    #123
    ):
    • 获取Issue详情(描述、标签、评论)
    • 存储Issue引用(编号、URL、项目)供步骤8和9使用
  3. 如果没有引用Issue,记录该情况——后续可能在步骤4b创建Issue
  4. 如果涉及代码,读取相关文件了解当前状态
  5. 检测远程仓库类型:
    • 运行
      git remote -v
      判断远程仓库是GitLab还是GitHub
    • 存储该信息供步骤8(创建MR/PR)使用
  6. 明确待决策问题——整理为清晰的单行问题
继续流程前先输出待决策问题,示例:
"问题:我们是否应该把鉴权系统从基于会话的模式迁移到JWT令牌模式?"

Step 2: Auto-Select Personas

步骤2:自动选择参会角色

Automatically select 3-4 personas based on the subject matter. Use these heuristics:
Le sujet concerne...Personas auto-sélectionnés
Backend / API / base de donnéesSOLID Alex (Backend), Whiteboard Damien (Architecte), EXPLAIN PLAN Isabelle (DBA Oracle)
Frontend / UI / UXPixel-Perfect Hugo (Frontend), Figma Fiona (UX/UI), Sprint Zero Sarah (PO), Whiteboard Damien (Architecte)
Sécurité / auth / contrôle d'accèsParanoid Shug (Sécurité), RGPD Raphaël (DPO), SOLID Alex (Backend), Whiteboard Damien (Architecte)
Infrastructure / déploiement / CI-CDPipeline Mo (DevOps), SOLID Alex (Backend), Whiteboard Damien (Architecte)
Données / migration / ETLSchema JB (Data), EXPLAIN PLAN Isabelle (DBA Oracle), Whiteboard Damien (Architecte)
Interopérabilité / HL7 / FHIR / HPKRFC Santiago (PO Interop), HL7 Victor (Dev Interop), SOLID Alex (Backend)
Legacy / Uniface / modernisationLegacy Larry (Uniface), Whiteboard Damien (Architecte), SOLID Alex (Backend)
Tests / qualité / régressionEdge-Case Nico (QA), SOLID Alex (Backend), Pipeline Mo (DevOps)
Produit / fonctionnalité / décision UXSprint Zero Sarah (PO), Pixel-Perfect Hugo (Frontend), Figma Fiona (UX/UI), Whiteboard Damien (Architecte)
Santé / workflows cliniquesDr. Workflow Wendy (Santé), Sprint Zero Sarah (PO), RGPD Raphaël (DPO)
RGPD / données personnelles / conformitéRGPD Raphaël (DPO), Paranoid Shug (Sécurité), Whiteboard Damien (Architecte)
BI / tableaux de bord / reporting / finance / comptabilitéDashboard Estelle (BI Finance), Pixel-Perfect Hugo (Frontend), EXPLAIN PLAN Isabelle (DBA Oracle), Whiteboard Damien (Architecte)
Full-stack / sujet transverseWhiteboard Damien (Architecte), SOLID Alex (Backend), Sprint Zero Sarah (PO), Edge-Case Nico (QA)
Si le sujet couvre plusieurs domaines, choisir les 3-4 personas les plus pertinents. Toujours inclure Whiteboard Damien (Architecte) pour les décisions techniques. Toujours inclure Sprint Zero Sarah (PO) pour les décisions produit.
Pool complet des personas avec rôles, perspectives et biais : voir
reference/personas.md
.
Announce the selected personas and their roles before starting the meeting.
基于主题领域自动选择3-4个参会角色,参考以下启发式规则:
主题涉及...自动选择的角色
后端 / API / 数据库SOLID Alex (Backend), Whiteboard Damien (Architecte), EXPLAIN PLAN Isabelle (DBA Oracle)
前端 / UI / UXPixel-Perfect Hugo (Frontend), Figma Fiona (UX/UI), Sprint Zero Sarah (PO), Whiteboard Damien (Architecte)
安全 / auth / 访问控制Paranoid Shug (Sécurité), RGPD Raphaël (DPO), SOLID Alex (Backend), Whiteboard Damien (Architecte)
基础设施 / 部署 / CI-CDPipeline Mo (DevOps), SOLID Alex (Backend), Whiteboard Damien (Architecte)
数据 / 迁移 / ETLSchema JB (Data), EXPLAIN PLAN Isabelle (DBA Oracle), Whiteboard Damien (Architecte)
互操作性 / HL7 / FHIR / HPKRFC Santiago (PO Interop), HL7 Victor (Dev Interop), SOLID Alex (Backend)
遗留系统 / Uniface / 现代化Legacy Larry (Uniface), Whiteboard Damien (Architecte), SOLID Alex (Backend)
测试 / 质量 / 回归Edge-Case Nico (QA), SOLID Alex (Backend), Pipeline Mo (DevOps)
产品 / 功能 / UX决策Sprint Zero Sarah (PO), Pixel-Perfect Hugo (Frontend), Figma Fiona (UX/UI), Whiteboard Damien (Architecte)
医疗 / 临床工作流Dr. Workflow Wendy (Santé), Sprint Zero Sarah (PO), RGPD Raphaël (DPO)
RGPD / 个人数据 / 合规RGPD Raphaël (DPO), Paranoid Shug (Sécurité), Whiteboard Damien (Architecte)
BI / 仪表盘 / 报表 / 财务 / 会计Dashboard Estelle (BI Finance), Pixel-Perfect Hugo (Frontend), EXPLAIN PLAN Isabelle (DBA Oracle), Whiteboard Damien (Architecte)
全栈 / 跨领域主题Whiteboard Damien (Architecte), SOLID Alex (Backend), Sprint Zero Sarah (PO), Edge-Case Nico (QA)
如果主题覆盖多个领域,选择最相关的3-4个角色。技术决策始终包含Whiteboard Damien(架构师),产品决策始终包含Sprint Zero Sarah(产品负责人)
所有角色的完整信息(角色、视角、偏向): 参见
reference/personas.md
会议开始前先公布选中的角色及其职责。

Step 3: Run the Fast Meeting

步骤3:运行快速会议

The meeting uses sub-agents to run each persona independently and in parallel. The fast meeting compresses the process into 2 rounds.
IMPORTANT: Use the Agent tool to launch each persona as a separate sub-agent.
会议使用子Agent独立并行运行每个角色的会话,快速会议将流程压缩为2轮。
重要提示:使用Agent工具为每个角色启动独立的子Agent。

Round 1: Position and Recommendation (Parallel Sub-Agents)

第一轮:立场陈述与建议(并行子Agent)

Launch one sub-agent per persona in parallel using the Agent tool. Each sub-agent receives:
  1. The decision question from Step 1
  2. All context gathered (issue details, code snippets, constraints)
  3. The persona's identity prompt
Sub-agent prompt template:
You are {name}, a {role}.

Your perspective: {perspective}
Your natural bias: {bias}

You are participating in a fast meeting about: {decision_question}

Context:
{context}

As {name}, provide your position:
1. What is your recommended approach? Be specific and concrete.
2. What are the top 2 risks? Be specific about failure scenarios.
3. What is your preferred implementation strategy in concrete steps?
4. What would you push back on from other typical perspectives?

Stay fully in character. Be concise and actionable — this is a fast meeting.

This is a research task — do NOT write or edit any files.
Launch ALL persona sub-agents in a single message so they run in parallel. Use
subagent_type: "general-purpose"
and a short description like
"Fast persona: {name}"
.
Collect all positions and present them as quotes:
SOLID Alex (Senior Backend Engineer): "I recommend..."
使用Agent工具并行为每个角色启动一个子Agent,每个子Agent接收以下信息:
  1. 步骤1输出的待决策问题
  2. 收集到的所有上下文(Issue详情、代码片段、约束)
  3. 该角色的身份提示词
子Agent提示词模板:
You are {name}, a {role}.

Your perspective: {perspective}
Your natural bias: {bias}

You are participating in a fast meeting about: {decision_question}

Context:
{context}

As {name}, provide your position:
1. What is your recommended approach? Be specific and concrete.
2. What are the top 2 risks? Be specific about failure scenarios.
3. What is your preferred implementation strategy in concrete steps?
4. What would you push back on from other typical perspectives?

Stay fully in character. Be concise and actionable — this is a fast meeting.

This is a research task — do NOT write or edit any files.
在单条消息中启动所有角色子Agent以实现并行运行,使用
subagent_type: "general-purpose"
和简短描述如
"Fast persona: {name}"
收集所有立场内容并以引用形式展示:
SOLID Alex (高级后端工程师): "我建议..."

Anti-Groupthink Check

反群体思维校验

After collecting Round 1 responses, evaluate the consensus level:
  1. Check if all personas converged on the same approach (same recommendation, no meaningful disagreement)
  2. If consensus is too high (all personas agree on the approach with no pushback):
    • Launch one additional sub-agent as a devil's advocate, prompted to find the strongest argument against the consensus position
    • Use this prompt:
      You are a devil's advocate in a fast meeting.
      
      All participants agreed on this approach: {consensus_summary}
      
      Your job: find the strongest possible argument AGAINST this consensus.
      - What could go wrong that nobody mentioned?
      - What assumption are they all making that might be false?
      - What alternative did they dismiss too quickly?
      
      Be specific and concrete. Reference real failure scenarios.
      This is a research task — do NOT write or edit any files.
    • Include the dissenting view in the analysis even if the recommendation doesn't change
  3. If there is already meaningful disagreement: proceed directly to Round 2
收集完第一轮回复后,评估共识程度:
  1. 检查是否所有角色都收敛到同一方案(相同建议,无实质分歧)
  2. 如果共识度过高(所有角色都同意方案,无任何反对意见):
    • 额外启动一个唱反调的子Agent,提示其找出反对共识立场的最有力论据
    • 使用以下提示词:
      You are a devil's advocate in a fast meeting.
      
      All participants agreed on this approach: {consensus_summary}
      
      Your job: find the strongest possible argument AGAINST this consensus.
      - What could go wrong that nobody mentioned?
      - What assumption are they all making that might be false?
      - What alternative did they dismiss too quickly?
      
      Be specific and concrete. Reference real failure scenarios.
      This is a research task — do NOT write or edit any files.
    • 即使最终建议不变,也要将反对意见纳入分析
  3. 如果已经存在实质分歧: 直接进入第二轮

Round 2: Convergence (Single Synthesis)

第二轮:收敛(单次综合)

After collecting all Round 1 responses, you (the facilitator, not a sub-agent) synthesize:
  • Points of agreement across personas
  • Key trade-offs that emerged
  • The winning recommendation with rationale
  • Concrete implementation plan (files to change, approach, order of operations)
Do NOT launch a second round of sub-agents. Synthesize directly for speed.
收集完所有第一轮回复后,(作为主持人,而非子Agent)进行综合总结:
  • 各角色的共识点
  • 出现的核心权衡
  • 带推导逻辑的最终采纳建议
  • 具体落地计划(要修改的文件、方案、操作顺序)
不要启动第二轮子Agent,直接综合以保障速度。

Step 4: Produce the Compact Decision

步骤4:生成精简决策结果

Write a compact analysis displayed to the user:
markdown
undefined
编写展示给用户的精简分析内容:
markdown
undefined

Fast Meeting : [Sujet]

Fast Meeting : [Sujet]

Question : [La question de décision]
Participants : [Name (Role)] | [Name (Role)] | [Name (Role)]
Question : [La question de décision]
Participants : [Name (Role)] | [Name (Role)] | [Name (Role)]

Recommandation retenue

Recommandation retenue

[The recommended approach in 2-3 sentences]
[The recommended approach in 2-3 sentences]

Justification

Justification

  • [Reason 1]
  • [Reason 2]
  • [Reason 3]
  • [Reason 1]
  • [Reason 2]
  • [Reason 3]

Risques et mitigations

Risques et mitigations

  • [Risk 1 → Mitigation]
  • [Risk 2 → Mitigation]
  • [Risk 1 → Mitigation]
  • [Risk 2 → Mitigation]

Plan d'implémentation

Plan d'implémentation

  1. [Step 1]
  2. [Step 2]
  3. [Step 3]
undefined
  1. [Step 1]
  2. [Step 2]
  3. [Step 3]
undefined

Step 4b: Ensure Issue Exists

步骤4b:确保Issue存在

If an issue was already referenced in Step 1, it is already available — skip to Step 5.
If no issue was referenced, create one automatically for traceability — no user prompt, no confirmation. This is consistent with the full-autonomy contract of fast-meeting.
  1. Build the issue from the meeting analysis:
    • Title: Short form of the decision question (under 70 chars, in French)
    • Description: PO-oriented summary using the template below
  2. Create the issue immediately:
    • GitLab: Use
      glab issue create --title "<title>" --description "<description>"
    • GitHub: Use
      gh issue create --title "<title>" --body "<description>"
    • Store the newly created issue number and URL for Steps 8 and 9
    • Do not add labels unless you have verified they already exist in the project (list them first)
  3. If issue creation fails (API error, permission denied, no project found): log the error in the Run Summary, proceed without an issue — Steps 8 and 9 will adapt accordingly
如果步骤1中已经引用了Issue,直接进入步骤5。
如果没有引用Issue,自动创建Issue用于溯源——无需用户提示、无需确认,这符合快速会议完全自主的约定。
  1. 基于会议分析构建Issue内容:
    • 标题: 待决策问题的简写(不超过70字符,法语)
    • 描述: 使用下方模板生成面向产品负责人的摘要
  2. 立即创建Issue:
    • GitLab: 使用
      glab issue create --title "<title>" --description "<description>"
    • GitHub: 使用
      gh issue create --title "<title>" --body "<description>"
    • 存储新创建的Issue编号和URL供步骤8和9使用
    • 不要添加标签,除非你确认项目中已存在对应标签(先查询标签列表)
  3. 如果Issue创建失败(API错误、权限不足、未找到项目):在运行总结中记录错误,无需Issue继续流程——步骤8和9会自适应调整

Auto-Created Issue Description Template (French — PO / Consultant Oriented)

自动创建Issue的描述模板(法语——面向产品负责人/顾问)

markdown
undefined
markdown
undefined

Contexte

Contexte

[Business context derived from the user's prompt — what problem or opportunity triggered this analysis]
[Business context derived from the user's prompt — what problem or opportunity triggered this analysis]

Question analysée

Question analysée

[The decision question from Step 1, framed in business terms]
[The decision question from Step 1, framed in business terms]

Participants

Participants

ExpertRôle
[Name][Role]
......
ExpertRôle
[Name][Role]
......

Recommandation

Recommandation

[The recommended approach in 2-3 sentences, focusing on user/business value rather than technical details]
[The recommended approach in 2-3 sentences, focusing on user/business value rather than technical details]

Risques identifiés

Risques identifiés

  • [Risk 1 in business impact terms → Mitigation]
  • [Risk 2 in business impact terms → Mitigation]

Issue créée automatiquement par un fast-meeting IA
undefined
  • [Risk 1 in business impact terms → Mitigation]
  • [Risk 2 in business impact terms → Mitigation]

Issue créée automatiquement par un fast-meeting IA
undefined

Step 5: Scope Guard

步骤5:范围防护

Before implementing, estimate the scope of the recommended changes:
  1. Assess the scope: count the estimated number of files to change, lines of code to add/modify, and whether new dependencies or infrastructure are needed
  2. Apply thresholds:
    • Small scope (≤10 files, ≤500 lines, no new infrastructure): proceed to Step 6 normally
    • Medium scope (>10 files OR >500 lines): proceed but scope down to the most critical first step only. Add the remaining steps as a checklist in the MR/PR description under a
      ### Étapes restantes
      section
    • Large scope (multi-service changes, architectural migration, new infrastructure required): abort implementation. Output the meeting analysis from Step 4, and suggest the user run the full
      /meeting
      skill for proper planning with validation before implementation
  3. If scoping down: clearly state in the analysis what is being implemented now vs. deferred
落地前,评估建议变更的范围:
  1. 评估范围: 统计预计要修改的文件数量、新增/修改的代码行数,以及是否需要新的依赖或基础设施
  2. 应用阈值规则:
    • 小范围(≤10个文件,≤500行代码,无新增基础设施):正常进入步骤6
    • 中等范围(>10个文件 或 >500行代码):继续流程,但缩小范围仅实现最关键的第一步,剩余步骤作为检查清单添加到MR/PR描述的
      ### Étapes restantes
      章节下
    • 大范围(多服务变更、架构迁移、需要新增基础设施):终止落地流程,输出步骤4的会议分析,建议用户运行完整的
      /meeting
      技能,在落地前进行充分规划和验证
  3. 如果缩小范围: 在分析中明确说明当前落地的内容和延后的内容

Step 6: Create Worktree and Implement

步骤6:创建工作树并落地实现

Immediately proceed to implementation without asking the user. This is the key difference from meeting.
Implementation runs in a git worktree, which creates an isolated copy of the repository. The user's working tree is never modified — no stash, no branch switch, no risk of state corruption.
无需询问用户直接进入落地环节,这是和普通会议的核心区别。
落地工作在git worktree中运行,它会创建仓库的独立副本,永远不会修改用户的工作树——没有stash、没有分支切换、没有状态损坏的风险。

Create the Worktree

创建工作树

  1. Record the current branch for reference (e.g.,
    main
    )
  2. Determine the branch type based on the meeting recommendation:
    • Bug fix →
      fix/
    • New feature →
      feat/
    • Refactoring →
      refactor/
    • Default →
      feat/
  3. Fetch remote state before checking for collisions:
    • Run
      git fetch origin
      to ensure branch information is up-to-date
  4. Check for branch name collisions before creating the worktree:
    • Run
      git branch -a
      and check if
      <type>/fm-<topic>
      already exists (locally or as
      remotes/origin/<type>/fm-<topic>
      )
    • If the branch exists: append a numeric suffix (
      -2
      ,
      -3
      , etc.) until a unique name is found. Do not force-delete existing branches — they may contain reviewed or in-progress work
  5. Create a worktree with a dedicated branch:
    • Branch name:
      <type>/fm-<short-kebab-case-topic>
      (e.g.,
      feat/fm-jwt-auth-migration
      ,
      fix/fm-notification-display
      ) — with suffix if collision was detected
    • Worktree path:
      $(git rev-parse --show-toplevel)/../fm-<topic>
    • Run:
      git worktree add ../fm-<topic> -b <type>/fm-<topic>
  6. If worktree creation fails:
    • If the error indicates the branch already exists: run
      git branch -D <type>/fm-<topic>
      then retry the worktree creation
    • If it still fails (disk space, permissions, path length, submodules, or any other reason): abort the implementation pipeline. Output the complete meeting analysis from Step 4, the exact error message, and stop. The user can fix the underlying issue and re-run. Never fall back to stash/checkout — the user's working tree must never be modified
  1. 记录当前分支作为参考(例如
    main
  2. 基于会议建议确定分支类型:
    • Bug修复 →
      fix/
    • 新功能 →
      feat/
    • 重构 →
      refactor/
    • 默认 →
      feat/
  3. 检查分支冲突前先拉取远程状态:
    • 运行
      git fetch origin
      确保分支信息是最新的
  4. 创建工作树前检查分支名冲突:
    • 运行
      git branch -a
      检查
      <type>/fm-<topic>
      是否已存在(本地或
      remotes/origin/<type>/fm-<topic>
    • 如果分支已存在:追加数字后缀(
      -2
      -3
      等)直到找到唯一名称,不要强制删除已有分支——它们可能包含已评审或进行中的工作
  5. 创建带专用分支的工作树:
    • 分支名:
      <type>/fm-<短横线分隔的主题简写>
      (例如
      feat/fm-jwt-auth-migration
      fix/fm-notification-display
      )——如果检测到冲突则添加后缀
    • 工作树路径:
      $(git rev-parse --show-toplevel)/../fm-<topic>
    • 运行:
      git worktree add ../fm-<topic> -b <type>/fm-<topic>
  6. 如果工作树创建失败:
    • 如果错误提示分支已存在:运行
      git branch -D <type>/fm-<topic>
      后重试创建工作树
    • 如果仍然失败(磁盘空间不足、权限问题、路径过长、子模块问题或其他原因):终止落地流程,输出步骤4的完整会议分析和具体错误信息后停止,用户可修复底层问题后重新运行。永远不要回退到stash/checkout方案——必须保证用户工作树不被修改

Implement in the Worktree

在工作树中落地实现

  1. All file modifications happen inside the worktree path — use the worktree's absolute path for all read/write operations
  2. Implement the changes as described in the implementation plan from Step 4
    • Write code, modify files, add tests as needed
    • Follow the project's existing conventions and patterns
  3. Stage and commit all changes from within the worktree:
    • cd
      into the worktree path before running git commands
    • Use a conventional commit message:
      feat(<scope>): <description>
    • Include
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      in the commit message
    • If
      git commit
      fails due to a pre-commit hook:
      analyze the hook output, fix the code to pass the hook, and retry the commit once. If it still fails, treat it like a test failure — push as Draft with the hook error documented in the MR/PR description. Never use
      --no-verify
  1. 所有文件修改都在工作树路径内进行——所有读写操作都使用工作树的绝对路径
  2. 按照步骤4的落地计划实现变更
    • 编写代码、修改文件、按需添加测试
    • 遵循项目现有的规范和模式
  3. 在工作树内暂存并提交所有变更:
    • 运行git命令前先
      cd
      到工作树路径
    • 使用符合约定的提交信息:
      feat(<scope>): <description>
    • 在提交信息中添加
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    • 如果
      git commit
      因为pre-commit钩子失败:
      分析钩子输出,修复代码满足钩子要求后重试一次提交,如果仍然失败,按测试失败处理——推送为Draft版本,在MR/PR描述中记录钩子错误,永远不要使用
      --no-verify
      参数

Step 7: Test, Push, and Clean Up

步骤7:测试、推送和清理

Run Tests

运行测试

After committing, validate the implementation against the project's test suite:
  1. Auto-detect the test runner:
    • Check
      package.json
      for
      test
      ,
      test:unit
      ,
      test:e2e
      scripts
    • Check for
      Makefile
      ,
      pytest.ini
      ,
      phpunit.xml
      , or other test config files
    • If no test runner is found, skip this step and note "No test suite detected" in the MR/PR description
  2. Run the tests (scoped to affected files/modules if the test runner supports it, otherwise run the full suite)
  3. If tests pass: proceed to push
  4. If tests fail:
    • Analyze the failures and attempt one fix cycle (fix the code, re-run tests)
    • If tests pass after the fix: amend the commit with the fix and proceed
    • If tests still fail after one fix attempt:
      • Mark the MR/PR as Draft (prefix title with
        Draft:
        )
      • Add a
        ### Tests en échec
        section in the MR/PR description listing the failing tests and error messages
      • Push anyway so the team can review
  5. Include test results summary in the MR/PR description: number of tests run, passed, failed
提交后,基于项目的测试套件验证实现:
  1. 自动检测测试运行器:
    • 检查
      package.json
      中的
      test
      test:unit
      test:e2e
      脚本
    • 检查是否存在
      Makefile
      pytest.ini
      phpunit.xml
      或其他测试配置文件
    • 如果未找到测试运行器,跳过此步骤,在MR/PR描述中注明「未检测到测试套件」
  2. 运行测试(如果测试运行器支持,仅运行受影响的文件/模块测试,否则运行全量测试)
  3. 如果测试通过: 进入推送环节
  4. 如果测试失败:
    • 分析失败原因,尝试一轮修复(修复代码、重新运行测试)
    • 如果修复后测试通过: amend提交修复内容后继续流程
    • 如果一轮修复后测试仍然失败:
      • 将MR/PR标记为Draft(标题前缀加
        Draft:
      • 在MR/PR描述中添加
        ### Tests en échec
        章节,列出失败的测试和错误信息
      • 仍然推送代码供团队评审
  5. 在MR/PR描述中包含测试结果摘要: 运行的测试数量、通过数量、失败数量

Push the Branch

推送分支

  1. Push the branch from within the worktree:
    • Run:
      git push -u origin <type>/fm-<topic>
      (from the worktree path)
    • If push fails (auth error, no remote, permission denied, network issue):
      • Do NOT remove the worktree — the committed work must be preserved
      • Output the worktree path, branch name, and the exact error message
      • Output a manual recovery command:
        cd <worktree-path> && git push -u origin <branch>
      • Skip Steps 8 and 9 entirely — there is nothing to link to
      • Proceed directly to the Run Summary (Step 10) with push status = "failed"
  1. 在工作树内推送分支:
    • 运行:
      git push -u origin <type>/fm-<topic>
      (在工作树路径下执行)
    • 如果推送失败(鉴权错误、无远程仓库、权限不足、网络问题):
      • 不要删除工作树——必须保留已提交的工作内容
      • 输出工作树路径、分支名和具体错误信息
      • 输出手动恢复命令:
        cd <worktree-path> && git push -u origin <branch>
      • 完全跳过步骤8和9——没有可关联的内容
      • 直接进入运行总结(步骤10),推送状态标记为「失败」

Clean Up Worktree

清理工作树

  1. Remove the worktree (only after a successful push):
    • Return to the original repository path
    • Run:
      git worktree remove ../fm-<topic>
    • If removal fails (e.g., uncommitted changes in worktree), run:
      git worktree remove ../fm-<topic> --force
    • Post-cleanup verification: run
      git worktree list
      and verify the fast-meeting worktree no longer appears. If it does, output the cleanup command for the user:
      git worktree remove <path> --force
  2. No restoration needed: the user's working tree was never modified — they remain on their original branch with all their uncommitted changes intact
  1. 仅在推送成功后删除工作树:
    • 回到原仓库路径
    • 运行:
      git worktree remove ../fm-<topic>
    • 如果删除失败(例如工作树中有未提交的变更),运行:
      git worktree remove ../fm-<topic> --force
    • 清理后校验: 运行
      git worktree list
      确认快速会议的工作树已不存在,如果仍然存在,为用户输出清理命令:
      git worktree remove <path> --force
  2. 无需恢复操作: 用户的工作树从未被修改——他们仍在原来的分支上,所有未提交的变更都保持完整

Step 8: Create the MR/PR

步骤8:创建MR/PR

Based on the remote type detected in Step 1:
基于步骤1检测的远程仓库类型操作:

If GitLab:

如果是GitLab:

Use
glab mr create --title "<title>" --description "<description>" --target-branch main
to create a merge request with:
  • Title: Short description (under 70 chars, in English)
  • Description: The French meeting analysis and implementation summary (see template below)
  • Issue link: If an issue exists (referenced or created in Step 4b), include
    Closes #XX
    in the description to auto-close the issue on merge
使用
glab mr create --title "<title>" --description "<description>" --target-branch main
创建合并请求,包含以下内容:
  • 标题: 简短描述(不超过70字符,英语)
  • 描述: 法语的会议分析和落地摘要(参考下方模板)
  • Issue关联: 如果存在Issue(步骤1引用或步骤4b创建),在描述中添加
    Closes #XX
    ,实现合并后自动关闭Issue

If GitHub:

如果是GitHub:

Use
gh pr create
to create a pull request with:
  • Title: Short description (under 70 chars, in English)
  • Body: The French meeting analysis and implementation summary (see template below)
  • Issue link: If an issue exists (referenced or created in Step 4b), include
    Closes #XX
    in the body to auto-close the issue on merge
使用
gh pr create
创建拉取请求,包含以下内容:
  • 标题: 简短描述(不超过70字符,英语)
  • 正文: 法语的会议分析和落地摘要(参考下方模板)
  • Issue关联: 如果存在Issue(步骤1引用或步骤4b创建),在正文中添加
    Closes #XX
    ,实现合并后自动关闭Issue

If MR/PR creation fails:

如果MR/PR创建失败:

If the MR/PR creation fails (API timeout, rate limit, authentication, MCP tool error):
  • Output the remote URL and branch name
  • Output a pre-formatted manual command the user can paste:
    • GitLab: provide the web URL to create the MR manually
    • GitHub:
      gh pr create --head <branch> --title "<title>" --body "<body>"
  • Include the full MR/PR description text in the conversation output so nothing is lost
  • Proceed to Step 9 (issue comment) if applicable — the issue comment is still valuable even without the MR/PR link
  • Record the failure in the Run Summary (Step 10)
如果MR/PR创建失败(API超时、速率限制、鉴权失败、MCP工具错误):
  • 输出远程仓库URL和分支名
  • 输出用户可粘贴的预格式化手动命令:
    • GitLab:提供手动创建MR的网页URL
    • GitHub:
      gh pr create --head <branch> --title "<title>" --body "<body>"
  • 在会话输出中包含完整的MR/PR描述文本,避免内容丢失
  • 如果适用,继续步骤9(Issue评论)——即使没有MR/PR链接,Issue评论仍然有价值
  • 在运行总结(步骤10)中记录失败

MR/PR Description Template (French — Developer / Technically Oriented)

MR/PR描述模板(法语——面向开发人员/技术向)

The MR/PR description targets developers reviewing the code. Focus on technical details: what changed, why this approach was chosen technically, and what to watch during review.
markdown
undefined
MR/PR描述面向评审代码的开发人员,聚焦技术细节:修改了什么、技术上为什么选择这个方案、评审时需要关注什么。
markdown
undefined

Résumé technique

Résumé technique

Contexte

Contexte

[Brève description du problème technique ou de la décision d'architecture qui a motivé ces changements]
[Brève description du problème technique ou de la décision d'architecture qui a motivé ces changements]

Approche retenue

Approche retenue

[L'approche technique choisie et pourquoi — patterns utilisés, alternatives considérées et rejetées techniquement]
[L'approche technique choisie et pourquoi — patterns utilisés, alternatives considérées et rejetées techniquement]

Changements implémentés

Changements implémentés

FichierModificationJustification technique
path/to/file
[Ce qui a changé][Pourquoi ce choix technique]
.........
FichierModificationJustification technique
path/to/file
[Ce qui a changé][Pourquoi ce choix technique]
.........

Points d'attention pour la revue

Points d'attention pour la revue

  • [Point technique à vérifier — ex: gestion d'erreurs, performance, rétrocompatibilité]
  • [Impact potentiel sur d'autres modules]
  • [Cas limites à valider]
  • [Point technique à vérifier — ex: gestion d'erreurs, performance, rétrocompatibilité]
  • [Impact potentiel sur d'autres modules]
  • [Cas limites à valider]

Tests

Tests

  • [Résultats des tests : nombre exécutés, passés, échoués]
  • [Couverture des cas limites identifiés]
  • [Résultats des tests : nombre exécutés, passés, échoués]
  • [Couverture des cas limites identifiés]

Prochaines étapes

Prochaines étapes

  • Revue de code par l'équipe
  • Validation des tests
  • Merge après approbation

Implémentation générée automatiquement par IA

**Issue linking:** if an issue exists (referenced in Step 1 or created in Step 4b), append `Closes #<issue_number>` on its own line after the `---` separator and before the italic footer. If no issue exists, omit this line entirely.
  • Revue de code par l'équipe
  • Validation des tests
  • Merge après approbation

Implémentation générée automatiquement par IA

**Issue关联:** 如果存在Issue(步骤1引用或步骤4b创建),在`---`分隔符后、斜体脚注前单独添加一行`Closes #<issue_number>`,如果没有Issue则省略该行。

Step 9: Post to Issue (PO / Consultant Oriented)

步骤9:发布到Issue(面向产品负责人/顾问向)

Post a Product Owner / consultant oriented comment to the linked issue. This comment targets stakeholders, not developers — focus on business value, user impact, and strategic reasoning rather than technical details.
Issue resolution:
  • Issue was referenced in Step 1: post the comment on that issue
  • Issue was created in Step 4b: post the comment on the newly created issue
  • Issue creation failed in Step 4b: skip this step — log the failure in the Run Summary
向关联的Issue发布面向产品负责人/顾问的评论,该评论面向利益相关方而非开发人员——聚焦业务价值、用户影响和战略逻辑,而非技术细节。
Issue处理规则:
  • 步骤1中引用了Issue: 在该Issue下发布评论
  • 步骤4b中创建了Issue: 在新创建的Issue下发布评论
  • 步骤4b中创建Issue失败: 跳过此步骤——在运行总结中记录失败

Issue Comment Template (French)

Issue评论模板(法语)

markdown
undefined
markdown
undefined

Analyse de réunion rapide

Analyse de réunion rapide

Question posée

Question posée

[La question de décision formulée en termes métier]
[La question de décision formulée en termes métier]

Participants

Participants

ExpertRôlePosition
......[Position résumée en termes d'impact métier]
ExpertRôlePosition
......[Position résumée en termes d'impact métier]

Décision retenue

Décision retenue

[L'approche recommandée expliquée en termes de valeur utilisateur et impact business]
Pourquoi cette décision :
  • [Bénéfice utilisateur / métier 1]
  • [Bénéfice utilisateur / métier 2]
  • [Alignement avec les objectifs produit]
[L'approche recommandée expliquée en termes de valeur utilisateur et impact business]
Pourquoi cette décision :
  • [Bénéfice utilisateur / métier 1]
  • [Bénéfice utilisateur / métier 2]
  • [Alignement avec les objectifs produit]

Risques projet

Risques projet

  • [Risque 1 formulé en impact métier → Mitigation]
  • [Risque 2 formulé en impact métier → Mitigation]
  • [Risque 1 formulé en impact métier → Mitigation]
  • [Risque 2 formulé en impact métier → Mitigation]

Impact

Impact

  • Utilisateurs concernés : [Qui est impacté et comment]
  • Délai estimé : [Si applicable]
  • Dépendances : [Autres équipes ou fonctionnalités impactées]
  • Utilisateurs concernés : [Qui est impacté et comment]
  • Délai estimé : [Si applicable]
  • Dépendances : [Autres équipes ou fonctionnalités impactées]

MR/PR

MR/PR

[Lien vers la MR/PR] — Les détails techniques d'implémentation sont dans la description de la MR/PR.

Analyse générée automatiquement par IA

Post the comment using the appropriate tool:
- **GitLab:** `glab issue note <iid> --message "<comment>"`
- **GitHub:** `gh issue comment <number> --body "<comment>"`
[Lien vers la MR/PR] — Les détails techniques d'implémentation sont dans la description de la MR/PR.

Analyse générée automatiquement par IA

使用对应工具发布评论:
- **GitLab:** `glab issue note <iid> --message "<comment>"`
- **GitHub:** `gh issue comment <number> --body "<comment>"`

Step 10: Run Summary

步骤10:运行总结

Always output a structured run summary at the end of every fast-meeting run, regardless of whether the pipeline succeeded or failed at any step. This provides observability for an autonomous pipeline.
markdown
undefined
每次快速会议运行结束时必须输出结构化的运行总结,无论流程在任何步骤成功或失败,为自主流程提供可观测性。
markdown
undefined

Fast Meeting — Run Summary

Fast Meeting — Run Summary

  • Sujet : [topic]
  • Branche :
    <type>/fm-<topic>
  • Worktree : [path] (nettoyé : oui/non)
  • Push : succès / échec ([erreur si applicable])
  • MR/PR : [URL] / non créé ([raison si applicable])
  • Tests : [N exécutés, N passés, N échoués] / non détectés
  • Issue : liée (#XX) / créée (#XX) / échec de création ([erreur])
  • Commentaire issue : publié (#XX) / ignoré (pas d'issue)
  • Durée totale : [durée wall-clock de l'ensemble du pipeline]

If any step failed, the summary must include the failure reason and any manual recovery commands already provided in earlier steps.
  • Sujet : [topic]
  • Branche :
    <type>/fm-<topic>
  • Worktree : [path] (nettoyé : oui/non)
  • Push : succès / échec ([erreur si applicable])
  • MR/PR : [URL] / non créé ([raison si applicable])
  • Tests : [N exécutés, N passés, N échoués] / non détectés
  • Issue : liée (#XX) / créée (#XX) / échec de création ([erreur])
  • Commentaire issue : publié (#XX) / ignoré (pas d'issue)
  • Durée totale : [durée wall-clock de l'ensemble du pipeline]

如果任何步骤失败,总结必须包含失败原因,以及之前步骤中已提供的所有手动恢复命令。

Meeting Quality Rules

会议质量规则

Persona Authenticity

角色真实性

  • Each persona speaks consistently with their role and bias
  • Personas use concrete examples, not abstract platitudes
  • A security engineer talks about attack vectors, not vague "security concerns"
  • A product owner talks about user impact and delivery timelines, not code patterns
  • 每个角色的发言都符合其角色和偏向设定
  • 角色使用具体示例而非抽象套话
  • 安全工程师讨论攻击向量,而非模糊的「安全问题」
  • 产品负责人讨论用户影响和交付周期,而非代码模式

Speed Rules

速度规则

  • Maximum 3-4 personas per meeting
  • Single round of parallel sub-agents + facilitator synthesis (no Round 2 debate)
  • Optional devil's advocate sub-agent only when consensus is too high (adds ~10 seconds)
  • No user confirmation before implementation
  • Commit message and MR/PR are created automatically
  • 每次会议最多3-4个角色
  • 单轮并行子Agent+主持人综合(无第二轮辩论)
  • 仅当共识度过高时可选添加唱反调子Agent(增加约10秒耗时)
  • 落地前无需用户确认
  • 自动生成提交信息和MR/PR

Implementation Quality

落地质量

  • Follow existing project conventions and patterns
  • Write clean, tested code
  • Run the project's test suite after implementation; attempt one fix cycle on failures
  • Keep changes focused on the recommendation — do not over-engineer
  • Scope guard: if changes exceed 10 files / 500 lines, scope down to the critical first step; if the scope is architectural, abort implementation and suggest
    /meeting
  • Protect the user's working tree: implementation runs in an isolated git worktree — the user's working directory is never modified
  • 遵循项目现有规范和模式
  • 编写整洁、经过测试的代码
  • 落地后运行项目测试套件;失败时尝试一轮修复
  • 变更聚焦于建议方案,不要过度设计
  • 范围防护:如果变更超过10个文件/500行代码,缩小范围到关键第一步;如果是架构级范围,终止落地并建议使用
    /meeting
  • 保护用户工作树:落地在隔离的git工作树中运行——永远不会修改用户的工作目录

Examples

示例

Example 1: Technical Decision

示例1:技术决策

User: fast-meeting : est-ce qu'on doit utiliser GraphQL ou REST pour la nouvelle API

→ Auto-sélection : SOLID Alex (Backend), Pixel-Perfect Hugo (Frontend), Whiteboard Damien (Architecte)
→ Lance le fast meeting (1 tour + synthèse)
→ Implémente l'approche recommandée
→ Crée la branche feat/fm-graphql-vs-rest-api
→ Commit, push, crée la MR/PR avec description en français
User: fast-meeting : est-ce qu'on doit utiliser GraphQL ou REST pour la nouvelle API

→ Auto-sélection : SOLID Alex (Backend), Pixel-Perfect Hugo (Frontend), Whiteboard Damien (Architecte)
→ Lance le fast meeting (1 tour + synthèse)
→ Implémente l'approche recommandée
→ Crée la branche feat/fm-graphql-vs-rest-api
→ Commit, push, crée la MR/PR avec description en français

Example 2: Bug Fix with Issue

示例2:带Issue的Bug修复

User: fast-meeting sur l'issue #42 - les notifications ne s'affichent pas

→ Récupère les détails de l'issue #42
→ Auto-sélection : Pixel-Perfect Hugo (Frontend), SOLID Alex (Backend), Edge-Case Nico (QA)
→ Lance le fast meeting
→ Implémente le correctif
→ Crée la MR/PR, poste le lien sur l'issue #42
User: fast-meeting sur l'issue #42 - les notifications ne s'affichent pas

→ Récupère les détails de l'issue #42
→ Auto-sélection : Pixel-Perfect Hugo (Frontend), SOLID Alex (Backend), Edge-Case Nico (QA)
→ Lance le fast meeting
→ Implémente le correctif
→ Crée la MR/PR, poste le lien sur l'issue #42

Example 3: Refactoring

示例3:重构

User: fast-meeting : refactorer le module d'authentification pour supporter OAuth2

→ Auto-sélection : Paranoid Shug (Sécurité), SOLID Alex (Backend), Whiteboard Damien (Architecte), Pipeline Mo (DevOps)
→ Lance le fast meeting
→ Implémente le refactoring
→ Crée la MR/PR avec analyse en français
User: fast-meeting : refactorer le module d'authentification pour supporter OAuth2

→ Auto-sélection : Paranoid Shug (Sécurité), SOLID Alex (Backend), Whiteboard Damien (Architecte), Pipeline Mo (DevOps)
→ Lance le fast meeting
→ Implémente le refactoring
→ Crée la MR/PR avec analyse en français

Example 4: No Issue Referenced — Auto-Creation

示例4:无引用Issue——自动创建

User: fast-meeting : migrer le cache Redis vers Valkey

→ Pas d'issue référencée
→ Auto-sélection : SOLID Alex (Backend), Pipeline Mo (DevOps), Whiteboard Damien (Architecte)
→ Lance le fast meeting (1 tour + synthèse)
→ Crée automatiquement l'issue #58 avec résumé PO (aucune confirmation requise)
→ Implémente la migration dans un worktree isolé
→ Commit, push, crée la MR/PR (Closes #58) avec description technique
→ Poste le résumé PO sur l'issue #58
User: fast-meeting : migrer le cache Redis vers Valkey

→ Pas d'issue référencée
→ Auto-sélection : SOLID Alex (Backend), Pipeline Mo (DevOps), Whiteboard Damien (Architecte)
→ Lance le fast meeting (1 tour + synthèse)
→ Crée automatiquement l'issue #58 avec résumé PO (aucune confirmation requise)
→ Implémente la migration dans un worktree isolé
→ Commit, push, crée la MR/PR (Closes #58) avec description technique
→ Poste le résumé PO sur l'issue #58

Important Notes

重要提示

  • Never create new labels on GitLab or GitHub. When adding labels to issues or merge requests, only use labels that already exist in the project. If unsure which labels exist, list them first (
    gh label list
    for GitHub, or check existing issue labels for GitLab) and pick from the available ones. If no suitable label exists, skip labeling rather than creating a new one.
  • This skill does NOT ask for user confirmation — it runs the full pipeline autonomously
  • If tests fail after one fix attempt, mark the MR/PR as Draft and document the failures
  • If the implementation scope is too large (architectural, multi-service), abort and suggest
    /meeting
    instead
  • The user's working tree is always protected: implementation runs in an isolated git worktree — no stash, no branch switch, no risk of state corruption. If worktree creation fails, the pipeline aborts cleanly rather than falling back to stash/checkout
  • Multiple fast-meetings can run in parallel on different worktrees — Step 0 only cleans up worktrees with no active processes, so parallel runs are safe
  • When creating a MR/PR, check for other active fast-meeting branches with
    git branch -r | grep '/fm-'
    . If other branches exist, add a warning in the MR/PR description: "Attention : d'autres branches fast-meeting sont actives. Vérifier les conflits potentiels avant merge."
  • The MR/PR description is always in French
  • Branch names follow Git flow conventions:
    <type>/fm-<topic>
    (e.g.,
    feat/fm-<topic>
    ,
    fix/fm-<topic>
    ) — determined automatically from the meeting recommendation
  • If the remote type cannot be determined, default to
    gh pr create
    (GitHub)
  • Never force-push or modify existing branches — always create a new branch
  • 永远不要在GitLab或GitHub上创建新标签,为Issue或合并请求添加标签时,仅使用项目中已存在的标签。如果不确定存在哪些标签,先查询列表(GitHub用
    gh label list
    ,GitLab查看现有Issue标签)并从可用标签中选择,如果没有合适的标签,跳过标注而非创建新标签。
  • 此技能不会征求用户确认——它会自主运行完整流程
  • 如果一轮修复后测试仍然失败,将MR/PR标记为Draft并记录失败原因
  • 如果落地范围过大(架构级、多服务),终止流程并建议使用
    /meeting
  • 始终保护用户工作树:落地在隔离的git工作树中运行——无stash、无分支切换、无状态损坏风险。如果工作树创建失败,流程干净终止,不会回退到stash/checkout方案
  • 多个快速会议可在不同工作树上并行运行——步骤0仅清理无活跃进程的工作树,因此并行运行是安全的
  • 创建MR/PR时,用
    git branch -r | grep '/fm-'
    检查其他活跃的快速会议分支,如果存在其他分支,在MR/PR描述中添加警告:"Attention : d'autres branches fast-meeting sont actives. Vérifier les conflits potentiels avant merge."
  • MR/PR描述始终使用法语
  • 分支名遵循Git flow规范:
    <type>/fm-<topic>
    (例如
    feat/fm-<topic>
    fix/fm-<topic>
    )——根据会议建议自动确定
  • 如果无法确定远程仓库类型,默认使用
    gh pr create
    (GitHub)
  • 永远不要强制推送或修改已有分支——始终创建新分支