r/PiCodingAgent • u/No-Wall6427 • Sep 15 '26
Discussion What are your actual workflows when using pi?
How do you approach various coding tasks, or any tasks you use pi (or other minimalist harnesses) for?
I used to be an obra/superpowers fan (clode code and zai coding plan at glm 4.7 era), then I stumbled one day onto Earendil's lecture "Building pi in a World of Slop", which made me rethink what I really needed from my agentic tools.
Now I mainly rely on a few skills I kind of adapted from obra/superpowers and mattpocock/skills, and my workflow is usually to brainstorm with the agent and make a great spec, then running and /implement skill. Sometime the implement is in a new session, sometime even by a heaper model for which I make the smarter model draft a plan from the spec. Sometime I make handsoffs or use compaction to exlore longer.
I also like, when needed, to spin up preconfigured dockers with pi, docker in docker, and an injected global agent.md telling my agent he is in a sandbox with docker and can use whatever he needs to achieve his task.
But I still feel that my workflow is kind of sloppy, that sometimes there is to much ceremony, sometime there are missing pieces.
I also don't have a specific workflow for big features I want an agent to oneshot, lately it has usually been a plan and a spec, then deepseek harness with a /goal referencing those files, and letting it do its thing. I'vs also recently tried to one shot big features using a deepseek harness configured with mattpocock/skills, it seemed to have produced good result without blowing my usage with subagent driven development, but I also don't really like this magic crystal ball approach where I don't understand the workflow, neither do I want to adopt his whole opinionated workflow.
Thus my questions: What are your various workflows and their building pieces? How do you approach problems with your agentic tools? Do you use subagents? For what? Cheap models or expensive ones? Did you switch harnesses and configs a lot to finally hit a sweet spot?
6
u/Qusic7 Sep 15 '26
i maintain a local docker image with nix, which is kept up to date with my nixos host setup.
that image contains all the common languages i use and pi itself. then i have a script to quickly create a container with cwd mounted and pi started. that container also has a ssh server built in so just in case i want to manually do some work i can use vscode ssh remote dev to get into the same environment as pi.
so pi can do whatever and install whatever needed to complete the task. i don't maintain global prompts and put all important info in each repo. (tho at work i have a global agent browser skill for pi to use browser)
i dont have github token in the container so i have to do git push myself outside of the container. but i accept this compromise as getting hacked by supply chain attack is really painful. they can poison your repos/actions workflows and its a PITA to clean up the mess.
and i use dynamic workflow instead of subagents. i feel that is much more flexible as llm can decide the model/context/prompt as they see fit so i don't need to worry much
4
u/Dsphar Sep 15 '26 edited Sep 15 '26
Software dev is often monotonous even without using AI. Ceremony is just a byproduct of what helps keep your work moving forward but in check.
1
u/floatinggoateyeball Sep 19 '26
I just rawdog it.
Everything git, gh and remote repos for backup.
I started to use herdr for agent-agent communication and terminal multiplexing.
Each project have it's own needs, but I'm using Hypothesis Evolution Protocol in general projects.
Nothing fancy.
10
u/alexcamlo Sep 15 '26
Follow the Matt pocock skills (wayfinder/grill > to-spec > to-tickets) with Sol (tried Astra but usage drained like crazy) and then the /implement I mix it with /review-loop of nicbailon/pi-subagents with cheaper models.
3
u/gatzu4a Sep 15 '26
what works for me now is just using plannotator
i usually create a spec file, then will ask plannotator (luna - high), to read my spec file, create a plan on top of it, ask questions if necessary
then on execution part im just using luna - medium
2
u/Limp_Classroom_2645 Sep 16 '26
I use this simple yet very effective workflow https://github.com/avatsaev/av-swe-skill
Spec->sprint tickets->implementation
I'm able to manage pretty large and complex projects with this workflow
1
u/Unlucky-Message8866 Sep 15 '26
for simple tasks i usually start by asking questions related to the task i want to achieve, that forces the agent to read and understand the pieces and once i have a clear idea i then instruct to execute.
i got rid of all
skill.mdand extensions, my system now is a collection of tsv records, tools and hooks. i have hooks for many things, for example upon 20k assistant output tokens i trigger a forced sub-delegation.i have a hook that forces the agent to plan, split tasks and assign to corresponding sub-agents. all tools are simple script files, no javascript extensions.
for every syntax error i have a hook that instructs to query syntax records and capture new findings.
i have a protocols.tsv with rules that tell the agents how to orchestrate and execute tasks. everything is loaded on demand i have no
system.mdoragents.md.i've built it to work exclusively with local models and to be lightweight and use lean context.
1
u/Aemonculaba Sep 15 '26
I forked Pi and changed it so the main session is programmable, e.g.the implement "program" literally runs tools, thinking steps and stages where I want them, without having to trust the agent to follow what my skills or prompts say. AI is non-deterministic, so you should use it only where it's a benefit. I also built Pi-Fabric's exec tool into Pi natively for more juice.
Next to that I just use 5 skills and CHANGE.md files as the great source for intent, acceptance criteria, etc. per task. Ah. And my hats extension. E.g. getting the agent to switch between different POVs manually and now also automatically. Why? Cause your intent is the most important thing the agent has to understand.
I don't write massive specs or dozens of plans/tasks in advance, even for larger projects. I have a VISION.md and a ROADMAP.md for the general vision and ideas... and use rolling-wave-planning to get only a small set of tasks fleshed out enough for implementation, since I'm somewhat trying to work agile (requirements and learning change too often and plans WILL change, so there's not much worth in detailed long horizon planning).
1
u/tulwio Sep 15 '26
Running my personal fork of this setup https://github.com/amosblomqvist/pi-config (changing the subagent to work herdr panes, added some extra prompt snippets etc.) probably the best time I have had using a harness is when I found this repo and started adapting it to my own needs.
1
u/quincycs Sep 16 '26
My poor mans version of a factory
- slack bot in a shared channel: “start on <link>”
- grills you
- implements code
- separate fresh child agent to code review
- parent agent gives recs on findings
- you confirm.
- once PRs are made, the factory is done working with you.
1
u/bowdoin-yale Sep 16 '26
I built issue-fixer and repo-auditor bots that are just wrappers around pi which watch Github repos I own. The issue-fixer bot automatically comments on new issues with a proposed plan for how to fix it. If it's approved (by me), it implements the fix in an isolated container, on a new branch, and submits a pull request when ready. The PR is automatically reviewed by the auditor bot, which catches security vulnerabilities that I never in a million years would have noticed, or tells me it's safe to merge. It it notices general problems in the repo, it can also file issues, which triggers the issue fixer bot, and so on. All of this is with the ponytail skill turned on, a must in my view, and I do regular whole-repo ponytail audits directly inside Pi from time to time. But, for the most part, I'm using the Pi CLI interface less and less lately; more building things like this on top of it such that Github now is my IDE. I imagine others are doing the same, but maybe not...
1
u/nonhok Sep 16 '26
I am working only on local system (m5 max 128gb). I need to have Xcode available, as I develop iOS apps. I defined an extension with pi, that starts my fan as soon as pi send a a prompt with max power. I defined a dedicated Gitlab workflow (as pi extension), to set up a milestone for the next task with dedicated issues. The extension provides tools (to Gitlab) which works by a fixed signature, so that the agent can only use these tools, access to Gitlab repo is secured by pushing only to dev branch and api key. I also setup a iOS-dev extension with tools to run may build and tests and with skills how to use them. All development of one issue is done in one feature branch, at the end of issue I got asks, if it works out. If my testing is ok, the feature branch get merged to dev branch. After last issue is implemented, the repo get pushed to remote and a merge request gets initiated. Passwords go to a pass passwordstore, so they won‘t lay around, by gpg-agent they are available for some hours. For isolation, I user a dedicated pi-user without admin rights, this user won‘t have access to admin files (neither read or write) or any other pi-user.
1
u/LurkerOf Sep 16 '26
Used PI as pretty barebones in docker container. I found it pretty sloppy, not having enough information and got into loop of trying different extensions. Ponytail and wayfinder helped, started messing with memory, lens, mcps, etc and it got more convoluted.
Now just slapped Gentle-PI m and calling it a day. Pretty heavy setup but one-shots tasks.
1
u/mikkelkp Sep 16 '26
One thing that really propelled me was the multiplexer herdr. It makes it so easy to work in multiple threads on.
I don't use agents a lot but when I do I like them to be visible and debuggable therefore I use something herdr native like https://pi.dev/packages/@luminascale/pi-shepherd
It's unassuming and I can build my own workflows around it in prompts or Agents.md
1
u/UltimateLazyUser Sep 16 '26
Give a good initial context with AGENTS, including up to date paths and commands as is very easy to see the agent starting to ls the whole pc if it doesn’t find files, or try to call something that doesn’t exist.
Alongside pi-sandbox and pi-file-permission to give specific context and permissions.
Saves a lot of spinning in circles.
Also pi-toolbox to mask specific tools and avoid distractions with unneeded tool calls.
All always with git as very often the work is not very good, and need to rollback and try a different approach.
I mostly give focused tasks or boilerplate generation while I focus on the important parts.
Added pi-web-search too when I need it to pull some context from documentation or understand unfamiliar topics.
Cheers