sharing a recent improvement in my harness customization I built with
@pidotdev
this may not be common problem at first, but it appears when your Pi setup starts accumulating a lot of skills, extensions, tools, and instructions
e.g. Ponytail is useful when I’m coding, but not when I’m doing research. subagents are useful (still experimenting), but unnecessary when I only want a summary
this felt particularly wrong in Pi because its minimal core is one of its biggest strengths, while my configuration was slowly moving in the opposite direction
I spent weeks experimenting with Hermes style (or Grok bots style atp) agent profiles. separate configuration directories, separate agents, separate session stores
eventually I realized profiles were the wrong abstraction
Pi already separates global resources from trusted project resources. but its SDK resource loader also lets integrations control resources and instructions for individual sessions
this was useful to create a pool-and-preset architecture where:
- I can keep a large global pool of skills, extensions, and packages to choose from
- I can create presets with only selected items, so a “research preset” can leave behind the coding stuff
- I start each session with a preset that selects the exact global skills and extensions it needs
- each preset also defines its active tools and instructions
- trusted project resources, settings, and AGENTS.md still load normally
- credentials, models, trust, settings, and session history remain shared so i change and inspect them only in one place
- each session stores a snapshot of its preset, so it can resume with the same setup even if the preset later changes or gets deleted
- unused global capabilities stay in the pool instead of entering every session’s active surface
the result has been quite significant for my workflow: some task-specific presets reduced the starting system prompt by more than 35%
more importantly, I can keep expanding my Pi setup without making every session carry all of it
Pi’s own examples already include a simpler preset extension for models, thinking levels, tools, and instructions. the SDK makes it possible to take the same idea deeper into resource loading
this is only a thin layer over infrastructure Pi already exposes, which is exactly why it works so well with its minimal-core and extensible philosophy
sharing here in case anyone with a growing Pi setup is starting to face the same problem and curious about your solution.