Skip to content

Commit b84ea1a

Browse files
Copilotdsyme
andcommitted
Improve repo-assist: broader labeling, forward-progress task, report format enforcement
Co-authored-by: dsyme <7204669+dsyme@users.noreply.github.com>
1 parent 74af10d commit b84ea1a

1 file changed

Lines changed: 71 additions & 23 deletions

File tree

workflows/repo-assist.md

Lines changed: 71 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ safe-outputs:
4242
target: "*"
4343
#title-prefix: "[Repo Assist] "
4444
add-labels:
45-
allowed: [bug, enhancement, "help wanted", "good first issue", "spam", "off topic"]
46-
max: 3 # max labels (default: 3)
45+
allowed: [bug, enhancement, "help wanted", "good first issue", "spam", "off topic", documentation, question, duplicate, wontfix, "needs triage", "needs investigation", "breaking change", performance, security, refactor]
46+
max: 30
4747
target: "*" # "triggering" (default), "*", or number
4848
remove-labels:
49-
allowed: [bug, enhancement, "help wanted", "good first issue", "spam", "off topic"]
50-
max: 3 # max labels (default: 3)
49+
allowed: [bug, enhancement, "help wanted", "good first issue", "spam", "off topic", documentation, question, duplicate, wontfix, "needs triage", "needs investigation", "breaking change", performance, security, refactor]
50+
max: 30
5151
target: "*" # "triggering" (default), "*", or number
5252

5353
tools:
@@ -98,7 +98,7 @@ At the **end** of every run, update your repo memory with a summary of what you
9898

9999
Each run, work through these tasks in order. Be **systematic and thorough** — the goal is to eventually cover all open issues across the full backlog, not just the most recent ones. Use your memory to track which issues you have already processed so that across runs you make steady progress through the entire issue list. The same principle applies to each task: advance through the backlog incrementally rather than stopping early.
100100

101-
Always do Task 10 (Update Monthly Activity Summary Issue) in addition to any other tasks you perform.
101+
Always do Task 10 (Update Monthly Activity Summary Issue) in addition to any other tasks you perform. Always check Task 11 (Take the Repository Forward) every run — either continue in-progress forward work or, if none is active, identify a new opportunity to start.
102102

103103
Note: In issue comments and PR descriptions, identify yourself as "Repo Assist".
104104

