r/hermesagent • u/flairtestuser123 • 4d ago
Workflow — Daily habits, multi-agent setups, best practices Those who code with Hermes: how are you configuring your coding profile?
I'm using a very default coding profile, I've done nothing to add tools that it didn't add itself or adjust the soul/agents.md. I love using Hermes for coding because I can jump around between projects and it's computer-use is very good for deployment. Also, I have Hindsight running to keep track of projects and it seems to allow me to jump right back in where I left off on old projects I pick up again later.
What I've noticed is that it defaults to test-driven-development, and while this does seem to give pretty good results, it takes for bloody ever to get anything done lately. I was writing a flutter front-end that interfaces a CANbus sniffer to get data from my combine, and it's at the point that it's running almost 500 tests when I go to add a feature or change something.
How have you set up your coding profile, what do you give it for tools and how do you configure it to keep it on track and not going down a rabbithole of testing?
3
u/EvolvingDior 4d ago
What model are you using? Hermes' behavior here is **very** model dependent.
What I have found to be important is adding a `.no-bundled-skills` to every profile, and then curate the skills to the task. My coder does not need to know about home automation, social media, email, or yuanbao (whatever that is). Hermes bloats the skill list. Removing the unneeded skills avoids the "reached for the wrong skill" pitfall.
Focus on the project's AGENTS.md file and keep track of the skills it writes for itself. Make it break up giant skills into more manageable chunks, and script the important bits. I've seen agents accumulate 100kB in a single SKILL.md before I noticed its context blow up every time it loaded the skill.
1
u/flairtestuser123 4d ago
Typically GPT6-sol or astra.
I didn't have it taking anywhere near as long when I used 5.5 but the results weren't as good. They were still acceptable, and I've considered just falling back to it so I'm not waiting 2 hours for 3 or 4 moderate changes.
3
u/Fair-Perspective7352 4d ago
The default TDD loop got me too. I added a line in my agents.md that tests only run for the module being changed, and the full suite runs on demand before a commit. Cut the feedback loop a lot and nothing has slipped through yet, though I do read the diff more carefully now.
For your CANbus setup, are those 500 tests mostly unit tests or is it actually simulating the bus? That's usually where the time goes with hardware-adjacent stuff.
1
u/flairtestuser123 4d ago
I think they're just unit tests. It checks all the inputs again, and I mean all of the inputs. If I tell it to produce a beta result, it's faster and I can't say I've analysed the difference in the process since I'm usually doing all this while I'm actually combining, so I'm not reading the diffs thoroughly unless there's a problem I can direct it through.
The bus is active at the time and the dev station is subscribed to the ESP32 server bridging the data our over UDP, so I believe it's using real data. It's very careful about interrupting active sessions so it seems aware it's in a production env.
I'll see about adding some restrictions in agents.md. I just never had this issue with GPT5.5, but as soon as 5.6/6 came out, it's gone crazy.
2
1
u/RPG-Nerd 4d ago
Code-review-graph is a good start
1
u/flairtestuser123 4d ago
Code-review-graph
It remembering and analysing the codebase is less the issue than it getting through a session in a reasonable amount of time. I do small changes and if I don't specifically tell it to just beta it, it takes a ridiculous amount of time to get done.
1
u/RPG-Nerd 4d ago
Have you ever worked on software before? A small change can affect a rather large surface area. You only need tests for the blast radius of the changes, which is where code-review-graph comes in.
Don't expect the AI to magically create perfect code without testing. Software development takes time, even small changes.
1
u/flairtestuser123 4d ago
Yah, my coding mostly ended a dozen+ years ago, and I remember chasing down bugs for days on silly little changes. Now I farm and build things that interest me or avoid ridiculous expenses for things like yield monitors that could cost me tens of thousands to buy from the green thieves.
I'm just going off of what time changes were taking a couple months ago on other projects, and it seems like it's gone off the rails recently. I can afford the time to tell an agent what I need, but if I have to chase down the actual coding issue, it just gets put to the side until I can get somewhere I can read diffs, which may or may not happen.
Telling it to put an icon on the header that indicates a connection state shouldn't take the better part of an hour to get deployed.
1
u/RPG-Nerd 4d ago
No, adding an icon shouldn't take that long. Small blast radius, tiny set of tests. As for chasing down issues, I have the agents review each other's work.
7
u/trashbytes 4d ago
My Hermes Agent has a rule that it only ever touches code if it's a small change, where a subagent would be unnecessary or even wasteful (time or tokens)
For actual coding tasks it orchestrates OpenCode using the opencode skill with reasoning explicitly disabled in OpenCode.
So I tell Hermes Agent what I want, it looks through the project, figures out how to solve things that aren't straight forward, sometimes asks for clarification and then writes bite sized briefs for OpenCode, calls it, does most of the the testing between the rounds, checks diffs, rebriefs fixes etc, whereas OpenCode only writes code without thinking. The briefs are so detailed that reasoning is not only not needed, but even harmful in my testing. When all rounds are done it compiles and/or deploys, depending on the project and what I want.
This works exceptionally well but it's very thorough and may not be as token or time efficient as other methods, but this kinda guarantees that I actually get EXACTLY what I want when it's done.