pi shortcuts:
- in Ghostty use cmd+shift+up/down keys (or super+shift+up/down keys) to jump between prompts
- Use ctrl+g to open in $VISUAL or $EDITOR. Set
export VISUAL="zed --wait" - ctrl+l to change model
- to use image capable model with a non-image capable model do:
pi --model zai/glm-5.1 --append-system-prompt "You lack image understanding and image reading capabilities. Use `pi -p --session-info --model zai/glm-5v-turbo --no-tools @'file.png' 'question'` in these cases. Before you run that command, you should read the image. If the user or you have follow-ups for that same image, you can continue asking on the same session that `pi -p --session-info` gives you."
Note that --session-info is only getting printed because you have created an extension that can print out session info when this flag is passed.
unrelated to chatgpt:
- AI sycophancy, reducing hallucinations
- https://www.anthropic.com/research/reasoning-models-dont-say-think
- ask models specifically to read the file in full, in entirety (when you need it, as models are lazy and may not read file in full and will then assume stuff)
- for better instruction following, ask the model to check web for research for what one should be putting in AGENTS.md or in SKILL.md. If not done, the model will suggest old info which if used can deterioate model output because it can be applicable for older models but not for the current ones.
- adding something like "Also ensure that these papers that you are referencing are actually newer. Otherwise they may apply for older models but not for a new model. Check for <current year> and <previous year>"
- Claude does a better job than answering these questions. Here's an example from May 2026
- prefer asking mulitple requests at once. Reduces cost due caused by back-n-forth, and the model works better on specifics.
- llm models deployed on websites like chatgpt.com and coding agents you use terminal both tend to add a follow-up question for you to further ask the model a question to answer or a feature/hardening pass/flexibility in injesting input to add. This is a trap. Don't say yes just because it is easy. This technique may work on Google search and Perplexity search for follow up questions but not with llm models.
- https://pi.dev/ and Worktrunk, also see this
- I want you to implement this and before you start implementing, if you have any questions, please ask.
- check web for inspo.
- remind it about creating python program for inspection And make it aware of jq tool for example
- qmd, feeding docs
- linter external program linter after modifying file for repetitive mistakes
- cursor has tools or something for the linter
- repetitive changes create programs and run them instead of directly modifying code
- making and run cmd itself and check and fix/correct (loop)
- using skills, hooks for custom linters?
- cursor cli?
- frontend design
/plugin marketplace add anthropics/claude-code/plugin install frontend-design@claude-code-plugins- https://x.com/trq212/status/2017024445244924382
- https://x.com/sanyuan0704/status/2019258745705099670
- use post hook or ghostty with cursor cli to receive audible notification
/initusing claude sonnet in cursor? check how composer's output look like- asking it to spawn agents for exploration
- pros: parallel search means less context consumption by main agent (i think)
- cons: feels to me tokens get consumed faster which is weird because i thought it would be mcp like. also i felt that final output by main agent is better when it is the only doing all the searches and all and not fanning/spawing out the agents to do the search
- dunno how true it is AGENTS.md outperforms skills in our agent evals
- if tired of copy pasting error output: https://github.com/mitsuhiko/vite-console-forward-plugin, rust-skia-live screenshot capability (or macos window screenshot capability in general + macos or apps own accessibility tree or dom/xml tree), terminal stuff like:
- tmux read
- that python lib armin ronacher mentioned that can execute commands event on interactive tui app i guess - pexpect in python - see youtube Armin Ronacher videos: Ubertool MCPs and lldb videos
- https://github.com/badlogic/terminalcp (via https://mariozechner.at/posts/2025-08-15-mcp-vs-cli/)
- https://aliou.me/pi/extensions/pi-processes/
- https://github.com/marcfargas/holdpty/
- "Think really hard about this" still does work (in cursor at least, not sure about "think hardest")
- Agents understand annotation on images You can send image of how ui looks like and another image with annotations (and maybe numbering for sequencing + later referencing). Also see:
- tldraw
- https://benji.org/annotating
- https://x.com/benjitaylor/status/2024622252424384995?s=20
- https://x.com/benjitaylor/status/2019454660575146062?s=20
- https://www.youtube.com/watch?v=r2e4J8g616Q
- https://x.com/decodetool and https://x.com/seflless
- https://www.youtube.com/watch?v=riFFyTRljic and https://www.youtube.com/watch?v=s7BZz03icnY
local and remote isolated vms:
- local
- remote
- web Search
- https://git.lolcat.ca/lolcat/4get, https://4get.ca/instances
- https://github.com/benbusby/whoogle-search + its inbuilt json results mechanism
- gets rate limted really quickly
- elinks + Brave search
- https://www.mojeek.com/ is good alternative to Brave but it doesn't crawl Reddit which is a dealbreaker
- Unfortunately https://www.startpage.com/ gives captcha quite easily
- web fetch
- https://news.ycombinator.com/item?id=40033490 this is slow but works (https://github.com/asadm/markdowndown)
- https://www.brow.sh/ (i suppose not 😅)
- for certain sites:
- https://farside.link/
- for HN https://api.hackerwebapp.com
- for reddit with
.json?raw_json=1and other query params (public API is still heavily rate limited though) - https://nitter.tiekoetter.com (this one is without anubis captcha)
- https://www.npmjs.com/package/@edmundmiller/pi-scurl
- elinks
- https://github.com/miso-belica/jusText
- https://github.com/adbar/trafilatura or its Go port
- https://github.com/mozilla/readability or its Go port
- https://markdown.new/ and https://defuddle.md/
- None of these will actually give result of SPA page. if you could able to directly tool call Codex's web fetch then you'd get the right output or use https://developers.cloudflare.com/browser-rendering/
- web fetch + web search
- https://www.npmjs.com/package/@aemonculaba/pi-search
- https://www.npmjs.com/package/pi-web-utils
- browser-tools from badlogicgames or nicobailon/surf-cli
in cursor:
Shared Knowledge
View team-wide Rules, Commands, and Hooks.
ok check @packages/recorder-tools/native/ and @packages/recorder/src/background/ . it seems like there is some code issue due to which either @packages/recorder-tools/native/host.ts isn't able to sustain the
connection when made.
I see "Native host disconnected" in the Voy Recorder extension's UI and
you can check the output of
cat /tmp/voy-recorder-host.logyourself. After checking and inspecting code and running tmp scripts to validate hypothesis (you have access to CDP as well via browser-tools and youcan create tmp scripts if you want), you can check web if you need and report back what the root cause is
what's the proper bug fix here?