meeting-processor/SKILL.md
This skill should be used when processing meeting transcripts to auto-detect meeting type (leadgen, partnership, coaching, internal) and extract type-specific structured analysis. Triggers on "process meeting", "analyze meeting", "meeting summary", or after syncing new Fathom/Granola transcripts.
npx skillsauth add glebis/claude-skills meeting-processorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Intelligent meeting transcript processor that auto-detects meeting type and applies type-specific extraction with optional interactive clarification.
/fathom --today, /granola export)YYYYMMDD-*.mdcoaching-session-summarizer skill insteadpip install openai pyyaml
Requires CEREBRAS_API_KEY environment variable (uses Cerebras API with llama-3.3-70b).
| Type | Description | Key Extractions | |------|-------------|-----------------| | leadgen | Sales/business development calls | Commitments, pain points, budget, timeline, decision makers, deal stage, sentiment | | partnership | Collaboration/partnership exploration | Opportunity overview, value proposition, strategic alignment, technical needs, fit assessment | | coaching | Coaching/mentoring sessions | Insights, decisions, action items, themes, emotional arc, techniques, session quality | | internal | Internal team meetings | Coming soon |
Run the processor, which auto-detects meeting type and asks clarifying questions:
python3 ~/.claude/skills/meeting-processor/scripts/process.py <transcript-file> --mode interactive
Interactive flow:
__INTERACTIVE_QUESTIONS__ markersprocess_with_answers.pyHandling interactive questions:
When the script exits with code 2, parse the output for questions JSON. Each question has:
question: The question textheader: Short label (used as answer key)options: Array of {label, description} for AskUserQuestionAfter collecting answers, create two temp files:
questions.json — the original questions context (includes partial_data, meeting_type, transcript_file)answers.json — map of {header_lowercase: selected_label}Then run:
python3 ~/.claude/skills/meeting-processor/scripts/process_with_answers.py questions.json answers.json
Extract only high-confidence information without user interaction:
python3 ~/.claude/skills/meeting-processor/scripts/process.py <transcript-file> --mode batch
Skip auto-detection:
python3 ~/.claude/skills/meeting-processor/scripts/process.py <transcript-file> --type leadgen
python3 ~/.claude/skills/meeting-processor/scripts/process.py <transcript-file> --type partnership
Analysis is appended to the transcript file as a ## Meeting Analysis section. Frontmatter is updated with meeting_type, processed_date, and processing_mode.
After the meeting analysis is complete (Step 1), automatically link any matching meeting-prep notes to the session note. This replaces the need to manually run /meeting-prep link.
Derive the meetings directory from the processed session note's parent directory (do not hardcode paths).
Extract session metadata from the processed note:
date from frontmatter (YYYYMMDD format)participants from frontmatter (list of names)participants field, extract names from the transcript header or attendee listSearch for matching prep notes:
find <MEETINGS_DIR> -name "YYYYMMDD-prep-*" -type f 2>/dev/null
Where YYYYMMDD is the session date.
Validate the match: For each candidate prep note, read its frontmatter and confirm:
date field matches the session dateparticipant field matches one of the session's participants (fuzzy: check both full name and first name, case-insensitive)session_note field is empty ("") — skip already-linked prep notesUpdate both files when a match is found:
In the prep note:
session_note: "[[session-note-filename]]" (without .md extension)status: doneIn the session note:
## See also section exists, add - [[YYYYMMDD-prep-participant-slug]] to it## Prep Note
- [[YYYYMMDD-prep-participant-slug]]
Report in the processing output which prep notes were linked, skipped, or not found.
MEETINGS_DIR from the session note path, not from hardcoded valuesconfig.yaml is available, read prep_notes.prefix (default: prep) and prep_notes.type_tag (default: meeting-prep)development
This skill should be used when designing, running, validating, or auditing statistical experiments on personal or observational time-series data (health metrics, speech/text corpora, behavioral logs, diaries, n-of-1 self-tracking). It enforces pre-registration, exact permutation tests, FDR discipline, data-validation gates, adversarial code review, and cross-validation with external models. Triggers on "design an experiment", "test this hypothesis on my data", "is this correlation real", "audit these findings", "pre-register", "validate this dataset", or any n-of-1 / quantified-self analysis request.
development
Create Tufte-inspired data reports and infographic dashboards as standalone HTML files. Uses EB Garamond for text, Monaspace Argon for numbers, Chart.js for interactive charts, and inline SVG sparklines. Produces publication-quality reports with 2-column narrative+data layouts, status dashboards, scroll animations, and responsive mobile support. Use this skill whenever the user wants to create a data report, activity dashboard, infographic, personal analytics page, health tracker visualization, or any document that combines narrative text with interactive charts and tables. Also triggers for "make a report like Tufte", "create an infographic", "build a dashboard", "visualize my data", or requests for beautiful data-driven documents.
documentation
Cut a software release and maintain a tiered compatibility policy. Use when the user wants to release, ship a version, bump the version, tag a release, write a changelog, or update COMPATIBILITY. Config-driven via release.config.json; bumps version files, runs a readiness gate, updates COMPATIBILITY.md tiers and deprecations, tags (→ release workflow), and reports closed issues. Teaches the underlying standards as it runs.
development
Sync and manage bilingual (EN/RU) library content for agency-docs. Use when adding, updating, or reviewing library articles. Handles translation, sync checks, and Russian stylistic review.