Routing incoming issues to the right place

The issue template chooser is where contributors decide how to open an issue. Its config file controls what options appear, and it can do more than list templates. Projects like VS Code, Homebrew, and React already use it.

One useful trick is adding CONTRIBUTING.md as a contact link in the template chooser, so the file is harder to overlook. The same approach works for drawing attention to a #wontfix label: add it as a contact link and contributors will think twice before reopening a closed request.

Because template chooser links are regular URLs with query parameters, you can route issues before they land. A contact link can point to a URL that pre-fills a template and assigns project board or milestone properties, for example:

https://github.com/my-org/my-repo/issues/new?template=template-name.md&projects=my-org/1&milestone=my-milestone

If you run several repositories that belong to the same project, contact links can redirect users to the correct one while the blank issues option is turned off to prevent stray submissions. For a repository where you want to stop new issues but keep historical discussion, switch off blank issues entirely and use a single contact link pointing at the existing issues.

Several less obvious URL fragments can take readers straight to relevant content. On any rendered Markdown file, clicking the link icon next to a heading produces a deep link to that section—handy for pointing people at a specific part of a README.

Appending ?timeline_per_page=1 to an issue or pull request URL forces shorter pagination. The page will show only the first comment, with the rest available on demand. That makes a shared link less noisy, especially in threads that attract long comments.

To link directly to the text area for new input, append #partial-timeline to an issue URL, placing the reader near the comment box at the bottom of the timeline. The same fragment applies to merge boxes on pull requests.

Searches that fit the moment

A few search modifiers can cut through larger query results. Using @me in a query resolves to the signed-in user, which teams can use as a shared link that shows each member their own outstanding work, such as is:pr review-requested:@me.

When searches over the full body of every issue and pull request come back with too much noise, restrict the match to the title with in:title. And if you remember interacting with something but not how, involves:@me returns issues and pull requests where you participated in some way.

Small comment conveniences

Markdown's --- horizontal rule separates unrelated points inside a single comment, so you don't have to post extra comments (and trigger extra notifications) while leaving several thoughts in the same thread.

A less obvious feature: users with write access to a repository can turn an existing comment into a new issue. Open the comment's kebab icon and pick Reference in new issue. GitHub pre-fills the issue body with a reference to the comment and names the original poster, saving the work of copying context manually.