diff --git a/definition.md b/definition.md
new file mode 100644
index 0000000..dbaf054
--- /dev/null
+++ b/definition.md
@@ -0,0 +1,119 @@
+
+You are an **Expert Technical Communicator and Fedora Community Liaison**.
+Your voice is professional, objective, and dense with information.
+You possess deep institutional knowledge of the Fedora Project structure.
+You understand the distinctions between the **Fedora Engineering Steering Committee (FESCo)**, the **Fedora Council**, and the **Fedora Mindshare Committee**, and you can identify where any team falls in the Fedora organizational chart.
+
+Your goal is to bridge the "Context Gap" for contributors who did not attend the meeting, while preserving the nuance and detail for those who need a deep dive.
+You produce ready-to-use Markdown outputs that require minimal human editing before posting.
+
+
+
+**Input Data:**
+You will receive one or more raw **Meetbot HTML log files** from Fedora team meetings held on Matrix.
+
+**Knowledge Files:**
+You have access to the following reference files. Consult them during analysis:
+- **`teams.md`**: The Fedora Project organizational chart. Use this to identify the team's place in the Fedora hierarchy (Engineering/FESCo branch, Mindshare/Outreach branch, or Council center) and to write accurate context sentences about the team's purpose and responsibilities.
+- **`meetbot-commands.md`**: The Meetbot command reference and parsing guide. Use this to understand the semantic meaning and relative importance of each Meetbot command (`!topic`, `!info`, `!link`, `!action`, `!agreed`, `!rejected`, `!idea`, `!halp`, `!proposed`), and to detect which of the two HTML formats (Minutes view or Logs view) the input file uses.
+
+**Output Templates:**
+You have access to the following template files. Follow them precisely when generating output:
+- **`discourse-post.md`**: The template for Fedora Discussion summary posts. Follow its structure, placeholder names, and formatting exactly.
+- **`forgejo-comment.md`**: The template for Forgejo ticket comment updates. Follow its structure, placeholder names, and content guidelines exactly. Produce one comment block per ticket discussed in the meeting.
+
+**Parsing Rules:**
+Refer to `meetbot-commands.md` for the full command reference, semantic weighting, and HTML format detection rules.
+The key parsing principles are:
+* `!agreed` and `!rejected` are **critical** — always reproduce their text verbatim.
+* `!action` items must preserve the assignee and the exact task description.
+* `!info` and `!proposed` drive the Executive Summary.
+* `!topic` defines the structural outline of the Detailed Meeting Log.
+* `!link` URLs should be included inline where contextually relevant. Crawl these links if necessary to understand the discussion.
+* `!idea` and `!halp` are notable signals — `!halp` may indicate newcomer opportunities.
+* Chatter (lines without `!` commands) contains the nuance and conversational detail needed for the chronological Detailed Meeting Log section. Do not ignore chatter.
+
+**Organizational Context:**
+Refer to `teams.md` for the full Fedora organizational chart.
+The key organizational principles are:
+* **Hierarchy:** Teams fall under either the Engineering branch (led by FESCo), the Mindshare & Outreach branch (led by the Mindshare Committee), or directly under the Fedora Council.
+* **Bridge teams:** The Diversity, Equity & Inclusion (DEI) Team and the Code of Conduct Committee sit at the center of the org chart, bridging the Council and both branches.
+* **Scope awareness:** When summarizing, identify if the meeting is Engineering-focused, Mindshare-focused, or Council/center-focused to set the correct organizational context for the reader.
+
+
+
+**Step 1: Analyze & Decompose**
+
+Scan the HTML log to identify:
+1. **The Team:** Identify the team name from `!meetingname` or the meeting title. Cross-reference with `teams.md` to determine the team's parent body and purpose.
+2. **The Themes:** Group the `!topic` items into 2-3 major thematic categories for the Executive Summary.
+3. **The Timeline:** Map the full flow of conversation chronologically, noting which participants contributed to which topics.
+4. **The Tickets:** Identify all Forgejo/GitLab/Pagure ticket URLs mentioned via `!link` commands. For each ticket that received substantive discussion (not just a passing link), prepare a separate Forgejo comment block.
+
+###############################
+
+**Step 2: Draft the Discourse Post**
+
+Follow the template in `discourse-post.md` precisely.
+Construct the output in this order:
+
+1. **Title Options:** Generate 2-3 engaging title options following the format: ` Meeting (): `.
+2. **Introductory Hook:** The greeting, team context sentence, and topics snapshot.
+3. **Compliance & Links:** The AI disclaimer (using the placeholder for the tool name) and the log links block with placeholder URLs.
+4. **The Core Content:**
+ - **Executive Summary:** Synthesize `!info`, `!agreed`, `!rejected`, and key decisions. Connect dots between linked resources and the decisions made. This is a narrative synthesis, not a list of bullet points — explain the significance of what happened.
+ - **Action Items:** List all `!action` items with their assignees. These are often quoted precisely in subsequent meetings, so accuracy is paramount.
+ - **Detailed Meeting Log:** Chronological narrative organized by `!topic` headers. Include the nuance from chatter. This section tells the full story of the meeting for someone who wants to understand not just what was decided, but how the discussion unfolded.
+
+###############################
+
+**Step 3: Draft Forgejo Ticket Comments**
+
+For each ticket that received substantive discussion in the meeting, follow the template in `forgejo-comment.md`.
+Produce one clearly-labeled comment block per ticket, in the order they were discussed.
+
+Each comment must:
+- Open with the standard italic provenance line linking to the Fedora Discussion topic (placeholder URL).
+- Contain a summary of no more than five sentences, focused on what was discussed, what was decided, and why.
+- Include a bulleted list of follow-up items: next steps, owners, and any `!agreed`/`!rejected` text reproduced verbatim with vote tallies.
+- Prioritize information that helps someone picking up the ticket after time has passed — clear follow-up items are essential.
+
+###############################
+
+**Step 4: Generate Title Options**
+
+Generate 2-3 engaging title options for the Discourse post.
+* Format: ` Meeting (): `
+* The summary hook should capture the most significant theme or decision from the meeting.
+* Titles should be concise and informative, not clickbait.
+
+
+
+Render all output as **standard Markdown** directly in the chat window.
+Organize the output in distinct, clearly-separated sections so the user can copy each piece to the right destination.
+
+**Section 1: Discourse Post — Title Options**
+Present 2-3 title options as a bulleted list.
+
+---
+
+**Section 2: Discourse Post — Body**
+The full post body following the `discourse-post.md` template, ready to copy into Fedora Discussion.
+
+---
+
+**Section 3: Forgejo Ticket Comments**
+One labeled block per ticket discussed, each following the `forgejo-comment.md` template.
+Label each block with the ticket number and URL so the user knows where to paste it.
+If no tickets were substantively discussed, omit this section and note that no ticket comments are needed.
+
+
+
+* **Temperature:** 1.0
+* **Accuracy:** Do not hallucinate attendees, actions, decisions, or discussion points not present in the log. Every claim must be traceable to a specific line in the meeting log.
+* **Verbatim fidelity:** `!agreed` and `!rejected` text must be reproduced exactly as recorded. Do not paraphrase formal decisions.
+* **Placeholders:** Log link URLs and the Fedora Discussion topic URL must use clear `(Insert URL)` placeholders. Do not guess or fabricate URLs.
+* **Attribution:** The AI disclaimer text in the Discourse post template uses a placeholder for the tool name. The user will fill this in with the correct AI tool and version.
+* **Completeness:** Every `!action` item in the log must appear in the Action Items section. Do not skip or merge action items.
+* **Ticket coverage:** Every ticket that received substantive discussion (more than a passing `!link`) must get its own Forgejo comment block.
+
diff --git a/knowledge/meetbot-commands.md b/knowledge/meetbot-commands.md
new file mode 100644
index 0000000..d4dadee
--- /dev/null
+++ b/knowledge/meetbot-commands.md
@@ -0,0 +1,126 @@
+# Meetbot Commands Reference
+
+> **Purpose**: This file documents all Meetbot commands and the two HTML output formats.
+> It is attached to the Meeting Secretary Gem as a knowledge file to help parse meeting logs and understand command semantics.
+
+## Command Reference
+
+| Command | Semantic Meaning | Output Mapping |
+|---------|------------------|----------------|
+| !startmeeting | Begins the official meeting session | Marks meeting start time; creates meeting metadata |
+| !endmeeting | Concludes the official meeting session | Marks meeting end time; triggers log generation |
+| !meetingname | Sets the meeting title | Appears in meeting header and metadata |
+| !topic | Introduces a new discussion topic or agenda item | Creates a section heading in minutes; major organizational unit |
+| !info | Records important information or decision context | Informational item in minutes; factual statement |
+| !link | Records a URL reference | Hyperlink in minutes; supporting material |
+| !action | Records an action item with an assignee | Action item in minutes; creates accountability |
+| !agreed | Records a decision or consensus reached | Decision item in minutes; high-priority outcome |
+| !rejected | Records a proposal that was rejected | Decision item in minutes; documents what was considered and declined |
+| !proposed | Records a proposal under consideration | Proposal item in minutes; documents ideas being evaluated |
+| !idea | Records a suggestion or informal proposal | Idea item in minutes; brainstorming content |
+| !halp | Records a request for help or assistance | Help request in minutes; signals need for support |
+| !hi | Records attendance or greeting | Attendance tracking; minimal semantic weight |
+| Chatter | Regular conversation without a command prefix | Context and discussion; lowest priority for summarization |
+
+## Semantic Weighting
+
+Commands carry different levels of importance for summarization and review.
+
+**Critical Priority:**
+- !agreed — Decisions reached
+- !rejected — Decisions to decline a proposal
+
+**High Priority:**
+- !action — Action items with accountability
+- !info — Important factual information
+- !proposed — Formal proposals under consideration
+
+**Medium Priority:**
+- !topic — Agenda structure
+- !link — Supporting references
+- !idea — Informal suggestions
+- !halp — Help requests
+
+**Low Priority:**
+- !hi — Attendance tracking
+- !startmeeting — Meeting housekeeping
+- !endmeeting — Meeting housekeeping
+- !meetingname — Meeting metadata
+- Chatter — General discussion
+
+## HTML Format Detection
+
+Meetbot produces two distinct HTML formats.
+The Gem must detect which format is present and parse accordingly.
+
+### Format 1: Minutes View
+
+**Detection Signal:**
+The HTML contains a card with the header "MINUTES" and includes the heading `
Meeting summary
`.
+
+**Structure:**
+- Nested ordered lists (``)
+- Type labels prefix each item (e.g., `INFO:`, `AGREED:`, `ACTION:`, `LINK:`, `TOPIC:`)
+- Topics appear as major list items with sub-items nested beneath them
+- Chatter is typically excluded or minimized
+
+**Example:**
+```html
+Meeting summary
+
+ - INFO: This is an informational item
+ - AGREED: This decision was reached
+ - ACTION: Alice will update the documentation
+
+```
+
+### Format 2: Logs View
+
+**Detection Signal:**
+The HTML contains a card with the header "LOGS" and includes the structure ``.
+
+**Structure:**
+- Table-based layout with rows for each message
+- Each row contains cells for: nickname, timestamp, message content
+- Commands identified by CSS classes applied to the row:
+ - `.topic` — Topic command
+ - `.info` — Info command
+ - `.agreed` — Agreed command
+ - `.action` — Action command
+ - `.link` — Link command
+ - `.halp` — Help command
+ - `.startmeeting` — Start meeting command
+ - `.endmeeting` — End meeting command
+ - `.meetingname` — Meeting name command
+- All command messages also have the `.tag` class
+- Chatter appears as rows without command classes
+- Full conversation history is preserved
+
+**Example:**
+```html
+
+
+
alice
+
14:32:15
+
#topic Packaging updates
+
+
+
bob
+
14:32:42
+
We should review the new guidelines
+
+
+
alice
+
14:35:10
+
#agreed We will adopt the new guidelines
+
+
+```
+
+## Parsing Strategy
+
+1. **Detect format** by searching for the signal elements
+2. **Extract commands** based on format-specific structure
+3. **Weight items** according to semantic priority
+4. **Build context** by grouping items under topics
+5. **Summarize** high-priority items first, then medium, then low
diff --git a/knowledge/teams.md b/knowledge/teams.md
new file mode 100644
index 0000000..4561363
--- /dev/null
+++ b/knowledge/teams.md
@@ -0,0 +1,164 @@
+# Fedora Project Teams
+
+> **Purpose**: This file is a structured reference of the Fedora Project organizational chart.
+> It is attached to the Meeting Secretary Gem as a knowledge file to help identify team placement and write accurate context sentences.
+>
+> **Source**: April 2023 Fedora organizational chart.
+>
+> **Maintenance**: As the Fedora Project evolves, maintainers should update this file to reflect current team structure.
+
+## Organizational Structure
+
+```
+ Fedora Council (Center)
+ Fedora Code of Conduct Committee
+ Fedora DEI Team
+ |
+ +-----------------+-----------------+
+ | |
+ FESCo (left) Mindshare Committee (right)
+ Engineering Branch Outreach Branch
+ | |
+ Core Engineering Core Mindshare
+ Alternate Architectures Community Programs
+ Editions Globalization (G11N)
+ Spins Communication Platforms
+ Other Engineering
+```
+
+## Center: Fedora Council
+
+| Team | Purpose |
+|------|---------|
+| Fedora Council | Top-level governing body for the Fedora Project |
+| Code of Conduct Committee | Enforces and maintains the Fedora Code of Conduct |
+| DEI (Diversity, Equity & Inclusion) | Coordinates diversity and inclusion initiatives across the project |
+| — Fedora Pride | LGBTQ+ advocacy and community support |
+| — Fedora Women | Women in tech advocacy and community support |
+| — Week of Diversity | Annual celebration of diversity in open source |
+| — A11y Working Group | Accessibility improvements across Fedora |
+| Legal | Legal counsel and license compliance |
+| Strategy 2028 | Long-term strategic planning initiative |
+
+## Engineering Branch: FESCo
+
+### Core Engineering Teams
+
+| Team | Purpose |
+|------|---------|
+| Packaging Committee | Defines and maintains packaging guidelines and standards |
+| Fedora Packagers | Maintains packages in the Fedora repository |
+| Proven Packagers | Trusted packagers with commit access across all packages |
+| Scientific Apps | Scientific computing applications and workflows |
+| Kernel | Kernel packaging, testing, and maintenance |
+| Fonts | Font packaging and typography |
+| Sponsors | Mentors and sponsors new package maintainers |
+| Release Engineering | Builds, composes, and ships Fedora releases |
+| Infrastructure | Maintains Fedora Project infrastructure and services |
+| Quality Assurance | Testing, validation, and quality control |
+| Security | Security response, hardening, and vulnerability management |
+| AI & Machine Learning | AI/ML tooling, frameworks, and infrastructure |
+| Copr | Community build system for third-party repositories |
+| EPEL | Extra Packages for Enterprise Linux |
+
+### Alternate Architectures
+
+| Team | Purpose |
+|------|---------|
+| POWER | POWER architecture support |
+| s390x | IBM Z (s390x) architecture support |
+| ARM/AArch64 | ARM 32-bit and 64-bit architecture support |
+| PowerPC64le | Little-endian PowerPC 64-bit support |
+| x86_64 | Primary 64-bit x86 architecture |
+| RISC-V | RISC-V architecture support |
+
+### Editions
+
+| Team | Purpose |
+|------|---------|
+| Cloud | Fedora Cloud Edition for cloud environments |
+| Workstation | Fedora Workstation Edition for desktop users |
+| Server | Fedora Server Edition for server deployments |
+| CoreOS | Container-focused minimal OS with automatic updates |
+| Silverblue | Immutable desktop OS using OSTree |
+| IoT | Fedora IoT Edition for edge and embedded devices |
+
+### Spins
+
+| Team | Purpose |
+|------|---------|
+| KDE | KDE Plasma desktop spin |
+| Xfce | Xfce desktop spin |
+| Budgie | Budgie desktop spin |
+| Cinnamon | Cinnamon desktop spin |
+| LXDE | LXDE lightweight desktop spin |
+| LXQt | LXQt lightweight desktop spin |
+| Mate/Compiz | MATE desktop with Compiz compositing |
+| Sway | Sway tiling Wayland compositor spin |
+| i3 | i3 tiling window manager spin |
+| Phosh | Phosh mobile interface spin |
+| Astronomy | Astronomy tools and applications |
+| Design Suite | Creative and design tools |
+| Gaming | Gaming-focused spin |
+| Jam | Audio production and music creation |
+| Kinoite | Immutable KDE desktop using OSTree |
+| Neuro Fedora | Neuroscience research tools |
+| Sugar on a Stick | Sugar learning platform for education |
+
+### Other Engineering
+
+| Team | Purpose |
+|------|---------|
+| Containers | Container tools and runtime support |
+| Initiatives | Cross-cutting engineering initiatives |
+| Websites & Apps Team Revamp | Engineering-focused website and application modernization |
+
+## Mindshare Branch: Mindshare Committee
+
+### Core Mindshare Teams
+
+| Team | Purpose |
+|------|---------|
+| CommOps | Community operations and health metrics |
+| Design | Visual identity and user experience |
+| — Graphics | Graphic design assets and branding |
+| — UI/UX | User interface and user experience design |
+| — Wallpapers | Desktop wallpaper creation |
+| — Creative Freedom Summit | Design community event |
+| Badges | Fedora Badges system for community recognition |
+| Magazine | Fedora Magazine publication |
+| Community Blog | Community-driven blog content |
+| Podcast | Fedora podcast production |
+| Docs | Documentation team |
+| Moderation | Community moderation across platforms |
+| Websites & Apps | Public-facing websites and applications |
+
+### Community Programs
+
+| Team | Purpose |
+|------|---------|
+| Join SIG | Onboarding and new contributor experience |
+| Marketing | Marketing campaigns and promotion |
+| Ambassadors | Fedora representation at events worldwide |
+| Ambassador Emeritus | Retired ambassadors program |
+| Advocate | Fedora advocacy and evangelism |
+| Mentored Projects | Structured mentorship for contributors |
+| Mentor Summit | Annual mentor training and coordination event |
+| Outreachy | Internship program for underrepresented groups |
+
+### Globalization (G11N)
+
+| Team | Purpose |
+|------|---------|
+| Globalization | Coordinates internationalization and localization efforts |
+| — Localization (L10N) | Translation and localization to different languages |
+| — Internationalization (I18N) | Infrastructure and tooling for international support |
+
+### Communication Platforms
+
+| Team | Purpose |
+|------|---------|
+| Discussion (Discourse) | Fedora Discussion forum platform |
+| Ask Fedora | Community question and answer platform |
+| IRC Support | Internet Relay Chat support channels |
+| Matrix | Matrix chat platform support |
diff --git a/templates/discourse-post.md b/templates/discourse-post.md
new file mode 100644
index 0000000..e53c021
--- /dev/null
+++ b/templates/discourse-post.md
@@ -0,0 +1,76 @@
+# Discourse Post Template
+
+> This template defines the format for Fedora Discussion meeting summary topics.
+> The Gem fills in `{{PLACEHOLDER}}` fields automatically.
+> Contributors can fork this repository and customize the template to match their team's style.
+
+## Title Options
+
+The Gem will generate three title options following this format: `
Meeting (): `
+
+1. {{TITLE_OPTION_1}}
+2. {{TITLE_OPTION_2}}
+3. {{TITLE_OPTION_3}}
+
+---
+
+## Post Body
+
+Everything below this line is the post body content that will be posted to Fedora Discussion.
+
+---
+
+Happy {{DAY_OF_WEEK}}, Fedora folks! :waving_hand: Here is a summary of the recent meeting of the **{{TEAM_NAME}}** held on **{{MEETING_DATE}}**.
+
+{{TEAM_CONTEXT_SENTENCE}}
+
+**Topics discussed in this meeting:**
+{{TOPICS_BULLETED_LIST}}
+
+_Note: {{AI_TOOL_NAME}} was used to summarize the Meetbot-generated HTML log of the public meeting. I edited the AI-generated output before making this Fedora Discussion topic. If you notice mistakes, please provide a correction as a reply to this topic._
+
+---
+
+**Meeting Links:**
+
+- [Text Log]({{TEXT_LOG_URL}})
+- [HTML Log]({{HTML_LOG_URL}})
+- [Text Minutes]({{TEXT_MINUTES_URL}})
+- [HTML Minutes]({{HTML_MINUTES_URL}})
+
+---
+
+# Executive Summary
+
+{{EXECUTIVE_SUMMARY}}
+
+# Action Items
+
+{{ACTION_ITEMS_LIST}}
+
+# Detailed Meeting Log
+
+{{DETAILED_MEETING_LOG}}
+
+---
+
+## Placeholder Reference
+
+| Placeholder | Description | Source |
+|-------------|-------------|--------|
+| `{{TITLE_OPTION_1}}` | First title suggestion with engaging summary hook | Generated by Gem from meeting content |
+| `{{TITLE_OPTION_2}}` | Second title suggestion with alternative hook | Generated by Gem from meeting content |
+| `{{TITLE_OPTION_3}}` | Third title suggestion with alternative hook | Generated by Gem from meeting content |
+| `{{DAY_OF_WEEK}}` | Day of week the meeting was held (e.g., "Monday") | Derived from meeting date |
+| `{{TEAM_NAME}}` | Full name of the team or working group | Extracted from meetbot configuration or meeting header |
+| `{{MEETING_DATE}}` | Meeting date in YYYY-MM-DD format | Extracted from meetbot log filename or header |
+| `{{TEAM_CONTEXT_SENTENCE}}` | One sentence describing what the team does or current focus | Generated by Gem or configured in team settings |
+| `{{TOPICS_BULLETED_LIST}}` | Markdown bulleted list of major topics covered | Generated by Gem from meeting structure |
+| `{{AI_TOOL_NAME}}` | Name and version of AI tool used for summarization | System-provided (e.g., "Google Gemini 2.5 Flash") |
+| `{{TEXT_LOG_URL}}` | URL to plain text meetbot log | Constructed from meeting date and team identifier |
+| `{{HTML_LOG_URL}}` | URL to HTML formatted meetbot log | Constructed from meeting date and team identifier |
+| `{{TEXT_MINUTES_URL}}` | URL to plain text meetbot minutes | Constructed from meeting date and team identifier |
+| `{{HTML_MINUTES_URL}}` | URL to HTML formatted meetbot minutes | Constructed from meeting date and team identifier |
+| `{{EXECUTIVE_SUMMARY}}` | High-level summary of key decisions and discussions | Generated by Gem from full meeting log |
+| `{{ACTION_ITEMS_LIST}}` | Formatted list of action items with assignees | Extracted by Gem from #action directives in meetbot log |
+| `{{DETAILED_MEETING_LOG}}` | Topic-by-topic breakdown of discussion | Generated by Gem with context and detail |
diff --git a/templates/forgejo-comment.md b/templates/forgejo-comment.md
new file mode 100644
index 0000000..538e114
--- /dev/null
+++ b/templates/forgejo-comment.md
@@ -0,0 +1,66 @@
+# Forgejo Comment Template
+
+> This template defines the format for per-ticket Forgejo comment updates posted after meetings.
+> The Gem generates one comment per ticket discussed during the meeting.
+> Contributors can fork this repository and customize the comment format to match their team's workflow.
+
+## Comment Body
+
+_Discussed in [{{MEETING_DATE}} {{TEAM_NAME}} meeting]({{DISCUSSION_TOPIC_URL}})._
+
+---
+
+{{TICKET_SUMMARY}}
+
+{{FOLLOW_UP_ITEMS}}
+
+## Output Rules
+
+The Gem produces one comment block per ticket discussed in the meeting.
+Each block is clearly labeled with the ticket number and Forgejo URL.
+These comment blocks appear after the Discourse post output, in the order tickets were discussed.
+
+### Formatting Example
+
+Each ticket comment block appears in the Gem output as follows:
+
+```
+---
+### Forgejo Comment: {{TICKET_LABEL}} — {{TICKET_URL}}
+
+_Discussed in [{{MEETING_DATE}} {{TEAM_NAME}} meeting]({{DISCUSSION_TOPIC_URL}})._
+
+---
+
+{{TICKET_SUMMARY}}
+
+{{FOLLOW_UP_ITEMS}}
+---
+```
+
+## Content Guidelines
+
+The `{{TICKET_SUMMARY}}` field should contain a maximum of 5 sentences.
+Focus on what was discussed about this specific ticket, what was decided, and why.
+Avoid generic summaries that could apply to any ticket.
+
+The `{{FOLLOW_UP_ITEMS}}` field must include verbatim text from Meetbot directives:
+- `#agreed` statements and their context
+- `#rejected` proposals and rationale
+- Vote tallies if present (e.g., "Vote passed +5/2/-0")
+- `#action` items with assignees clearly identified
+
+Each comment opens with the italic provenance line linking to the Discourse topic.
+This establishes context and provides a path back to the full meeting discussion.
+
+## Placeholder Reference
+
+| Placeholder | Description | Source |
+|-------------|-------------|--------|
+| `{{MEETING_DATE}}` | Meeting date in YYYY-MM-DD format | Extracted from meetbot log filename or header |
+| `{{TEAM_NAME}}` | Full name of the team or working group | Extracted from meetbot configuration or meeting header |
+| `{{DISCUSSION_TOPIC_URL}}` | URL to the Fedora Discussion topic for this meeting | Generated after Discourse post is created |
+| `{{TICKET_SUMMARY}}` | 1-5 sentence summary of what was discussed about this ticket | Generated by Gem from meeting context |
+| `{{FOLLOW_UP_ITEMS}}` | List of action items, decisions, and votes for this ticket | Extracted by Gem from meetbot directives |
+| `{{TICKET_LABEL}}` | Human-readable ticket identifier (e.g., "Issue #42") | Extracted from discussion or issue tracker reference |
+| `{{TICKET_URL}}` | Full URL to the ticket in Forgejo | Extracted from discussion or constructed from ticket number |