meeting-report
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMeeting Report
会议纪要
Generate a structured French meeting report from a Microsoft Teams transcript, optionally enriched with a Teams attendance report.
.vtt.csvThe skill works on any project. It auto-detects the hexagone-monorepo project and, when detected, applies project-specific rules (sub-domain classification, sub-folder routing, foundation date-only naming). On any other project, it falls back to a generic single-folder output.
从Microsoft Teams的转录文件生成结构化法语会议纪要,可选结合Teams的出席报告丰富内容。
.vtt.csv本技能适用于任意项目。它会自动检测hexagone-monorepo项目,检测到后将应用项目特定规则(子域分类、子文件夹路由、Foundation团队仅日期命名规则)。对于其他项目,则默认使用通用单文件夹输出模式。
When to Use This Skill
何时使用本技能
Activate when the user:
- Dépose un chemin vers un fichier Teams dans le prompt
.vtt - Dit « crée un compte-rendu de cette transcription Teams »
- Dit « génère le compte-rendu de cette réunion »
- Dit « transforme cette transcription en rapport »
- Dépose en plus un fichier de présence Teams (optionnel)
.csv
当用户出现以下操作时激活:
- 在提示中提供Teams的文件路径
.vtt - 说“为这份Teams转录创建会议纪要”
- 说“生成这次会议的纪要”
- 说“把这份转录转换成报告”
- 额外提供Teams的出席报告(可选)
.csv
Inputs
输入
The skill expects one or two file paths dropped in the user prompt:
- Required: file — Teams meeting transcript in WebVTT format
.vtt - Optional: file — Teams attendance report
.csv
Detection: inspect file extensions in the user prompt. If both are present, is the transcript and is the attendance report. If only one file is dropped, it must be the .
.vtt.csv.vtt本技能期望用户在提示中提供一个或两个文件路径:
- 必填:文件 — WebVTT格式的Teams会议转录文件
.vtt - 可选:文件 — Teams出席报告
.csv
检测方式:检查用户提示中的文件扩展名。如果同时存在两个文件,为转录文件,为出席报告。如果仅提供一个文件,则必须是文件。
.vtt.csv.vttProject Mode Detection
项目模式检测
Before processing, decide whether the current working directory is the hexagone-monorepo project. This sets the routing behavior for the rest of the workflow.
Run these checks (any one of them is sufficient to enter mode):
hexagone-monorepo- Folder layout — AND
docs/reports/foundation/both existdocs/reports/interoperability/ - Git remote — mentions
git remote -vhexagone-monorepo - Package name — root has a
package.jsoncontainingnamehexagone-monorepo
If none match → generic mode.
The user may also explicitly override:
- « mode générique » / « generic mode » → force generic
- « mode hexagone » → force hexagone-monorepo (only valid if the layout exists)
State the detected mode in one short sentence to the user before producing the report (e.g. « Mode détecté : hexagone-monorepo. » or « Mode détecté : générique. »).
处理前,需判断当前工作目录是否为hexagone-monorepo项目,这将决定后续工作流的路由行为。
运行以下检查(满足任意一项即可进入hexagone-monorepo模式):
- 文件夹结构 — 和
docs/reports/foundation/均存在docs/reports/interoperability/ - Git远程仓库 — 输出中包含
git remote -vhexagone-monorepo - 包名称 — 根目录的中
package.json字段包含namehexagone-monorepo
如果均不匹配 → 通用模式。
用户也可手动覆盖模式:
- « mode générique » / « generic mode » → 强制使用通用模式
- « mode hexagone » → 强制使用hexagone-monorepo模式(仅当对应文件夹结构存在时有效)
在生成报告前,需用一句话向用户说明检测到的模式(例如:« 检测到模式:hexagone-monorepo。» 或 « 检测到模式:通用模式。»)。
Workflow
工作流
Step 1: Locate and Read the Files
步骤1:定位并读取文件
- Parse the user prompt for file paths (look for and
.vttextensions).csv - Verify each file exists using Read
- If no is found → stop and ask the user to provide one
.vtt - Read the content entirely
.vtt - Read the content if provided
.csv
- 解析用户提示中的文件路径(查找和
.vtt扩展名).csv - 使用Read工具验证每个文件是否存在
- 如果未找到文件 → 停止操作并要求用户提供该文件
.vtt - 完整读取文件内容
.vtt - 如果提供了文件,则读取其内容
.csv
Step 2: Parse the Transcript
步骤2:解析转录文件
Teams file structure:
.vttWEBVTT
NOTE
Meeting metadata may appear here (date, title, organizer)
00:00:01.000 --> 00:00:04.000
<v Speaker Name>Speech content</v>
00:00:05.000 --> 00:00:08.000
Anonymous speech without voice tagExtract:
- Meeting date — try in this order:
- (a) header content containing a date pattern (ISO
NOTEor FrenchYYYY-MM-DD)DD/MM/YYYY - (b) Filename date pattern (e.g. →
20260410_...vtt)2026-04-10 - (c) Today's date as fallback
- (a)
- Speakers — parse voice tags (may be absent)
<v Speaker Name>...</v> - Content blocks — each timestamped segment is a speaker turn
Teams 文件结构:
.vttWEBVTT
NOTE
会议元数据可能在此处显示(日期、标题、组织者)
00:00:01.000 --> 00:00:04.000
<v 发言人姓名>发言内容</v>
00:00:05.000 --> 00:00:08.000
无语音标签的匿名发言提取以下信息:
- 会议日期 — 按以下优先级尝试获取:
- (a) 头部中包含日期格式的内容(ISO格式
NOTE或法语格式YYYY-MM-DD)DD/MM/YYYY - (b) 文件名中的日期格式(例如→
20260410_...vtt)2026-04-10 - (c) 若以上均未找到,使用当前日期作为 fallback
- (a)
- 发言人 — 解析语音标签(可能不存在)
<v 发言人姓名>...</v> - 内容块 — 每个带时间戳的片段为一次发言
Step 3: Resolve Participants
步骤3:确定参会人员
Priority order:
-
Ifattendance report provided → parse it and extract the
.csvcolumn. Teams attendance CSVs typically contain columns likeName,Name,First Join,Last Leave,Duration,Role. Use names only for theEmailsection.## Participants -
Else ifvoice tags are present in the
<v>→ extract unique speaker names.vtt -
Else → stop and ask the user to provide the participants list before continuing:« La transcription est anonyme et aucun fichier de présence n'est fourni. Peux-tu me donner la liste des participants ? »
优先级顺序:
-
如果提供了出席报告 → 解析文件并提取
.csv列。Teams出席CSV通常包含Name、Name、First Join、Last Leave、Duration、Role等列。仅将姓名用于Email部分。## 参会人员 -
否则,如果文件中存在
.vtt语音标签 → 提取唯一的发言人姓名<v> -
否则 → 停止操作并询问用户提供参会人员列表:« 转录文件为匿名且未提供出席报告,请提供参会人员列表。»
Step 4: Classify the Sub-Domain (hexagone-monorepo mode only)
步骤4:子域分类(仅hexagone-monorepo模式)
Skip this step in generic mode. In generic mode, there is no domain classification — the report goes to a single output folder (see Step 11).
In hexagone-monorepo mode, analyze transcript content for domain signals using the table below (case-insensitive keyword matching):
| Folder | Signals (French / technical keywords) |
|---|---|
| sprint, rétro, rétrospective, point équipe, stand-up, daily, foundation, équipe foundation |
| architecture transversale, cross-domain, LDAP, S3A, S3A settings, permissions utilisateur, rôles, authentification |
| Hexaflux, interopérabilité, interop, HL7, HL7 v2, HL7 v2.5, FHIR, IHE, PAM, ADT, segment, PID, PV1, PV2, NK1, OBX, EVN, MSH, HPK, flux, intégration, message, mapping, broker, Mirth, Rhapsody |
| admission, patient, venue, séjour, dossier patient, pré-admission, AMO, AMC, débiteur, couverture sociale, facturation, valorisation, portail patient, ROC, serveur d'actes, actes, urgences, Diapason |
| RH, ressources humaines, employé, salarié, contrat, paie, MyRHConnect, RH Dossier |
| pharmacie, M21, contentieux, emprunts, trésorerie, HA GHT, immobilisations, achats, fournisseurs, comptabilité générale, Hélios, export comptable |
| design, maquette, Figma, atelier UX, atelier UI, wireframe, écran, prototype, UX/UI |
Classification rule:
Classification is by project/domain, not by team org. The Hexaflux team is organizationally part of the Foundation team but works exclusively on the Hexaflux project (domain = interoperability), so their recurring meetings land in , not . Always check project-specific signals before the generic Foundation standup rule.
interoperability/foundation/- If the meeting is the Hexaflux team recurring meeting (mentions « Hexaflux », or a weekly/standup/rétro involving the HL7/interop scope) →
interoperability/ - Else if the meeting is a Foundation team recurring meeting working on the horizontal/transverse platform (sprint, rétro, daily, point équipe, stand-up — without project-specific scope) →
foundation/ - Interoperability vs. GAP disambiguation. HL7 messages carry patient data (PID, PV1, NK1, etc.) so GAP keywords (patient, admission, séjour, venue) will naturally appear. When HL7/interop signals are present alongside GAP signals, the meeting is about integration, not patient business workflows → classify as . Only classify as
interoperability/when the discussion is about the functional/business side (UI, portail patient, facturation, workflows métier admission) without a technical HL7/message layer.gap/ - Otherwise, count keyword matches per domain folder and pick the folder with the highest count (dominant domain)
- On a tie, prefer the folder whose signals appear earliest in the transcript
- If no signals match at all → ask the user to confirm the target folder
通用模式下跳过此步骤。通用模式下无域分类,报告将输出到单个文件夹(见步骤11)。
在hexagone-monorepo模式下,使用下表中的关键词(不区分大小写)分析转录内容中的域信号:
| 文件夹 | 信号(法语/技术关键词) |
|---|---|
| sprint, rétro, rétrospective, point équipe, stand-up, daily, foundation, équipe foundation |
| architecture transversale, cross-domain, LDAP, S3A, S3A settings, permissions utilisateur, rôles, authentification |
| Hexaflux, interopérabilité, interop, HL7, HL7 v2, HL7 v2.5, FHIR, IHE, PAM, ADT, segment, PID, PV1, PV2, NK1, OBX, EVN, MSH, HPK, flux, intégration, message, mapping, broker, Mirth, Rhapsody |
| admission, patient, venue, séjour, dossier patient, pré-admission, AMO, AMC, débiteur, couverture sociale, facturation, valorisation, portail patient, ROC, serveur d'actes, actes, urgences, Diapason |
| RH, ressources humaines, employé, salarié, contrat, paie, MyRHConnect, RH Dossier |
| pharmacie, M21, contentieux, emprunts, trésorerie, HA GHT, immobilisations, achats, fournisseurs, comptabilité générale, Hélios, export comptable |
| design, maquette, Figma, atelier UX, atelier UI, wireframe, écran, prototype, UX/UI |
分类规则:
分类依据项目/域,而非团队组织架构。Hexaflux团队在组织上属于Foundation团队,但仅专注于Hexaflux项目(域=interoperability),因此他们的常规会议应归类到,而非。在应用通用Foundation站会规则前,务必先检查项目特定信号。
interoperability/foundation/- 如果会议是Hexaflux团队常规会议(提及« Hexaflux »,或涉及HL7/interop范围的每周会议/站会/回顾会)→
interoperability/ - 否则,如果会议是Foundation团队专注于横向平台的常规会议(sprint、回顾会、每日站会、团队例会 — 无项目特定范围)→
foundation/ - Interoperability与GAP的区分。HL7消息包含患者数据(PID、PV1、NK1等),因此GAP关键词(patient、admission、séjour、venue)会自然出现。当HL7/interop信号与GAP信号同时存在时,会议主题为集成,而非患者业务流程 → 归类为。仅当讨论内容为功能/业务层面(UI、患者门户、计费、入院业务流程)且无HL7/消息层技术内容时,才归类为
interoperability/。gap/ - 否则,统计每个域文件夹的关键词匹配数,选择匹配数最多的文件夹(主导域)
- 若出现平局,选择信号最早出现在转录文件中的文件夹
- 如果无匹配信号 → 询问用户确认目标文件夹
Step 5: Extract Meeting Title and Slug
步骤5:提取会议标题和Slug
- Read the first minutes of the transcript for explicit subject references (greetings usually mention the meeting title)
- Infer a clean French meeting title (e.g. )
Atelier UX/UI Recherche Patient - Generate a kebab-case slug from the title:
- Lowercase, ASCII only (strip accents)
- Replace spaces and punctuation with
- - Max ~60 characters
- Example:
atelier-ux-ui-recherche-patient
- 读取转录文件开头几分钟的内容,查找明确的主题提及(问候语通常会提到会议标题)
- 推断清晰的法语会议标题(例如)
Atelier UX/UI Recherche Patient - 根据标题生成短横线分隔的slug:
- 小写,仅使用ASCII字符(去除重音符号)
- 用替换空格和标点符号
- - 最大约60个字符
- 示例:
atelier-ux-ui-recherche-patient
Step 6: Rewrite Content by Topic
步骤6:按主题重写内容
Style: Heavy rewrite, grouped by topic, not chronological, not verbatim.
- Identify the main topics discussed — cluster speaker turns into thematic groups (topic detection, not speaker order)
- For each topic, extract:
- Décisions — concrete decisions made (always present as a subsection)
### Décisions - Point d'attention — ambiguities, unresolved items (optional subsection)
### Point d'attention - Problèmes identifiés — blockers, technical issues, missing dependencies (optional subsection)
### Problèmes identifiés
- Décisions — concrete decisions made (always present as a
- Write in professional French:
- Use "nous" or impersonal tone
- Fix all missing accents aggressively — Teams French transcripts are notoriously bad with accents and punctuation
- Remove filler words — « euh », « du coup », « en fait », repetitions, stammering
- Use emphasis on key terms inside decision bullets
**bold**
- Target length: 800–1500 words for the full report
- Number the sections: ,
## 1. <Topic>, etc.## 2. <Topic> - Do not quote speakers verbatim. The output is a synthesized report, not minutes.
风格: 大幅重写,按主题分组,不按时间顺序,不逐字记录。
- 识别讨论的主要主题 — 将发言按主题分组(主题检测,而非发言顺序)
- 针对每个主题,提取:
- 决议 — 做出的具体决策(始终作为子部分存在)
### 决议 - 注意事项 — 模糊点、未解决事项(可选子部分)
### 注意事项 - 已识别问题 — 阻塞点、技术问题、缺失依赖(可选子部分)
### 已识别问题
- 决议 — 做出的具体决策(始终作为
- 使用专业法语撰写:
- 使用“nous”或客观语气
- 主动修复所有缺失的重音符号 — Teams法语转录文件通常存在重音和标点缺失的问题
- 去除填充词 — « euh »、« du coup »、« en fait »、重复内容、结巴
- 在决议项目符号中使用强调关键术语
**粗体**
- 目标长度: 完整报告800–1500词
- 为章节编号:、
## 1. <主题>等## 2. <主题> - 不要逐字引用发言人。输出内容是综合报告,而非会议记录。
Step 7: Extract Actions
步骤7:提取行动项
Comb the transcript for action items — things to do, follow-ups, commitments, decisions requiring later implementation. Identify for each:
- Action — the thing to do
- Responsable — who was assigned (or « À préciser » if unclear)
- Statut — typical values: ,
À planifier,En cours,En attenteTerminé
Format as a Markdown table. The section is always present at the end of the report. If no actions were identified, write a single row:
## Actionsmarkdown
| Action | Responsable | Statut |
|--------|-------------|--------|
| Aucune action identifiée | — | — |梳理转录文件中的行动项 — 需要完成的任务、跟进事项、承诺、需后续执行的决策。为每个行动项确定:
- 行动 — 具体任务
- 负责人 — 被指派的人员(若不明确则为« 待确认 »)
- 状态 — 典型值:、
待规划、进行中、待处理已完成
格式化为Markdown表格。部分始终位于报告末尾。如果未识别到行动项,写入一行:
## 行动项markdown
| 行动 | 负责人 | 状态 |
|--------|-------------|--------|
| 未识别到行动项 | — | — |Step 8: Decide Whether to Add a Mermaid Diagram
步骤8:决定是否添加Mermaid图表
Add a mermaid diagram only when the content genuinely benefits from visualization. Good triggers:
- Multi-step workflows (e.g. a facturation 6/8/7-step process)
- Decision trees with clear branches
- Sequence of events between multiple actors (e.g. admission → séjour → facturation)
- Data flow between systems
Prefer these diagram types:
- or
flowchart LRfor processes and decisionsflowchart TD - for inter-actor interactions
sequenceDiagram - for project phases
timeline
Place the diagram inside the relevant topic section, not at the top of the report.
Default: no diagram. When in doubt, skip it. A report without a diagram is the norm, not the exception.
仅当内容确实需要可视化时才添加Mermaid图表。适用场景:
- 多步骤工作流(例如6/8/7步计费流程)
- 分支清晰的决策树
- 多角色间的事件序列(例如入院 → 住院 → 计费)
- 系统间的数据流
优先选择以下图表类型:
- 或
flowchart LR用于流程和决策flowchart TD - 用于角色间交互
sequenceDiagram - 用于项目阶段
timeline
将图表放置在相关主题章节内,而非报告顶部。
默认:不添加图表。如有疑问,跳过图表。无图表是常态,而非例外。
Step 9: Assemble the Report
步骤9:组装报告
Use this exact template:
markdown
undefined使用以下精确模板:
markdown
undefinedCompte-rendu — <Type de réunion> <Sujet>
会议纪要 — <会议类型> <主题>
Date : DD/MM/YYYY
Organisateur : <Nom> (<Rôle>)
日期: DD/MM/YYYY
组织者: <姓名> (<职位>)
Participants
参会人员
<Nom1>, <Nom2>, <Nom3>, ...
<姓名1>, <姓名2>, <姓名3>, ...
1. <Topic 1>
1. <主题1>
Décisions
决议
- <Key term> : <decision>
- ...
- <关键术语> : <决策内容>
- ...
Point d'attention
注意事项
<Optional paragraph — only when there is an ambiguity or unresolved item>
<可选段落 — 仅当存在模糊点或未解决事项时>
Problèmes identifiés
已识别问题
- <Optional bullet list — only when problems were raised>
- <可选项目符号列表 — 仅当提出问题时>
2. <Topic 2>
2. <主题2>
Décisions
决议
- ...
<...as many topics as needed...>
- ...
<...根据需要添加更多主题...>
Actions
行动项
| Action | Responsable | Statut |
|---|---|---|
| ... | ... | ... |
**Rules:**
- **No YAML front-matter**
- **Date in French format** `DD/MM/YYYY` in the body (ISO only in the filename)
- **Participants** is a single comma-separated line, not a table, no roles
- **Organisateur**: if identifiable from transcript/csv, write `**Organisateur :** Nom (Rôle)`. If not identifiable, write `**Organisateur :** À préciser`
- `---` horizontal rule separator between topics
- `## Actions` always at the very end| 行动 | 负责人 | 状态 |
|---|---|---|
| ... | ... | ... |
**规则:**
- **无YAML前置元数据**
- **报告正文中使用法语日期格式** `DD/MM/YYYY`(文件名中使用ISO格式)
- **参会人员**为单行逗号分隔列表,不使用表格,不包含职位
- **组织者**:如果可从转录文件/csv中识别,写入`**组织者:** 姓名(职位)`。如果无法识别,写入`**组织者:** 待确认`
- 使用`---`水平分隔线分隔主题
- `## 行动项`始终位于报告最末尾Step 10: Determine the Filename
步骤10:确定文件名
hexagone-monorepo mode:
- Foundation team meetings (folder) →
foundation/(date only, no slug — one standing team meeting per day maximum)YYYY-MM-DD.md - All other folders →
YYYY-MM-DD-<slug>.md
Generic mode:
- Always
YYYY-MM-DD-<slug>.md
The filename always uses the ISO date format , different from the French used in the report body.
YYYY-MM-DDDD/MM/YYYYhexagone-monorepo模式:
- Foundation团队会议(文件夹)→
foundation/(仅日期,无slug — 每天最多一个固定团队会议)YYYY-MM-DD.md - 所有其他文件夹 →
YYYY-MM-DD-<slug>.md
通用模式:
- 始终使用
YYYY-MM-DD-<slug>.md
文件名始终使用ISO日期格式 ,与报告正文中使用的法语格式不同。
YYYY-MM-DDDD/MM/YYYYStep 11: Resolve the Output Folder and Write the File
步骤11:确定输出文件夹并写入文件
hexagone-monorepo mode:
- Target path:
docs/reports/<sub-domain>/<filename>.md - Verify the sub-domain folder exists (). If missing, create it.
ls docs/reports/<sub-domain>/
Generic mode:
- Pick the first existing folder among:
docs/reports/docs/meetings/meetings/reports/
- If none exists, create and use it.
docs/reports/ - Target path:
<chosen-folder>/<filename>.md
Common to both modes:
- Check if a file with the same name already exists — if yes, append ,
-2, etc. before writing (do NOT overwrite)-3 - Write the file with the Write tool
hexagone-monorepo模式:
- 目标路径:
docs/reports/<子域>/<文件名>.md - 验证子域文件夹是否存在()。如果不存在,则创建该文件夹。
ls docs/reports/<子域>/
通用模式:
- 按以下顺序选择第一个存在的文件夹:
docs/reports/docs/meetings/meetings/reports/
- 如果均不存在,创建并使用该文件夹。
docs/reports/ - 目标路径:
<选定文件夹>/<文件名>.md
两种模式通用规则:
- 检查是否存在同名文件 — 如果存在,在写入前追加、
-2等后缀(不要覆盖现有文件)-3 - 使用Write工具写入文件
Step 12: Report to the User
步骤12:向用户反馈
Show a concise summary:
- ✓ Mode: or
hexagone-monorepogeneric - ✓ Target path
- One-line summary: (sub-domain in hexagone mode), number of topics, number of actions, number of participants
- Note any fallback that was triggered (no attendance CSV, no voice tags, today's date used because no date found, default folder created, etc.)
- Stop. Do not run ,
git add, orgit commit. The user commits the file manually after review.git push
显示简洁的摘要:
- ✓ 模式:或
hexagone-monorepogeneric - ✓ 目标路径
- 一行摘要:(hexagone模式下显示子域)、主题数量、行动项数量、参会人数
- 说明触发的任何fallback操作(无出席CSV、无语音标签、因未找到日期使用当前日期、创建默认文件夹等)
- 停止操作。不要执行、
git add或git commit。用户需在审核后手动提交文件。git push
Important Notes
重要说明
- Project-agnostic by default. Sub-domain classification and routing only apply when the hexagone-monorepo project is detected.
docs/reports/<sub-domain>/ - No redaction or pseudonymization. Team meetings are considered internal and trusted. Names and content may appear verbatim in reports.
- No git actions. The skill writes the file and stops. Commit and push are manual.
- Rewrite heavily — do not transcribe. The output is a thematic synthesis, not chronological minutes.
- Fix French accents aggressively. Teams French transcripts routinely miss accents and punctuation.
.vtt - Foundation date-only naming applies only in hexagone-monorepo mode. Generic mode always uses .
YYYY-MM-DD-<slug>.md - Mermaid is optional, rare, and only when useful. Default is no diagram.
- Participants fallback order: first, then
.csvvoice tags, then ask the user. Never invent names.<v> - Never overwrite an existing report. Append a numeric suffix if a file with the same name already exists.
- 默认支持任意项目。仅当检测到hexagone-monorepo项目时,才会应用子域分类和路由规则。
docs/reports/<子域>/ - 不进行编辑或匿名化。团队会议视为内部可信内容。姓名和内容可能直接出现在报告中。
- 不执行Git操作。本技能仅写入文件后停止。提交和推送需手动完成。
- 大幅重写 — 不逐字转录。输出内容是主题综合报告,而非按时间顺序的会议记录。
- 主动修复法语重音符号。Teams .vtt法语转录文件通常存在重音和标点缺失的问题。
- Foundation仅日期命名规则仅适用于hexagone-monorepo模式。通用模式始终使用。
YYYY-MM-DD-<slug>.md - Mermaid图表为可选,仅在必要时添加。默认不添加图表。
- 参会人员fallback顺序: .csv优先,其次是语音标签,最后询问用户。切勿编造姓名。
<v> - 切勿覆盖现有报告。如果存在同名文件,追加数字后缀。
Examples
示例
Example 1: Generic project, simple meeting
示例1:通用项目,简单会议
User: crée un compte-rendu de cette transcription Teams /tmp/kickoff.vtt
→ Detection: no docs/reports/foundation/ found → generic mode
→ Skill reads the .vtt
→ Parses <v> voice tags → 5 speakers
→ Extracts date 2026-04-22
→ Picks docs/reports/ (exists) as output folder
→ Writes docs/reports/2026-04-22-kickoff-projet.md
→ Reports: « Mode détecté : générique. »用户:为这份Teams转录创建会议纪要 /tmp/kickoff.vtt
→ 检测:未找到docs/reports/foundation/ → 通用模式
→ 技能读取.vtt文件
→ 解析<v>语音标签 → 5位发言人
→ 提取日期2026-04-22
→ 选择docs/reports/(已存在)作为输出文件夹
→ 写入docs/reports/2026-04-22-kickoff-projet.md
→ 反馈:« 检测到模式:通用模式。»Example 2: Generic project, no docs/reports folder yet
示例2:通用项目,尚未创建docs/reports文件夹
User: génère le compte-rendu /tmp/atelier.vtt /tmp/attendees.csv
→ Detection: generic mode
→ No docs/reports/, no docs/meetings/, no meetings/, no reports/ → creates docs/reports/
→ Writes docs/reports/2026-04-15-atelier-architecture.md
→ Reports: « Mode détecté : générique. Dossier docs/reports/ créé. »用户:生成会议纪要 /tmp/atelier.vtt /tmp/attendees.csv
→ 检测:通用模式
→ 无docs/reports/、无docs/meetings/、无meetings/、无reports/ → 创建docs/reports/
→ 写入docs/reports/2026-04-15-atelier-architecture.md
→ 反馈:« 检测到模式:通用模式。已创建docs/reports/文件夹。»Example 3 (hexagone-monorepo): UX/UI atelier with attendance CSV
示例3(hexagone-monorepo):带出席CSV的UX/UI工作坊
User: crée un compte-rendu de cette transcription Teams /tmp/atelier_recherche_patient.vtt /tmp/attendees.csv
→ Detection: docs/reports/foundation/ + interoperability/ exist → hexagone-monorepo mode
→ Skill reads both files
→ Extracts date from .vtt NOTE header: 2026-03-18
→ Participants from .csv: Chloé Julenon, Richard Gill, Adrien Marcos, Myriam Fatoux, Damien Battistella
→ Detects ui-ux signals (atelier, écran, maquette, recherche patient)
→ Classifies as ui-ux/
→ Writes docs/reports/ui-ux/2026-03-18-atelier-recherche-patient.md用户:为这份Teams转录创建会议纪要 /tmp/atelier_recherche_patient.vtt /tmp/attendees.csv
→ 检测:docs/reports/foundation/ 和 interoperability/ 均存在 → hexagone-monorepo模式
→ 技能读取两个文件
→ 从.vtt的NOTE头部提取日期:2026-03-18
→ 从.csv获取参会人员:Chloé Julenon, Richard Gill, Adrien Marcos, Myriam Fatoux, Damien Battistella
→ 检测到ui-ux信号(atelier、écran、maquette、recherche patient)
→ 归类为ui-ux/
→ 写入docs/reports/ui-ux/2026-03-18-atelier-recherche-patient.mdExample 4 (hexagone-monorepo): Foundation team sprint review, no CSV
示例4(hexagone-monorepo):Foundation团队sprint评审,无CSV
User: génère le compte-rendu de cette réunion /tmp/sprint_review.vtt
→ Detection: hexagone-monorepo mode
→ Parses <v Speaker> voice tags → extracts 4 speakers
→ Extracts date from NOTE header: 2026-04-10
→ Detects foundation signals (sprint, rétro, point équipe)
→ Classifies as foundation/
→ Uses date-only naming
→ Writes docs/reports/foundation/2026-04-10.md用户:生成这次会议的纪要 /tmp/sprint_review.vtt
→ 检测:hexagone-monorepo模式
→ 解析<v 发言人>语音标签 → 提取4位发言人
→ 从NOTE头部提取日期:2026-04-10
→ 检测到foundation信号(sprint、rétro、point équipe)
→ 归类为foundation/
→ 使用仅日期命名规则
→ 写入docs/reports/foundation/2026-04-10.mdExample 5: Anonymous transcript with no CSV (any mode)
示例5:匿名转录且无CSV(任意模式)
User: transforme cette transcription en rapport /tmp/meeting.vtt
→ No <v> tags found
→ No .csv provided
→ Stops and asks: « La transcription est anonyme et aucun fichier de présence n'est fourni. Peux-tu me donner la liste des participants ? »
→ Waits for the user, then continues with the provided names用户:把这份转录转换成报告 /tmp/meeting.vtt
→ 未找到<v>标签
→ 未提供.csv文件
→ 停止操作并询问:« 转录文件为匿名且未提供出席报告,请提供参会人员列表。»
→ 等待用户提供姓名后继续操作Example 6 (hexagone-monorepo): Hexaflux weekly — HL7 discussion, not GAP
示例6(hexagone-monorepo):Hexaflux每周会议 — HL7讨论,非GAP
User: crée un compte-rendu /tmp/hexaflux_weekly.vtt
→ Detection: hexagone-monorepo mode
→ Detects HL7 / ADT / PID / PV1 / NK1 / OBX / segment / mapping signals
→ Patient and admission keywords are present BUT tied to HL7 message segments, not business workflows
→ Applies the interop-vs-gap disambiguation rule → picks interoperability/
→ Writes docs/reports/interoperability/2026-04-17-hexaflux-weekly.md用户:创建会议纪要 /tmp/hexaflux_weekly.vtt
→ 检测:hexagone-monorepo模式
→ 检测到HL7 / ADT / PID / PV1 / NK1 / OBX / segment / mapping信号
→ 存在patient和admission关键词,但与HL7消息段相关,而非业务流程
→ 应用interop与gap区分规则 → 选择interoperability/
→ 写入docs/reports/interoperability/2026-04-17-hexaflux-weekly.md