feedback
File feedback, bug reports, or feature requests for Brilliant
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
File feedback, bug reports, or feature requests for Brilliant
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | feedback |
| description | File feedback, bug reports, or feature requests for Brilliant |
Help the user share feedback with the Brilliant team. GitHub (brilliant-hq/feedback) is the default for bugs and feature requests; Discord, email, and X are casual alternatives.
Anything beyond what the user typed (version info, screenshots, selection details) is opt-in only, never attach extra context without explicit consent.
If the user already described their feedback in the message that triggered this skill, use it, skip the category prompt. Otherwise:
{
"question": "What would you like to share?",
"options": [
{ "label": "Bug report", "description": "Something isn't working correctly" },
{ "label": "Feature request", "description": "I'd like a new capability" },
{ "label": "Question", "description": "I need help understanding something" },
{ "label": "General feedback", "description": "Thoughts, ideas, or anything else" }
]
}
Then ask for a description if not already given.
Goal: figure out if the user's question is already answered or the bug already tracked, before drafting anything new. Works without auth via the public REST API. Don't narrate the auth probe or paste raw output, just summarize findings.
With gh (if installed and authed):
gh search issues --repo brilliant-hq/feedback "<keywords>" --json number,title,state,labels,url --limit 10
Public REST (no auth needed):
curl -sS "https://api.github.com/search/issues?q=repo:brilliant-hq/feedback+<keywords>" \
| jq '.items[:10] | .[] | {number, title, state, html_url, labels: [.labels[].name]}'
q qualifiers (REST and gh search both accept these)is:issue · is:pr · is:open · is:closed · label:bug · in:title · in:body · in:comments · sort:updated-desc · sort:reactions-desc · created:>=2026-01-01
When search returns nothing or the repo is sparse, list recent activity directly, much more useful than another search:
gh issue list --repo brilliant-hq/feedback --state all --limit 20
# or
curl -sS "https://api.github.com/repos/brilliant-hq/feedback/issues?state=all&sort=updated&per_page=20" \
| jq '.[] | {n:.number, state, title, labels:[.labels[].name], updated_at}'
This uses the core API (60/hr unauth, 5000/hr authed), not the search budget.
For close matches, especially closed ones, the resolution is usually in the comments, not the body:
gh issue view <n> --repo brilliant-hq/feedback --comments
# or
curl -sS "https://api.github.com/repos/brilliant-hq/feedback/issues/<n>/comments" | jq '.[] | {user:.user.login, body}'
A fix or feature may already be on the way. Worth a quick look before filing a duplicate:
gh pr list --repo brilliant-hq/feedback --search "<keywords>" --state all
Show matches (number, title, state, URL). Then ask where to go next:
{
"question": "How would you like to proceed?",
"options": [
{ "label": "Comment on existing issue", "description": "Add to one of the threads above" },
{ "label": "File on GitHub", "description": "Public issue tracker, recommended for bugs and feature requests" },
{ "label": "Send via email", "description": "hello@brilliant.design, private, goes straight to the team" },
{ "label": "Post in Discord", "description": "Community chat, good for questions and casual feedback" },
{ "label": "Post on X", "description": "Public, @usebrilliant" }
]
}
Recommendations:
gh isn't authed → silently route to email instead. Don't ask them to set up a personal access token.Before drafting, ask which extras (if any) to include. Default is nothing beyond what the user typed. Only attach what the user explicitly approves.
Available extras:
version: from pubspec.yaml and the user's OS.mcp__brilliant__export (PNG). Skip this option if there's no active canvas.mcp__brilliant__get_selection followed by mcp__brilliant__lookup (scope set to the selected IDs, format: "blueprint") for the selected elements. Skip if nothing is selected.Ask the user to pick which to include (a single question with these as options, or one quick yes/no each, whichever is less friction). If the user says "none" or skips, attach nothing.
Compose the message in the chosen channel's format. Show the user the complete payload, title, body, every attachment, and where it's going, so nothing leaves their machine without their seeing it first.
gh label list --repo brilliant-hq/feedback --limit 50 (or the REST equivalent) to use real labels, don't guess.mailto:hello@brilliant.design?subject=...&body=.... Also copy the body to the clipboard since long mailto: URLs can truncate. For screenshots, save the PNG locally and tell the user to attach it manually before sending.https://discord.gg/qxT2rgk9uC. Tell the user to drag any screenshot into the channel after joining.@usebrilliant, opened via https://x.com/intent/tweet?text=<url-encoded>.Confirm:
{
"question": "Send it?",
"options": [
{ "label": "Send", "description": "Submit / open as shown above" },
{ "label": "Edit first", "description": "I'd like to make changes" }
]
}
GitHub (authed):
gh issue create --repo brilliant-hq/feedback --title "..." --body "..." --label "..."
gh issue comment <number> --repo brilliant-hq/feedback --body "..."
Show the resulting URL.
Email / Discord / X: open the relevant URL with the drafted text ready to send or paste. Confirm the body is on the clipboard for email. The user reviews and sends from their own client.
| Channel | Where |
|---|---|
| GitHub | brilliant-hq/feedback |
hello@brilliant.design | |
| Discord | https://discord.gg/qxT2rgk9uC |
| X | @usebrilliant: https://x.com/usebrilliant |