marwamc
Also, can't wait to try this. I use a markdown-based notes/workplans/context workflow that works for the happy path but falls on its head for some edge-cases. Sometimes I have to abruptly stop a piece of work, and I might not get a chance to perform the post-work-item markdown notes ritual. If I'm resuming the same piece of work within 24hrs, it's relatively straightforward to remember what I was working on before the abrupt stop. However, sometimes it might be several days before I resume a work-item that was abruptly stopped, and in those cases, the context switchback feels like hair-pulling. This promises to reduce that pain somewhat. The last commit (usually a few steps ahead of the work-plan persistence ritual) becomes a recoverable checkpoint.
Backing AfD in Germany and calling them Germany's "best hope for the future" likely rubs the rest of the non-AfD polity the wrong way. He turned driving a Tesla into a political stance in Germany.
See releases at https://gitlab.com/rhobimd-oss/shebe/-/releases/v0.5.6-rc3 and give it a try.
I'm continually validating and asking, is this really useful? see https://github.com/rhobimd-oss/shebe/blob/main/docs/testing/...
[1] https://research.google/pubs/how-developers-search-for-code-...
[2] https://sourcegraph.com/blog/keeping-it-boring-and-relevant-...
https://github.com/rhobimd-oss/shebe
One area where BM25 particularly shines is the refactoring workflow: let's say you want to upgrade your istio installation from 1.28 to 1.29 and maybe in 1.29 the authorizationpolicy crd has a breaking change in one of it's properties. BM25 allows you to efficiently enumerate all code locations in your codebase that need to change and then you can set the cli coders off using this list. Grep and LSP can still perform this enumeration but they have shortcomings. Wrote about it here https://github.com/rhobimd-oss/shebe/blob/main/WHY_SHEBE.md#...
BM25 search and Claude = efficient precision
https://gitlab.com/rhobimd-oss/shebe/-/blob/main/docs/guides...
https://gitlab.com/rhobimd-oss/shebe/-/tree/main?ref_type=he...
Then in skills or CLAUDE.md I instruct claude to use this mcp tool to enumerate all files need changing/updating.
I found these help ground the mentorship and discussions between junior-senior devs. And so even for the enterprising aka proactive junior devs who might start working on something in advance of plans/roadmaps, by the time they present that work for review, if the work followed org architectural and design patterns, the review and acceptance process flows smoothly.
In my juinior days I was taught: if the org doesn't have a design or architectural SOP for the thing you're doing, find a couple of respectable RFCs from the internet, pick the three you like, and implement one. It's so much easier to stand on the shoulders of giants than to try and be the giant yourself.
From the root container, depending on volume mounts and capabilities granted to the container, they would enumerate the host directories and find the names of common scripts and then overwrite one such script. Or to be even sneakier, they can append their malicious code to an existing script in the host filesystem. Now each time you run your script, their code piggybacks.
OTOH if I had written such a script for linux I'd be looking to grab the contents of $(hist) $(env) $(cat /etc/{group,passwd})... then enumerate /usr/bin/ /usr/local/bin/ and the XDG_{CACHE,CONFIG} dirs - some plaintext credentials are usually here. The $HOME/.{aws,docker,claude,ssh} Basically the attacker just needs to know their way around your OS. The script enumerating these directories is the 0777 script they were able to write from inside the root access container.
OTH if I had written such a script for linux I'd be looking to grab the contents of $(hist) $(env) $(cat /etc/{group,passwd})... then enumerate /usr/bin/ /usr/local/bin/ and the XDG_{CACHE,CONFIG} dirs - some plaintext credentials are usually here.
The $HOME/.{aws,docker,claude,ssh}
Basically the attacker just needs to know their way around your OS. The script enumerating these directories is the 0777 script they were able to write from inside the root access container.
Now SKILL.md can have references to more finegrained behaviors or capabilities of our skill. My skills generally tend to have a reference/{workflows,tools,standards,testing-guide,routing,api-integration}.md. These references are what then gets "progressively loaded" into the context.
Say I asked claude to use the wireframe-skill to create profileView mockup. While creating the wireframe, claude will need to figure out what API endpoints are available/relevant for the profileView and the response types etc. It's at this point that claude reads the references/api-integration.md file from the wireframe skill.
After a while I found I didn't like the progressive loading so I usually direct claude to load all references in the skill before proceeding - this usually takes up maybe 20k to 30k tokens, but the accuracy and precision (imagined or otherwise ha!) is worth it for my use cases.
My problem was: for refactoring/renaming workflows Claude seems to run grep/ripgrep to enumerate occurrences of a symbol before renaming, but somehow misses some references, especially in test files or documentation. After renaming a symbol I would have failing tests, which Claude will dutifully fix, so not the worst problem. However the out-of-date documentation references slowly bite me in the neck because in future, Claude might read the outdated docs and make false assumptions or wrong decisions.
So I made an mcp tool that searches an indexed repo for all references/usages of a symbol and returns ranked results.
https://gitlab.com/rhobimd-oss/shebe/-/blob/main/docs/guides...
Also recently there a ShowHN about a tool called nia that does something similar. https://docs.trynia.ai/tools-features
I see solutions to particular nits I had IRL e.g. the lack of semantic search in googlemaps. This is the ability to perform a "SELECT... JOIN... WHERE" from maps data to weather data to traffic data to safety/security stats etc.
So the LLM can now act as a query parser that operates on natural language: "find hotels in downtown within 45 minutes of a certain location in Santa Monica. Prefer hotels in locations that have such and such safety and walkability scores. Prioritize public transport as the primary mode of transport between the recommended hotels and the destination office."
Mine's a simple BM25 index for code keyword search (I use it alongside serena-mcp) and for some use cases the speeds and token efficiency are insane.
https://gitlab.com/rhobimd-oss/shebe#comparison-shebe-vs-alt...