<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Every Day is a Year]]></title><description><![CDATA[Josh Pigford takes a weekly look at the AI tools, updates, and trends that actually matter — from a founder who builds with this stuff every day. No hype, just what's worth your time.]]></description><link>https://everydayisayear.ai</link><image><url>https://substackcdn.com/image/fetch/$s_!LlJK!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2567477b-a9b1-40cf-8d2b-260867b8248f_2048x2048.jpeg</url><title>Every Day is a Year</title><link>https://everydayisayear.ai</link></image><generator>Substack</generator><lastBuildDate>Mon, 20 Apr 2026 02:55:43 GMT</lastBuildDate><atom:link href="https://everydayisayear.ai/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Josh Pigford]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[everydayisayear@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[everydayisayear@substack.com]]></itunes:email><itunes:name><![CDATA[Josh Pigford]]></itunes:name></itunes:owner><itunes:author><![CDATA[Josh Pigford]]></itunes:author><googleplay:owner><![CDATA[everydayisayear@substack.com]]></googleplay:owner><googleplay:email><![CDATA[everydayisayear@substack.com]]></googleplay:email><googleplay:author><![CDATA[Josh Pigford]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The /research skill I use for all coding]]></title><description><![CDATA[How I make sure every session has accurate and up-to-date context]]></description><link>https://everydayisayear.ai/p/the-research-skill-i-use-for-all</link><guid isPermaLink="false">https://everydayisayear.ai/p/the-research-skill-i-use-for-all</guid><dc:creator><![CDATA[Josh Pigford]]></dc:creator><pubDate>Thu, 02 Apr 2026 16:30:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LF9p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LF9p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LF9p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LF9p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LF9p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LF9p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LF9p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136378,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://everydayisayear.ai/i/192867377?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LF9p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LF9p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LF9p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LF9p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52099120-2119-451a-ac9d-4fcc5b2a3df9_1376x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;m a heavy Claude Code user and while I love Plan mode, I find it&#8217;s actually not all that thorough in its planning.</p><p>While it certainly has an obscene amount of data in its training corpus, it doesn&#8217;t have <em>everything</em> and is obviously missing anything recent. So I&#8217;ve found that making sure a given task has the latest docs and latest web search results tends to solve problems much more efficiently.</p><p>For docs, it detects if you&#8217;ve got the <a href="https://context7.com/">Context7</a> MCP installed.</p><p>There&#8217;s a lot of debate on the efficacy of Context7. The argument being that web searching/scraping works just fine. But I find that a substantial number of developer sites are extremely javascript heavy or behind auth (which is certifiably insane). So Context7 fills in the gap much more efficiently.</p><p>At any rate, here&#8217;s the <code>/research</code> skill I tack on to just about any new feature or bug I&#8217;m working through. This is geared towards Claude, but you should be able to adapt to whatever harness you use relatively easily.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://everydayisayear.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Every Day is a Year! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;cf538d0d-6d20-4757-bb9c-b130145c2be3&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">---
name: research
description: "Deep research before planning. Launches parallel agents to search docs, web, and codebase, then synthesizes findings into actionable context."
---

$ARGUMENTS

Research this thoroughly before any planning or implementation begins.

## How to research

### Step 1: Clarify before you research (MANDATORY &#8212; never skip)

Before reading a single file or launching any agent, use AskUserQuestion. Read the input and identify every place where you have 2+ plausible interpretations &#8212; scope, intent, constraints, approach, priority. Ask about those specifically.

**How to ask:** Present choices tailored to the actual input, not generic categories. The options should come directly from the ambiguities in what was asked. If you see three plausible ways to interpret what the user wants, list those three things and ask which is closest. Don't ask what you can already infer. Do ask anything that would materially change what you research or recommend.

Good trigger conditions for asking:
- The input describes a symptom but not a root cause &#8212; ask what they think the cause is, with options
- The input proposes a solution &#8212; ask if the solution is required or just a starting hypothesis
- The scope is fuzzy &#8212; ask whether they want a targeted fix or a broader rethink, with examples of each
- Multiple approaches exist with real tradeoffs &#8212; ask which tradeoffs matter most to them
- The change could affect related systems &#8212; ask whether those are in scope
- Any constraint (time, backwards-compat, file/dependency, team conventions) is unstated &#8212; ask

Keep questions short. Use choices and options, not open prompts. "Which of these is closer?" beats "Can you describe your constraints?". An "other/none of these" escape hatch is always fine to include.

Ask as many questions as the ambiguity warrants &#8212; but batch them into a single AskUserQuestion call so the user responds once.

**Do not launch any agents until you have the answers.**

### Step 2: Parse intent

With the answers in hand, read critically:
- What is the **core problem** &#8212; distinct from the proposed solution?
- Does any answer change the scope or approach from what was originally described?
- Are there remaining ambiguities? If yes, use AskUserQuestion again &#8212; don't bank on assumptions.
- Frame 2-4 specific research questions around the problem.

### Step 3: Confirm direction

State your research questions to the user and ask: does this capture what matters, or is something off? Give them a quick way to course-correct before agents spin up.

### Step 4: Launch parallel research

Spawn sub-agents to work simultaneously. Match agent count to complexity &#8212; not all are always needed:

- **Codebase agent** (almost always): Grep/Glob/Read to find relevant patterns, existing implementations, related code, config, and dependencies in the current project.
- **Docs agent** (when libraries/frameworks involved): Look up documentation. Try Context7 MCP tools first (mcp__context7__resolve_library_id, mcp__context7__get_library_docs). If Context7 is unavailable, use WebSearch + WebFetch targeting official docs sites.
- **Web agent** (when the problem isn't purely local): WebSearch for similar problems, solutions, examples, blog posts, Stack Overflow answers, GitHub issues. Focus on recent and authoritative sources.
- **Dependencies agent** (when relevant): Check package versions, compatibility, breaking changes, config options. Read package.json/Gemfile/requirements.txt/etc and cross-reference with docs.
- **UI agent** (when the change affects visual design): Research visual design implications &#8212; layout, visual hierarchy, typography, color, spacing, responsive behavior, animation, and consistency with existing design language. Use the `/ui` skill when available. Look at what design system components exist and whether the proposed change introduces visual inconsistencies.
- **UX agent** (when the change affects user-facing behavior): Research interaction patterns, user flows, cognitive load, affordances, error states, edge cases, and accessibility (WCAG compliance, keyboard navigation, screen reader behavior). Search the codebase for how similar interactions are handled today. WebSearch for established UX patterns relevant to the problem.
- **Delight agent** (when the change touches anything a user sees or interacts with): Research opportunities to make this change feel genuinely good &#8212; micro-interactions, smart defaults, helpful empty states, smooth transitions. Search the codebase for existing delight patterns. The bar: would a user notice and think "nice"? Delight is the absence of friction plus a moment of care. Skip anything that adds complexity without genuine user payoff.

**Research the problem, not the proposal.** If the input includes a proposed solution, every agent should research the underlying problem independently first. Don't anchor on the proposed approach &#8212; it may be correct, but verify.

Each agent should return: what it found, where it found it (file paths or URLs), and key snippets.

### Step 5: Check in after research (MANDATORY)

After agents return, use AskUserQuestion before synthesizing. Summarize the key finding in a sentence or two, then surface anything unexpected and ask the user to react. Present specific choices about how to proceed &#8212; don't just ask "does this make sense?"

If findings contradict the user's stated understanding of the problem, that's especially important to surface before moving forward.

### Step 6: Synthesize

Combine all agent findings. Resolve contradictions. Identify what is confirmed vs. uncertain.

**If the input included a proposed solution:** Explicitly evaluate it. Is it the best approach, or is there a simpler way? If the proposal is unnecessary, overly complex, or solves the wrong thing, say so and recommend the better path.

### Step 7: Stress-test the recommendation

Actively look for downsides of the recommended approach. What UX does it degrade? What edge cases does it miss? What maintenance burden does it create? What could it break? Be specific &#8212; "this could be slow" is useless, "this adds an N+1 query on every page load" is useful.

## Output format

Keep it tight. No filler.

### Answer
Direct response to what was asked. Concise for simple questions, thorough when complexity demands it.

### Evidence
Code snippets, doc quotes, or data that back up the answer. Use code blocks with file paths.

### Sources
- File paths for codebase findings
- URLs for web/doc findings

### Related
Anything else discovered that the user should know &#8212; gotchas, related patterns, upcoming deprecations, alternative approaches. Skip if nothing worth mentioning.

### Downsides &amp; Risks
What could go wrong with the recommended approach? Be specific. Skip if the solution is trivially safe.

## Then enter Plan mode

After presenting research findings, call the EnterPlanMode tool so the user flows directly into planning with all the research context available.

## Rules

- **AskUserQuestion fires at Steps 1, 3, and 5 at minimum.** More is fine &#8212; the bar for asking is low.
- **Questions must be specific to the input.** No generic category buckets. The options you present should come from the actual ambiguities in what was asked.
- **Use choices, not open prompts.** "Which of these is closer?" is better than "Can you describe X?"
- Never launch agents before completing Step 1. Never.
- Prefer primary sources (official docs, source code) over blog posts.
- If you find conflicting information, say so and state which source you trust more.
- Never pad the output. If the answer is simple, the research output should be simple.
- The number of agents should match the problem. Don't launch 4 agents for a one-file bug.</code></pre></div>]]></content:encoded></item><item><title><![CDATA[I Spent 6 Weeks Teaching My AI Assistant Who I Am. Here’s the System.]]></title><description><![CDATA[How I built a hyper-personalization system with OpenClaw, markdown files, and one question per day.]]></description><link>https://everydayisayear.ai/p/i-spent-6-weeks-teaching-my-ai-assistant</link><guid isPermaLink="false">https://everydayisayear.ai/p/i-spent-6-weeks-teaching-my-ai-assistant</guid><dc:creator><![CDATA[Josh Pigford]]></dc:creator><pubDate>Thu, 12 Mar 2026 13:24:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tn1F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tn1F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tn1F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!tn1F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!tn1F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!tn1F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tn1F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1256157,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://everydayisayear.ai/i/190716749?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tn1F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!tn1F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!tn1F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!tn1F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03a2f664-b862-46dd-bd6b-8a20c17bf7e4_1376x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My AI knows my wife&#8217;s birthday. It knows I wake up at 4:45 AM, collect about 100,000 hockey cards, and hate the word &#8220;ecosystem.&#8221; It knows I killed a business idea last Tuesday and why. It knows my granddaughters are twins and they turn 4 in July.</p><p>Not a party trick. This is what happens when you treat AI as an assistant that actually knows you instead of a tool you re-introduce yourself to every session.</p><p>Everyone&#8217;s chasing better models. Smarter reasoning. Bigger context windows. Almost nobody is working on the thing that would make AI 10x more useful overnight: making it personal.</p><h2><strong>The Gap Nobody&#8217;s Filling</strong></h2><p>The industry ships a new model every week. Better benchmarks. Faster inference. But every conversation still starts at zero. Claude doesn&#8217;t know you. ChatGPT&#8217;s memory feature is a toy. You&#8217;re re-introducing yourself every single session.</p><p>The models are smart enough. They just don&#8217;t know anything about the person using them.</p><h2><strong>The System: Files, Not Features</strong></h2><p>I stopped waiting for OpenAI or Anthropic to solve this and built it myself. The entire system is plain text files. No database. No vector store. No proprietary format. Markdown files in a folder.</p><p>Here&#8217;s the architecture:</p><p><strong>USER.md: Who you are.</strong> The foundation file. Name, location, timezone, daily schedule, work history, family overview, interests, food preferences, communication style. Everything an assistant needs to not be a stranger. Mine runs about 80 lines.</p><p><strong>MEMORY.md: What the AI has learned.</strong> Long-term curated memory. Not a raw log. Distilled insights about how you work, decisions you&#8217;ve made, lessons learned, opinions you&#8217;ve expressed. The AI reads this every session and updates it when something worth remembering happens.</p><p><strong>brain/family/: One file per person.</strong> Individual markdown files for each family member. Birthday, relationship, preferences, gift ideas, notes. My wife has one. Each of my kids has one. Even my granddaughters have files. The AI references these when holidays, birthdays, or gift conversations come up.</p><p>Three concepts. Plain text. Works with any AI tool that supports system prompts or file context (most obvious one being OpenClaw).</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://everydayisayear.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>The rest of the article continues below but&#8230;would you mind subscribing first?</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>The Onboarding Interview</strong></h2><p>The files don&#8217;t write themselves. Someone has to fill them.</p><p>I built an onboarding prompt that runs as a structured conversation. Not a survey. Not a form. A back-and-forth dialogue that quietly organizes every answer into the right file.</p><p>It covers identity and basics, daily routines, work and projects, family and household, interests and hobbies, communication preferences, goals, and pet peeves. The AI asks 2-3 questions at a time, follows up on interesting answers, and doesn&#8217;t push when you give short responses.</p><p>At the end of the conversation, the AI generates all the files in one shot. <code>USER.md</code>, <code>MEMORY.md</code>, <code>family/README.md</code>, and individual files for every person and pet mentioned.</p><p>The whole thing takes 10-15 minutes. You walk away with a complete personal knowledge base that makes every future AI interaction better.</p><h2><strong>The Daily Drip</strong></h2><p>The onboarding interview gets you to ~60% coverage. Good foundation. The depth comes from what happens after.</p><p>I set up a cron job that asks one personal question per day. Every morning at 9 AM, the AI reads my existing files, finds a gap, and asks a single thoughtful question. Not &#8220;What&#8217;s your favorite color?&#8221; More like &#8220;You mentioned your daughter is into stained glass. How&#8217;d she get into that?&#8221;</p><p>Here&#8217;s the workflow:</p><ol><li><p>The AI sends one question via my chat channel</p></li><li><p>I answer whenever I get around to it (usually takes 30 seconds)</p></li><li><p>Next morning, the AI processes yesterday&#8217;s answer, updates the right file, and asks a new question</p></li></ol><p>One question. One answer. Filed to the right place. Every day.</p><p>After 6 weeks, this daily drip has added more useful context than the initial 30-minute interview. It catches the stuff you&#8217;d never think to volunteer. Morning routines. How you take your coffee. That your spouse is going back to school. That you played guitar in bands growing up. That you lived in Denver for 5 years and that&#8217;s why you&#8217;re an Avalanche fan.</p><p>Six weeks of daily questions compounds fast. Day 1, the AI is a stranger with good notes. Day 42, it&#8217;s an assistant that actually knows you.</p><h2><strong>What It Looks Like After 6 Weeks</strong></h2><p><strong>Generic AI:</strong> &#8220;I&#8217;d be happy to help you with gift ideas for your wife! Here are some popular options&#8230;&#8221;</p><p><strong>My AI:</strong> Knows my wife&#8217;s birthday. Knows she&#8217;s into sewing and knitting. Knows she&#8217;s going back to school. Can reference all of these when I say &#8220;I need a gift idea for my wife&#8221; without me re-explaining who she is or what she likes.</p><p><strong>Generic AI:</strong> &#8220;What would you like to work on today?&#8221;</p><p><strong>My AI:</strong> Knows I wake up at 4:45 AM and have 2-3 hours of deep focus before the house wakes up. Knows I&#8217;m running multiple businesses. Knows I killed a business idea last week because the economics didn&#8217;t work. Can pick up where yesterday left off because it read yesterday&#8217;s memory file.</p><p>A generic assistant and one with 6 weeks of accumulated personal knowledge are different categories of tool. The interactions go from transactional to collaborative. The AI stops asking clarifying questions because it already has the answers in files it read 3 seconds ago.</p><h2><strong>The Family File Template</strong></h2><p>Every person in my household has a file that looks like this:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;9980920e-7d49-47ee-acb5-8d244849d947&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown"># {Name}

**Relationship:** {relationship}
**Birthday:** {date}

---

## Preferences
(none yet)

## Important Dates
- **Birthday:** {date}

## Gift Ideas
(none yet)

## Notes
(none yet)</code></pre></div><p>Plus a README.md that serves as a quick-reference table:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;027a5a61-b498-442f-ab8a-adbb9208d15a&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown"># Family

## Household
| Name | Relationship | Birthday | Age |
|------|--------------|----------|-----|
| Jane | Spouse | Mar 15, 1985 | 41 |
| Alex | Daughter | Jun 22, 2010 | 15 |

## Upcoming Dates (2026)
- **Mar 15** &#8212; Jane's birthday
- **Jun 22** &#8212; Alex turns 16
- **Sep 4** &#8212; Anniversary</code></pre></div><p>Simple. Scannable. The AI reads the README for quick lookups and the individual files when it needs depth.</p><p>Pets get files too. My pug has one. No birthday section, but notes about quirks and vet info. If I say &#8220;the dog&#8217;s been scratching a lot,&#8221; the AI has context without me explaining what kind of dog I have.</p><h2><strong>Steal This: The Onboarding Prompt</strong></h2><p>Here&#8217;s the actual prompt I use to kickstart the whole system. Copy it. Modify it. Use it with whatever AI tool you prefer.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;daca784f-5afe-42d4-88f1-520e3697c4d1&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">You're getting to know your human for the first time. Your goal is to build
a rich personal profile that will make every future interaction feel personal
and useful.

Run this as a CONVERSATION &#8212; not a survey. Ask 2-3 questions at a time,
wait for answers, then ask follow-ups based on what they share. Be genuinely
curious, not clinical. If they give short answers, don't push &#8212; you'll learn
more over time.

What to cover (let it flow naturally, don't force the order):

Identity &amp; Basics
- Name, what they prefer to be called, pronouns
- Location, timezone
- Phone number (if they want you to have it)

Daily Life
- Typical day &#8212; wake time, work hours, evening routine
- Morning ritual
- Currently watching/reading/playing?
- Food relationship &#8212; foodie or fuel?

Work &amp; Projects
- What they do, how long they've been doing it
- Current active projects or businesses
- Work style &#8212; planner or builder? Deep focus or context-switching?
- Strengths and energy drains

Family &amp; Household
- Who lives in the house? Partner, kids, pets?
- Names, birthdays, relationships
- Notable details &#8212; hobbies, schools, schedules
- Extended family worth knowing about

Interests &amp; Hobbies
- What they do for fun
- Music, sports, collections, creative outlets
- Travel preferences
- Hidden passions or guilty pleasures

Communication Preferences
- Brief or detailed info delivery?
- Tone &#8212; formal, casual, snarky, warm?
- When to proactively reach out vs. stay quiet
- What annoys them in an AI assistant
- Quiet hours &#8212; when to never message

Goals &amp; Aspirations
- What they're working toward now
- Long-term dreams or "someday" projects
- What success looks like to them

Pet Peeves &amp; Boundaries
- Things they hate (AI responses, general)
- Off-limits or sensitive topics
- Privacy boundaries for group chats

After the conversation, create these files:

USER.md
Compile everything into a clean, scannable format with sections and bullet
points. Include subsections for Daily Life, Interests, Family, Work, etc.
This is the primary reference file the agent reads every session.

brain/family/README.md
Household overview table with names, relationships, birthdays, ages. Include
an "Upcoming Dates" section for the current year listing birthdays and
anniversaries chronologically.

brain/family/{firstname}.md (one per family member)
Use this template for each person mentioned:

  # {Name}
  **Relationship:** {relationship to user}
  **Birthday:** {date}
  ---
  ## Preferences
  (none yet)
  ## Important Dates
  - **Birthday:** {date}
  ## Gift Ideas
  (none yet)
  ## Notes
  (none yet)

Include pets too (simpler format &#8212; name, breed/species, any quirks).

MEMORY.md
Start a long-term memory file. Add a "Self-Knowledge" section capturing work
style, core drives, decision-making patterns &#8212; the deeper personality
insights that emerged from the conversation. This file grows over time.

After writing the files, set up a daily question cron job:
- Schedule: Once per day at 9:00 AM in the user's timezone
- Each morning, check if the user answered yesterday's question. If so,
  extract the key facts and update the appropriate file (USER.md, family
  files, or MEMORY.md). Then read existing files, find a gap, and ask ONE
  new thoughtful question. Not a survey &#8212; something genuine.

Important:
- This is a foundation, not an encyclopedia. The daily cron fills gaps.
- If they seem done or restless, wrap up gracefully.
- Write ALL files in the same session &#8212; don't promise to do it later.
- Use information they actually shared. Don't infer or fabricate.
- For sections without info yet, use "(none yet)" as a placeholder.</code></pre></div><p>Run this in OpenClaw, Claude Cowork, ChatGPT, or whatever agent framework you use. Some bits will be more relevant to certain systems, but it&#8217;s flexible enough to get the ball rolling.</p><h2><strong>What to Do Today</strong></h2><p><strong>If you&#8217;re running OpenClaw or a personal AI agent:</strong> Paste the onboarding prompt above into a conversation. Let it interview you for 10- minutes. It&#8217;ll generate all the files. Then set up the daily question cron job. You&#8217;re done. The system builds itself from here.</p><p><strong>If you&#8217;re not running a personal agent yet:</strong> This is a good reason to start. <a href="https://openclaw.ai/">OpenClaw</a> runs on any Mac, PC, Linux box, or Raspberry Pi. Install it, connect it to Discord or Telegram, run the onboarding prompt, and you&#8217;ll have a personal AI that knows you by end of day.</p><p><strong>Minimum viable version for anyone:</strong> Open Claude or ChatGPT. Paste the onboarding prompt. Have the conversation. Save it into the memory settings for those apps. You&#8217;ll feel the difference immediately.</p><p>Six weeks from now you&#8217;ll have an AI that knows the real you. The one who wakes up at 4:45 AM, collects hockey cards, and needs gift ideas for a spouse who knits.</p><p>No new model required. Just files and consistency.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://everydayisayear.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Thanks for reading Every Day is a Year! Subscribe for free to receive new posts and support my work.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[I Killed a Business Idea in 20 Minutes and It Was the Best Thing I Did All Week]]></title><description><![CDATA[Plus: a GitHub issue title that compromised 4,000 machines, Cursor's always-on agents, and why code review just became a product category.]]></description><link>https://everydayisayear.ai/p/i-killed-a-business-idea-in-20-minutes</link><guid isPermaLink="false">https://everydayisayear.ai/p/i-killed-a-business-idea-in-20-minutes</guid><dc:creator><![CDATA[Josh Pigford]]></dc:creator><pubDate>Tue, 10 Mar 2026 13:13:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JpDR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JpDR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JpDR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!JpDR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!JpDR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!JpDR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JpDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:718028,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://everydayisayear.ai/i/190035205?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JpDR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!JpDR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!JpDR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!JpDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4fceab5-28f0-4234-8666-35bd728f5e62_1376x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Signal</h2><h4><strong><a href="https://grith.ai/blog/clinejection-when-your-ai-tool-installs-another">A GitHub Issue Title Just Compromised 4,000 Developer Machines</a></strong></h4><p>Someone stuck a prompt injection in a GitHub issue title. Cline&#8217;s AI triage bot picked it up, executed it, stole an npm token, and pushed a malicious package that got 4,000 downloads in eight hours. If you&#8217;ve got any AI bot processing untrusted input, you&#8217;ve got this same hole.</p><h4><strong><a href="https://cursor.com/blog/automations">Cursor Ships Always-On Agents for Your Codebase</a></strong></h4><p>Cursor launched &#8220;Automations,&#8221; which are AI agents that run on schedules or triggers. They spin up cloud sandboxes, do their thing, and verify their own output. Think security review on every push, incident response that checks logs and proposes fixes, weekly change digests. Rippling&#8217;s already using it.</p><h4><strong><a href="https://claude.com/blog/code-review">Claude Code Now Has Multi-Agent PR Reviews</a></strong></h4><p>Anthropic built a multi-agent system that reviews GitHub PRs in parallel. It catches bugs, validates findings, and ranks by severity. The catch? $15-25 a pop. Though&#8230;that&#8217;s cheaper than a junior engineer&#8217;s hourly rate, and it doesn&#8217;t take PTO. &#129335;&#8205;&#9794;&#65039;</p><h2>Roundup</h2><ul><li><p><strong><a href="https://alexeyondata.substack.com/p/how-i-dropped-our-production-database">How I Dropped Our Production Database</a></strong> &#8212; Engineer let Claude Code run Terraform unattended &#8212; it nuked prod, the database, and all automated backups.</p></li><li><p><strong><a href="https://x.com/Bencera/status/2031061573473808600">Solo Founder Running $3.2M with Zero Employees</a></strong> &#8212; The most interesting experiment I&#8217;ve seen from the &#8220;zero-human&#8221; trend gaining some steam. (I&#8217;ve been doing a bit of this myself with <a href="https://x.com/voidcoai">@VoidCoAI</a>).</p></li><li><p><strong><a href="https://openai.com/index/codex-security-now-in-research-preview">OpenAI Codex Security</a></strong> &#8212; AppSec agent that finds real vulnerabilities, validates them in sandboxes, and proposes fixes.</p></li><li><p><strong><a href="https://openai.com/index/openai-to-acquire-promptfoo">OpenAI Acquires Promptfoo</a></strong> &#8212; AI security platform used by 25% of Fortune 500, now folded into OpenAI for enterprise red-teaming. No offense to the Promptfoo team, but <a href="https://www.promptfoo.dev/">their product</a> has almost every single vibe-designed trope possible. &#128556;</p></li><li><p><strong><a href="https://x.com/shadcn/status/2029974151427989567">shadcn/cli v4</a></strong> &#8212; Adds &#8220;skills&#8221; (component presets) and dry-run mode. Explicitly built for coding agents.</p></li><li><p><strong><a href="https://code.claude.com/docs/en/scheduled-tasks">Claude Code /loop</a></strong> &#8212; Scheduled recurring prompts inside sessions. Turns Claude Code from &#8220;tool you invoke&#8221; into &#8220;tool that watches.&#8221;</p></li><li><p><strong><a href="https://www.glazeapp.com/">Glaze by Raycast</a></strong> &#8212; Describe an app, get a native desktop app. Not web, actual OS-integrated with file system access. Private beta now. Sending invites soon.</p></li><li><p><strong><a href="https://arstechnica.com/security/2026/03/llms-can-unmask-pseudonymous-users-at-scale-with-surprising-accuracy">LLMs Can Unmask Pseudonymous Users at Scale</a></strong> &#8212; LLMs can de-anonymize people from free text alone. 48% recall for Reddit users who discussed 10+ movies.</p></li></ul><h2>From the Shop Floor</h2><p>I killed a business idea this week in 20 minutes. Thank you Claude.</p><p>I had an that depended on AI image generation hitting certain cost and speed thresholds. Instead of building a prototype and <em>then</em> discovering the economics don&#8217;t work (my usual pattern&#8230;sigh), I had Claude <a href="https://x.com/Shpigford/status/2030744047430643896">write a benchmarking script</a>. It tested 10 different image gen models across 4 prompts, measured generation time, tracked per-image cost, and built a comparison dashboard.</p><p>The result: the fastest models produced garbage, the good models were too slow for the use case, and the cost curve didn&#8217;t leave room for margin. Project dead on arrival.</p><p>My brain is constantly running 1000 mph and my default with an idea is to just build it and see what happens. But this method of benchmarking ideas&#8230;really opened my eyes and helped satisfy my OCD-like nature of needing to build an idea to get it out of my system. The script cost maybe $2 in API calls. The business would&#8217;ve cost me weeks. &#128517;</p><h4>Also this week&#8230;</h4><ul><li><p>Migrated my AI assistant from Telegram to Discord &#8212; multiple channels per context (sysadmin, newsletter, finances). Absolutely loving the organization.</p></li><li><p>Ran my first newsletter giveaway (two 1-hour consults) to kickstart subscribers &#8212; pulled 143 participants across X engagement + Substack signups using AI to aggregate entries and pick winners</p></li><li><p>Experimented with a &#8220;zero-human company&#8221; concept &#8212; spun up an autonomous AI agent on its own isolated instance, watched it set goals, assign itself tasks, and post status updates. Fascinating as a technical exercise, less convinced it&#8217;s viable for actual business building.</p></li><li><p>Built a <a href="https://github.com/shpigford/skills">/feature-image skill</a> that generates branded social media images from any GitHub repo. Drop in a URL, get back a share-ready visual.</p></li><li><p>Audited every background process on my Mac mini and found a stale feature silently burning API credits for days. Cleaned up ~$50+ in wasted spend. &#128556;</p></li><li><p>Started onboarding my wife to OpenClaw. The virus is spreading.</p></li><li><p>Rolled out abuse prevention updates to <a href="https://replysocial.co">ReplySocial</a></p></li></ul><h2>Try This</h2><p>Next time you&#8217;re about to ask AI for a recommendation or input, reframe it: <strong>&#8220;Explain the tradeoffs of X vs Y.&#8221;</strong> When you just ask for feedback or a simple &#8220;what do I do?&#8221; it tends to be very agreeable and affirmative of that thing. But forcing it to essentially make a pro/con list almost always gets you more nuanced and useful outputs!</p><h2>First issue! Let me know what you think!</h2><p>Alrighty, first issue of Every Day is a Year: in the books! Very much still figuring out format, so let me know what you think. Every bit of feedback is welcome!</p><p>It would also mean a ton if you share the newsletter! Sharing via the button below will track who signs up via your link and I&#8217;ll be offering some perks in the future for that. &#127881;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://everydayisayear.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share Every Day is a Year&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://everydayisayear.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share Every Day is a Year</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[What to do when every day feels like a year]]></title><description><![CDATA[I&#8217;ve been building on the web since the 90&#8217;s.]]></description><link>https://everydayisayear.ai/p/what-to-do-when-every-day-feels-like</link><guid isPermaLink="false">https://everydayisayear.ai/p/what-to-do-when-every-day-feels-like</guid><dc:creator><![CDATA[Josh Pigford]]></dc:creator><pubDate>Thu, 05 Mar 2026 12:36:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NB2b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NB2b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NB2b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NB2b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NB2b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NB2b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NB2b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:465537,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://everydayisayear.ai/i/189987252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NB2b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NB2b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NB2b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NB2b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb763e2-b66a-4938-a515-05cac31ba16a_1536x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been building on the web since the 90&#8217;s. Flash games, affiliate sites, marketplaces, ecommerce, blogs, SaaS companies&#8230;nearly 100 different ventures. I&#8217;ve played a part in all the webs. 1.0, 2.0, 3.0. (What version are we at with AI? I presume at least 19.0.) Lots of tech waves. Some were real. Some were noise. Over 30 years of having your hand in things you develop a feel for the difference.</p><p>AI isn&#8217;t noise.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://everydayisayear.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Every Day is a Year! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>What&#8217;s been happening over the past couple of years is something very different. Not because the tech is impressive (it is), but because of the <em>pace</em>. A new model drops quite literally every day. Big tech companies are constantly trying to one-up each other. AI labs are running super bowl ads. In less than a year we went from easily being able to tell if something was AI-generated to legitimately not being able to tell the difference.</p><p>I&#8217;ve always been <a href="https://joshpigford.com/projects">a prolific builder</a>, but it&#8217;s no exaggeration to say I&#8217;ve been able to 10x my output thanks to AI. And not just increase my <em>speed</em> but increase/enable entirely new skillsets. Three years ago when GPT-4 was released, I put out <a href="https://x.com/Shpigford/status/1637303300671275008">the first GPT-generated game</a> for iOS. I&#8217;d never built an iOS app before in my life.</p><p>Thanks to ADHD I have a superpower to hyperfixate on things, and I genuinely feel like I&#8217;ve been on a single hyperfixation bender for years now.</p><p><strong>Every day genuinely feels like a year.</strong></p><p>So what do you do with that? What do you do when the new models, new tools, new apps, new capabilities, new technology all become a firehose that&#8217;s impossible for any single person to stay on top of?</p><p>You start a newsletter. &#128579;</p><p>So that&#8217;s what I&#8217;m doing. Not because the world needs another AI roundup (it doesn&#8217;t). But because I need a way to process all that&#8217;s changing and writing is a way I sort out what&#8217;s in my head. I figured I might as well share it.</p><p>Each week I&#8217;ll share four things:</p><ol><li><p><strong>Signal</strong> &#8212; The 2-3 most important bits that happened. Why they matter and what to do about them.</p></li><li><p><strong>Roundup</strong> &#8212; 6-8 tools, systems, tweets&#8230;whatever bits I come across that seem interesting.</p></li><li><p><strong>From the Shop Floor</strong> &#8212;Things I built. Systems I automated. Stuff that worked. What failed.</p></li><li><p><strong>Try This</strong>&nbsp;&#8212; One actionable thing. A prompt, workflow, setting. Something you can actually try out or do.</p></li></ol><p>The goal is help you make sense of the noise so you&#8217;re not just getting blasted in the face.</p><p>Hope you&#8217;ll subscribe! If you&#8217;ve got something you think I should know about, <a href="https://x.com/Shpigford">@-me</a>!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://everydayisayear.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Every Day is a Year! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>