<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sourabh Shegane</title>
    <description>The latest articles on DEV Community by Sourabh Shegane (@sourabhshegane).</description>
    <link>https://dev.to/sourabhshegane</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4161879%2Fbb265952-252d-41cd-8866-3d08b20f9eea.jpg</url>
      <title>DEV Community: Sourabh Shegane</title>
      <link>https://dev.to/sourabhshegane</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sourabhshegane"/>
    <language>en</language>
    <item>
      <title>Park half-written prompts, passing ideas and the prompts you reuse, right inside Claude Code and Codex</title>
      <dc:creator>Sourabh Shegane</dc:creator>
      <pubDate>Sun, 04 Oct 2026 15:45:57 +0000</pubDate>
      <link>https://dev.to/sourabhshegane/park-half-written-prompts-passing-ideas-and-the-prompts-you-reuse-right-inside-claude-code-and-5dh7</link>
      <guid>https://dev.to/sourabhshegane/park-half-written-prompts-passing-ideas-and-the-prompts-you-reuse-right-inside-claude-code-and-5dh7</guid>
      <description>&lt;p&gt;I use Claude Code most of the day (Codex CLI too), and three small things kept getting in my way.&lt;/p&gt;

&lt;p&gt;The first one: I'm halfway through writing my next prompt while Claude is still working on the last one. Then I notice it heading the wrong way, or I realise I need to ask something quick first. My draft is sitting in the input box. I either delete it and retype it later, or copy it into a notes app and paste it back. Claude Code's Ctrl+S helps a little, but it holds one draft and loses it when the session ends.&lt;/p&gt;

&lt;p&gt;The second one is less about code. When I'm building something, thoughts keep showing up while Claude is busy: "we should add this feature", "this screen could work differently", "look into that later". I don't want to interrupt what Claude is doing, and I don't want to lose them.&lt;/p&gt;

&lt;p&gt;And the third: the prompts I reuse all the time, like "review my staged changes for bugs and missing tests". I had them saved in a notes file, but getting to one meant switching windows, finding it, copying, coming back, pasting.&lt;/p&gt;

&lt;p&gt;So I built prompt-shelf.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feuqy6b69xntrj3c5inw3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feuqy6b69xntrj3c5inw3.gif" alt="prompt-shelf demo: Ctrl+F parks a draft, Ctrl+Q brings it back, lists keep the prompts you reuse" width="800" height="172"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;You run &lt;code&gt;claude&lt;/code&gt; (or &lt;code&gt;codex&lt;/code&gt;) as usual. Two keys get added, and they cover three situations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A draft that has to wait.&lt;/strong&gt; You're mid-prompt and need to steer Claude first. &lt;strong&gt;Ctrl+F&lt;/strong&gt;, &lt;strong&gt;Enter&lt;/strong&gt;: the draft is parked and the box is clear. Later, &lt;strong&gt;Ctrl+Q&lt;/strong&gt; opens a list right above the input box. Pick the draft, press Enter, and it's back in the box. Park as many as you like; they survive closing the session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A thought you don't want to lose.&lt;/strong&gt; "We should add this feature." "This screen could work differently." Type it into the box, press &lt;strong&gt;Ctrl+F&lt;/strong&gt;, use &lt;strong&gt;←→&lt;/strong&gt; to pick a list like "Ideas" or "To explore", and press Enter. It's off your mind and out of Claude's way, and it's waiting in that list whenever you open Ctrl+Q.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A prompt you use again and again.&lt;/strong&gt; Put it on a list like "Common". When you need it: &lt;strong&gt;Ctrl+Q&lt;/strong&gt;, pick it, Enter. It goes in the box and stays on the list for next time.&lt;/p&gt;

&lt;p&gt;You can make your own lists, rename them (&lt;code&gt;r&lt;/code&gt;) and delete them (&lt;code&gt;D&lt;/code&gt;) right from the Ctrl+Q view. There's also a Skills tab showing the skills Claude can use in the current folder. Parked drafts are kept per repo, and lists are the same in every repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Neither Claude Code nor Codex gives you an API for the input box, so prompt-shelf sits in between. &lt;code&gt;claude&lt;/code&gt; resolves to a small shim that starts the real binary inside a pseudo-terminal (node-pty). Your keystrokes and its output pass straight through, so the agent behaves exactly as it would on its own.&lt;/p&gt;

&lt;p&gt;On the side, prompt-shelf keeps its own copy of the screen with a headless xterm. When you press Ctrl+F, a small adapter for that agent finds the input box in the copy and reads the text out of it. Putting a draft back is just a normal paste. Nothing is ever sent to the agent for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What was harder than expected
&lt;/h2&gt;

&lt;p&gt;The agents redraw their UI constantly, and every assumption about what the input box looks like breaks sooner or later: a placeholder that looks like text, a long paste shown as "[Pasted text #1 +12 lines]", a line wrapped across two rows. Unit tests didn't catch most of it. What worked was driving real Claude Code and Codex sessions from a script, pressing the real keys and checking what's on screen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i &lt;span class="nt"&gt;-g&lt;/span&gt; prompt-shelf &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; stash &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or with Homebrew: &lt;code&gt;brew install sourabhshegane/tap/prompt-shelf&lt;/code&gt;, then &lt;code&gt;stash enable&lt;/code&gt;. Open a new terminal tab and run &lt;code&gt;claude&lt;/code&gt; or &lt;code&gt;codex&lt;/code&gt; as usual. It's free, MIT licensed, and tested on macOS.&lt;/p&gt;

&lt;p&gt;Code and docs: &lt;a href="https://github.com/sourabhshegane/prompt-shelf" rel="noopener noreferrer"&gt;https://github.com/sourabhshegane/prompt-shelf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How do you handle this today? If there's a built-in way I've missed, or something you'd want it to do, I'd like to hear it.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