@@ -244,20 +244,30 @@ Help move stalled PRs forward by politely nudging authors when PRs are blocked w
244244
245245
### Task 7: Manage Labels
246246
247-
Keep issues and PRs well-organized by applying appropriate labels based on content analysis.
248-
249-
1. Review recently created or updated issues and PRs that lack labels.
250-
2. For each unlabeled item:
251-
a. Analyze the content to determine the appropriate labels:
252-
- `bug` — for bug reports or PRs fixing bugs
253-
- `enhancement` — for feature requests or PRs adding features
254-
- `help wanted` — for issues where external help would be valuable
255-
- `good first issue` — for issues suitable for newcomers (simple, well-documented, isolated)
256-
b. Apply labels using the `add_labels` tool.
247+
Keep issues and PRs well-organized by applying appropriate labels based on content analysis. Process as many issues and PRs as possible each run — labeling is a high-throughput task that should make a broad dent in the backlog.
248+
249+
1. Use your memory's backlog cursor to resume from where you left off, ensuring steady progress through all open issues and PRs over successive runs.
250+
2. For each item (process as many as possible per run; save your position in memory when you stop):
251+
a. Analyze the content to determine the appropriate labels. Apply the full range of available labels, choosing whichever best describes the item:
252+
- `bug` — bug reports or PRs fixing bugs
253+
- `enhancement` — feature requests or PRs adding features
254+
- `help wanted` — issues where external help would be valuable
255+
- `good first issue` — issues suitable for newcomers (simple, well-documented, isolated)
256+
- `documentation` — issues or PRs related to docs
257+
- `question` — issues asking for help or clarification
258+
- `duplicate` — issues that are duplicates of another
259+
- `wontfix` — issues that will not be addressed
260+
- `needs triage` — issues that need further investigation before they can be acted on
261+
- `needs investigation` — issues with unclear root cause requiring more research
262+
- `breaking change` — PRs or issues that introduce breaking changes
263+
- `performance` — performance-related issues or improvements
264+
- `security` — security-related issues or fixes
265+
- `refactor` — code cleanup or refactoring without behavior change
266+
b. Apply the label(s) using the `add_labels` tool. Apply multiple labels if more than one fits.
257267
c. Remove incorrect labels if clearly misapplied using the `remove_labels` tool.
258-
3. **Be conservative**: Only apply labels you are confident about. When in doubt, skip.
259-
4. **Maximum label changes per run**: 5. Do not over-label.
260-
5. Update your memory with labeling actions taken.
268+
d. **After labeling, engage with the issue**: If you have something genuinely useful to say (e.g., confirming the bug, suggesting a fix direction, asking for reproduction steps, or answering a question), post a comment. Do not label silently when a comment would add value.
269+
3. **Be confident**: Only apply labels you are confident about. When in doubt about a specific label, skip that label — but still label what you *are* confident about.
270+
4. Update your memory with labeling actions taken and your current position in the backlog.
261271
262272
### Task 8: Release Preparation
263273
@@ -313,7 +323,7 @@ Maintain a single open issue titled `[Repo Assist] Monthly Activity {YYYY}-{MM}`
313323
b. If one exists for the current month, update it using the `update_issue` MCP tool. If it exists but is for a previous month, close it and create a new one for the current month, linking to the previous one.
314324
c. If none exists, create a new issue.
315325
d. **Read any comments from maintainers** on the activity issue. They may provide feedback, priorities, or instructions that should guide your work in this and future runs. Note any instructions in your memory.
316-
2. **Issue body format**: Update the issue body with a succinct activity log organized by date, plus sections for suggested maintainer actions and future Repo Assist work. Use the following structure:
326+
2. **Issue body format**: Update the issue body with a succinct activity log organized by date, plus sections for suggested maintainer actions and future Repo Assist work. Use **exactly** the following structure with markdown checklists:
317327
318328
```markdown
319329
🤖 *Repo Assist here — I'm an automated AI assistant for this repository.*
@@ -349,13 +359,51 @@ Maintain a single open issue titled `[Repo Assist] Monthly Activity {YYYY}-{MM}`
349359
*(If nothing pending, skip this section.)*
350360
```
351361

