Agent skill

Meeting Brief Generator

by Varnan-Tech in Varnan-Tech/opendirectory

Takes a company name and optional contact, runs targeted research via Tavily, synthesizes a 1-page pre-call brief with Gemini, and optionally saves it to Notion.

MITAuto-check: notesSales & Support

Install Meeting Brief Generator

skills CLI
$ npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Varnan-Tech/opendirectory meeting-brief-generator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/meeting-brief-generator .claude/skills/meeting-brief-generator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
meeting-brief-generator
GitHub stars
674
Token cost
~2.2k tokens
SKILL.md length
513 words
Files
6 (incl. references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Takes a company name and optional contact, runs targeted research via Tavily, synthesizes a 1-page pre-call brief with Gemini, and optionally saves it to Notion.

  • Works in 6 steps: Setup Check → Gather Context → Research with Tavily → …
  • Asked to prepare for a meeting
  • SKILL.md covers Step 1: Setup Check, Step 2: Gather Context, Step 3: Research with Tavily and Step 4: Synthesize with Gemini, plus 2 more sections
  • Calls curl and python3; reaches api.tavily.com and generativelanguage.googleapis.com; needs TAVILY_API_KEY and GEMINI_API_KEY

What it does

Meeting Brief Generator is an agent skill from Varnan-Tech/opendirectory. Takes a company name and optional contact, runs targeted research via Tavily, synthesizes a 1-page pre-call brief with Gemini, and optionally saves it to Notion. Use when asked to prepare for a meeting, research a prospect before a call, generate a company brief, create a pre-call summary, or write a meeting prep doc. Trigger when a user says "prepare me for a meeting with", "research this company before my call", "generate a meeting brief for", "I have a call with X tomorrow", or "create a prospect brief for".

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `README.md`, `evals/evals.json` and `references/brief-format.md`). Compatibility notes: ["claude-code","gemini-cli","github-copilot"]

It sits in Sales & Support, covering Sales call preparation and Web search. It works with Notion and Tavily. The repository describes itself as: AI Agent Skills built for Founders who hate Marketing. The licence is MIT.

When your agent uses it

  • Asked to prepare for a meeting
  • Research a prospect before a call
  • Generate a company brief
  • Create a pre-call summary

Example prompts

  • “prepare me for a meeting with”
  • “research this company before my call”
  • “generate a meeting brief for”
  • “/meeting-brief-generator”

Requirements

  • Python 3
  • A credential in TAVILY_API_KEY
  • A credential in GEMINI_API_KEY
  • Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"]

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Setup Check
  2. Gather Context
  3. Research with Tavily
  4. Synthesize with Gemini
  5. Self-QA
  6. Output or Save to Notion

What it can do on your machine

Read from SKILL.md and the folder at commit 62e437a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.tavily.com
    • generativelanguage.googleapis.com
    • api.notion.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • TAVILY_API_KEY
    • GEMINI_API_KEY
    • NOTION_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    ["claude-code","gemini-cli","github-copilot"]

    From compatibility in the SKILL.md frontmatter.

Context cost

Meeting Brief Generator loads about 2.2k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 135 tokens; SKILL.md has 513 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~135
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:31
    Get it at app.tavily.com. Add it to your .env file."
  • NoteMentions a .env fileSKILL.md:34
    t at aistudio.google.com. Add it to your .env file."

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Varnan-Tech/opendirectory at commit 62e437a, republished under its MIT licence (© Varnan-Tech). 513 words, ~2,157 tokens.

Download SKILL.mdSave it as .claude/skills/meeting-brief-generator/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
meeting-brief-generator
description
Takes a company name and optional contact, runs targeted research via Tavily, synthesizes a 1-page pre-call brief with Gemini, and optionally saves it to Notion. Use when asked to prepare for a meeting, research a prospect before a call, generate a company brief, create a pre-call summary, or write a meeting prep doc. Trigger when a user says "prepare me for a meeting with", "research this company before my call", "generate a meeting brief for", "I have a call with X tomorrow", or "create a prospect brief for".
compatibility
["claude-code","gemini-cli","github-copilot"]
author
OpenDirectory
version
1.0.0

