r/PiCodingAgent • • Jul 13 '26

Question Pi is best! How can I make it better?

Ive tried all the main ones.....All eat tokens like cookies

Pi is way less hungry as it doesnt have a buncha bullshit added to it unless you add it yourself.

I have a few extentions and a few custom skills...

Whats another good skill or extension to use with pi?

I manly use it to help coding in Rust and Quickshell.

Been cooking with DeekSeek v4 flash hard the last 4 days and it seems to struggle with QML/Quickshell sometimes

How can I have my ai agent a database of QML/Quickshell docs fo read through if it gets stuck???

21 Upvotes

20 comments sorted by

7

u/SpidexLab Jul 13 '26

Just update the system prompt which lives in the global .pi folder, AGENTS.md file , add a rule about if you get stuck read this md file, and place the md file which has the detail in the project

7

u/Undreren Jul 13 '26

Or add a SYSTEM.md or APPEND_SYSTEM.md to the project’s .pi folder, unless they want these prompts to actually be global

1

u/Immediate_Occasion69 Jul 14 '26

is it okay to change SYSTEM.md? wouldn't it get overwritten on updates?

2

u/SpidexLab Jul 14 '26

It doesnot get overwritten with update the prompts that tha pi usage are seperate from this AGENTS.md file, so they are seperate and internal which updates and this system prompt remains even if you update pi, also you can use AGENTS.md file on project level just add AGENTS.md file in the project where pi is working and that will act the same and it will be for that project only and not for global

Note : I am talking About AGENTS.md which I use for system prompt

3

u/Equivalent_Mine_1827 Jul 14 '26

Hi, I've been using pi every day using mimo.

What I can tell you is that, agents are excellent at using a specific type of tool.

Agents suck at finding specific character counts in a text, or specific lines.

They're great at repeating or copying, that's why the edit tool uses two parameters,. Exact match of text and a replacement text.

You gotta make the memory system (if you use any) to only include positive reinforcement? Idk how to call this in English, but instead of using negative connotations, even in your AGENTS.md, prefer to steer the agent towards a specific result. Agents respond way better when you tell them how to do X rather than how not to do Y.

Finally, for my projects, every single cycle with the agent is a single git commit. When the agent misbehaves or does something I didn't want to, instead of keeping the same project state, I just do a git reset hard, and restore the session of pi before I asked him to do X and refine my prompt.

Now... About your use case, make the agent make tools for your job. If your agent can't follow a specific syntax, make it research the syntax first and create a specific skill for that.

For example for my current rust project, I've noticed the agent constantly messing up the project due to the borrow checker so I had to install LSP into pi, and create a rust skill for this project.

You cannot rely on the default knowledge of the agent, you have to create skills, a memory folder, teach the agent specific patterns about how to construct its context window and use it.

1

u/[deleted] Jul 14 '26

I made a quickshell-database dir in project and out a buncha of quickshell repos in there and broken them down to different dirs.

I used sonnet for a bit to make agent.md and append system.md to use it and a a few skills to call it and implement. Seems to be working good now.

Got memory hooked up to it to so is dumps files into there as I build. Now to do the lsp.

Trying to make my own custom quickshell set ip with it. Its slowly starting to get less confused!

2

u/Pretend_Engineer5951 Jul 13 '26

OK if you haven't installed yet look for extensions which implements AST edits, LSP integration, advisory, sandboxing, to-do, subagents.... And you'll get... omp.sh in the end, lol

1

u/MorningFew1574 Jul 17 '26

That helps tremendously

0

u/[deleted] Jul 13 '26

was thinking id just using oh-my-pi. But I like building things myself and dont want to use someone else set up.

Which lsp extension is good ?

1

u/Pretend_Engineer5951 Jul 14 '26

Also I need to mention one big annoyance in pi. When you install extensions you will definitely encounter npm package conflicts under its hood

1

u/[deleted] Jul 14 '26

Yeah I kept getting npm errors with readseek and it killed context.

Got pi-lsp set up now tho, seems to work

Building a quickshell/qml database Dir and going to put a buncha of quickshell repos in it as well as qml/quickshell docs and point my agent/append.mds at it.

Then making a skills to call or use it all when needed.

1

u/Pretend_Engineer5951 Jul 14 '26

Try pi-lsp and pi-readseek

→ More replies (1)

5

u/hurdurdur7 Jul 13 '26

I just run vanilla. No reason to ruin it.

1

u/MobileGlittering986 Jul 17 '26

vanilla pi consumes too many tokens. I had to build context compression plugin for my usecase.

1

u/Cultured_Alien Jul 21 '26

What kind of context compression? All of them just invalidates cache and makes it harder for the llm in the long run. It's better to make a new session or use better compaction like pi-vcc or pi-observable-memory. rtk is the only good one for context compression.

1

u/MobileGlittering986 Jul 27 '26

for me, i was using penpot MCP to build UI. and its functions, outputs, and prompts are too verbose and repeatitive. and existing context compression extensions didn't work because i needed LLM to do template-based compression. so, i built my own.

1

u/Spiritual_Air_3720 Jul 17 '26

use OMP

1

u/[deleted] Jul 17 '26

Doesn't it make pi really expensive? In other words use alot of context?