Skip to content

Guide · Agent skill

How to use the Personalized Email Reply agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The personalized-email skill is an agent skill for Claude that drafts a reply to your newest Gmail email. It uses cognee memory to take into account what you discussed in your Granola meetings, what you promised the sender, and how you usually write. This guide explains what the skill does, how to install it, how to ask for it, and what it needs before you run it.

Personalized Email Replytopoteretes/cognee · Apache-2.0

Quick start

  1. 1Download and unzip the skill. Download the ZIP from this page and unzip it. Place the folder in ~/.claude/skills/ or in the .claude/skills/ folder of your project.
  2. 2Set up the requirements. Install Python with uv, get a cognee repository checkout, and set LLM_API_KEY. Add Gmail credentials.json and token.json for read-only access if you want your real inbox used.
  3. 3Ask for a reply in plain language. Ask the agent to reply to your latest email in your own tone. The skill runs on a sample mailbox if Gmail and Granola are not set up.
  4. 4Run the setup check. The agent runs the --check command. If a line says MISSING, fix that one item before continuing.
  5. 5Read the printed draft. The draft appears after the line [draft] Reply:. Check which email it answers and which sources were used.
  6. 6Send it yourself. The skill never sends email. Edit the draft if needed and send it from your own mail client.

What an agent skill is and what this one does

An agent skill is a folder with a SKILL.md file that tells an AI agent when to use a capability and how to carry it out. This skill is named personalized-email. It comes from the cognee repository, under .agents/skills/personalized-email, and is licensed Apache-2.0.

When you ask the agent to answer your latest email, it runs a cookbook script. The script stores your Granola meeting notes and your Gmail inbox and sent mail in a local memory dataset called personalized_email. It then drafts a reply to the newest inbox email that reflects what you discussed and promised and how you usually write.

The draft is printed for you to review. The agent never sends it.

Install the personalized-email skill

Download the ZIP for this skill from this page and unzip it. Then put the folder in one of these places:

You can also upload the skill in the Claude apps under Settings → Capabilities → Skills.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into the .claude/skills/ folder of your project

Check the requirements before you trigger it

The skill runs scripts and uses the network. Before you start, make sure you have the following. Granola access is optional. The skill can run without it using --no-granola.

  • Python with uv
  • A cognee repository checkout, because the cookbook lives at examples/cookbooks/personalized_email/ inside it
  • LLM_API_KEY for the language model
  • Gmail credentials.json and token.json, which give read-only Gmail access
  • Optional: Granola meeting notes access

Trigger the skill with a natural request

You do not need a special command. Ask the agent in plain language to answer or reply to your latest email in your own tone. The skill is meant for requests like that.

If you have not connected Gmail or Granola, the skill still runs on a sample mailbox and says so. It drafts a reply to a fictional email, so tell the agent to treat the result as sample data. You can also ask it to use the sample even when your accounts are set up.

Run every command from the repository root. The skill's first step is a check, and the commands it uses are these:

  • Ask: "Reply to my latest email in my own tone."
  • Ask: "Draft an answer to my newest Gmail, using what we discussed in my meetings from the last 3 days." The agent adds --days 3 when you name a time range for meetings.
  • Ask: "Draft a reply to my latest email but don't use Granola." The agent adds --no-granola.
uv run python examples/cookbooks/personalized_email/personalized_email.py --check

What you get back from a run

After the check passes, the agent runs the main script. The draft is everything after the line [draft] Reply:. The agent should also tell you which email it is answering, from the [draft] Answering: line, and which sources went in, from the [ingest_granola] and [ingest_email] lines.

Read the draft before you send it. The skill is designed to print a draft only, so you copy it and send it yourself.

  • [draft] Reply: the draft text
  • [draft] Answering: the email it replies to
  • [ingest_granola] and [ingest_email]: the sources that were stored
uv run python examples/cookbooks/personalized_email/personalized_email.py

Safety notes: scripts, network and your data

This skill runs scripts and uses the network. Gmail access is read-only, and nothing is sent. The agent should not print the contents of credentials.json, token.json or .env. Do not create credentials yourself. If setup is missing, the agent names the line to fix in the cookbook README's "What it needs" table.

Ingesting reads your real meetings and mailbox, and every run uses LLM credits. Run it only when you have asked for it. A sample run clears the personalized_email dataset before it ingests. On your own data, the agent passes --clear only if you ask to start over, because that forgets everything the dataset holds.

To remove the stored data, run the cleanup command below. It forgets the personalized_email dataset.

uv run cognee-cli forget --dataset personalized_email

Tips for better drafts

The draft is only as good as the material in your meetings and mail. Keep the setup done and the meeting notes current, so the memory has the commitments you actually made.

If a script fails, the main script exits with code 1 and prints a line naming what went wrong. To look closer, run that script on its own from examples/cookbooks/personalized_email/scripts/. The cookbook README describes what each script does.

  • Name a time range for meetings if the latest discussions matter more than older ones.
  • Use --no-granola if you do not want meeting notes used.
  • Review every promise in the draft before you send it.

What people use it for

  • Drafting a same-day reply that refers to a decision you made in a meeting that morning
  • Replying to a client in your usual tone after a call recorded in Granola
  • Testing a memory-based email drafter on sample data before connecting your real Gmail
  • Checking that a reply to a colleague reflects a promise you made earlier in sent mail

Frequently asked questions

How do I install the personalized-email agent skill?

Download the ZIP for this skill from this page and unzip it. Put the folder in ~/.claude/skills/ for personal use or in a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.

What do I need to run the personalized-email skill?

You need Python with uv, a cognee repository checkout, an LLM_API_KEY for the language model, and Gmail credentials.json and token.json for read-only Gmail access. Granola meeting notes access is optional.

Does the skill send my email automatically?

No. The skill prints a draft and never sends it. You have to copy the draft and send it yourself. A fully automated sender would need a different tool.

Can I try it without connecting my Gmail or Granola?

Yes. If Gmail and Granola are not set up, the commands run on a sample mailbox and draft a reply to a fictional email. Only LLM_API_KEY is needed for that. The skill tells you when it is using sample data.

Is the skill free to use?

The skill is licensed Apache-2.0. Every run uses LLM credits, so you pay for the language model calls under your own API key.

Why won't the skill draft a reply to my legal or sensitive email?

It is not designed for sensitive or legal correspondence. An unreviewed AI draft could misstate commitments, so the draft should always be checked by you before sending.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you discuss work in meetings and want faster replies that match your tone, and you are comfortable reviewing every draft before you send it. Pick a different tool if you need automatic sending or you are writing sensitive or legal email, where an AI draft could misstate what you agreed to.

Download the skill