Topic Manager Skill
Expert in managing professional topics stored as structured Google Drive folders and Google Docs. Use this skill whenever the user mentions "topic", "topics", "update topic", "create topic", "one 2 one", "1-2-1", or asks to process meetings, records, or presentations related to topics.
Topic Structure
Topics are organized in Google Drive folder Notes (ID: 16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x).
Each topic follows this structure:
Topics/
└── Topic_Name/
├── Topic_Name # Google Doc (structured document)
├── Minutes/ # Meeting recordings, transcripts, notes (audio/video files)
├── Prez/ # Presentations, slides, schemas, diagrams (PPT, PDF, SVG, PNG)
├── Documents/ # Supporting documents, PDFs, one-pagers, executive summaries
└── Emails/ # Email files (.eml files)
File Type to Folder Mapping:
- Audio/Video recordings →
Minutes/
- Meeting notes/transcripts →
Minutes/
- PowerPoint/PDF presentations →
Prez/
- Mermaid diagrams (.mmd, .svg) →
Prez/
- Schemas, architecture images →
Prez/
- Emails (.eml files) →
Emails/
- PDF documents, contracts, specifications, one-pagers, executive summaries →
Documents/
Topic Document Organization
The Topic_Name Google Doc MUST follow this exact structure described in markdown, between bracket you will find the style to use. I will put between parenthesis with NB to describe specific instruction for a section.
Remember that words between ** must be bold in the google docs and words between _ must be underlined. Don't used bold or underline outside this explicit mention in the below description. Remember for the bullet point to use native google docs bullet point.
# Topic Name [Title]
## Table of content [Heading 1]
## Presentation
**Owner**: Name of the Owner
**Application Services:** Name of application Service 1 (SNSVC<7_digits>), ... (NB: can have many)
**Executive summary:** 10 to 30 words describing the purpose of this topic.
**Objectives:** (NB: use native google docs bullet point)
- Objective 1 description
- Objective 2 description
...
## Actions [Heading 1]
### Action Name 1 [Heading 2]
#### Description [Heading 3]
**_Owner:_** Name of the owner
**_Status:_ {Not started,Framing,In progress,Done,Blocked,Canceled}** (NB only use this word, and set a text color: Not started is #000000, Framing and In progress are #bf9000, Done is #38761d, Blocked and Canceled are #990000)
**_ETA:_ {YYYY-Q1|YYYY-Q2|YYYY-Q3|YYYY-Q4|YYYY-MM}** (NB: use either quarterly format like "2025-Q2" or monthly format like "2025-03")
Text to describe the action precisely. Try to be concise as much as possible, but it must be clear.
#### Risks [Heading 3]
(NB: we can have several risks, leave the section empty of no risk have been identified)
##### Risk Name 1 [Heading 4]
###### Description [Heading 5]
**_Probability:_ {High,Medium,Low}** (NB: describe the risk probability with one of this 3 words and use text color: High is #990000, Medium is (#bf9000), Low is #38761d)
**_Impact:_ {High,Medium,Low}** (NB: describe the risk impact with one of this 3 words and use text color: High is #990000, Medium is (#bf9000), Low is #38761d)
Describe the risk
###### Mitigations [heading 5]
(NB: use native google docs bullet point)
- Mitigation action 1
- Mitigation action 2
...
## Minutes [Heading 1]
(NB: Always but the last meeting first, they must be classified in chronological order)
### Meeting/Summary title [Heading 2]
#### Attendees [Heading 3]
(NB: use native bullet point)
- Attendee 1
- Attendee 2
...
#### Summary [Heading 3]
(NB: use native bullet point)
- Key takeaway 1
- Key takeaway 2
...
#### Decision/Actions
(NB: use native bullet point)
- Action 1 (People in charge Name between parenthesis)
- Action 2 (People in charge Name between parenthesis)
...
#### Minutes
(NB: full transcription for audio records, or link to email/document)
- **Attendee 1:** what he said
- **Attendee 2:** what he said
- **Attendee 1:** what he said
...
One-to-One Topics (Special Case)
One-to-One topics follow the rule below but have a simplified structure, here is the description:
# One 2 One <name of the people> [Title]
## Table of content [Heading 1]
## Next topics [Heading 1]
(NB: use bullet point for the next topics)
- topic 1
- topic 2
...
## Minutes [Heading 1]
### Attendees [Heading 2]
(NB: use native bullet point, normally one 2 one have just me and someone, but it can happen I want to store some meetings with more people here because they are related to decisions taken with this person, specifically for the top managers)
- Attendee 1
- Attendee 2
...
#### Summary [Heading 2]
(NB: use native bullet point)
- Key takeaway 1
- Key takeaway 2
...
#### Decision/Actions
(NB: use native bullet point)
- Action 1 (People in charge Name between parenthesis)
- Action 2 (People in charge Name between parenthesis)
...
#### Minutes
(NB: full transcription for audio records, or link to email/document)
- **Attendee 1:** what he said
- **Attendee 2:** what he said
- **Attendee 1:** what he said
...
When updating a One-to-One topic, minutes may reference or impact other topics - identify these cross-references and ask for confirmation if uncertain.
Core Operations
List Topics
When the user ask to list topics, you list all the folder in google drive folder Notes (ID: 16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x).
If you find topics with duplicated names or similar names, you notify the user if an appropriate action should be done (merging).
Create New Topic
Trigger: User asks to "create a new topic" or "create topic [name]"
Process:
- List existing topic in
Notes (ID: 16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x) folder using google-drive-manager skill
- If exists or similar, inform user and ask for confirmation to proceed
- If not exists or confirmed:
- Create topic folder in Notes
- Create subfolders: Minutes, Prez, Documents, Emails
- Create Google Doc from "Template v2" google doc (ID:
1lcUWzmqtj-h0OMdM_NcvDN_qa4EyAfwCgE-IZUAlLPc) using google-docs-manager skill
- The template provides only a basic heading skeleton - you must build the complete topic structure
- Initialize the document following the Topic Document Organization structure (lines 36-122):
- Replace "Title" heading with actual topic name
- Build complete Presentation section with Owner, Application Services, Executive summary, Objectives
- Create empty Actions, Risks, and Minutes sections with proper headings
- Apply all formatting rules (bold, underline, colors) as specified in the template
Ask user: If topic exists, confirm overwrite/merge strategy
Update Topic
Trigger: User asks to "update topic [name]" with various inputs (records, presentations, emails, documents, or plain text)
8-Step Process Overview:
- Gather and identify materials
- Upload documents to appropriate subfolders WITHIN topic folder
- Extract information from each source
- Analyze and synthesize information
- Propose changes to user
- Update Google Doc (structure preservation critical)
- Cleanup local files (CRITICAL for privacy/disk space)
- Confirm completion
Input Types to Handle:
- Audio/Video records (mp3, ogg, mp4, etc.): Use
speech-to-text skill to transcribe
- If video: extract audio first, ignore visual content
- Meeting date source: Recording date from filename. If missing ask to the user to provide it.
- Presentations (PowerPoint, PDF): Use
pdf-extractor skill after converting to PDF if needed
- Images: Apply OCR using
pdf-extractor skill
- Emails (.eml): Use
email-extractor skill to extract content, parse threads, and extract attachments
- Meeting date source: Email Date header
- Treatment: Each email = ONE minute entry, THEN extract info to update Actions/Risks/Presentation sections
- Plain text: Meeting notes provided directly by user
- Mixed inputs: Process each according to type
Email Processing Rules (⚠️ Two-Phase Processing):
- Phase 1 - Create Minute Entry: Each
.eml file creates ONE minute entry in the Minutes section (treat it like a meeting record)
- Date source: Email's Date header (NOT filename, NOT received date)
- Attendees: From To/Cc fields
- Meeting title: Email subject line
- Phase 2 - Extract Information: After creating the minute entry, analyze the email content to:
- Create/update Actions section
- Create/update Risks section
- Update Presentation/Description section
- Update existing action logs if referenced
- Upload location: Upload the
.eml file to {Topic_Name}/Emails/ folder
- Link reference: Link the
.eml file in the minute entry's d) Minutes subsection
Common Email Processing Mistakes:
- ❌ Creating multiple minute entries for one email
- ❌ Using filename date instead of email Date header
- ❌ Skipping Phase 2 (only creating minute without extracting actions/risks)
Detailed Process:
Step 1: Gather and Identify Materials
- Identify topic name (ask if unclear)
- Identify all provided materials (records, presentations, emails, images, text)
- Locate topic folder using
google-drive-manager skill
Step 2: Upload Documents to Appropriate Subfolders WITHIN the Topic Folder
⚠️ CRITICAL: All files MUST be uploaded to subfolders INSIDE the topic's folder, NOT at root level
NB: If a subfolder is missing, create it.
- Use
google-drive-manager skill to upload to the correct subfolder path:
- Audio/Video recordings →
{Topic_Name}/Minutes/ folder
- Meeting notes/transcripts →
{Topic_Name}/Minutes/ folder
- PowerPoint/PDF presentations →
{Topic_Name}/Prez/ folder
- Mermaid diagrams (.mmd, .svg) →
{Topic_Name}/Prez/ folder
- Schemas, architecture images →
{Topic_Name}/Prez/ folder
- Emails (.eml files) →
{Topic_Name}/Emails/ folder
- PDF documents, contracts, specifications →
{Topic_Name}/Documents/ folder
- One-pagers, executive summaries, briefings →
{Topic_Name}/Documents/ folder
- Create the subfolder if it doesn't exist (Minutes, Prez, Documents, Emails)
- Track all uploaded file IDs and URLs for linking
Step 3: Extract Information from Each Source
- For video files:
- Use
video-creator skill to extract audio first (ignore visual content)
- Then use
speech-to-text skill to transcribe audio
- Meeting date: Extract from the recording date in the filename
- For audio files (mp3, ogg, etc.):
- Use
speech-to-text skill directly to transcribe
- Meeting date: Extract from the recording date in the filename
- Analyze for attendees, summary, decisions, actions
- For presentations (PowerPoint):
- Convert to PDF if needed
- Use
pdf-extractor skill to extract full content
- For PDFs:
- Use
pdf-extractor skill to extract text and structure
- For images:
- Use
pdf-extractor skill with OCR to extract text
- For emails (.eml):
- Use
email-extractor skill to parse thread structure
- Meeting date: Extract from email's Date header
- Extract all attachments
- Upload attachments to appropriate folders
- Understand email context and relationships
- ⚠️ CRITICAL: Each email becomes ONE minute entry (treat like a meeting)
- Then extract information from that email to update other sections (actions, description, risks, etc.)
- For text input:
- Parse user-provided notes/minutes directly
Step 4: Analyze and Synthesize Information
- Read current topic Google Doc using
google-docs-manager
- Identify from all extracted content:
- Meeting date and title (from filename for audio/video, from Date header for emails)
- List of attendees (from transcription or email To/Cc fields)
- Summary of key points
- Decisions made
- New action items (with owners, descriptions, risks)
- Updates to existing actions
- New or updated risks (with mitigation strategies)
- Application references (SNSVCxxxxxxx codes)
- Any updates to description/presentation
Step 5: Propose Changes to User
- Present comprehensive summary:
- "Found meeting from [date] with [X] attendees"
- "Identified [N] new actions: [list titles]"
- "Identified [N] risks: [list titles]"
- "Updates to [N] existing actions: [list]"
- "Proposed updates to Presentation: [summary]"
- Show proposed minute entry structure
- Ask for confirmation before applying changes (especially if >3 changes)
Step 6: Update Google Doc (Structure Preservation Critical)
⚠️ CRITICAL: Structure preservation is paramount - NEVER break document structure
- Use
google-docs-manager skill to update document
- Follow these rules precisely:
- Minutes: Insert at BEGINNING of Minutes section (after H1 "Minutes")
- Most recent minute always appears first
- Use H2 for date/title, H3 for a), b), c), d)
- Include links to uploaded files in Minutes/Prez/Documents folders
- Actions: Insert at END of Actions section (before next H1)
- New actions added after all existing actions
- Use H2 for action title, H3 for Description/Risks/Logs sections
- Action structure details:
- H2: Action Name
- H3: Description (section heading)
- Content describing the action
- Owner:, Status:, ETA: (formatted text within Description)
- H3: Risks (section heading, may be empty initially)
- H4: Risk Name (if risks exist)
- H5: Description, H5: Mitigations
- H3: Logs (section heading, may be empty initially)
- H4: Date entries (added as logs accumulate)
- Update existing action logs: Find specific action, add H4 under Logs section
- Add date as H4, then content
- Reference the meeting/source
- Risks: Insert at END of Risks section (before next H1)
- Use H2 for risk title, H3 for Description/Mitigation
- Presentation: Update inline within existing Presentation section
- Add application codes if found
- Add links to key documents from Prez/Documents folders
Step 7: Cleanup Local Files
⚠️ CRITICAL: Privacy and disk space management
- After successful Google Doc update, remove all local source files that were uploaded
- CRITICAL: Only delete files after verifying:
- Upload to Google Drive was successful
- File IDs and URLs were captured
- Google Doc update completed successfully
- Files to clean up:
- Audio/video files uploaded to Minutes/
- Presentation files uploaded to Prez/
- Email files (.eml) uploaded to Emails/ ← PRIORITY for privacy
- PDF/image files uploaded to Documents/ or Prez/
- Any temporary files created during processing
- Extracted content should be uploaded to appropriate folders:
- Email extractions (email.md, email_content.txt) →
{Topic_Name}/Emails/ folder
- PDF extractions (extracted_text.md, content.txt) →
{Topic_Name}/Documents/ folder alongside the original PDF
- Transcriptions (transcript.md, transcript.txt) →
{Topic_Name}/Minutes/ folder alongside the recording
- Presentation extractions (slides_content.md) →
{Topic_Name}/Prez/ folder alongside the presentation
- Image OCR extractions (ocr_text.md) → Same folder as the original image (Prez/ or Documents/)
- After uploading extracted content to Google Drive:
- Use
rm command to remove both source files AND extracted content from local disk
- Only keep files locally if user explicitly requested local copies
Step 8: Confirm Completion
- Provide summary of all changes made
- Include links to:
- Updated Google Doc
- All uploaded files
- Specific sections updated
- Confirm local files have been cleaned up
Open Topic
Trigger: User asks to "open {topic_name} topic" or "open topic {topic_name}"
Process:
- List existing topic in
Notes (ID: 16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x) folder using google-drive-manager skill
- Find the Google Doc and its url in the topic folder
- Run for the user:
open <url_google_doc_file>
Summarize/Describing Topic
Trigger: User asks to "summarize topic [name]" or "get info on topic [name]" or "describe me topic [name]"
Process:
- Locate topic folder and Google Doc using
google-drive-manager
- Read full Google Doc using
google-docs-manager
- Provide structured summary:
- Topic name, owner and description
- Related applications (SNSVCxxxxxxx codes)
- Active actions (count and brief list, with major risks)
- Recent meetings (last 2-3 with dates)
- Enable drill-down: User can ask for more details on specific sections
Add/Update Actions
Trigger: User asks to "add/update action [name] in topic [topic]" or "log action update for [name]"
Process:
- Read topic Google Doc
- Understand the existing actions to ensure if it's an update or and addition. Ask if unsure if you think one action is similar.
3a. In case of creation: create the new action according to the template described. If some information are missing (ETA, Status, Risks), ask for default value.
3b. In case of update: propose the modification in all the sections according to the user information. If the new ETA, Status, or Risks are not mentioned in the description of the update, ask if there are new things in these sections after summarizing the current ETA, Status and Risks
- Update Google Doc using
google-docs-manager, preserving structure and style
Validate Topic Content
Trigger: Automatic validation before applying updates, or user asks to "validate topic [name]"
Process:
- Read topic Google Doc
- Check for common issues:
- Duplicate actions: Same or similar action names in Actions section
- Conflicting statuses: Action marked both "Done" and "Blocked" in logs
- Missing required fields: Actions without Owner, Status, or ETA
- Invalid status values: Status not in {Not started, Framing, In progress, Done, Blocked, Canceled}
- Invalid ETA format: ETA not matching {YYYY-Q1|YYYY-Q2|YYYY-Q3|YYYY-Q4, YYYY-MM}
- Orphaned risks: Risks not linked to any action
- Broken structure: Missing heading sections or incorrect hierarchy
- Report findings to user
- For critical issues (duplicates, invalid formats): Ask for resolution before proceeding
- For warnings (missing fields): Suggest defaults or ask user to provide
Validation Rules:
| Rule |
Requirement |
Valid Values |
| Action Names |
Must be unique within topic |
No duplicates |
| Required Fields |
Each action MUST have |
Owner, Status, ETA, Description |
| Status Values |
MUST be one of |
Not started, Framing, In progress, Done, Blocked, Canceled |
| Status Colors |
Apply text color |
Not started: #000000, Framing/In progress: #bf9000, Done: #38761d, Blocked/Canceled: #990000 |
| ETA Format |
MUST match |
YYYY-Q1, YYYY-Q2, YYYY-Q3, YYYY-Q4, or YYYY-MM |
| Risk Probability/Impact |
MUST be one of |
High (#990000), Medium (#bf9000), Low (#38761d) |
| Risk Linkage |
SHOULD reference actions |
Recommended but not mandatory |
Critical Structure Preservation Rules
When updating Google Docs, ALWAYS:
- Read the entire document first to understand current structure
- Identify exact insertion points using heading levels
- Preserve heading hierarchy: Never mix levels or break sections
- Insert content at correct location:
- Minutes: TOP of Minutes section
- Actions: END of Actions section
- Risks: END of Risks section
- Action logs: END of specific action's Logs section
- Maintain formatting: Use proper heading styles as described
- Link Policy:
- DO link to uploaded files in Prez/Documents/Minutes/Emails folders within the Google Doc
- DO reference specific actions/sections within the topic
- DON'T link to external systems or websites in the Risks section
- DON'T link to files outside the topic's folder structure
- Never remove existing content unless explicitly requested
Example Update Flow
User: "Update topic 'Data Platform Roadmap' with this meeting record"
Assistant Process:
- Invoke
google-drive-manager to find topic folder
- If audio/video: Invoke
speech-to-text to transcribe
- If presentation attached: Invoke
pdf-extractor to extract content
- Analyze transcription for:
- Date, attendees
- Key points, decisions
- Action items mentioned
- Risks discussed
- Upload record file to Records folder
- Upload presentation to Prez folder
- Read current Google Doc
- Propose:
- New minute entry with date, attendees, summary, decisions, full transcription
- 2 new actions identified
- 1 risk identified
- Update to existing action "Q2 Delivery" with log entry
- Ask user: "I've identified 2 new actions, 1 risk, and an update to 'Q2 Delivery'. Should I proceed with these updates?"
- On confirmation: Update Google Doc with all changes, preserving structure
- Cleanup local files: Remove uploaded audio/presentation files from local disk
- Confirm completion with summary and confirmation of cleanup
Example with Email:
User: "Update topic 'Q2 Release Planning' using the email information from the planning meeting"
Assistant Process:
- Search for .eml file in ~/Downloads (or ask user for location)
- Invoke
email-extractor skill to extract email content and attachments
- Invoke
google-drive-manager to find topic folder and locate Documents subfolder
- Upload .eml file to
Q2 Release Planning/Emails/ folder
- Upload attachments to appropriate subfolders:
- Presentations →
Q2 Release Planning/Prez/
- Audio/video →
Q2 Release Planning/Minutes/
- PDFs/documents →
Q2 Release Planning/Documents/
- If email has PDF attachments: Invoke
pdf-extractor to extract content
- Read current Google Doc
- Analyze extracted email.md for:
- Date: From email Date header (e.g., "2024-03-15")
- Attendees: From To/Cc fields
- Subject: Use as meeting title
- Key decisions: In email body
- Action items: Mentioned in email
- Risks: Mentioned in email
- Propose updates:
- ONE new minute entry: "2024-03-15 - Q2 Release Planning Discussion"
- a) Attendees: [from To/Cc]
- b) Summary: [key points from email]
- c) Decisions/Actions: [what was decided]
- d) Minutes: Link to .eml file in Emails/ folder
- New/updated Actions: Based on action items in email
- New/updated Risks: Based on risks mentioned in email
- Ask user: "I've found 1 email creating 1 minute entry, 2 new actions, and 1 risk. Should I proceed?"
- On confirmation: Update Google Doc with:
- ONE minute at top of Minutes section
- Actions at end of Actions section
- Risks at end of Risks section
- Cleanup local files: Remove .eml file and all extracted attachments from local disk
- Confirm completion with summary, links, and confirmation of cleanup
Integration with Other Skills
This skill orchestrates multiple specialized skills to handle different aspects of topic management:
- google-drive-manager: Search folders, create folders/subfolders, upload files, manage folder structure, get file links
- google-docs-manager: Create docs from Template v2, read docs, update docs with markdown, preserve heading structure and formatting
- speech-to-text: Transcribe audio/video records, identify speakers, extract attendees, generate meeting minutes with analysis
- video-creator: Extract audio from video files (mp4, mov, etc.) for transcription, ignore visual content
- pdf-extractor: Extract text from PDFs and images (OCR), convert presentations to text, maintain structure
- email-extractor: Parse .eml files, extract attachments, understand email threads, convert to structured markdown
- image-manipulator: Process images if needed for OCR or optimization
Always invoke the appropriate specialized skill for each content type.
Template v2 Reference
When creating new topics, use "Template v2" (ID: 1lcUWzmqtj-h0OMdM_NcvDN_qa4EyAfwCgE-IZUAlLPc) and thegoogle-docs-manager skill. This template provides the base structure with all required heading sections. The template must be empty after copying.
Error Handling
- Topic not found: Offer to create new topic
- Malformed document: Warn user and suggest restructuring
- Missing sections: Add missing sections in correct order
- Duplicate content: Ask before adding potential duplicates
- Large updates: Always summarize and ask for confirmation before applying
Best Practices
- Always confirm major updates (>3 changes or new minute)
- Provide clear summaries of proposed changes
- Preserve chronological order: Minutes newest first, logs newest last
- Link documents: Reference uploaded files in doc with proper links
- Extract maximum value: Transcribe fully, OCR images, parse emails completely
- Cross-reference: Identify when One-to-One minutes affect other topics. If so, apply the Update topic workflow after ensuring with the user the Topic to update.
- Detection: Look for mentions of topic names, SNSVCxxxxxxx codes, or action items referencing other topics
- Confirmation: Ask user: "This mentions [Topic X, Topic Y]. Should I also update those topics with cross-references?"
- Update strategy:
- Add action log to referenced topic linking back to the one-to-one minute
- Add note in one-to-one referencing the other topic's action
- Avoid circular updates: Only update each topic once per cross-reference chain
- Multiple cross-references: Process sequentially, confirming each before proceeding
- Application tracking: Always identify and link SNSVCxxxxxxx references
- Be precise with structure: Never approximate heading levels
- Always cleanup local files: After successful upload and Google Doc update, remove all local source files to free disk space and protect sensitive data (especially .eml files)
Notes Folder Location
Base folder: Notes (Google Drive ID: 16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x)
All topics MUST be created and managed within this folder.
1---2name: topic-manager-23description: Expert in managing professional topics stored as structured Google Drive folders and Google Docs. **Use this skill whenever the user mentions "topic", "topics", "update topic", "create topic", "open topic", "one 2 one", "list topics", "describe topics", "summarize topics", "1-2-1", or asks to process meetings, records, or presentations related to topics.**4---5
6# Topic Manager Skill
7
8Expert in managing professional topics stored as structured Google Drive folders and Google Docs. **Use this skill whenever the user mentions "topic", "topics", "update topic", "create topic", "one 2 one", "1-2-1", or asks to process meetings, records, or presentations related to topics.**
9
10## Topic Structure
11
12Topics are organized in Google Drive folder `Notes` (ID: `16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x`).
13
14Each topic follows this structure:
15```
16Topics/
17└── Topic_Name/
18 ├── Topic_Name # Google Doc (structured document)
19 ├── Minutes/ # Meeting recordings, transcripts, notes (audio/video files)
20 ├── Prez/ # Presentations, slides, schemas, diagrams (PPT, PDF, SVG, PNG)
21 ├── Documents/ # Supporting documents, PDFs, one-pagers, executive summaries
22 └── Emails/ # Email files (.eml files)
23```
24
25**File Type to Folder Mapping**:
26- Audio/Video recordings → `Minutes/`
27- Meeting notes/transcripts → `Minutes/`
28- PowerPoint/PDF presentations → `Prez/`
29- Mermaid diagrams (.mmd, .svg) → `Prez/`
30- Schemas, architecture images → `Prez/`
31- Emails (.eml files) → `Emails/`
32- PDF documents, contracts, specifications, one-pagers, executive summaries → `Documents/`
33
34## Topic Document Organization
35
36The Topic_Name Google Doc MUST follow this exact structure described in markdown, between bracket you will find the style to use. I will put between parenthesis with `NB` to describe specific instruction for a section.
37
38Remember that words between `**` must be `bold` in the google docs and words between `_` must be underlined. Don't used bold or underline outside this explicit mention in the below description. Remember for the bullet point to use native google docs bullet point.
39
40```
41# Topic Name [Title]
42
43## Table of content [Heading 1]
44
45## Presentation
46
47**Owner**: Name of the Owner
48**Application Services:** Name of application Service 1 (SNSVC<7_digits>), ... (NB: can have many)
49**Executive summary:** 10 to 30 words describing the purpose of this topic.
50**Objectives:** (NB: use native google docs bullet point)
51- Objective 1 description
52- Objective 2 description
53...
54
55## Actions [Heading 1]
56
57### Action Name 1 [Heading 2]
58
59#### Description [Heading 3]
60
61**_Owner:_** Name of the owner
62**_Status:_ {Not started,Framing,In progress,Done,Blocked,Canceled}** (NB only use this word, and set a text color: Not started is #000000, Framing and In progress are #bf9000, Done is #38761d, Blocked and Canceled are #990000)
63**_ETA:_ {YYYY-Q1|YYYY-Q2|YYYY-Q3|YYYY-Q4|YYYY-MM}** (NB: use either quarterly format like "2025-Q2" or monthly format like "2025-03")
64
65Text to describe the action precisely. Try to be concise as much as possible, but it must be clear.
66
67#### Risks [Heading 3]
68
69(NB: we can have several risks, leave the section empty of no risk have been identified)
70
71##### Risk Name 1 [Heading 4]
72
73###### Description [Heading 5]
74
75**_Probability:_ {High,Medium,Low}** (NB: describe the risk probability with one of this 3 words and use text color: High is #990000, Medium is (#bf9000), Low is #38761d)
76**_Impact:_ {High,Medium,Low}** (NB: describe the risk impact with one of this 3 words and use text color: High is #990000, Medium is (#bf9000), Low is #38761d)
77
78Describe the risk
79
80###### Mitigations [heading 5]
81
82(NB: use native google docs bullet point)
83
84- Mitigation action 1
85- Mitigation action 2
86...
87
88## Minutes [Heading 1]
89
90(NB: Always but the last meeting first, they must be classified in chronological order)
91
92### Meeting/Summary title [Heading 2]
93
94#### Attendees [Heading 3]
95
96(NB: use native bullet point)
97- Attendee 1
98- Attendee 2
99...
100
101#### Summary [Heading 3]
102
103(NB: use native bullet point)
104- Key takeaway 1
105- Key takeaway 2
106...
107
108#### Decision/Actions
109
110(NB: use native bullet point)
111- Action 1 (People in charge Name between parenthesis)
112- Action 2 (People in charge Name between parenthesis)
113...
114
115#### Minutes
116
117(NB: full transcription for audio records, or link to email/document)
118- **Attendee 1:** what he said
119- **Attendee 2:** what he said
120- **Attendee 1:** what he said
121...
122```
123
124## One-to-One Topics (Special Case)
125
126One-to-One topics follow the rule below but have a simplified structure, here is the description:
127
128```
129# One 2 One <name of the people> [Title]
130
131## Table of content [Heading 1]
132
133## Next topics [Heading 1]
134
135(NB: use bullet point for the next topics)
136- topic 1
137- topic 2
138...
139
140## Minutes [Heading 1]
141
142### Attendees [Heading 2]
143
144(NB: use native bullet point, normally one 2 one have just me and someone, but it can happen I want to store some meetings with more people here because they are related to decisions taken with this person, specifically for the top managers)
145- Attendee 1
146- Attendee 2
147...
148
149#### Summary [Heading 2]
150
151(NB: use native bullet point)
152- Key takeaway 1
153- Key takeaway 2
154...
155
156#### Decision/Actions
157
158(NB: use native bullet point)
159- Action 1 (People in charge Name between parenthesis)
160- Action 2 (People in charge Name between parenthesis)
161...
162
163#### Minutes
164
165(NB: full transcription for audio records, or link to email/document)
166- **Attendee 1:** what he said
167- **Attendee 2:** what he said
168- **Attendee 1:** what he said
169...
170```
171
172When updating a One-to-One topic, minutes may reference or impact other topics - identify these cross-references and ask for confirmation if uncertain.
173
174## Core Operations
175
176### List Topics
177
178When the user ask to list topics, you list all the folder in google drive folder `Notes` (ID: `16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x`).
179
180If you find topics with duplicated names or similar names, you notify the user if an appropriate action should be done (merging).
181
182### Create New Topic
183
184**Trigger**: User asks to "create a new topic" or "create topic [name]"
185
186**Process**:
1871. List existing topic in `Notes` (ID: `16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x`) folder using `google-drive-manager` skill
1882. If exists or similar, inform user and ask for confirmation to proceed
1893. If not exists or confirmed:
190 - Create topic folder in Notes
191 - Create subfolders: Minutes, Prez, Documents, Emails
192 - Create Google Doc from "Template v2" google doc (ID: `1lcUWzmqtj-h0OMdM_NcvDN_qa4EyAfwCgE-IZUAlLPc`) using `google-docs-manager` skill
193 - The template provides only a basic heading skeleton - you must build the complete topic structure
194 - Initialize the document following the Topic Document Organization structure (lines 36-122):
195 - Replace "Title" heading with actual topic name
196 - Build complete Presentation section with Owner, Application Services, Executive summary, Objectives
197 - Create empty Actions, Risks, and Minutes sections with proper headings
198 - Apply all formatting rules (bold, underline, colors) as specified in the template
199
200**Ask user**: If topic exists, confirm overwrite/merge strategy
201
202### Update Topic
203
204**Trigger**: User asks to "update topic [name]" with various inputs (records, presentations, emails, documents, or plain text)
205
206**8-Step Process Overview**:
2071. Gather and identify materials
2082. Upload documents to appropriate subfolders WITHIN topic folder
2093. Extract information from each source
2104. Analyze and synthesize information
2115. Propose changes to user
2126. Update Google Doc (structure preservation critical)
2137. **Cleanup local files** (CRITICAL for privacy/disk space)
2148. Confirm completion
215
216**Input Types to Handle**:
217- **Audio/Video records** (mp3, ogg, mp4, etc.): Use `speech-to-text` skill to transcribe
218 - If video: extract audio first, ignore visual content
219 - **Meeting date source**: Recording date from filename. If missing ask to the user to provide it.
220- **Presentations** (PowerPoint, PDF): Use `pdf-extractor` skill after converting to PDF if needed
221- **Images**: Apply OCR using `pdf-extractor` skill
222- **Emails** (.eml): Use `email-extractor` skill to extract content, parse threads, and extract attachments
223 - **Meeting date source**: Email Date header
224 - **Treatment**: Each email = ONE minute entry, THEN extract info to update Actions/Risks/Presentation sections
225- **Plain text**: Meeting notes provided directly by user
226- **Mixed inputs**: Process each according to type
227
228**Email Processing Rules** (⚠️ Two-Phase Processing):
2291. **Phase 1 - Create Minute Entry**: Each `.eml` file creates **ONE minute entry** in the Minutes section (treat it like a meeting record)
230 - **Date source**: Email's Date header (NOT filename, NOT received date)
231 - **Attendees**: From To/Cc fields
232 - **Meeting title**: Email subject line
2332. **Phase 2 - Extract Information**: After creating the minute entry, analyze the email content to:
234 - Create/update Actions section
235 - Create/update Risks section
236 - Update Presentation/Description section
237 - Update existing action logs if referenced
2383. **Upload location**: Upload the `.eml` file to `{Topic_Name}/Emails/` folder
2394. **Link reference**: Link the `.eml` file in the minute entry's d) Minutes subsection
240
241**Common Email Processing Mistakes**:
242- ❌ Creating multiple minute entries for one email
243- ❌ Using filename date instead of email Date header
244- ❌ Skipping Phase 2 (only creating minute without extracting actions/risks)
245
246**Detailed Process**:
247
248**Step 1: Gather and Identify Materials**
249- Identify topic name (ask if unclear)
250- Identify all provided materials (records, presentations, emails, images, text)
251- Locate topic folder using `google-drive-manager` skill
252
253**Step 2: Upload Documents to Appropriate Subfolders WITHIN the Topic Folder**
254⚠️ **CRITICAL**: All files MUST be uploaded to subfolders INSIDE the topic's folder, NOT at root level
255NB: If a subfolder is missing, create it.
256- Use `google-drive-manager` skill to upload to the correct subfolder path:
257 - Audio/Video recordings → `{Topic_Name}/Minutes/` folder
258 - Meeting notes/transcripts → `{Topic_Name}/Minutes/` folder
259 - PowerPoint/PDF presentations → `{Topic_Name}/Prez/` folder
260 - Mermaid diagrams (.mmd, .svg) → `{Topic_Name}/Prez/` folder
261 - Schemas, architecture images → `{Topic_Name}/Prez/` folder
262 - Emails (.eml files) → `{Topic_Name}/Emails/` folder
263 - PDF documents, contracts, specifications → `{Topic_Name}/Documents/` folder
264 - One-pagers, executive summaries, briefings → `{Topic_Name}/Documents/` folder
265- **Create the subfolder if it doesn't exist** (Minutes, Prez, Documents, Emails)
266- Track all uploaded file IDs and URLs for linking
267
268**Step 3: Extract Information from Each Source**
269- **For video files**:
270 - Use `video-creator` skill to extract audio first (ignore visual content)
271 - Then use `speech-to-text` skill to transcribe audio
272 - **Meeting date**: Extract from the recording date in the filename
273- **For audio files** (mp3, ogg, etc.):
274 - Use `speech-to-text` skill directly to transcribe
275 - **Meeting date**: Extract from the recording date in the filename
276 - Analyze for attendees, summary, decisions, actions
277- **For presentations** (PowerPoint):
278 - Convert to PDF if needed
279 - Use `pdf-extractor` skill to extract full content
280- **For PDFs**:
281 - Use `pdf-extractor` skill to extract text and structure
282- **For images**:
283 - Use `pdf-extractor` skill with OCR to extract text
284- **For emails** (.eml):
285 - Use `email-extractor` skill to parse thread structure
286 - **Meeting date**: Extract from email's Date header
287 - Extract all attachments
288 - Upload attachments to appropriate folders
289 - Understand email context and relationships
290 - ⚠️ **CRITICAL**: Each email becomes ONE minute entry (treat like a meeting)
291 - Then extract information from that email to update other sections (actions, description, risks, etc.)
292- **For text input**:
293 - Parse user-provided notes/minutes directly
294
295**Step 4: Analyze and Synthesize Information**
296- Read current topic Google Doc using `google-docs-manager`
297- Identify from all extracted content:
298 - Meeting date and title (from filename for audio/video, from Date header for emails)
299 - List of attendees (from transcription or email To/Cc fields)
300 - Summary of key points
301 - Decisions made
302 - New action items (with owners, descriptions, risks)
303 - Updates to existing actions
304 - New or updated risks (with mitigation strategies)
305 - Application references (SNSVCxxxxxxx codes)
306 - Any updates to description/presentation
307
308**Step 5: Propose Changes to User**
309- Present comprehensive summary:
310 - "Found meeting from [date] with [X] attendees"
311 - "Identified [N] new actions: [list titles]"
312 - "Identified [N] risks: [list titles]"
313 - "Updates to [N] existing actions: [list]"
314 - "Proposed updates to Presentation: [summary]"
315- Show proposed minute entry structure
316- **Ask for confirmation** before applying changes (especially if >3 changes)
317
318**Step 6: Update Google Doc (Structure Preservation Critical)**
319⚠️ **CRITICAL**: Structure preservation is paramount - NEVER break document structure
320- Use `google-docs-manager` skill to update document
321- Follow these rules precisely:
322 - **Minutes**: Insert at BEGINNING of Minutes section (after H1 "Minutes")
323 - Most recent minute always appears first
324 - Use H2 for date/title, H3 for a), b), c), d)
325 - Include links to uploaded files in Minutes/Prez/Documents folders
326 - **Actions**: Insert at END of Actions section (before next H1)
327 - New actions added after all existing actions
328 - Use H2 for action title, H3 for Description/Risks/Logs sections
329 - **Action structure details**:
330 - H2: Action Name
331 - H3: Description (section heading)
332 - Content describing the action
333 - **_Owner:_**, **_Status:_**, **_ETA:_** (formatted text within Description)
334 - H3: Risks (section heading, may be empty initially)
335 - H4: Risk Name (if risks exist)
336 - H5: Description, H5: Mitigations
337 - H3: Logs (section heading, may be empty initially)
338 - H4: Date entries (added as logs accumulate)
339 - **Update existing action logs**: Find specific action, add H4 under Logs section
340 - Add date as H4, then content
341 - Reference the meeting/source
342 - **Risks**: Insert at END of Risks section (before next H1)
343 - Use H2 for risk title, H3 for Description/Mitigation
344 - **Presentation**: Update inline within existing Presentation section
345 - Add application codes if found
346 - Add links to key documents from Prez/Documents folders
347
348**Step 7: Cleanup Local Files**
349⚠️ **CRITICAL**: Privacy and disk space management
350- After successful Google Doc update, remove all local source files that were uploaded
351- **CRITICAL**: Only delete files after verifying:
352 - Upload to Google Drive was successful
353 - File IDs and URLs were captured
354 - Google Doc update completed successfully
355- Files to clean up:
356 - Audio/video files uploaded to Minutes/
357 - Presentation files uploaded to Prez/
358 - **Email files (.eml) uploaded to Emails/** ← PRIORITY for privacy
359 - PDF/image files uploaded to Documents/ or Prez/
360 - Any temporary files created during processing
361- **Extracted content should be uploaded to appropriate folders**:
362 - Email extractions (email.md, email_content.txt) → `{Topic_Name}/Emails/` folder
363 - PDF extractions (extracted_text.md, content.txt) → `{Topic_Name}/Documents/` folder alongside the original PDF
364 - Transcriptions (transcript.md, transcript.txt) → `{Topic_Name}/Minutes/` folder alongside the recording
365 - Presentation extractions (slides_content.md) → `{Topic_Name}/Prez/` folder alongside the presentation
366 - Image OCR extractions (ocr_text.md) → Same folder as the original image (Prez/ or Documents/)
367- After uploading extracted content to Google Drive:
368 - Use `rm` command to remove both source files AND extracted content from local disk
369 - Only keep files locally if user explicitly requested local copies
370
371**Step 8: Confirm Completion**
372- Provide summary of all changes made
373- Include links to:
374 - Updated Google Doc
375 - All uploaded files
376 - Specific sections updated
377- Confirm local files have been cleaned up
378
379### Open Topic
380
381**Trigger**: User asks to "open {topic_name} topic" or "open topic {topic_name}"
382
383**Process**:
3841. List existing topic in `Notes` (ID: `16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x`) folder using `google-drive-manager` skill
3852. Find the Google Doc and its url in the topic folder
3863. Run for the user: `open <url_google_doc_file>`
387
388### Summarize/Describing Topic
389
390**Trigger**: User asks to "summarize topic [name]" or "get info on topic [name]" or "describe me topic [name]"
391
392**Process**:
3931. Locate topic folder and Google Doc using `google-drive-manager`
3942. Read full Google Doc using `google-docs-manager`
3953. Provide structured summary:
396 - Topic name, owner and description
397 - Related applications (SNSVCxxxxxxx codes)
398 - Active actions (count and brief list, with major risks)
399 - Recent meetings (last 2-3 with dates)
4004. **Enable drill-down**: User can ask for more details on specific sections
401
402### Add/Update Actions
403
404**Trigger**: User asks to "add/update action [name] in topic [topic]" or "log action update for [name]"
405
406**Process**:
4071. Read topic Google Doc
4082. Understand the existing actions to ensure if it's an update or and addition. Ask if unsure if you think one action is similar.
4093a. In case of creation: create the new action according to the template described. If some information are missing (ETA, Status, Risks), ask for default value.
4103b. In case of update: propose the modification in all the sections according to the user information. If the new ETA, Status, or Risks are not mentioned in the description of the update, ask if there are new things in these sections after summarizing the current ETA, Status and Risks
4114. Update Google Doc using `google-docs-manager`, preserving structure and style
412
413### Validate Topic Content
414
415**Trigger**: Automatic validation before applying updates, or user asks to "validate topic [name]"
416
417**Process**:
4181. Read topic Google Doc
4192. Check for common issues:
420 - **Duplicate actions**: Same or similar action names in Actions section
421 - **Conflicting statuses**: Action marked both "Done" and "Blocked" in logs
422 - **Missing required fields**: Actions without Owner, Status, or ETA
423 - **Invalid status values**: Status not in {Not started, Framing, In progress, Done, Blocked, Canceled}
424 - **Invalid ETA format**: ETA not matching {YYYY-Q1|YYYY-Q2|YYYY-Q3|YYYY-Q4, YYYY-MM}
425 - **Orphaned risks**: Risks not linked to any action
426 - **Broken structure**: Missing heading sections or incorrect hierarchy
4273. Report findings to user
4284. For critical issues (duplicates, invalid formats): Ask for resolution before proceeding
4295. For warnings (missing fields): Suggest defaults or ask user to provide
430
431**Validation Rules**:
432
433| Rule | Requirement | Valid Values |
434|------|-------------|--------------|
435| **Action Names** | Must be unique within topic | No duplicates |
436| **Required Fields** | Each action MUST have | Owner, Status, ETA, Description |
437| **Status Values** | MUST be one of | Not started, Framing, In progress, Done, Blocked, Canceled |
438| **Status Colors** | Apply text color | Not started: #000000, Framing/In progress: #bf9000, Done: #38761d, Blocked/Canceled: #990000 |
439| **ETA Format** | MUST match | YYYY-Q1, YYYY-Q2, YYYY-Q3, YYYY-Q4, or YYYY-MM |
440| **Risk Probability/Impact** | MUST be one of | High (#990000), Medium (#bf9000), Low (#38761d) |
441| **Risk Linkage** | SHOULD reference actions | Recommended but not mandatory |
442
443## Critical Structure Preservation Rules
444
445When updating Google Docs, ALWAYS:
446
4471. **Read the entire document first** to understand current structure
4482. **Identify exact insertion points** using heading levels
4493. **Preserve heading hierarchy**: Never mix levels or break sections
4504. **Insert content at correct location**:
451 - Minutes: TOP of Minutes section
452 - Actions: END of Actions section
453 - Risks: END of Risks section
454 - Action logs: END of specific action's Logs section
4555. **Maintain formatting**: Use proper heading styles as described
4566. **Link Policy**:
457 - DO link to uploaded files in Prez/Documents/Minutes/Emails folders within the Google Doc
458 - DO reference specific actions/sections within the topic
459 - DON'T link to external systems or websites in the Risks section
460 - DON'T link to files outside the topic's folder structure
4617. **Never remove existing content** unless explicitly requested
462
463## Example Update Flow
464
465**User**: "Update topic 'Data Platform Roadmap' with this meeting record"
466
467**Assistant Process**:
4681. Invoke `google-drive-manager` to find topic folder
4692. If audio/video: Invoke `speech-to-text` to transcribe
4703. If presentation attached: Invoke `pdf-extractor` to extract content
4714. Analyze transcription for:
472 - Date, attendees
473 - Key points, decisions
474 - Action items mentioned
475 - Risks discussed
4765. Upload record file to Records folder
4776. Upload presentation to Prez folder
4787. Read current Google Doc
4798. Propose:
480 - New minute entry with date, attendees, summary, decisions, full transcription
481 - 2 new actions identified
482 - 1 risk identified
483 - Update to existing action "Q2 Delivery" with log entry
4849. **Ask user**: "I've identified 2 new actions, 1 risk, and an update to 'Q2 Delivery'. Should I proceed with these updates?"
48510. On confirmation: Update Google Doc with all changes, preserving structure
48611. Cleanup local files: Remove uploaded audio/presentation files from local disk
48712. Confirm completion with summary and confirmation of cleanup
488
489**Example with Email**:
490
491**User**: "Update topic 'Q2 Release Planning' using the email information from the planning meeting"
492
493**Assistant Process**:
4941. Search for .eml file in ~/Downloads (or ask user for location)
4952. Invoke `email-extractor` skill to extract email content and attachments
4963. Invoke `google-drive-manager` to find topic folder and locate Documents subfolder
4974. Upload .eml file to `Q2 Release Planning/Emails/` folder
4985. Upload attachments to appropriate subfolders:
499 - Presentations → `Q2 Release Planning/Prez/`
500 - Audio/video → `Q2 Release Planning/Minutes/`
501 - PDFs/documents → `Q2 Release Planning/Documents/`
5026. If email has PDF attachments: Invoke `pdf-extractor` to extract content
5037. Read current Google Doc
5048. Analyze extracted email.md for:
505 - **Date**: From email Date header (e.g., "2024-03-15")
506 - **Attendees**: From To/Cc fields
507 - **Subject**: Use as meeting title
508 - **Key decisions**: In email body
509 - **Action items**: Mentioned in email
510 - **Risks**: Mentioned in email
5119. Propose updates:
512 - **ONE new minute entry**: "2024-03-15 - Q2 Release Planning Discussion"
513 - a) Attendees: [from To/Cc]
514 - b) Summary: [key points from email]
515 - c) Decisions/Actions: [what was decided]
516 - d) Minutes: Link to .eml file in Emails/ folder
517 - **New/updated Actions**: Based on action items in email
518 - **New/updated Risks**: Based on risks mentioned in email
51910. **Ask user**: "I've found 1 email creating 1 minute entry, 2 new actions, and 1 risk. Should I proceed?"
52011. On confirmation: Update Google Doc with:
521 - ONE minute at top of Minutes section
522 - Actions at end of Actions section
523 - Risks at end of Risks section
52412. Cleanup local files: Remove .eml file and all extracted attachments from local disk
52513. Confirm completion with summary, links, and confirmation of cleanup
526
527## Integration with Other Skills
528
529This skill orchestrates multiple specialized skills to handle different aspects of topic management:
530
531- **google-drive-manager**: Search folders, create folders/subfolders, upload files, manage folder structure, get file links
532- **google-docs-manager**: Create docs from Template v2, read docs, update docs with markdown, preserve heading structure and formatting
533- **speech-to-text**: Transcribe audio/video records, identify speakers, extract attendees, generate meeting minutes with analysis
534- **video-creator**: Extract audio from video files (mp4, mov, etc.) for transcription, ignore visual content
535- **pdf-extractor**: Extract text from PDFs and images (OCR), convert presentations to text, maintain structure
536- **email-extractor**: Parse .eml files, extract attachments, understand email threads, convert to structured markdown
537- **image-manipulator**: Process images if needed for OCR or optimization
538
539Always invoke the appropriate specialized skill for each content type.
540
541## Template v2 Reference
542
543When creating new topics, use "Template v2" (ID: `1lcUWzmqtj-h0OMdM_NcvDN_qa4EyAfwCgE-IZUAlLPc`) and the`google-docs-manager` skill. This template provides the base structure with all required heading sections. The template must be empty after copying.
544
545## Error Handling
546
547- **Topic not found**: Offer to create new topic
548- **Malformed document**: Warn user and suggest restructuring
549- **Missing sections**: Add missing sections in correct order
550- **Duplicate content**: Ask before adding potential duplicates
551- **Large updates**: Always summarize and ask for confirmation before applying
552
553## Best Practices
554
5551. **Always confirm major updates** (>3 changes or new minute)
5562. **Provide clear summaries** of proposed changes
5573. **Preserve chronological order**: Minutes newest first, logs newest last
5584. **Link documents**: Reference uploaded files in doc with proper links
5595. **Extract maximum value**: Transcribe fully, OCR images, parse emails completely
5606. **Cross-reference**: Identify when One-to-One minutes affect other topics. If so, apply the Update topic workflow after ensuring with the user the Topic to update.
561 - **Detection**: Look for mentions of topic names, SNSVCxxxxxxx codes, or action items referencing other topics
562 - **Confirmation**: Ask user: "This mentions [Topic X, Topic Y]. Should I also update those topics with cross-references?"
563 - **Update strategy**:
564 - Add action log to referenced topic linking back to the one-to-one minute
565 - Add note in one-to-one referencing the other topic's action
566 - Avoid circular updates: Only update each topic once per cross-reference chain
567 - **Multiple cross-references**: Process sequentially, confirming each before proceeding
5687. **Application tracking**: Always identify and link SNSVCxxxxxxx references
5698. **Be precise with structure**: Never approximate heading levels
5709. **Always cleanup local files**: After successful upload and Google Doc update, remove all local source files to free disk space and protect sensitive data (especially .eml files)
571
572## Notes Folder Location
573
574Base folder: `Notes` (Google Drive ID: `16VBlrwK2FAmIfzqN1g9h-sCkQ4YuHz8x`)
575
576All topics MUST be created and managed within this folder.