How I AI: Teresa Torres's Claude Code System for Task Management, Automated Research, and 'Lazy' Prompting
Discover how Teresa Torres, author of Continuous Discovery Habits, built a personalized productivity powerhouse using Claude Code. Learn her step-by-step workflows for creating a custom to-do list, automating academic research, and building a context library for ultra-efficient AI collaboration.
Claire Vo

In this episode, I sit down with Teresa Torres, the internationally acclaimed author of the book we all know and love, Continuous Discovery Habits. Teresa is a brilliant thinker, speaker, and coach, and she brought a set of workflows that are both deeply practical and incredibly inspiring.
Teresa has moved beyond the web UI and lives directly in the terminal, using Claude Code as a true partner for almost everything she does. She calls this approach "pair programming for everything," whether it's managing her tasks, writing, or conducting research. It’s about creating a system that adapts to you, not the other way around. I was laughing before we started recording as she navigated her entire computer through the command line—it's a testament to how integrated this system has become for her.
In this post, we’re going to break down three of Teresa's core workflows. First, we'll explore how she built a completely personalized task management system that runs on slash commands and markdown files, freeing her from the constraints of tools like Trello. Second, we'll dive into her automated research assistant, a custom plugin that scours academic databases and delivers a daily summary digest right to her to-do list. Finally, we’ll unpack her brilliant strategy for creating a massive, yet highly organized, context library that allows her to be, in her own words, "lazy with her prompting." Let's get to it!
Workflow 1: Building a Personalized Task Manager with Claude Code
Teresa's journey started with a common problem: her notes and tasks were locked inside a third-party tool, Trello. She was worried about data portability and the friction of a graphical user interface. This led her to a powerful question she now asks for every task: "How can AI help with this?" The answer was to build a bespoke task management system right inside VS Code and Obsidian with Claude Code as the engine.

Step 1: The /today Slash Command
The entire system is kicked off each morning with a simple command. Teresa sits down with her coffee, opens her terminal, and types:
/todayThis isn't a native command; it's a custom slash command she created. It triggers a detailed prompt that tells Claude to execute a Python script. This script scans all of her task files and assembles a daily to-do list. The output, generated in a markdown file named for the current date, includes:
- Tasks due today: A checklist of items with today's due date.
- Overdue tasks: A persistent list of everything she hasn't completed yet.
- In-progress ideas: Longer-term projects she can work on if she finishes her daily tasks.
- Research Digest: A link to her automated research findings for the day (more on that in Workflow 2!).
Step 2: Structuring Tasks as Markdown Files
Behind the scenes, every single task is its own markdown file stored locally in an Obsidian vault. This makes her data completely portable, searchable, and accessible to Claude. Each task file uses YAML front matter to structure the metadata.

A typical task file looks something like this:
---
type: task
due_date: 2024-08-21
tags:
- sales
- course-launch
---
# Update sales page for the new course
- [ ] Draft new copy for the features section
- [ ] Find new testimonials
- [ ] Update pricing tableThe beauty of this system is its flexibility. As Teresa works on a task, she can embed her notes directly in the file. If she finds a bug, she can jot it down right there. Later, she can ask Claude to find that note, even if she doesn't remember which task it was in. The search capabilities of an LLM far exceed those of traditional task management tools.
Step 3: Adding and Managing Tasks with Natural Language
Adding a new task doesn't require clicking through menus or opening a new app. Teresa just types a natural language instruction in her always-open Claude Code window.

For example, during our conversation, she created a task like this:
new task, send. Thank you to Claire. do today. How I AI was a blast.
Claude parses this, creates a new markdown file in the tasks folder, adds the correct YAML front matter (including the due date and relevant tags), and then adds it to her daily to-do list file. The entire process is conversational and incredibly low-friction. Claude even handles the tedious work of tagging, using a taxonomy of tags defined in a project-specific claude.md file to keep everything organized.
Workflow 2: Automating Academic Research with a Daily Digest
Like many of us, Teresa wants to stay on top of the latest research in her field but struggles to find the time to proactively search for it. So, she built a system to bring the research to her. This workflow is a custom plugin she developed that integrates directly into her task manager.
Step 1: The Daily Research Digest Output
Every morning, when Teresa runs her /today command, her to-do list includes a section with her "Research Digest." This is a markdown file containing a list of new academic papers relevant to her predefined topics of interest, such as synthetic users, team collaboration, and education.

She can quickly scan this list, and if a paper looks interesting, she downloads the PDF and saves it into a specific topic folder within her research directory (e.g., research/creativity/sources/). This manual step is a crucial filter to prevent information overload.
Step 2: The Automated Search and Summarization Scripts
This entire workflow is powered by two Python scripts running as cron jobs on her computer:
- The Search Script: This script runs every morning. It queries arXiv (a pre-print server for academic papers) and, on Sundays, Google Scholar. It uses a configuration file with Teresa's keywords and topics to find new and relevant papers, keeping track of what it has already shown her.
- The Summarization Script: This script runs every night. It scans her research folders for any new PDFs she downloaded that day. For each new PDF, it triggers a Claude Code agent to generate a detailed summary.
Step 3: Getting Actionable, High-Quality Summaries
The summaries Claude generates are not just simple abstracts. Teresa has engineered the prompt (what she calls a "skill") to focus on the specific elements she cares about for evaluating academic work: the paper's methodology, its effect size, and other details that help her critically assess the research quality.

