In-App Feedback to GitHub

Contract for capturing in-app product feedback as labeled GitHub issues and linking fixes via changelog fragments.

CopilotCursorKilo
AuthorNeexoCore
Updated
feedbackgithubsaas

Overview

Pattern for SaaS apps that let users submit bug reports or feature requests from the product UI, tracked as GitHub issues, then closed when a fix ships.

This cookbook is a process contract, not a UI kit. Implement capture UI in the consuming app.

Flow

User capture (context + description [+ media])
  → GitHub issue (labels e.g. feedback / from-app)
  → Engineering fix on a branch
  → Changelog fragment links the issue number (when the repo supports it)
  → Merge to main → close the issue

Capture payload (minimum)

  • Type: bug | feature | other (repo-defined)
  • Description (user language)
  • Optional: route/URL, app version, org id (never secrets), screenshots

Create the issue with gh when possible:

gh issue create --title "..." --body "..." --label feedback --label from-app

Linking a fix

When the repository's changelog schema supports it, set an integer field such as fixesGithubIssue on the user-facing fragment so reporters can correlate “what's new” with their report.

On merge to the default branch:

  1. Confirm the fragment built and passed changelog:check
  2. Close the GitHub issue (or let Fixes #N in the PR do it)
  3. Do not leave feedback issues open after the fix is on main

Do not

  • Put PII or secrets in issue bodies or changelog fragments
  • Treat this cookbook as permission to invent product routes or copy from another app
  • Skip the changelog link when the repo's commit skill requires it for feedback fixes

Related

Raw content

Copy into your project — e.g. .instructions.md, .agent.md, or SKILL.md

## Overview

Pattern for SaaS apps that let users submit bug reports or feature requests from the product UI, tracked as GitHub issues, then closed when a fix ships.

This cookbook is a **process contract**, not a UI kit. Implement capture UI in the consuming app.

## Flow

```text
User capture (context + description [+ media])
  → GitHub issue (labels e.g. feedback / from-app)
  → Engineering fix on a branch
  → Changelog fragment links the issue number (when the repo supports it)
  → Merge to main → close the issue
```

## Capture payload (minimum)

- Type: bug | feature | other (repo-defined)
- Description (user language)
- Optional: route/URL, app version, org id (never secrets), screenshots

Create the issue with `gh` when possible:

```bash
gh issue create --title "..." --body "..." --label feedback --label from-app
```

## Linking a fix

When the repository's changelog schema supports it, set an integer field such as `fixesGithubIssue` on the user-facing fragment so reporters can correlate “what's new” with their report.

On merge to the default branch:

1. Confirm the fragment built and passed `changelog:check`
2. Close the GitHub issue (or let `Fixes #N` in the PR do it)
3. Do not leave feedback issues open after the fix is on main

## Do not

- Put PII or secrets in issue bodies or changelog fragments
- Treat this cookbook as permission to invent product routes or copy from another app
- Skip the changelog link when the repo's commit skill requires it for feedback fixes

## Related

- [Product Changelog Fragments](/cookbook/product-changelog-fragments)
- [GitHub CLI](/tools/github-cli)
- [product-changelog](/skills/product-changelog) skill

Next steps

Matched by shared tags and category. Browse all cookbook