<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="text">// @TODO: write more!</title><subtitle type="html">Personal website of Himel Nag Rana, a software engineer in Berlin writing about engineering, books, photography, AI, and small internet experiments.</subtitle><updated>2026-04-25T12:40:36+00:00</updated><id>https://blog.tech.ifelseandetc.xyz/</id><link rel="alternate" type="text/html" href="https://blog.tech.ifelseandetc.xyz/"/><link rel="self" type="application/atom+xml" href="https://blog.tech.ifelseandetc.xyz/atom.xml"/><author><name>Himel Nag Rana</name><uri>https://blog.tech.ifelseandetc.xyz/</uri><email>hnrana@gmail.com</email></author><rights>All rights reserved.</rights><generator uri="https://gohugo.io/" version="0.141.0">Hugo</generator><entry><title type="text">
How I am using Cursor as a PR Self-Review Sidekick and Memory Bank</title><link rel="alternate" type="text/html" href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/"/><id>https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/</id><updated>2026-04-25T12:40:35+00:00</updated><published>2026-04-25T09:30:00+02:00</published><author><name>Himel Nag Rana</name><uri>https://www.ifelseandetc.xyz/</uri><email>hnrana@gmail.com</email></author><rights>All rights reserved.</rights><summary type="html">
A practical workflow for using Cursor skills, global rules, and context journaling to reduce PR review churn and preserve decision history.
&lt;blockquote>
&lt;p>Read original: &lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/" target="_blank" rel="noopener">https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/&lt;/a>&lt;br>
Notice: This blog now offers email subscriptions—feel free to &lt;a href="https://username.substack.com" target="_blank" rel="noopener">subscribe via Substack&lt;/a> to support my work!&lt;/p>
&lt;/blockquote></summary><content type="html">
&lt;p style="text-indent:0">&lt;span class="drop-cap">I&lt;/span> had a simple goal: spend less time on repetitive pull request comments across multiple repos, and more time on actual design and engineering decisions. I thought that it might be possible to automate this.
&lt;br/>&lt;br/>&lt;br/>
Then I thought, wait, the AI tools doesn&amp;rsquo;t know about what mistakes I make on regular basis or what actually my coding style is. The AI tools doesn&amp;rsquo;t also know about organizational coding standards for each of the domains.
&lt;br/>&lt;br/>&lt;br/>
So I started to experiment with connecting AI tools, in my case Cursor, with different setups to understand how I can improve don&amp;rsquo;t make same mistakes again and again.
&lt;br/>&lt;br/>&lt;br/>
What started as an experiment quickly became a repeatable workflow:&lt;/p>
&lt;ul>
&lt;li>connected Cursor to the GitHub CLI&lt;/li>
&lt;li>exposed my PR history from the last two years&lt;/li>
&lt;li>mine reviewer feedback for mistake patterns&lt;/li>
&lt;li>codify those patterns into reusable skills&lt;/li>
&lt;li>enforce them with global rules&lt;/li>
&lt;li>and finally, record decisions as a searchable memory bank&lt;/li>
&lt;/ul>
&lt;p>In this post, I will walk through the exact setup, why it works, and how you can adapt it for your own stack.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="the-problem-i-keep-repeating-similar-mistakes">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#the-problem-i-keep-repeating-similar-mistakes" class="anchor-link" aria-label="the-problem-i-keep-repeating-similar-mistakes">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>The Problem: &amp;ldquo;I Keep Repeating Similar Mistakes&amp;rdquo;&lt;/h2>
&lt;p>Most of us are not blocked by lack of effort. We are blocked by context switching and consistency drift.&lt;/p>
&lt;p>I noticed my review comments clustered around predictable themes:&lt;/p>
&lt;ul>
&lt;li>&lt;em>&lt;strong>in frontend changes&lt;/strong>&lt;/em>: readability, naming, prop and state boundaries, and component responsibility&lt;/li>
&lt;li>&lt;em>&lt;strong>in backend changes&lt;/strong>&lt;/em>: naming (again!), error semantics, DTO validation, logging consistency, and separation of transport/business logic&lt;/li>
&lt;li>&lt;em>&lt;strong>in tests&lt;/strong>&lt;/em>: naming of tests (once again!), weak assertions, missing negative paths, and flaky setup/cleanup patterns&lt;/li>
&lt;/ul>
&lt;p>None of these were unknown to me. The real issue was this:&lt;/p>
&lt;p>&lt;strong>I was relying on memory under delivery pressure.&lt;/strong>&lt;/p>
&lt;p>So I thought to externalize the memory.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="step-1-let-cursor-see-the-right-history">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#step-1-let-cursor-see-the-right-history" class="anchor-link" aria-label="step-1-let-cursor-see-the-right-history">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Step 1: Let Cursor See the Right History&lt;/h2>
&lt;p>In my work setup, I granted Cursor command-line GitHub access and asked it to analyze:&lt;/p>
&lt;ol>
&lt;li>my PRs across repositories over the last two years&lt;/li>
&lt;li>prompted Cursor to check for coding style (naming, spacing, verbosity, etc.)&lt;/li>
&lt;li>my received code review comments&lt;/li>
&lt;li>recurring mistake categories and missing checks&lt;/li>
&lt;/ol>
&lt;p>This gave me a personalized quality profile instead of generic lint-like advice.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="step-2-convert-patterns-into-stack-specific-skills">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#step-2-convert-patterns-into-stack-specific-skills" class="anchor-link" aria-label="step-2-convert-patterns-into-stack-specific-skills">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Step 2: Convert Patterns Into Stack-Specific Skills&lt;/h2>
&lt;p>I created three practical skills based on those findings:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Frontend (React + TypeScript) skill&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Backend (NestJS + KoaJS) skill&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Testing (Playwright + Jest + RTL) skill&lt;/strong>&lt;/li>
&lt;/ol>
&lt;p>Each skill focused on &amp;ldquo;what to check&amp;rdquo; and &amp;ldquo;what to suggest&amp;rdquo; in a review, not just style policing.
&lt;br/>&lt;br/>&lt;/p>
&lt;h3 id="example-shape-of-a-review-skill">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#example-shape-of-a-review-skill" class="anchor-link" aria-label="example-shape-of-a-review-skill">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Example shape of a review skill&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;div class="table-container">&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">---
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">name: frontend-pr-review
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">description: Reviews React + TypeScript changes for maintainability and common team mistakes. Use when the user asks for code review on frontend files.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">---
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gh"># Frontend PR Review Checklist
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gh">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Responsibilities
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>&lt;span class="k">-&lt;/span> Keep components focused and avoid mixing data access with UI rendering.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Extract repeated state logic into hooks.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Naming and API clarity
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>&lt;span class="k">-&lt;/span> Flag ambiguous names (data, value, obj) when domain terms exist.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Check prop names for semantic mismatch.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Type safety
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>&lt;span class="k">-&lt;/span> Avoid implicit any and vague unions when domain types are available.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Require explicit return types for exported utilities.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Reviewer output format
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>&lt;span class="k">-&lt;/span> Critical risks first
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Then maintainability observations
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Then test gaps
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>&lt;/div>
&lt;/div>
&lt;/div>&lt;p>The goal was predictable review quality, even when my own attention was split.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="step-3-add-global-rules-for-always-behaviors">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#step-3-add-global-rules-for-always-behaviors" class="anchor-link" aria-label="step-3-add-global-rules-for-always-behaviors">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Step 3: Add Global Rules for &amp;ldquo;Always&amp;rdquo; Behaviors&lt;/h2>
&lt;p>Skills are helpful when invoked at the right time. Rules are how you reduce reliance on manual prompting.&lt;/p>
&lt;p>I added global rules to guide behavior such as:&lt;/p>
&lt;ul>
&lt;li>perform a standards-aware review when I ask &amp;ldquo;do a code review&amp;rdquo;&lt;/li>
&lt;li>identify stack from changed files&lt;/li>
&lt;li>apply relevant skill(s) automatically&lt;/li>
&lt;/ul>
&lt;p>This part feels small, but it is where workflow reliability comes from.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="step-4-build-a-context-diary-the-real-multiplier">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#step-4-build-a-context-diary-the-real-multiplier" class="anchor-link" aria-label="step-4-build-a-context-diary-the-real-multiplier">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Step 4: Build a Context Diary (The Real Multiplier)&lt;/h2>
&lt;p>The biggest improvement was adding a strict always rule for post-session journaling.&lt;/p>
&lt;p>After each decision-heavy chat session, Cursor writes a diary entry in &lt;strong>both Markdown and JSON&lt;/strong> formats.&lt;/p>
&lt;p>Filename convention:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;div class="table-container">&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">YYYY-MM-DD-&amp;lt;domain&amp;gt;-&amp;lt;topic&amp;gt;.md
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">YYYY-MM-DD-&amp;lt;domain&amp;gt;-&amp;lt;topic&amp;gt;.json
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>&lt;/div>
&lt;/div>
&lt;/div>&lt;p>Storage (in my MacOS setup):&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;div class="table-container">&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">~/.cursor/context-diary
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>&lt;/div>
&lt;/div>
&lt;/div>&lt;p>This turns scattered chat history into an organized memory layer.
&lt;br/>&lt;br/>&lt;/p>
&lt;h3 id="example-markdown-diary-entry">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#example-markdown-diary-entry" class="anchor-link" aria-label="example-markdown-diary-entry">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Example Markdown diary entry&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;div class="table-container">&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">&lt;span class="gh"># Decision Journal
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gh">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> date: 2026-04-25
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> domain: frontend
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> topic: pagination-state-refactor
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> participants: me, cursor
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Context
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>Refactor list page state to reduce coupling between filters and pagination.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Decision
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>Keep filter state in URL query params and pagination as derived state.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Why
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>&lt;span class="k">-&lt;/span> Better deep-linking
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Easier reproduction during bug triage
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Lower prop-drilling overhead
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">## Follow-ups
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gu">&lt;/span>&lt;span class="k">-&lt;/span> Add regression tests for back/forward browser navigation.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">-&lt;/span> Add analytics event for query-param hydration failures.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>&lt;/div>
&lt;/div>
&lt;/div>&lt;p>&lt;br/>&lt;br/>&lt;/p>
&lt;h3 id="example-json-diary-entry">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#example-json-diary-entry" class="anchor-link" aria-label="example-json-diary-entry">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Example JSON diary entry&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;div class="table-container">&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;date&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2026-04-25&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;domain&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;frontend&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;topic&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;pagination-state-refactor&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;context&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Refactor list page state to reduce coupling between filters and pagination.&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;decision&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Keep filter state in URL query params and pagination as derived state.&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;why&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Better deep-linking&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Easier reproduction during bug triage&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Lower prop-drilling overhead&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">],&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;followUps&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Add regression tests for back/forward browser navigation.&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;Add analytics event for query-param hydration failures.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>&lt;/div>
&lt;/div>
&lt;/div>&lt;p>Now when I revisit a related change later, I am not guessing. I can look up prior rationale quickly - both manually and with help of Cursor or another AI tool.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="why-this-workflow-works">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#why-this-workflow-works" class="anchor-link" aria-label="why-this-workflow-works">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Why This Workflow Works&lt;/h2>
&lt;p>The system combines three strengths:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Personalized learning loop&lt;/strong> from historical PR feedback&lt;/li>
&lt;li>&lt;strong>Standardized execution&lt;/strong> through reusable skills and always rules&lt;/li>
&lt;li>&lt;strong>Long-term recall&lt;/strong> through structured context journaling&lt;/li>
&lt;/ol>
&lt;p>This is not about replacing engineering judgment. It is about preserving it under time pressure and also ensure manually the delivery quality.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="practical-suggestions-if-you-want-to-try-this">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#practical-suggestions-if-you-want-to-try-this" class="anchor-link" aria-label="practical-suggestions-if-you-want-to-try-this">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Practical Suggestions If You Want to Try This&lt;/h2>
&lt;ul>
&lt;li>start with one narrow skill and iterate from real review comments&lt;/li>
&lt;li>separate stack concerns (frontend/backend/tests) to keep prompts focused&lt;/li>
&lt;li>use rules for critical automation, not for every preference&lt;/li>
&lt;li>add to this skills all coding conventions - general, project-wise, team-wise, etc.&lt;/li>
&lt;li>keep diary schema small at first, then extend only if retrieval needs it&lt;/li>
&lt;li>review and prune stale rules monthly&lt;/li>
&lt;/ul>
&lt;p>If you also care about clean coding conventions in React + TypeScript, the style principles in this post are a useful companion reference: &lt;a href="https://dev.to/dangkhoado43/clean-code-principles-code-conventions-for-react-typescript-3n7d" target="_blank" rel="noopener">Clean Code Principles &amp;amp; Code Conventions for React + TypeScript&lt;/a>.
&lt;br/>&lt;br/>&lt;/p>
&lt;h2 id="closing-thought">&lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/#closing-thought" class="anchor-link" aria-label="closing-thought">&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="icon anchor-icon">&lt;path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/>&lt;/svg>&lt;/a>Closing Thought&lt;/h2>
&lt;p>I used to think &amp;ldquo;AI assistance&amp;rdquo; meant faster code generation. They are limited to that, at least, lots of people I know are using the tools for this purpose. But I think the power of the tools worth exploring.
&lt;br/>&lt;br/>
And what actually created leverage for me was different:
&lt;em>&lt;strong>fewer repeated review mistakes + better decision memory.&lt;/strong>&lt;/em>
&lt;br/>&lt;br/>
&lt;em>One more takeaway&lt;/em>: these skills are portable!&lt;br>
If you define them as clear checklists, review rubrics, and decision templates, you can adapt the same system across Cursor, Claude, Copilot, and other AI coding tools with minimal rewrites.
&lt;br/>&lt;br/>
If you / your team spends too much time rediscovering known standards, this pattern is worth exploring.&lt;/p>
&lt;blockquote>
&lt;p>Read original: &lt;a href="https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/" target="_blank" rel="noopener">https://blog.tech.ifelseandetc.xyz/writeups/cursor-workflow-pr-review-memory-bank/&lt;/a>&lt;br>
Notice: This blog now offers email subscriptions—feel free to &lt;a href="https://username.substack.com" target="_blank" rel="noopener">subscribe via Substack&lt;/a> to support my work!&lt;/p>
&lt;/blockquote></content><category scheme="https://blog.tech.ifelseandetc.xyz/categories/engineering/" term="engineering" label="engineering"/><category scheme="https://blog.tech.ifelseandetc.xyz/categories/developer-productivity/" term="developer-productivity" label="developer-productivity"/><category scheme="https://blog.tech.ifelseandetc.xyz/categories/ai-workflows/" term="ai-workflows" label="ai-workflows"/><category scheme="https://blog.tech.ifelseandetc.xyz/tags/cursor/" term="cursor" label="cursor"/><category scheme="https://blog.tech.ifelseandetc.xyz/tags/code-review/" term="code-review" label="code-review"/><category scheme="https://blog.tech.ifelseandetc.xyz/tags/skills/" term="skills" label="skills"/><category scheme="https://blog.tech.ifelseandetc.xyz/tags/rules/" term="rules" label="rules"/></entry></feed>