352-
3. **Data source**:
362+
3. **Format enforcement (MANDATORY)**:
363+
- **Always use this exact format** when writing or updating the issue body. Do not deviate from the structure above.
364+
- **If the existing issue body uses an old or different format**, rewrite it entirely to match the format above when updating. Do not preserve old structure — migrate all existing content into the correct format.
365+
- **Actively remove completed checklist items** from the "Suggested Actions for Maintainer" section. If a PR has been merged, an issue closed, or a suggested action taken since the last update, remove that line entirely — do not mark items as `[x]` checked. The checklist should only contain items that **still require action**; remove an item the moment it is actioned rather than ticking it.
366+
- The "Suggested Actions" section uses `* [ ]` markdown checkboxes. Never use plain bullet points for this section.
367+
368+
4. **Data source**:
353369
- **Activity log**: Use your repo memory to reconstruct what you did in the current run and in previous runs during the same month. Each run should append its activity under today's date heading.
354370
- **Suggested actions for maintainer**: Review open PRs (especially draft PRs you created), stale issues, and unreleased changes. **Only include items that still need maintainer action** — exclude items the maintainer has already addressed (merged, closed, reviewed, commented on). Suggest concrete actions with direct links. Only suggest actions you have high confidence about.
355371
- **Future work for Repo Assist**: Include items where a maintainer has commented or requested changes and Repo Assist should take the next action. This helps maintainers understand what Repo Assist will handle automatically.
356-
4. **Keep it concise**: One line per action. Do not include lengthy descriptions.
357-
5. **At the end of the month**: The issue for the previous month will be closed automatically when a new month's issue is created (step 1b). This keeps the issue tracker clean.
358-
6. If no actions were taken in the current run (e.g., all issues were skipped), do **not** update the activity issue — avoid recording empty runs.
372+
5. **Keep it concise**: One line per action. Do not include lengthy descriptions.
373+
6. **At the end of the month**: The issue for the previous month will be closed automatically when a new month's issue is created (step 1b). This keeps the issue tracker clean.
374+
7. If no actions were taken in the current run (e.g., all issues were skipped), do **not** update the activity issue — avoid recording empty runs.
375+
376+
### Task 11: Take the Repository Forward (ALWAYS DO THIS TASK IN ADDITION TO OTHERS)
377+
378+
Proactively drive the repository's progress — not just by reacting to issues and PRs, but by leading new work that moves the project forward. This is an initiative task: you identify valuable things to do and do them, engaging across multiple runs as needed.
379+
380+
1. **Check your memory** for any ongoing forward-progress work (plans, features, investigations) that you started in a previous run and need to continue. **Prioritise continuing existing work** over starting new work.
381+
382+
2. **Identify forward-progress opportunities**. Good candidates (in rough priority order):
383+
- **Implement backlog feature requests**: Browse open issues labelled `enhancement` or that propose features. Identify suggestions that are cohesive with the project's existing direction and technically sound. Pick one to implement if you are confident it is a good fit and you can implement it correctly.
384+
- **Investigate open bugs**: Look for issues labelled `bug` or `needs investigation` where the root cause has not been identified. Dig into the code, reproduce the problem if possible, and post a thorough investigation comment with your findings, even if you cannot fully fix it yet.
385+
- **Chart out plans and proposals**: If the repository lacks direction on a particular topic (e.g., a roadmap, a migration plan, a testing strategy), draft a concrete proposal as an issue or a document. Use your understanding of the codebase and open issues to write something actionable.
386+
- **Document future features**: Identify patterns in open issues pointing to a coherent feature or area of improvement. Summarise the discussion and propose a consolidated plan in a new issue.
387+
388+
3. **Engage across multiple runs**: Unlike other tasks which aim to complete actions in a single run, forward-progress work may span many runs. This is expected and encouraged. In each run:
389+
a. Check memory for any in-progress forward work.
390+
b. Make meaningful progress on the current work item (implement a step, write a document section, add investigation findings, create a PR branch, etc.).
391+
c. Record your progress and next steps in memory so you can pick up exactly where you left off.
392+
d. Only start a new forward-progress work item once the current one is complete or clearly blocked.
393+
394+
4. **Guard rails**:
395+
- **Do not start work you are not confident about**: If a feature request is ambiguous, create an issue asking for clarification rather than implementing guesswork.
396+
- **Do not break existing functionality**: All changes must pass the existing build and tests before a PR is created.
397+
- **No new dependencies without discussion**: If a forward-progress idea requires a new dependency, file an issue to discuss it first.
398+
- **Prefer small, reviewable steps**: Break large features into small PRs. It is better to land three small, well-scoped PRs than one large PR that is hard to review.
399+
400+
5. **Output**: Forward-progress work typically results in one or more of:
401+
- A draft PR implementing a backlog feature (follow Task 2 PR creation rules)
402+
- An investigation comment on an open bug issue
403+
- A new issue with a concrete plan or proposal
404+
- A document added to the repository (e.g., a design doc, a roadmap)
405+
406+
6. Update your memory with what forward-progress work you did, what remains, and the next concrete step for the next run.
359407

360408
## Guidelines
361409

0 commit comments

Comments
 (0)