2026 5

Email Reply

Answer the most recent email matching above. Draft the reply that I (Anand) would actually send - based mostly on things I said, decided, or did recently, adapted to this audience and situation. (Not a generic polished email that just resembles my writing.) Guardrails: - Work independently. If a missing fact would significantly change the decision, commitment, or risk AND cannot be found from the sources: - Ask one clarifying question to the recipient or recommend a "DISCUSS LIVE". - Ask me when neither is appropriate and proceeding without the fact could cause material harm. - Draft only. NEVER send or modify email. - Use @LocalMCP, the web, and the coding environment directly. - For external recipients, don't disclose what's not approved for them. 0. **Read relevant skills**: On Local MCP, find, read, and apply the relevant skills for the task. `~/code/scripts/agents/*/SKILL.md` - coding + thinking skills `~/code/blog/pages/skills/*/SKILL.md` - thinking skills 1. **Fetch and understand**: Use `gws` on Local MCP. Find the thread by subject + sender, read all of it (format=full, decode base64url bodies). Determine: - Have I already replied? Has the request changed? Did someone else answer? Is a reply still useful? Default target: the first email's substance, replied to the latest message that still needs something from me. - Read attachments that affect the reply (pdf/pptx skills). Render slides and pages visually when reviewing a visual artifact; extracted text is not enough. Follow Google Drive links that hold the actual material. - Identify: the literal questions; what the sender actually needs (answer, decision, approval, review, introduction, reassurance, cover); the deadline; any implied commitment for me, my org, or others; the useful question they did not ask. - Reframe: if required and appropriate, use reframe-question/SKILL.md and answer their INTENDED question. Research the sender for better context if required. 2. Choose the response mode: Substantive reply / brief ack / decision / introduction or delegation / one clarifying question / discuss live / follow-up / no reply. An email draft is not automatically the right output. Proportional effort: a confirmation stays simple; advice ends in a small experiment or decision, not a catalogue; artifact reviews inspect the artifact and give concrete changes. For strategy or broad advice, mention the (ambitious) end-state and the practical next step that leads to it. Do not expose research just because you performed it. 3. Retrieve my position: Use `~/code/scripts/context.py`. Search in widening rings, stopping when new sources no longer change the reply, in this order: 1. The steer. 2. The thread, attachments, links. 3. My recent sent mail: same person, same project, similar questions (also my best style anchor - imitate 3-5 replies of the same type). 4. For project/client work, use gws (Google Drive). Search filenames, then full text; maybe broaden thereafter. Prefer recent files (<90d). Read only most likely authoritative files. 5. `~/Dropbox/notes/questions-i-am-asked.md` and other recent `~/Dropbox/notes/` files (newest first) 6. `~/Dropbox/notes/transcripts/YYYY-MM-DD*.md` near the email date or with the sender 7. `~/code/blog/description.md`, `~/code/til/README.md`, `~/code/talks/README.md` (find the piece, then read it); `~/Dropbox/notes/about/{Sender}.md` if present 8. The web, only for current external facts (prices, models, dates, roles). When sources conflict, prefer the more authoritative and recent, direct, situation-specific one. Infer the underlying position; don't copy old wording mechanically. My emails and transcripts are evidence of my POSITION, not proof a FACT is true. Verify changing facts against primary sources online. ALWAYS read and follow the anand-writing-style, anand-objectives, verification-gate skills. Use blind-spot, expert-lens, evidence-provenance for strategy or reviews. 4. Draft: - "Hi {FirstName}" ... body ... "Regards" or "Thanks" + "Anand", whichever fits. - Write based on the recipients' current situation. What do they currently know, understand, and believe? The email should be clear to them, without the benefit of the context I have. - Minimize my commitments ("I can help review X", "happy to join one call"). - Prefer a minimal experiment to asking follow-up questions. e.g. "try this next step", maybe "If you meant something else, let's discuss alternatives." - Liberally share relevant links, e.g. from my blog (s-anand.net), talks (talks.s-anand.net), code (github.com/sanand0), etc. or authoritative public references. - Examples and verbatim quotes are good. Use liberally. - Separate: confirmed facts / my recommendation / still to decide. Tentative where evidence is tentative: "Maybe try X?" Say plainly what I don't know. - Warmth and humor only where the existing relationship supports it. - Plain ASCII. No em-dashes, emojis. Conversational language. - Length: confirmation 40-120 words; advice 80-250 ending in a decision or experiment; artifact or technical review 300-700; longer only if the requested content itself requires it. 5. Verify, then trim: Check: every material question answered, including the unasked one? Facts and links verified at primary sources? Any invented commitment, owner, or certainty? Any unintended commitment, precedent, exclusion, ownership/staffing/budget/access expectation, or stakeholder consequence if this is acted on or forwarded? Contradicts anything I said recently? Leaks private context? Longer than I would write? Phrases I would not use? Compare against recent sent replies to the same person or topic. Then cut anything that does not change what the recipient understands or does next. Output: Recommendation: REPLY / REPLY BRIEFLY / DISCUSS LIVE / FOLLOW UP / NO REPLY Status: pending or already replied (with date if replied) Draft: <ready-to-paste body only> Why: up to 3 bullets on the decisive choices Process: bulleted reasoning steps including hypotheses considered, alternatives rejected, why searches widened or narrowed, branches followed or abandoned, why retrieval stopped. List meaningful sources and retrieval steps used (if any) in the step: `query, command, or action -> findings (citing exact file:line, message id, or URL)`. Judgment calls: up to 3 decisions only I can make - your pick, why, alternatives, and why I might differ, what evidence would change the decision. Gaps: anything unread or unverified, specific knowledge Anand may have that can alter the answer, e.g. undocumented discussions, relationship history, verbal commitments, stale sources, better alternatives, political or operational constraints, etc. 07 Sep 2026: Manually updated. Encourage links, examples, simplify how to draft, use context.py. 11 Aug 2026. Updated to cover clarifying questions and second-order effects: https://chatgpt.com/c/6a7b0370-7030-83ee-a3de-9a12cdad3c3f 23 Jul 2026. Updated based on Ask AI initiative feedback: https://chatgpt.com/c/6a61b1f7-9580-83e8-a4e1-7e88a16538e1 17 Jul 2026. Created. Sources: https://claude.ai/chat/86b76a7f-2b62-42e5-82c7-a2474c8dd23e https://chatgpt.com/c/6a5975a7-2ca0-83ee-a1b6-a730ec71412b Usage attempt #1: https://chatgpt.com/c/6a5986bf-13d0-83e8-b460-5ecb0360bb84

