3 Practical AI-CLI Methods That Save Money, Spark Insight, and Save Time
The day Codex fixed a Raycast extension — I started paying attention to these reasoning CLIs.
Martin Michaelsen
Nov 5, 2025
The day Codex fixed a Raycast extension — I started paying attention to these reasoning CLIs. I’d been in a rare gap between work cycles, poking at tiny workflow snags: keyboard shortcuts that didn’t behave, a Raycast → Tana flow that didn’t auto-submit, little breaks that pull you out of flow. I’m not a developer, but I knew Raycast extensions live on GitHub. So I grabbed the repo link, typed a one-shot instruction into Codex, and went back to doing other things.
When I came back a few minutes later there was a new green icon in Raycast. The extension ran. The window closed on successful submit. My node landed in Tana. That milestone “it worked” moment — no manual install, no debugging, just a patched behavior — was the aha: vibe-coding is real, and it’s ridiculously practical for a non-dev tinkerer.
“vibe-coding is real, and it’s ridiculously practical for a non-dev tinkerer.”
Below are the three micro-tutorials (copy-paste prompts + minimal steps) that let a “geeky but not dev” reader reproduce the same wins: Vibe-coding, Bargain-hunting, and Omni-search of your scattered notes.
1 — Vibe-coding: patch a Raycast extension (the real aha)
Problem: Raycast extension didn’t auto-submit nodes to Tana and didn’t close the Raycast window on success. You want it fixed with minimal fuss.
Exact one-shot prompt I used (reconstructed, copy/paste):
I would like to edit the extension found here: https://github.com/raycast/extensions/tree/d8066a12ac3230fd42c57bece487504b124a7e40/extensions/tana/ to close the Raycast window on successful submitting of nodes.
• Add support for multi-node inputs with indentation.
• Auto-submit nodes on Cmd/Ctrl+Enter.
• Save the draft input into the field so it persists if the window is closed.
• Make sure the environment can run without me approving each network/file download — type "/approvals" to allow the necessary downloads and installs.
Can you set up the dev environment, make the edits, commit the changes, and give me the minimal verification steps to install or load the patched extension locally?
Minimal steps (non-dev friendly):
- Copy the repo link for the Raycast extension.
- Paste the prompt above into your reasoning model CLI or web UI (Codex or your highest-reasoning model). Attach the repo link.
- When the model indicates it has edited/committed, ask: “How do I load this to Raycast locally?” Follow the short install steps it returns (often a drag/drop or one extra command).
- Verify: open the extension, type a multi-node input, press Cmd/Ctrl+Enter — expect the window to close and the node to appear in Tana.
Expected success signal: new green icon in Raycast, “submit successful” then Raycast window closes and node appears in Tana.
Takeaway: even without being a developer you can point a reasoning model at a repo, ask for a focused behavioral change, and get a runnable, tested tweak.
2 — Bargain-hunting: scrape the web for working discount codes
Problem: You want the best price or a promo code for a specific purchase but don’t have time to deep-dig comment threads and tweets.
My example: building my business site (uptick.studio), I wanted a resource from shadcdnblocks.com. Manual searches failed, so I asked my reasoning model to scour the web. It returned a working code in under a minute — ≈$30 saved.
Example prompt (reconstructed):
Please search the web (including threads, author pages, comment sections, and recent social posts) for any valid discount codes or ways to pay less for products on chatcdnblocks.com.
• Prioritize codes that are currently valid; check the date/source and where the code appears (comments, tweets, etc.).
• If no working codes exist, suggest cheaper alternative resources or workarounds that provide similar design blocks or functions.
Report back with exact codes, checkout test instructions, and a one-line estimate of savings.
Minimal steps (copy/paste):
- Paste the prompt into your reasoning model/CLI.
- Ask the model to “verify this code by simulating a checkout” (or explicitly instruct it to confirm the code’s last-seen date and the place it was found).
- Try the code at checkout and confirm the discount.
Expected result: a working code line, e.g. 10OFFCHAT, plus where it was found and estimate ~$30 saved.
Takeaway: reasoning CLIs can surface deeply buried promo info and shortcut you past several hours of manual searching — great ROI for a tiny prompt.
3 — Omni-search: unify chat history and PKM exports into one searchable brain
Problem: Notes, ChatGPT conversations, Tana, Obsidian, Evernote — spread across systems. You want one coherent view of your thinking about a topic over time.
Approach: export everything into a folder, then ask the reasoning model to index and synthesize it, letting you query your whole history.
Example indexing prompt (copy/paste):
I uploaded a folder `/path/to/exports` containing:
• Chat export (my ChatGPT history),
• Tana Markdown export,
• Obsidian notes,
• Evernote export.
Please index these files, extract verbatim quotes tagged with timestamps, and produce:
1) a short consolidated timeline of my thinking about [TOPIC],
2) a 5-line summary for each year,
3) an index of files/locations with relevant quotes I can use in a future article.
Finally, respond to this query using those sources: [insert your question].
Minimal steps:
- Export each system (ChatGPT has an export option; Tana/Obsidian/Evernote have export options — put them in one folder).
- Upload the folder or paste representative files into your reasoning model CLI/web UI.
- Run the indexing prompt above (replace
/path/to/exportsand[TOPIC]). - Ask follow-ups — the model will refine the report and can produce verbatim quotes from the workspace.
Expected result: a concise, sourced view of your ideas about the topic over time, with file references you can click back to (or copy from) and refine with follow-ups.
Takeaway: giving a reasoning model deep, personal context turns scattered memories into a single, searchable, continually improvable resource.