Meeting Brief Generator

Take a company name and optional contact. Research the company via Tavily. Synthesize a 1-page pre-call brief with Gemini. Optionally save to Notion.


Critical rule: DO NOT INVENT SPECIFICS. Every fact, number, and claim in the brief must come from a Tavily search result. Mark any section with no search data as "Limited public information found." Never fabricate funding amounts, employee counts, or product details.


Step 1: Setup Check

Confirm required env vars:

bash
echo "TAVILY_API_KEY: ${TAVILY_API_KEY:+set}"
echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+set}"
echo "NOTION_TOKEN: ${NOTION_TOKEN:-not set}"
echo "NOTION_DATABASE_ID: ${NOTION_DATABASE_ID:-not set}"

If TAVILY_API_KEY is missing: Stop. Tell the user: "TAVILY_API_KEY is required. Get it at app.tavily.com. Add it to your .env file."

If GEMINI_API_KEY is missing: Stop. Tell the user: "GEMINI_API_KEY is required. Get it at aistudio.google.com. Add it to your .env file."

If NOTION_TOKEN or NOTION_DATABASE_ID is missing: Continue. The brief will be output as text only. Notion saving is skipped.

Confirm input is present. The user must provide at minimum a company name. If not provided, ask: "Which company are you meeting with?"


Step 2: Gather Context

Collect the following. Ask only for what is missing.

Required:

  • Company name (or domain/URL if provided)
  • Meeting date

Optional (do not block if missing):

  • Contact name and title
  • Meeting type (discovery, demo, follow-up, QBR)
  • Any specific topics or goals the user wants to cover

If the user provides a company URL or domain, use it to make Tavily queries more precise (e.g. site:example.com or include the domain in search terms).


Step 3: Research with Tavily

Run these searches in sequence. Each targets one section of the brief. Save the top results from each (title, url, content snippet, score).

Keep results with score >= 0.5. If a search returns 0 qualifying results, mark that section as "Limited public information found."

Search 1: Company overview

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"COMPANY\" overview founded employees headquarters",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

Search 2: Recent news (last 30 days)

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"COMPANY\" news announcement",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true,
    "topic": "news",
    "time_range": "month"
  }'

Search 3: Tech stack

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"COMPANY\" technology stack engineering infrastructure tools",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

Search 4: Product and pricing

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"COMPANY\" product features pricing use case",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

Search 5: Competitors

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"COMPANY\" competitors alternatives vs",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

Search 6: Funding and growth

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"COMPANY\" funding raised valuation growth",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

If contact name is provided, run two more searches:

Search 7: Contact profile

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"CONTACT_NAME\" \"COMPANY\" role title",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

Search 8: Contact background

bash
curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "\"CONTACT_NAME\" background career LinkedIn",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

Show full SKILL.md (186 more words)Show less

Step 4: Synthesize with Gemini

Read references/brief-format.md in full. Read references/output-template.md and use the template.

Write the Gemini request to a temp file:

bash
cat > /tmp/meeting-brief-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "You are a GTM research analyst preparing a 1-page pre-call brief for a sales or business development meeting. Rules: Every claim must cite a source URL from the provided research. Use the format 'Because [finding from research], mention [point] to [goal]' for talking points. No invented data. If a section has no research data, write 'Limited public information found.' No em dashes. No banned words. Under 400 words total. The brief must be scannable in 3 minutes."
    }]
  },
  "contents": [{
    "parts": [{
      "text": "RESEARCH_RESULTS_AND_INSTRUCTIONS_HERE"
    }]
  }],
  "generationConfig": {
    "temperature": 0.3,
    "maxOutputTokens": 2500
  }
}
ENDJSON
curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/meeting-brief-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

