Add .agents/ instruction files for Chai Bot personas - #1370
Conversation
|
Most of the content here has been pulled from
Thanks @cverna and @suppathak for those great resources! The content was adapted (using AI) to fit into a chai-bot persona for Once this lands I'll open a chai-bot persona add request internally so we can get onboarded. I'm sure we'll tweak these as we go and find things that need improving. |
a44f2c6 to
6cf6aad
Compare
| - `x86_64` (AMD64/Intel) -- built by `build` job | ||
| - `aarch64` (ARM 64-bit) -- built by `build-arch` | ||
| - `ppc64le` (IBM POWER) -- built by `build-arch` | ||
| - `s390x` (IBM Z) -- built by `build-arch` |
There was a problem hiding this comment.
| - `x86_64` (AMD64/Intel) -- built by `build` job | |
| - `aarch64` (ARM 64-bit) -- built by `build-arch` | |
| - `ppc64le` (IBM POWER) -- built by `build-arch` | |
| - `s390x` (IBM Z) -- built by `build-arch` | |
| - `x86_64` -- built by `build` job | |
| - `aarch64`, `ppc64le`, `s390x` -- built by `build-arch` |
|
I'll continue the review tomorrow but it might be interesting to pass the .md files through https://github.com/stbenjam/skillsaw. I think it might make the prompt more agent efficient and token efficient. |
I ran this against the repo and pushed the results here. Here's a summary of what if came up with: |
6cf6aad to
99db984
Compare
| - Duration and timestamp | ||
| - For `build` job failures: identify which `build-arch` child failed (check trigger causes in recent `build-arch` failures) | ||
|
|
||
| ## Stage 2 -- Logs |
There was a problem hiding this comment.
I had some specific instructions to download the kola logs, not sure how that would work with the Jenkins MCP, but it might useful to let the agent know it can get these logs too.
https://github.com/cverna/coreos-agent-tools/blob/9fb240812e5d5df9b2692dab90e7ebee6cd408cc/go/skills/pipeline-failures/SKILL.md?plain=1#L117
There was a problem hiding this comment.
I've added a commit here to include this, but this exposed a large limitation of the jenkins MCP server, which is that it currently doesn't have a function to download the artifacts from a build (i.e. this is where we stash our kola tarballs).
Some WIP on closing the gap over in jenkinsci/mcp-server-plugin#42
I'm not sure if this means we'd need to change our approach. We'd probably be able to pull that PR forward if we needed it bad enough, which we probably do.
These looks like good improvements, WDYT? |
There was a problem hiding this comment.
Same as before, maybe add that it needs to be clear about knowledge gaps and not create random answers if does not certain about the response.
There was a problem hiding this comment.
I think this might be covered below with:
Be concise and evidence-based -- cite build numbers, log lines, and package versions
To me "evidence-based" means you need to have proof and the rest of the line gives examples of stating proof.
So I think maybe we're covered?
Do you have a specific suggestion (wording/edit) you'd like to make?
There was a problem hiding this comment.
I suggested a update in "Be concise and evidence-based -- cite build numbers, log lines, and package versions" just to clarify that it can't create data or extrapolate.
|
Hey Dusty, thanks for working on this. I just added a comment about safeguards that we could use. I saw @cverna saying that the models are already smart to understand some stuff, but I am not sure how explicit we need to be with them. And another idea would be having a small agents/README.md and add something like the PR description just to explain what it it and what it does in a simple way so people don't need to read all the the files to understand what the agents are doing. Overall, LGTM. :) |
yep. I actually uploaded the changes that implementing the recommendations at the same time I made that comment. I wanted to put the recommendations here in the comments for the record. |
b3ac958 to
1c8429b
Compare
Done! .agents/README.md exists now |
1c8429b to
be479fe
Compare
Add instruction files for two Chai Bot (https://github.com/redhat-chai-bot) personas for the CoreOS team: - coreos_pipeline: monitors the RHCOS Jenkins pipeline, triages build failures, and tracks issues in Jira (COS project). Serves #jenkins-rhcos-art. - coreos_internal: general-purpose CoreOS engineering assistant covering RHCOS architecture, builds, CVEs, and team processes. Serves #dev-coreos and #forum-rhel-coreos. Files are organized as: - Persona domain instructions (always loaded by the persona) - Scheduled task prompts (cron-driven pipeline monitoring) These files will be consumed by ship-help-bot via %include() directives, following the same pattern used by HyperShift and ROSA teams. Content adapted from existing triage workflows and domain knowledge in: - https://github.com/cverna/coreos-agent-tools (main branch) - https://github.com/suppathak/coreos-agent-tools (feature/pipeline-triage-workflow branch) Assisted-By: <anthropic/claude-opus-4.6>
When kola tests fail, the pipeline uploads log bundle tarballs as Jenkins build artifacts. Add documentation on the artifact structure (journal.txt, console.txt, ignition.json, rerun/ directory) and what to look for when analyzing test failures. Note the current limitation that the Jenkins MCP Server Plugin does not yet support downloading build artifacts, and link to jenkinsci/mcp-server-plugin#42 as a potential future solution. Assisted-By: <anthropic/claude-opus-4.6>
be479fe to
1a26902
Compare
|
That's awesome ! I am looking forward to see that in action |
Add instruction files for two Chai Bot (https://github.com/redhat-chai-bot) personas for the CoreOS team:
coreos_pipeline: monitors the RHCOS Jenkins pipeline, triages build failures, and tracks issues in Jira (COS project). Serves #jenkins-rhcos-art.
coreos_internal: general-purpose CoreOS engineering assistant covering RHCOS architecture, builds, CVEs, and team processes. Serves #dev-coreos and #forum-rhel-coreos.
Files are organized as:
These files will be consumed by ship-help-bot via %include() directives, following the same pattern used by HyperShift and ROSA teams.
Content adapted from existing triage workflows and domain knowledge in:
Assisted-By: <anthropic/claude-opus-4.6>