The next day, these new summaries appear at the top of her research digest. This system allowed her to quickly analyze a newly published paper, spot a flaw in its methodology, and write a detailed, critical review on LinkedIn that became one of her best-performing posts ever. It's a perfect example of how AI can not only save time but also create opportunities for thought leadership.
Workflow 3: The 'Lazy Prompting' System with a Granular Context Library
To make Claude a truly effective partner across all these workflows, Teresa realized she needed to provide it with deep, relevant context. However, she also wanted to be lazy with her prompts. The solution wasn't a single, massive claude.md file, but a sophisticated, modular library of context files.
Step 1: The Problem with a Single Context File
Initially, Teresa put everything into her main claude.md file. But she quickly realized this was inefficient. When she was asking a personal question, like whether her dog could safely eat something, Claude was loading her entire business profile, marketing strategy, and product details. Too much irrelevant context can be just as bad as too little.
Step 2: Creating a Granular, Indexed Library
The solution was to break her context down into dozens of tiny, focused markdown files, all organized in an Obsidian vault called LLM Context. She has separate folders for business and personal topics. Within the business folder, she has files for brand guidelines, marketing channels, individual products, and more.

The real magic is her use of index files. Instead of telling Claude to read every file, she has a main business_profile.md file that acts as a map. It tells Claude, "You can find my company overview here, details about this course here, and information on my partnerships over there."

Her global claude.md file then has simple instructions: "If I ask you for help with something related to my business, use my business profile. If I ask for help with something personal, use my personal profile." This allows Claude to intelligently load only the specific context it needs for a given task.
Step 3: Iteratively Building the Context Library
This impressive library wasn't built in a day. Teresa uses an iterative approach. At the end of a session with Claude, she simply asks:
Claude, what'd you learn today that we should document?
Claude then helps her create or update the context files based on their conversation. This turns every interaction into an opportunity to make the system smarter. The result? She can now give incredibly simple prompts like, "Claude blog post review, gimme feedback," and Claude will automatically pull in her detailed writing style guide, audience profile, and the relevant product information to give her spot-on, highly-calibrated critiques.
Conclusion: Your Perfect System is the One You Build
Teresa’s workflows are a masterclass in building a personalized AI-powered productivity system. By combining the conversational power of Claude Code with the structured, local-first approach of Obsidian, she has created a setup that is perfectly tailored to how she thinks and works. The task manager provides the operational backbone, the research digest fuels her intellectual curiosity, and the context library acts as the shared brain that makes the entire human-AI partnership seamless.
The biggest takeaway for me is that the most powerful AI applications might not be off-the-shelf products, but the ones we build for ourselves. By identifying the friction in our own daily routines, we can use these tools to create idiosyncratic solutions that truly augment our abilities. I’m definitely inspired to rethink my own to-do list and start building a more robust context library. I encourage you to do the same!
Thanks to Our Sponsors!
This episode of How I AI is brought to you by:
- Brex: The intelligent finance platform built for founders. Brex combines corporate cards, expense management, and treasury into a single, seamless platform to give you full visibility and control over your finances.
- Graphite: The next generation of code review. Graphite helps you write and review smaller pull requests, stay unblocked, and ship faster. Turn your stacked PRs into a streamlined, parallelized workflow.
Episode Links
Where to find Teresa Torres:
- Blog: https://producttalk.org/
- Podcast: https://justnowpossible.com/
- Book: Continuous Discovery Habits
- LinkedIn: https://www.linkedin.com/in/teresatorres/
Where to find Claire Vo:
- ChatPRD: https://www.chatprd.ai/
- Website: https://clairevo.com/
- LinkedIn: https://www.linkedin.com/in/clairevo/
- X: https://x.com/clairevo
Tools Referenced:
Other References:
Try These Workflows
Step-by-step guides extracted from this episode.

How to Create a Granular Context Library for 'Lazy Prompting' with AI
Improve your AI's performance by moving from a single, massive context file to a modular library of small, focused markdown files. This system allows the AI to intelligently load only the most relevant information for each task, enabling you to use simple, 'lazy' prompts and get better results.

How to Automate Academic Research with Claude Code and Python Scripts
Build a custom research assistant that automatically finds relevant academic papers and generates high-quality summaries. This system delivers a daily research digest to your to-do list, helping you stay on top of your field with minimal effort.

How to Build a Personalized Task Manager with Claude Code and Markdown
Escape the friction of traditional GUI-based tools by building a bespoke task management system that runs in your terminal. This workflow uses Claude Code and markdown files to create and manage your to-do list with simple slash commands and natural language.


