Skip to content

Add PR/issue triage example for high-volume repos#357

Open
gjkim42 wants to merge 1 commit intomainfrom
resolve-openclaw
Open

Add PR/issue triage example for high-volume repos#357
gjkim42 wants to merge 1 commit intomainfrom
resolve-openclaw

Conversation

@gjkim42
Copy link
Collaborator

@gjkim42 gjkim42 commented Feb 16, 2026

Summary

  • Adds example 06-openclaw-pr-triage — a TaskSpawner that automatically triages every PR and issue on a high-volume repo
  • Inspired by @steipete's pain with OpenClaw getting 400+ PRs/day
  • The agent de-duplicates across open PRs/issues, reviews code quality, checks vision alignment, and posts a structured triage comment
  • Uses a single TaskSpawner with promptTemplate — no AgentConfig needed

Test plan

  • Verify YAML is valid: kubectl apply --dry-run=client -f examples/06-openclaw-pr-triage/
  • Review promptTemplate for completeness and correctness
  • Confirm examples/README.md index is updated

🤖 Generated with Claude Code


Summary by cubic

Adds example 06: a TaskSpawner that auto-triages new PRs and issues for high-volume repos like OpenClaw, reducing maintainer load with de-dup, quality checks, and a structured triage comment.

  • New Features

    • New example at examples/06-openclaw-pr-triage with TaskSpawner, Workspace, and Secret manifests.
    • De-duplicates across open PRs/issues and links overlaps.
    • For PRs: reviews diffs for code quality, tests, scope; rates quality and flags breaking changes.
    • Checks vision alignment and posts a single structured comment via gh with a clear recommendation.
    • Configurable pollInterval, maxConcurrency, TTL; uses a single promptTemplate (no AgentConfig). Index updated in examples/README.md.
  • Migration

    • Add tokens to credentials-secret.yaml and github-token-secret.yaml.
    • Apply: kubectl apply -f examples/06-openclaw-pr-triage/.
    • Optional: tune pollInterval/maxConcurrency/TTL; add excludeLabels: ["triaged"] if needed.

Written for commit c54f2e0. Summary will update on new commits.

Add example 06 showing how to use a TaskSpawner to automatically triage
PRs and issues at scale. Inspired by OpenClaw's challenge of hundreds of
PRs per day. The agent de-duplicates, reviews quality, checks vision
alignment, and posts a structured triage comment.
@github-actions github-actions bot added needs-kind Indicates an issue or PR lacks a kind/* label needs-triage needs-actor needs-priority labels Feb 16, 2026
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 6 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="examples/06-openclaw-pr-triage/taskspawner.yaml">

<violation number="1" location="examples/06-openclaw-pr-triage/taskspawner.yaml:82">
P2: TTL value inconsistent with README: the YAML sets `3600` (1 hour), but the README documents `600` (10 min) and explicitly says "completed tasks are cleaned up after 10 min". One of them needs to be updated to match the other.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

```

Do NOT open PRs, push code, or modify any files. Read-only analysis only.
ttlSecondsAfterFinished: 3600
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: TTL value inconsistent with README: the YAML sets 3600 (1 hour), but the README documents 600 (10 min) and explicitly says "completed tasks are cleaned up after 10 min". One of them needs to be updated to match the other.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At examples/06-openclaw-pr-triage/taskspawner.yaml, line 82:

<comment>TTL value inconsistent with README: the YAML sets `3600` (1 hour), but the README documents `600` (10 min) and explicitly says "completed tasks are cleaned up after 10 min". One of them needs to be updated to match the other.</comment>

<file context>
@@ -0,0 +1,84 @@
+      ```
+
+      Do NOT open PRs, push code, or modify any files. Read-only analysis only.
+    ttlSecondsAfterFinished: 3600
+  pollInterval: 3m
+  maxConcurrency: 5
</file context>
Fix with Cubic

@axon-agent
Copy link

axon-agent bot commented Feb 16, 2026

🤖 Axon Agent @gjkim42

Axon Triage Report

Duplicates found: #291 (New use cases: PR review, fleet migration, security audit, and beyond) — both PRs add new example use cases showcasing real-world patterns; #291 adds examples 05-07 (PR review, multi-repo migration, security audit) while this PR adds example 06 (OpenClaw PR triage). The numbering conflict (both use example 06) and overlapping scope (PR automation examples) suggest these should be coordinated.

Quality: STRONG

  • Code: Well-structured YAML manifests following established patterns; promptTemplate logic is clear and thorough (duplicate detection, quality review, vision check); uses proper gh CLI commands for read-only analysis
  • Tests: No automated tests provided, but includes manual validation checklist (dry-run, README update); example-only PR so unit tests less critical
  • Scope: Tightly focused on a single new example; no unrelated changes
  • Description: Excellent — clear problem statement (steipete's 400 PRs/day pain point), concise summary, complete test plan
  • Breaking changes: None

Vision alignment: ALIGNED

  • Demonstrates Axon's value for high-volume repos with autonomous triage workflows
  • Follows declarative Kubernetes-native pattern (TaskSpawner, Workspace, Secrets)
  • Uses promptTemplate without requiring AgentConfig, showing flexibility
  • Example is extensible and well-documented for users to adapt

Recommendation: NEEDS MAINTAINER REVIEW — coordinate with PR #290 to resolve example numbering conflict (both claim example 06) and determine whether to merge both PRs, combine them, or prioritize one approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-actor needs-kind Indicates an issue or PR lacks a kind/* label needs-priority triage-accepted

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant