Agent skill

Personalized Email

by topoteretes in topoteretes/cognee

Draft a reply to your newest Gmail email that knows what you discussed in your Granola meetings, what you promised the sender, and how you write, using cognee memory.

Apache-2.0Auto-check: notesProductivity & Automation

Install Personalized Email

skills CLI
$ npx skills add topoteretes/cognee --skill personalized-email -a claude-code

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

GitHub CLI
$ gh skill install topoteretes/cognee personalized-email --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/topoteretes/cognee.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/personalized-email .claude/skills/personalized-email && 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
personalized-email
GitHub stars
32k
Token cost
~695 tokens
SKILL.md length
345 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

Draft a reply to your newest Gmail email that knows what you discussed in your Granola meetings, what you promised the sender, and how you write, using cognee memory.

  • Works in 4 steps: Run uv run python… → Run uv run python… → The draft is everything after the line… → …
  • Someone asks to answer
  • SKILL.md covers Steps, Rules and Clean up
  • Calls uv; needs LLM_API_KEY

What it does

Personalized Email is an agent skill from topoteretes/cognee. Draft a reply to your newest Gmail email that knows what you discussed in your Granola meetings, what you promised the sender, and how you write, using cognee memory. Use when someone asks to answer or reply to their latest email in their own tone. Runs locally; reads Gmail read-only; the draft is printed, never sent.

Its SKILL.md is about 700 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Email management. It works with Gmail. The repository describes itself as: Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory with small models for free. The licence is Apache-2.0.

When your agent uses it

  • Someone asks to answer
  • Reply to their latest email in their own tone

Example prompts

  • “/personalized-email”

Requirements

  • Python 3
  • A credential in LLM_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Run uv run python examples/cookbooks/personalized_email/personalized_email.py --check.
  2. Run uv run python examples/cookbooks/personalized_email/personalized_email.py. Add
  3. The draft is everything after the line [draft] Reply:. Give it to the user, and say
  4. If a script fails, personalized_email.py exits 1 with a line naming what went wrong.

What it can do on your machine

Read from SKILL.md and the folder at commit 0ec7a9f. 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:

    • uv

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

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

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

  • Credentials

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

    • LLM_API_KEY

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

Context cost

Personalized Email loads about 695 tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 345 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~695

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:43
    of `credentials.json`, `token.json` or `.env`.

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 topoteretes/cognee at commit 0ec7a9f, republished under its Apache-2.0 licence (© topoteretes). 345 words, ~695 tokens.

Download SKILL.mdSave it as .claude/skills/personalized-email/SKILL.md (or your agent's skills folder).
name
personalized-email
description
Draft a reply to your newest Gmail email that knows what you discussed in your Granola meetings, what you promised the sender, and how you write, using cognee memory. Use when someone asks to answer or reply to their latest email in their own tone. Runs locally; reads Gmail read-only; the draft is printed, never sent.

Personalized email

Runs the personalized email cookbook in examples/cookbooks/personalized_email/. It remembers your Granola meeting notes and your Gmail inbox and sent mail in the cognee dataset personalized_email, then drafts a reply to the newest inbox email. Setup, the scripts and what each one does are in the cookbook's README.md.

Run every command from the repo root.

Steps

With neither Gmail nor Granola set up, the commands below run on a sample mailbox (the [setup] line says so) and draft a reply to a fictional email; only LLM_API_KEY is needed. Tell the user the reply is to sample data. Add --sample to use the sample even when their accounts are set up.

  1. Run uv run python examples/cookbooks/personalized_email/personalized_email.py --check.
    • Exit 0: go to step 2.
    • Exit 2: each [setup] MISSING: line names one fix. Don't create credentials yourself. Tell the user exactly which line to fix, using the README's "What it needs" table, and stop. If only the Granola line is missing, ask whether to run with --no-granola instead.
  2. Run uv run python examples/cookbooks/personalized_email/personalized_email.py. Add --days N if the user named a time range for meetings, and --no-granola if they don't want Granola used.
  3. The draft is everything after the line [draft] Reply:. Give it to the user, and say which email it answers (the [draft] Answering: line) and which sources went in (the [ingest_granola] and [ingest_email] lines). The draft is never sent: hand it to the user to send.
  4. If a script fails, personalized_email.py exits 1 with a line naming what went wrong. Run that script from examples/cookbooks/personalized_email/scripts/ on its own to look closer.

Rules

  • Gmail access is read-only and nothing is sent.
  • Don't print the contents of credentials.json, token.json or .env.
  • A sample run forgets the cookbook's dataset personalized_email before it ingests (the [clear] line). On the user's own data, pass --clear only when they asked to start over: it forgets everything the dataset holds.
  • Ingesting reads the user's real meetings and mailbox, and every run uses LLM credits, so run it only when the user asked for it.

Clean up

bash
uv run cognee-cli forget --dataset personalized_email

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

Files

Just SKILL.md in .agents/skills/personalized-email of topoteretes/cognee.

Open the folder on GitHubat commit 0ec7a9f

Compare with similar skills

Personalized Email 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.

Personalized Email compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Personalized Email this skilltopoteretes/cognee32k—~695Automated safety check: NotesApache-2.0
Career-Ops Gmail Lead Plugincareer-ops-hq/career-ops74k—~233Automated safety check: NotesMIT
Gmailteam-attention/plugins-for-claude-natives827—~967Automated safety check: PassMIT
Connect Apps with ComposioComposioHQ/awesome-claude-skills77k3 repos~557Automated safety check: PassNone
Gmail Emailopen-gitagent/gitagent714—~235Automated safety check: NotesMIT
Google Workspaceyc-software/qm15k—~1.8kAutomated safety check: PassMIT

Similar skills

  • Career-Ops Gmail Lead Plugin

    career-ops-hq/career-ops

    Pulls job leads from a Gmail label into the career-ops pipeline, extracting job URLs from DMARC-passing emails and de-duplicating against existing leads.

    74k GitHub stars~233 tokensUpdated today
    Productivity & AutomationAuto-check: notes
  • Gmail

    team-attention/plugins-for-claude-natives

    This skill should be used when the user asks to "check email", "read emails", "send email", "reply to email", "search inbox", or manages Gmail.

    827 GitHub stars~967 tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Connect Apps with Composio

    ComposioHQ/awesome-claude-skills

    Connects an agent to 1000+ external apps through the Composio Tool Router plugin, so it can actually send emails, create issues and post messages instead of only drafting them.

    77k GitHub starsUsed in 3 repos~557 tokens
    Productivity & AutomationAuto-check passed
  • Gmail Email

    open-gitagent/gitagent

    Send emails via Gmail SMTP using App Password authentication.

    714 GitHub stars~235 tokensUpdated yesterday
    Productivity & AutomationAuto-check: notes
  • Google Workspace

    yc-software/qm

    Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

    15k GitHub stars~1.8k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Gmcli

    badlogic/pi-skills

    Gmail CLI for searching emails, reading threads, sending messages, managing drafts, and handling labels/attachments.

    2.6k GitHub stars~470 tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed

More from topoteretes/cognee

All 19 skills in this repo
  • Cognee CLI Memory Commands

    topoteretes/cognee

    Drives cognee from the terminal with remember, recall, forget and improve memory commands, dataset and config management and database migrations.

    32k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • Cognee Community Packages

    topoteretes/cognee

    Guide to using and contributing cognee community packages: database adapters, data-source connectors, custom tasks and retrievers, and Keywords AI observability.

    32k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Cognee Custom Graph Models

    topoteretes/cognee

    Defines the shape of cognee's knowledge graph with graph_model: DataPoint node classes, identity and index fields, typed edges and fixes for duplicated nodes.

    32k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Cognee Custom Pipelines

    topoteretes/cognee

    Shows how to write custom cognee tasks, chain them into pipelines, store custom DataPoints and run enrichment over the existing graph.

    32k GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed
  • Cognee Docker Setup

    topoteretes/cognee

    Runs the Cognee AI memory platform in Docker, from a one-file prebuilt image to a full compose stack with UI, MCP server, Postgres and Neo4j.

    32k GitHub stars~901 tokensUpdated yesterday
    Auto-check: notes
  • Cognee Forget

    topoteretes/cognee

    Removes data from cognee memory with forget(), finding the right dataset and document first and choosing between one document, a dataset or only the graph and vector memory.

    32k GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Personalized Email

What does Personalized Email do?

Draft a reply to your newest Gmail email that knows what you discussed in your Granola meetings, what you promised the sender, and how you write, using cognee memory. Personalized Email is an agent skill from topoteretes/cognee. Draft a reply to your newest Gmail email that knows what you discussed in your Granola meetings, what you promised the sender, and how you write, using cognee memory.

When should I use Personalized Email?

Personalized Email fits situations like: someone asks to answer; reply to their latest email in their own tone.

How do I install Personalized Email in Claude Code?

Run `npx skills add topoteretes/cognee --skill personalized-email -a claude-code`. Or copy the skill folder (.agents/skills/personalized-email in topoteretes/cognee) into .claude/skills/personalized-email in your project. Claude Code loads it when a task matches its description.

How do I install Personalized Email in Codex?

Run `npx skills add topoteretes/cognee --skill personalized-email -a codex`. Or copy the skill folder (.agents/skills/personalized-email in topoteretes/cognee) into .agents/skills/personalized-email in your project. Codex loads it when a task matches its description.

Can I use Personalized Email 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 topoteretes/cognee --skill personalized-email -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/personalized-email, .gemini/skills/personalized-email, .github/skills/personalized-email and .opencode/skills/personalized-email in your project.

What does Personalized Email need to run?

Going by SKILL.md and its folder, Personalized Email needs the command-line tools its instructions call (uv) and credentials named LLM_API_KEY. Our summary lists: Python 3; A credential in LLM_API_KEY.

Does Personalized Email access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Personalized Email 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 Personalized Email use?

Personalized Email is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Personalized Email use?

About 695 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Personalized Email?

Skills that share tags, products or a category with Personalized Email: Career-Ops Gmail Lead Plugin (career-ops-hq/career-ops, 74k stars), Gmail (team-attention/plugins-for-claude-natives, 827 stars), Connect Apps with Composio (ComposioHQ/awesome-claude-skills, 77k stars) and Gmail Email (open-gitagent/gitagent, 714 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Personalized Email?

topoteretes (a GitHub organization) maintains it in topoteretes/cognee, which has 31,919 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 9, 2026.

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