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.**
Instrucciones de origen · Vista previa de solo lectura
name
topic-manager
description
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.**
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).
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
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:
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:
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.