You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/skills/finish-line/SKILL.md
+5-40Lines changed: 5 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
2
name: finish-line
3
-
description: Bring a blocked React Router community pull request across the finish line. Use when the user invokes `/finish-line` or `$finish-line`, provides a PR number or URL, and asks Codex to resolve merge blockers such as an unsigned CLA, missing change file, missing documentation, or stale contributor follow-up. Handles deciding whether to push small maintainer fixes onto the contributor PR branch or recreate the PR from main under a maintainer branch when the contributor's CLA is not signed.
3
+
description: Bring a blocked React Router community pull request across the finish line. Use when the user invokes `/finish-line` or `$finish-line`, provides a PR number or URL, and asks Codex to resolve merge blockers such as a missing change file, missing documentation, missing tests, or stale contributor follow-up. Handles evaluating the blocker and pushing small maintainer fixes onto a contributor PR branch when authorized.
4
4
---
5
5
6
6
# Finish Line
7
7
8
8
## Overview
9
9
10
-
Finish blocked community PRs in `remix-run/react-router` while respecting contributor ownership, CLA constraints, and the repo's PR packaging conventions.
10
+
Finish blocked community PRs in `remix-run/react-router` while respecting contributor ownership and the repo's PR packaging conventions.
11
11
12
12
Treat the PR number or URL in `$ARGUMENTS` as the target PR. If no target is provided, ask for it before doing anything.
- If a CLA check or comment shows the author has not signed the CLA, use the unsigned-CLA replacement workflow.
35
-
- If the PR only needs repo-maintainer additions such as a change file or docs, use the contributor-branch workflow.
34
+
- If the PR only needs repo-maintainer additions such as tests, a change file, or docs, use the contributor-branch workflow.
35
+
- If the contributor branch cannot be modified, summarize the evidence and ask the user whether to wait for the contributor or recreate the work on a maintainer branch.
36
36
- If the blocker is unclear, summarize the evidence and ask the user which path to take.
37
37
38
38
5. Evaluate test coverage before deciding the finish-line changes:
- If tests are not needed because the change is documentation-only, packaging-only, a change file, or otherwise not executable behavior, note that rationale in the final report.
43
43
- If a useful test is required but too large or risky for the finish-line scope, stop and ask the user before broadening the PR.
44
44
45
-
## Unsigned CLA Replacement
46
-
47
-
Use this path when the PR author's CLA is not signed. Do not merge, cherry-pick, rebase, or push the contributor's commits. Use the PR diff as the behavior/content reference and recreate the final file changes in maintainer-authored commits from current `origin/main`.
48
-
49
-
1. Save the original PR title, body, labels, changed-file list, and diff for reference.
3. Recreate the same resulting changes on the fresh branch. Keep the implementation as close as possible to the original PR unless main has moved and a tiny adaptation is required.
57
-
4. Add any missing finish-line work, such as tests, a change file, or docs, if those are also required.
58
-
5. Run focused validation that matches the touched area. Prefer the narrowest meaningful test/build command.
59
-
6. Commit the recreated changes with a concise imperative subject.
60
-
7. Before pushing/opening the replacement PR, read `.agents/skills/create-pr/SKILL.md` and follow its current branch, PR body, and label guidance unless this skill gives a more specific instruction for replacement PRs.
61
-
8. Push the maintainer branch and open a replacement PR against `main`.
62
-
- Reuse the original title unless it is misleading.
63
-
- Use a similar description, but make it clear this is a agent/maintainer-authored replacement.
64
-
- Include the old PR number in the description (`#<pr-number>`).
65
-
- Default to a ready PR when validation passed and the original PR was otherwise mergeable; use a draft PR if validation is incomplete or the original PR was draft.
66
-
- Apply the relevant labels from the original PR plus any package/feature labels required by `.agents/skills/create-pr/SKILL.md`.
67
-
9. Comment on the original PR and close it after the replacement PR exists:
68
-
69
-
```markdown
70
-
Thanks for the PR! We can't merge this without the CLA being signed, so we're going to re-implement this work in #<new-pr-number> to keep this moving.
gh pr close <old-pr-number> --repo remix-run/react-router
78
-
```
79
-
80
45
## Contributor-Branch Workflow
81
46
82
-
Use this path when the contributor's CLA is signed and the missing work is small maintainer follow-up, such as a change file or docs.
47
+
Use this path when the missing work is a small maintainer follow-up, such as tests, a change file, or docs, and the contributor branch can be modified.
To align with our new [Open Governance](https://remix.run/blog/rr-governance) model, we are now asking that all new features go through the [Proposal/RFC process](https://github.com/remix-run/react-router/blob/main/GOVERNANCE.md#new-feature-process) and that we don't open PRs until a proposal has been accepted and advanced to Stage 1.
32
+
33
+
If this feature doesn't have a Proposal, please [open one](https://github.com/remix-run/react-router/discussions/new?category=proposals) so we can evaluate/discuss the proposed feature. You can link to this PR as an example of a potential implementation and we can re-open it if the proposal advances.
34
+
35
+
If this PR already has a Proposal but it has not yet been accepted, let's continue the discussion in the Proposal until it gets accepted and then we can look to open a PR. Feel free to link to this PR or to a branch in a forked repo to show what a potential implementation might look like.
36
+
37
+
If you have any questions, you can always reach out on [Discord](https://remix.run/discord). Thanks again for providing feedback and helping us make React Router even better!
38
+
run: gh pr close "$PR_NUMBER" --repo remix-run/react-router --comment "$COMMENT_BODY"
0 commit comments