Coffee Chat
LeoYeAI/openclaw-master-skills
Generate a personalized coffee chat playbook for networking conversations.
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.
$ npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Varnan-Tech/opendirectory meeting-brief-generator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "meeting-brief-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/meeting-brief-generator into .claude/skills/meeting-brief-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-brief-generator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Varnan-Tech/opendirectory/tree/main/skills/meeting-brief-generatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Varnan-Tech/opendirectory meeting-brief-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/meeting-brief-generator .agents/skills/meeting-brief-generator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "meeting-brief-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/meeting-brief-generator into .agents/skills/meeting-brief-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-brief-generator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Varnan-Tech/opendirectory meeting-brief-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/meeting-brief-generator .cursor/skills/meeting-brief-generator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "meeting-brief-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/meeting-brief-generator into .cursor/skills/meeting-brief-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-brief-generator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Varnan-Tech/opendirectory.git --path skills/meeting-brief-generator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Varnan-Tech/opendirectory meeting-brief-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/meeting-brief-generator .gemini/skills/meeting-brief-generator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "meeting-brief-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/meeting-brief-generator into .gemini/skills/meeting-brief-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-brief-generator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Varnan-Tech/opendirectory meeting-brief-generatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/meeting-brief-generator .github/skills/meeting-brief-generator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "meeting-brief-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/meeting-brief-generator into .github/skills/meeting-brief-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-brief-generator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Varnan-Tech/opendirectory --skill meeting-brief-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Varnan-Tech/opendirectory meeting-brief-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/meeting-brief-generator .opencode/skills/meeting-brief-generator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "meeting-brief-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/meeting-brief-generator into .opencode/skills/meeting-brief-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-brief-generator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
meeting-brief-generatorTakes 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. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 62e437a. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
curlpython3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.tavily.comgenerativelanguage.googleapis.comapi.notion.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TAVILY_API_KEYGEMINI_API_KEYNOTION_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
["claude-code","gemini-cli","github-copilot"]
From compatibility in the SKILL.md frontmatter.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
Get it at app.tavily.com. Add it to your .env file."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.
The full file from Varnan-Tech/opendirectory at commit 62e437a, republished under its MIT licence (© Varnan-Tech). 513 words, ~2,157 tokens.
.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.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.
Confirm required env vars:
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?"
Collect the following. Ask only for what is missing.
Required:
Optional (do not block if missing):
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).
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
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)
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
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
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
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
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
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
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
}'Read references/brief-format.md in full. Read references/output-template.md and use the template.
Write the Gemini request to a temp file:
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:
Check before presenting:
Fix any violation before presenting.
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:
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.jsonAfter 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
SKILL.md and 5 other files (references) in skills/meeting-brief-generator of Varnan-Tech/opendirectory.
Open the folder on GitHubat commit 62e437a
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Meeting Brief Generator this skillVarnan-Tech/opendirectory | 674 | — | ~2.2k | Automated safety check: Notes | MIT | |
| Coffee ChatLeoYeAI/openclaw-master-skills | 2.2k | — | ~6.6k | Automated safety check: Pass | MIT | |
| Company Researchliangdabiao/exa-research-mcp-skill | 110 | — | ~1.1k | Automated safety check: Pass | None | |
| Notionaws-samples/sample-strands-agent-with-agentcore | 195 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Meeting Preptechwolf-ai/ai-first-toolkit | 132 | — | ~1k | Automated safety check: Pass | MIT | |
| Research BriefOpenHands/extensions | 163 | — | ~831 | Automated safety check: Pass | MIT |
LeoYeAI/openclaw-master-skills
Generate a personalized coffee chat playbook for networking conversations.
liangdabiao/exa-research-mcp-skill
Company, competitor, and market intelligence research using Exa or an equivalent web-search/MCP tool.
aws-samples/sample-strands-agent-with-agentcore
Search, read, create, and update Notion pages and databases.
techwolf-ai/ai-first-toolkit
Comprehensive pre-meeting briefing that gathers all relevant context from Slack, email, Google Docs, Notion, and calendar.
OpenHands/extensions
Create an automation that writes a recurring research brief.
w95/awesome-claude-corporate-skills
Research a company or person and get actionable sales intel.
Varnan-Tech/opendirectory
Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.
Varnan-Tech/opendirectory
Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture.
Varnan-Tech/opendirectory
Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6.
Varnan-Tech/opendirectory
Creates animated looping GIFs from CSS animations (default) or AI image-to-video.
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…
Varnan-Tech/opendirectory
Aggregates RSS feeds from the past week, synthesizes the top stories using Gemini, and publishes a newsletter digest to Ghost CMS.
Categories
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.
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.
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.
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.
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.
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"].
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.
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.
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.
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.
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.
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.