{"id":50559909,"url":"https://github.com/brahmlower/agent-stuff","last_synced_at":"2026-06-04T11:30:20.540Z","repository":{"id":351388737,"uuid":"1190787972","full_name":"brahmlower/agent-stuff","owner":"brahmlower","description":"random agent resources, very wip","archived":false,"fork":false,"pushed_at":"2026-03-27T07:00:25.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T20:37:19.104Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brahmlower.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-24T16:08:29.000Z","updated_at":"2026-03-27T07:00:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/brahmlower/agent-stuff","commit_stats":null,"previous_names":["brahmlower/agent-stuff"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/brahmlower/agent-stuff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brahmlower%2Fagent-stuff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brahmlower%2Fagent-stuff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brahmlower%2Fagent-stuff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brahmlower%2Fagent-stuff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brahmlower","download_url":"https://codeload.github.com/brahmlower/agent-stuff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brahmlower%2Fagent-stuff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33903134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-04T11:30:19.443Z","updated_at":"2026-06-04T11:30:20.525Z","avatar_url":"https://github.com/brahmlower.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Stuff\n\nThis repo is a temporary dumping ground for useful artifacts \u0026 resources I've put together so far while ramping up on AI tooling.\n\n## Ralph\n\n### Background\n\nThe Ralph trend is perhapse a little overblown, but the pattern seems useful nonetheless.\n\nThe original [Ralph](https://ghuntley.com/ralph/) method by Geoffrey Huntley. It's essentially just a while loop within which claude is invoked to select the next task for it to complete.\n\n[Claude code's ralph loop](https://claude.com/plugins/ralph-loop) has been decried as being \"not a real ralph loop\" by several folks. Worth being aware of if its workflow meets your needs. Truethfully, I have not looked into this at all yet.\n\nAn interesting resource I found while writing this readme is https://ralph-tui.com/. It hits on an observability problem I have with the `ralph` script in this repo. I'll be investigating ralph-tui in the coming days.\n\n### The script\n\nThe script is extremely make-do. It has a few args for selecting _how_ you want to the script to run: until no more github issues, for N github issues, or for T time.\n\nIt has a two-step loop:\n1. Invoke claude to select the next issue using a `ralph-issue-selector` agent.\n2. Implement the selected issue using the `ticket-orchestrator-planned-sdlc` agent. Currently this is done with no security isolation and with dangerous permissions. Isolation is still on my todo list to learn.\n\n## Skills\n\n## Agents\n\n### ralph-issue-selector\n\nMy main project has two types of work items: planned-tickets and tactical-tickets (essentially unplanned work).\n\nCurrently the ralph-issue-selector is tasked with picking the next task from only the planned work, really it should include both planned and unplanned to some degree. This agent is written specifically for my dudewheresmyjob project (private repo), but can very easily be generalized/adapted for your own projects.\n\nNoteworthy details:\n- filters github issues by labels `audience:claude` and `stage:ready-for-development`\n- sticks to planned issues (which contain an ERD reference in their description like: `## ERD`)\n- rudimentary dependency evaluation (githubs \"relationship\" feature not available via `gh`, so manually managed links in the issue description is required)\n- \"Deep analysis\" is done for candidate issues to further \"understand\" the goal. Should improve prioritization decisions when multiple issues are ready at once. This is very dependent on my ERD/PRD setup (not documented here).\n- output formatting directives for parsing in the ralph loop\n\n### ticket-orchestrator-planned-sdlc\n\nThis agent orchestrates the implementation of a github issue and is very tightly coupled to my project documentation.\n\nDetails:\n- only acts on planned work\n- delegates all work to subagents for context preservation\n- workflow:\n  - implementation\n  - opens PR once initial changes, tests, and lints are resolved\n  - \"tract\" reviewers review the diff \u0026 request changes to the orchestrator.\n  - acceptance testing this step is supposed to actually test the feature, but my local environment has been a mess so this stage hasn't actually been happening effectively. I need to create a dedicated agent for this\n\nThe \"tracts\" are essentially like domains covering various parts of the stack. These are areas you might typically form an engineering team around, like frontend, api, xyz feature backend, auth(n/z), db, k8s, helm charts, etc.\n\nThe concepts of a Tract results in a context boundary useful for LLMs. As documents and requirements build up over time, there will be lots of nuanced requiremnts across the stack that will get lost in a single LLMs context. Tracts are a mechanism for grouping like concerns so that an agent can \"review on behalf\" of a tract. A single github issue may span a couple tracts (like UI, backend, and search), an agent for each tract is created to review the changes in the context of that tract.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrahmlower%2Fagent-stuff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrahmlower%2Fagent-stuff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrahmlower%2Fagent-stuff/lists"}