build-persona
Build a personalized reading profile from your Readwise Reader data, used by triage, quiz, and other skills
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Build a personalized reading profile from your Readwise Reader data, used by triage, quiz, and other skills
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Ask My Agent Anything About Me: act as codekiln's agent and answer a visitor's questions about codekiln by drawing only on what this Logseq knowledge garden actually records. Never speak in codekiln's first person. Use when someone has cloned this repo to get to know codekiln and asks things like "who is codekiln?", "what do they work on / believe / value?", "what are their preferences, principles, or projects?", "what are they reading or thinking about lately?". Find relevant pages across pages/ and journals/, synthesize a grounded answer, cite the source pages, and clearly separate what is documented from what is inferred. Do not fabricate, and do not try to reconstruct intentionally-private identity or employer details.
Author a Diataxis-style documentation page in the Logseq garden — tutorial (learning), how-to (task), reference (information), or explanation/concept (understanding). Use when the user asks to create or restructure a How To, Tutorial, Reference, or Concept/Explanation page, or asks which Diataxis type fits. Adds the right `[[Diataxis/...]]` tag and namespace. Do not use for non-doc pages or to edit existing protected `tags::`.
Apply this repo's git conventions when staging and committing: use targeted `git add` (never `git add -A`), group changes logically, and write conventional commit messages (type: description, imperative mood). Use when the user asks to commit, stage, or write a commit message in this repo. Do not use for branch/PR review workflows.
Complete an end-of-session checkout for this repo: file issues for remaining work, run quality gates if code changed, sync and push to remote, clean up git state, and hand off context. Use when the user says "land the plane", "wrap up", "finish the session", or asks to make sure everything is committed and pushed. Work is not done until `git push` succeeds.
Reference or document AI models in the garden using provider namespaces and singular naming. Use when mentioning a model in passing/changelogs, creating a model stub, or authoring a detailed model page with features, benchmarks, tiers, access, and specs. Covers OpenAI/Anthropic/Google/DeepSeek/xAI model link formats and model-code aliases. Do not use for general entity creation (logseq-entity) or non-model pages.
Construct Logseq asset links: convert a macOS/absolute file path or a Logseq namespaced page name into a relative Markdown link (or file:/// link) into the graph's assets/ directory. Use when the user gives a file path or [[Namespace/Page]] and wants the asset/image/PDF link, an asset filename, or an asset folder path. Do not use for ordinary page wikilinks (logseq-core / logseq-link-hygiene).
| name | build-persona |
| description | Build a personalized reading profile from your Readwise Reader data, used by triage, quiz, and other skills |
| targets | ["*"] |
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.
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.
Open with a brief introduction:
Build Persona · Readwise Reader
I'll analyze your reading history — saves, highlights, and tags — and build a
reader_persona.mdprofile 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.
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.
The subagent should do a focused scan to build a solid initial persona fast:
Gather data. Run ALL of these in parallel (one batch of tool calls):
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.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.mcp__readwise__reader_list_tags to understand their organizational system.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:
Write the persona. Write reader_persona.md to the current working directory with these sections:
Return a brief summary (3-5 sentences) of the persona AND the absolute path to the file.
Subagent speed rules:
readwise_list_highlights — it often errors and is redundant with search.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:
limit=50 eachnext_page_cursor from phase 1 results — fetch the next 100-200 per location to build a much larger samplereader_persona.md and enriches/rewrites it with the additional data — more nuanced sections, stronger evidence, sharper triage guidancereader_persona.md was written to {absolute_path}. Display the full path so they can open it.