Build Persona logo

Build Persona

Organization
readwiseio
build-persona

Build a personalized reading profile from your Readwise Reader data, used by triage, quiz, and other skills

Overview

Publisherreadwiseio
Repositoryreadwise-skills
Skill namebuild-persona
Stars
324
Forks
13
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by readwiseio on GitHub. Read the source before you install it.

Installation

Install the Build Persona AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/readwiseio/readwise-skills/tree/master/skills/build-persona
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/readwiseio/readwise-skills.git /tmp/readwise-skills
mkdir -p .claude/skills
cp -r /tmp/readwise-skills/skills/build-persona .claude/skills/build-persona
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Build Persona in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Build Persona on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Build Persona is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

You are building a reader persona for the user based on their Readwise Reader library. This persona file is used by other skills (triage, quiz, etc.) to personalize their experience.

Readwise Access

Check if Readwise MCP tools are available (e.g. mcp__readwise__reader_list_documents). If they are, use them throughout (and pass this context to the subagent). If not, use the equivalent readwise CLI commands instead (e.g. readwise list, readwise read <id>, readwise search <query>, readwise highlights <query>). The instructions below reference MCP tool names — translate to CLI equivalents as needed.

Welcome

Open with a brief introduction:

Build Persona · Readwise Reader

I'll analyze your reading history — saves, highlights, and tags — and build a reader_persona.md profile in the current directory. Other skills (triage, quiz) will use this to personalize their output to you.

I'll start with a quick pass (~1-2 min) and then you can decide if you want a deeper analysis.

Process

IMPORTANT: This skill involves fetching a lot of data. To keep the main conversation context clean, launch a Task subagent to do all the heavy lifting.

Phase 1: Quick Pass

The subagent should do a focused scan to build a solid initial persona fast:

  1. Gather data. Run ALL of these in parallel (one batch of tool calls):

    • 4 highlight searches: mcp__readwise__readwise_search_highlights with 4 broad queries (e.g. "ideas strategy product", "learning technology culture", "writing craft creativity", "business leadership growth") with limit=50 each. These are semantic/vector searches so broad multi-word queries work well. Highlights are cheap and high-signal — cast a wide net.
    • 4 document lists: mcp__readwise__reader_list_documents from each non-feed location: location="new", location="later", location="shortlist", and location="archive" with limit=100 each. If the combined results are very sparse (< 20 docs total), also try without a location filter or with location="feed" as a fallback. Only fetch metadata: response_fields=["title", "author", "category", "tags", "site_name", "summary", "saved_at", "published_date"]. Do NOT fetch full content.
    • Tags: mcp__readwise__reader_list_tags to understand their organizational system.
  2. Parse results efficiently. The JSON responses from document lists can be large (25k+ tokens). Do NOT try to read them with the Read tool — it will hit token limits and waste retries. Instead, use a single Bash call with a python3 script to extract and summarize all the data at once. The script should parse all result files together and output:

    • Document counts by category
    • Top 20 sites, authors, and tags
    • Save velocity by month
    • All docs saved in the last 3 weeks (title, category, author, date)
    • A representative sample of highlight texts with their source titles/authors
  3. Write the persona. Write reader_persona.md to the current working directory with these sections:

    • Identity & Role — Who they appear to be (profession, role, industry)
    • Core Interests — Top themes and topics, ranked by frequency and recency
    • Reading Personality — How they read (saves a lot but reads selectively? highlights heavily? prefers short or long-form?)
    • Current Obsessions — What they've been saving/reading most in the last 2-3 weeks
    • Goals & Aspirations — What they seem to be working toward, inferred from patterns
    • Taste & Sensibility — Thinkers and styles they gravitate toward (contrarian? practical? philosophical? technical?)
    • Anti-interests — Topics notably absent or avoided
    • Triage Guidance — Specific instructions for how to pitch documents to this person (e.g. "lead with practical applicability", "connect to their interest in X", "bar is high for AI content — flag when it's genuinely novel")
  4. Return a brief summary (3-5 sentences) of the persona AND the absolute path to the file.

Subagent speed rules:

  • Do NOT call readwise_list_highlights — it often errors and is redundant with search.
  • Do NOT try to Read large JSON tool-result files — parse them with python3 via Bash.
  • Combine all analysis into ONE python script, not multiple sequential scripts.
  • Maximize parallel tool calls. Every API fetch in step 1 should be a single parallel batch.

Phase 2: Deep Pass (optional)

After the quick-pass subagent returns, show the user the results and ask if they want a deeper analysis. If yes, launch a second subagent that:

  • Fetches 4-6 more highlight searches with different, more specific queries informed by what phase 1 found (e.g. if the persona shows interest in AI tooling, search "AI agents workflows automation"; if they read fiction, search "fiction narrative storytelling") with limit=50 each
  • Paginates beyond the first 100 docs per location using next_page_cursor from phase 1 results — fetch the next 100-200 per location to build a much larger sample
  • Reads the existing reader_persona.md and enriches/rewrites it with the additional data — more nuanced sections, stronger evidence, sharper triage guidance
  • Returns a summary of what changed

After Each Subagent Returns

  1. Show the file link. Always tell the user: reader_persona.md was written to {absolute_path}. Display the full path so they can open it.
  2. Show a summary of the persona (use the subagent's returned summary).
  3. After phase 1: Ask if they want the deep pass or if the quick version is good enough. Also ask if they want to adjust anything.
  4. After phase 2 (if run): Show what changed and ask if they want to adjust anything.
  5. If adjustments needed, edit the file directly based on their feedback.
  6. Confirm saved. Tell them the file is saved and which skills will now use it (triage, quiz, feed-catchup, etc.).

Frequently asked questions

What does the Build Persona AI skill do?

Build a personalized reading profile from your Readwise Reader data, used by triage, quiz, and other skills

Why use Build Persona on TypingMind?

Because you install it once and use it with any model. Build Persona is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Build Persona in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/readwiseio/readwise-skills/tree/master/skills/build-persona. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Build Persona?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Build Persona?

As many as you like. As long as a model supports skills, you can use Build Persona with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Build Persona AI skill free?

It is published on GitHub by readwiseio. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