Replace RESEARCH_RESULTS_AND_INSTRUCTIONS_HERE with:

  • All Tavily search results (title, url, content snippet per result)
  • The brief template structure from output-template.md
  • The company name, contact name (if provided), meeting date, meeting type (if provided)

Step 5: Self-QA

Check before presenting:

  • No invented data. Every fact has a source URL from Tavily results.
  • Talking points use "Because [finding], mention [point] to [goal]" format
  • No em dashes in any line
  • No banned words
  • Brief is under 400 words
  • Decision Maker section says "Not specified" if no contact was provided
  • Sections with no data say "Limited public information found" rather than guessing
  • Open questions are specific to this company, not generic

Fix any violation before presenting.


Step 6: Output or Save to Notion

Present the full brief in a code block.

If NOTION_TOKEN and NOTION_DATABASE_ID are both set, ask: "Save this brief to Notion?"

On confirmation:

bash
cat > /tmp/notion-brief-payload.json << 'ENDJSON'
{
  "parent": { "database_id": "NOTION_DATABASE_ID_HERE" },
  "properties": {
    "Name": {
      "title": [{ "text": { "content": "Meeting Brief: COMPANY, DATE" } }]
    },
    "Date": {
      "date": { "start": "YYYY-MM-DD" }
    }
  },
  "children": [
    {
      "object": "block",
      "type": "paragraph",
      "paragraph": {
        "rich_text": [{ "type": "text", "text": { "content": "BRIEF_CONTENT_HERE" } }]
      }
    }
  ]
}
ENDJSON
curl -s -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer $NOTION_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2022-06-28" \
  -d @/tmp/notion-brief-payload.json

After posting: "Brief saved to Notion. Check your database."

If Notion is not configured: present the brief only. Do not mention Notion.

© Varnan-Tech, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/meeting-brief-generator of Varnan-Tech/opendirectory.

  • SKILL.md
  • .env.example
  • README.md
  • evals/evals.json
  • references/brief-format.md
  • references/output-template.md

Open the folder on GitHubat commit 62e437a

Compare with similar skills

Meeting Brief Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Meeting Brief Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Meeting Brief Generator this skillVarnan-Tech/opendirectory674—~2.2kAutomated safety check: NotesMIT
Coffee ChatLeoYeAI/openclaw-master-skills2.2k—~6.6kAutomated safety check: PassMIT
Company Researchliangdabiao/exa-research-mcp-skill110—~1.1kAutomated safety check: PassNone
Notionaws-samples/sample-strands-agent-with-agentcore195—~1.3kAutomated safety check: PassMIT
Meeting Preptechwolf-ai/ai-first-toolkit132—~1kAutomated safety check: PassMIT
Research BriefOpenHands/extensions163—~831Automated safety check: PassMIT

Similar skills

  • Coffee Chat

    LeoYeAI/openclaw-master-skills

    Generate a personalized coffee chat playbook for networking conversations.

    2.2k GitHub stars~6.6k tokensUpdated 2 mo ago
    Data & AnalyticsAuto-check passed
  • Company Research

    liangdabiao/exa-research-mcp-skill

    Company, competitor, and market intelligence research using Exa or an equivalent web-search/MCP tool.

    110 GitHub stars~1.1k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Notion

    aws-samples/sample-strands-agent-with-agentcore

    Official

    Search, read, create, and update Notion pages and databases.

    195 GitHub stars~1.3k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Meeting Prep

    techwolf-ai/ai-first-toolkit

    Comprehensive pre-meeting briefing that gathers all relevant context from Slack, email, Google Docs, Notion, and calendar.

    132 GitHub stars~1k tokensUpdated 11 days ago
    Productivity & AutomationAuto-check passed
  • Research Brief

    OpenHands/extensions

    Create an automation that writes a recurring research brief.

    163 GitHub stars~831 tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Account Research

    w95/awesome-claude-corporate-skills

    Research a company or person and get actionable sales intel.

    244 GitHub stars~1.8k tokensUpdated 7 mo ago
    Sales & SupportAuto-check passed