Unreasonable Gesture

Scan my transcripts, email/chat JSONL, and WhatsApp on @LocalMCP for the last 7 days until Saturday midnight (SGT). Use ~/code/scripts/context.py as required. Find 5 people who deserve a specific warm WhatsApp/email/Meet message from me. See ~/Dropbox/notes/unreasonable-gestures.md for actual messages I've sent - to use as examples. Pick people where I may have missed something specific, like invisible reliability work, quietly carrying pressure, a brave/good question, unusual ownership, creating an opening for me/Straive, effort that got only transactional feedback, ... Skip people I have already thanked in the last 3 months. For each, tell me the person + channel, the specific thing I noticed and why it matters, and the exact message to send, in my style.

Things I Learned - 31 May 2026

This week, I learned: D-ID is an avatar generator platform like HeyGen. Creatify and Synthesia are a couple of others I heard of. This space seems to be growing. cosign is a CLI that lets you sign and verify any piece of text with a Google, GitHub or Microsoft account. cosign sign-blob FILE --bundle sign.json opens a login window and creates a sign.json signature. Anyone who has FILE and sign.json and the email ID can verify via a Google account with cosign verify-blob FILE --bundle sign.json --certificate-identity $EMAIL --certificate-oidc-issuer https://accounts.google.com. arxiv2md.org converts arXiv papers to Markdown. Source. markxiv.org claims the same - by just changing the URL - but it ended up reporting an error when I tried this link: https://markxiv.org/abs/2604.08649. From Akhilesh Tilotia: So we have someone in our team with initials AS. She made a document which was named vAS. Then I made edits and named it vAT. These docs were in a CoWork folder. I asked Claude to clean up my doc. It created another version for me to review. In its wisdom, it named the file vAU 🙂 Maybe what a forward-deployed engineer does is enginer AI-native workflows. (This sounded profound when I wrote it down. Not sure if it’ll sound as profound tomorrow.) The idea is that the FDE will say, screw existing processes; let me fire up my AI agent and get stuff done; THEN we’ll figure out what works, how to optimize it, etc. The PRAGMA: Revolut Foundation Model has some good tokenization ideas for tabular data. Create your own token space with key–value–time tokenization - to retain field information. Bucketize numbers by percentile, preserving magnitude/ordering that subword tokenization destroys. Encode time both as log-seconds and as cyclical calendar features. Codex uses the Alt + Up Arrow key to edit queued commands, but on the VS Code terminal, this key binding is not sent to the terminal. Enable the terminal.integrated.sendKeybindingsToShell setting to send it to the terminal, hence Codex. Based on this catalog on “universal foods”, here’s what I 🟢 like, am 🟡 neutral, 🔴 dislike, 🟣 must try, and will ⚫ skip. Universal favorites: 🟢 pizza, 🟢 fried potatoes/chicken, 🟡 dumplings, 🟢 ice cream. Universal comfort foods: 🟢 khichdi, 🟡 congee, 🟡 dal-rice, 🟡 risotto, 🟡 ramen, 🟢 pho, ⚫ chicken noodle soup, 🔴 rice porridge, 🟡 mac-and-cheese, 🔴 mashed potato, 🟣 polenta, 🟢 oatmeal, 🟣 Japanese curry rice. Acquired tastes that convert most: 🟡 coffee, 🟢 tea, 🟡 dark chocolate, 🟢 mild fermented dairy, 🟢 pickles, 🟢 olives, 🟣 kimchi, 🟣 miso, 🟢 mild chili dishes. Acquired tastes that have cult devotion: 🟣 durian, 🟣 natto, 🟣 stinky tofu, ⚫ fermented fish, ⚫ hákarl, 🟢 very funky blue cheese, ⚫ offal. OceanoPDF seems like a good place to download ePubs of books. The entire Wikipedia is available as a Parquet file. You can query it like duckdb -c "FROM 'hf://datasets/wikimedia/structured-wikipedia/enwiki/data/*.parquet' LIMIT 5". The English version has 35 GB, 7.6 million articles, and you’re better off downloading it rather than running analyses remotely. When you receive a Calendly link of the form https://cal.com/USER/EVENT you can fetch the available slots via curl -H 'cal-api-version: 2024-09-04' 'https://api.cal.com/v2/slots?eventTypeSlug=EVENT&username=USER&start=2026-05-25&end=2026-06-01&timeZone=Asia/Singapore&format=range'. Useful to automate good meeting-slot selection. “Reference saved memories” in ChatGPT is different from “Reference chat history” as per OpenAI. In Developer Mode, memory is turned off, but not chat history. I confirmed that I can access past conversations in Developer Mode. It might be a privacy concern for others, but for me, this is singularly useful, because I can use ChatGPT with Local MCP effectively getting a non-metered AI coding agent. Seems GPT-5.2 reaches expert level in peer review: 45 scientists took 469 hours evaluating human & AI reviews on 82 papers. “Surprisingly, current AI reviewers are competitive even with the top-rated reviewers in Nature’s official peer review…” though not without weaknesses, so use AI + humans. On the limits and opportunities of AI reviewers: Reviewing the reviews of Nature-family papers with 45 expert scientists via Ethan Mollick Questions I was asked Week ending 31 May 2026 ...

People skills with AI

I advise people that people skills are important in the AI era. Now, I’m using AI to help me with people skills. This morning, I wrote a script to export my WhatsApp conversations this year. That makes it easy to feed it into AI models. Then I used my Local MCP connector and asked Claude: Who are people in my life that most deserve an unreasonable gesture of thanks and what would that be? ...

How I use Local MCP

I’d love for Claude or ChatGPT to answer questions like: What meetings am I not setting up that I really should be? or: Based on my activities since 9 May 2026, what should I blog about? or: Who in my professional life most deserves an unreasonable gesture? From data. My files, emails, calendar, contacts, transcripts, blogs, notes, code, browsing history, logs, random Markdown files I forgot I wrote. Hence, a Local MCP. ...