feedback-intake — Claude Code skill: feedback and setup
Prepare a Nimbalyst bug report or feature request with consent-based evidence gathering, text anonymization, and a draft GitHub Issue.
npx skills add nimbalyst/nimbalyst --skill feedback-intake -a claude-codeWhat feedback-intake does
Run /feedback:bug-report or /feedback:feature-request to start the matching flow, or open the corresponding feedback session in the app. Each flow follows its own instructions and uses an issue template for nimbalyst/nimbalyst.
The skill can retrieve environment details and, with permission, error logs. It sends text containing paths or workspace details through an anonymization tool, then checks the result for other sensitive material. It opens the GitHub form only after the user approves the final title and body. The user submits the issue on GitHub.
Log access is limited to bug reports where log gathering is allowed; feature requests cannot read logs. If a report is too long for a URL, the skill shows the text in chat and opens a blank issue form so the user can paste it there.
What it helps with
- draft a Nimbalyst bug report
- prepare a feature request
- anonymize paths and workspace details
- gather permitted logs for an error report
Example prompts for the agent
- Start a bug report for this problem with
/feedback:bug-report. - Help me prepare a feature request using
/feedback:feature-request. - Draft a bug report and use logs only if I approve log gathering.
How to install feedback-intake
1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill feedback-intake -a claude-code2Manually: put the files in place
~/.claude/skills/feedback-intake/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/feedback-intake/
1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill feedback-intake -a codex2Manually: put the files in place
.agents/skills/feedback-intake/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill feedback-intake -a cursor2Manually: put the files in place
.cursor/skills/feedback-intake/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install nimbalyst/nimbalyst feedback-intake2Manually: put the files in place
.github/skills/feedback-intake/SKILL.md1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill feedback-intake -a gemini-cli2Platform CLI
gemini skills install https://github.com/nimbalyst/nimbalyst --path packages/extensions/feedback/claude-plugin/skills/feedback-intakeManually: put the files in place
.devin/skills/feedback-intake/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill feedback-intake -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about feedback-intake
How do I install feedback-intake in Claude Code?
Run npx skills add nimbalyst/nimbalyst --skill feedback-intake -a claude-code. The skill file is at ~/.claude/skills/feedback-intake/SKILL.md.
What does feedback-intake do?
It helps prepare a Nimbalyst bug report or feature request, anonymizes sensitive text, and opens a GitHub issue form. The user submits the issue.
Can feedback-intake read logs for a feature request?
No. Log access is limited to bug reports, and only when log gathering is allowed.
Source text
SKILL.md · MIT
---
name: feedback-intake
description: Help the user file a bug report or feature request for Nimbalyst. Activates when the user opens the in-app feedback flow or runs /feedback:bug-report or /feedback:feature-request. Coordinates evidence gathering, anonymization, and posting to GitHub Issues.
---
# Nimbalyst Feedback Skill
This skill is the entry point for the Nimbalyst in-app feedback flow. It activates when:
- The user runs the `/feedback:bug-report` slash command
- The user runs the `/feedback:feature-request` slash command
- The user opens a session with `sessionType: 'bug-report'` or `sessionType: 'feature-request'`
## Behavior
Read the matching command file:
- For bug reports: `commands/bug-report.md` in this plugin
- For feature requests: `commands/feature-request.md` in this plugin
Both commands share these constraints:
1. **The user is the gate.** Never call `mcp__nimbalyst-situational__feedback_open_github_issue` without explicit user approval of the final title and body.
2. **Anonymize aggressively.** Run anything that includes file paths, log content, environment strings, or workspace identifiers through `mcp__nimbalyst-situational__feedback_anonymize_text` first, then read the output and redact anything else that looks sensitive.
3. **Honor the intake flags.** Bug-report sessions include `Log gathering: allowed` or `Log gathering: not allowed`; feature-request sessions may include `UX mockup: requested` or `UX mockup: not requested`. Only bug reports may read logs, and only when log gathering is allowed.
4. **Handle long reports.** When the drafted body exceeds the URL safe length, the URL builder returns `reason: 'too-long'`. Fall back to: show the body in chat, open a no-body URL, tell the user to paste.
5. **Target repo and templates.** Bug reports use `bug_report.yml`; feature requests use `feature_request.yml`. Both target `nimbalyst/nimbalyst`. Don't hardcode the URL — let the URL builder handle template selection and field-id routing. The GitHub issue type (Bug / Feature) and `status:needs-triage` label come from the template frontmatter, not from the URL builder.
## Tools available
- `mcp__nimbalyst-situational__feedback_anonymize_text(text)` → returns anonymized string
- `mcp__nimbalyst-situational__feedback_get_environment()` → app version, OS, recent error counts
- `mcp__nimbalyst-situational__feedback_open_github_issue({ kind, title, body })` → opens GitHub new-issue page in browser, returns `{ ok, opened, reason?, url? }`
- `mcp__nimbalyst-extension-dev__get_main_process_logs({ lastLines, searchTerm, logLevel, component })` → only with consent
- `mcp__nimbalyst-extension-dev__get_renderer_debug_logs({ lastLines, searchTerm, logLevel })` → only with consent
## Important
- Don't add "generated by AI" or "Co-Authored-By" lines to the issue body.
- Don't claim the issue was submitted; the user clicks Submit on github.com themselves.
- If the user pivots from a bug to a feature mid-conversation (or vice versa), say so and switch templates.
© nimbalyst · MIT · nimbalyst/nimbalyst