with one click
rsyslog-issue-triage
// Triage rsyslog GitHub issues one issue or cluster at a time, classify stale and current reports, draft or post closure comments, and maintain a local evidence board.
// Triage rsyslog GitHub issues one issue or cluster at a time, classify stale and current reports, draft or post closure comments, and maintain a local evidence board.
Ensures compliance with rsyslog's strict commit message and branching policies.
Mirror rsyslog run_checks.yml container validation locally, including Cubic review where applicable, the clang static analyzer job, the change-gated Ubuntu 26.04 run-ci.sh check run, service-skip validation, clean-tree rules, and container path caveats.
Guidelines for maintaining structured, RAG-optimized documentation and module metadata.
Standardizes testing and validation for rsyslog using the diag.sh framework.
Orchestrate long-running rsyslog issue-fix sessions with a rolling active set of work units, local issue cache use, separate worktrees, full validation gates, PR babysitting, merged-PR cleanup, and automatic refill until the selected issue class is exhausted.
Monitor rsyslog pull requests after push or rerun, including GitHub Actions checks, unresolved review threads, bot comments, reruns for known flakes, and concise status reporting.
| name | rsyslog_issue_triage |
| description | Triage rsyslog GitHub issues one issue or cluster at a time, classify stale and current reports, draft or post closure comments, and maintain a local evidence board. |
This skill standardizes rsyslog GitHub issue triage. It is meant for backlog work where issues may be old, duplicated, already fixed, answerable by configuration, or still valid feature and bug candidates.
main before each triage unit.Use a Linux-compatible environment for rsyslog repository work. When working under Windows, use WSL.
Always refresh main first:
git fetch origin main:main
Create a dedicated worktree and branch for each triage unit. A unit may be a single issue, a small batch, or a larger cluster:
git worktree add -b codex/triage-<unit> ../rsyslog-triage-<unit> main
Keep triage notes under a non-git local path such as:
.agent/local/issue-triage/work/<unit>.md
.agent/local/issue-triage/cache/
Cache issue JSON or rendered issue summaries when processing large clusters. This avoids repeated GitHub API reads and makes later passes faster.
Preserve user or maintainer changes in the worktree. Do not revert unrelated changes.
For each issue, inspect enough context to support the verdict:
rgerhards; exclude those from broad
user-issue clustering unless explicitly asked.git grep or rg.doc/source/ and generated website behavior when
relevant.plugins/AGENTS.mdcontrib/AGENTS.mdruntime/AGENTS.mddoc/AGENTS.mdtests/AGENTS.mdtools/AGENTS.mdWhen using GitHub, prefer authenticated gh or the GitHub connector. If writes
are not explicitly authorized, produce draft comments only.
Use these verdicts consistently:
already implementednot reproducible / needs reporter infovalid non-code answersimple code/feature candidatelarger design decision neededduplicate / supersededplausible bug / needs validationvalid feature candidatepartially implementedDo not close a valid feature or plausible current bug just because it is old. Old valid issues should be marked as triaged and left open with the next action.
GitHub writes are draft-only unless the user explicitly permits comments and closures for the current triage run.
When closing an issue, post the reasoning first, then close. The comment should:
Closure candidates include:
Keep open when:
For configuration or support questions, prefer a concise answer that gives a usable path:
Common examples from the first triage run:
imfile Tag, Severity, and Facility are input metadata/defaults, not
per-line derived values. Parse embedded app severity into variables and route
or format on that value.%msg%. Use mmnormalize, pmnormalize, or custom parsing for nested
messages.omfile actions writing the same physical file have independent
descriptors and rotation state. Prefer one shared output action/ruleset.Only start implementation when the user has not restricted the session to non-code triage and the change is localized and testable.
Allowed small candidates:
Defer to maintainer/user decision for:
Use rsyslog validation skills for implementation work:
rsyslog_build: make -j$(nproc) check TESTS="".rsyslog_test: run targeted ./tests/<test>.sh.For each issue, record this in the local board:
- [x] #<number> <title> (<author>, created <date>, updated <date>, labels: <labels>)
- Verdict: <classification>.
- Evidence: <code/docs/tests/comments checked>.
- Recommended action: <close/comment/label/defer/implement>.
- Draft reply: <only for non-code or closure-ready cases>.
- Fix sketch: <only for simple code or feature candidates>.
- Risk/test notes: <targeted validation needed>.
For triage units, keep a short summary at the top or bottom. The unit can be a single issue; after the backlog is mostly processed, that is expected to become the regular case.
Triage unit: <name or issue number>
Total: <n>
Closed/commented: <n>
Kept open: <n>
Needs validation: <n>
Likely implementation candidates: <n>
Useful follow-up cluster: <name>
When asked to cluster open issues:
rgerhards unless asked otherwise.When finishing a triage unit, report:
Keep the summary concise. Include limitations such as unavailable logs, skipped tests, or deferred implementation decisions.