More from Varnan-Tech/opendirectory

All 61 skills in this repo
  • Graphic Ebook

    Varnan-Tech/opendirectory

    Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.

    674 GitHub stars~5k tokensUpdated 1 mo ago
    Auto-check passed
  • Docs From Code

    Varnan-Tech/opendirectory

    Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture.

    674 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Chart

    Varnan-Tech/opendirectory

    Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6.

    674 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Gif

    Varnan-Tech/opendirectory

    Creates animated looping GIFs from CSS animations (default) or AI image-to-video.

    674 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed
  • Map Your Market

    Varnan-Tech/opendirectory

    Given a product description, category keywords, or competitor names (any combination), searches Reddit, Hacker News, GitHub Issues, G2, and Google Trends for the real pains your market experiences…

    674 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Newsletter Digest

    Varnan-Tech/opendirectory

    Aggregates RSS feeds from the past week, synthesizes the top stories using Gemini, and publishes a newsletter digest to Ghost CMS.

    674 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Meeting Brief Generator

What does Meeting Brief Generator do?

Takes a company name and optional contact, runs targeted research via Tavily, synthesizes a 1-page pre-call brief with Gemini, and optionally saves it to Notion. Meeting Brief Generator is an agent skill from Varnan-Tech/opendirectory. Takes a company name and optional contact, runs targeted research via Tavily, synthesizes a 1-page pre-call brief with Gemini, and optionally saves it to Notion.

When should I use Meeting Brief Generator?

Meeting Brief Generator fits situations like: asked to prepare for a meeting; research a prospect before a call; generate a company brief; create a pre-call summary.

How do I install Meeting Brief Generator in Claude Code?

Run `npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a claude-code`. Or copy the skill folder (skills/meeting-brief-generator in Varnan-Tech/opendirectory) into .claude/skills/meeting-brief-generator in your project. Claude Code loads it when a task matches its description.

How do I install Meeting Brief Generator in Codex?

Run `npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a codex`. Or copy the skill folder (skills/meeting-brief-generator in Varnan-Tech/opendirectory) into .agents/skills/meeting-brief-generator in your project. Codex loads it when a task matches its description.

Can I use Meeting Brief Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/meeting-brief-generator, .gemini/skills/meeting-brief-generator, .github/skills/meeting-brief-generator and .opencode/skills/meeting-brief-generator in your project.

What does Meeting Brief Generator need to run?

Going by SKILL.md and its folder, Meeting Brief Generator needs the command-line tools its instructions call (curl and python3) and credentials named TAVILY_API_KEY, GEMINI_API_KEY and NOTION_TOKEN. Our summary lists: Python 3; A credential in TAVILY_API_KEY; A credential in GEMINI_API_KEY. Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"].

Does Meeting Brief Generator access the network?

SKILL.md names 3 domains. In commands or code: api.tavily.com, generativelanguage.googleapis.com and api.notion.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Meeting Brief Generator safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Meeting Brief Generator use?

Meeting Brief Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Meeting Brief Generator use?

About 2.2k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.

What are the alternatives to Meeting Brief Generator?

Skills that share tags, products or a category with Meeting Brief Generator: Coffee Chat (LeoYeAI/openclaw-master-skills, 2.2k stars), Company Research (liangdabiao/exa-research-mcp-skill, 110 stars), Notion (aws-samples/sample-strands-agent-with-agentcore, 195 stars) and Meeting Prep (techwolf-ai/ai-first-toolkit, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Meeting Brief Generator?

Varnan-Tech (a GitHub organization) maintains it in Varnan-Tech/opendirectory, which has 674 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on August 16, 2026.

Source: Varnan-Tech/opendirectory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.