companion-add-feedback-to-category-file

Adds new feedback definitions to an existing Bitfocus Companion feedback category file.

Updated May 19, 2026
One-click install
npx skills add https://github.com/digitaldrummerj/bitfocus-companion-skills --skill companion-add-feedback-to-category-file-digitaldrummerj
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: companion-add-feedback-to-category-file
Source: https://github.com/digitaldrummerj/bitfocus-companion-skills/tree/main/plugins/companion-add-feedback-to-category-file
Command: npx skills add https://github.com/digitaldrummerj/bitfocus-companion-skills --skill companion-add-feedback-to-category-file-digitaldrummerj

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Extending a Bitfocus Companion module with new feedbacks often leads to mistakes like duplicate enum IDs, missing state guards, or incorrect callback return shapes. This Skill provides the exact pattern for safely adding boolean or advanced feedbacks to an existing feedback category file without touching the aggregator. ## Core Features & Use Cases - Enum Extension: Add new feedback enum members with globally unique string IDs that won't break saved button configs. - Boolean and Advanced Feedbacks: Implement simple true/false styling feedbacks or advanced feedbacks returning dynamic text, colors, and images. - State Guard Patterns: Apply room guards, option casting, and missing-state checks to prevent runtime errors in callbacks. - Use Case: You have an existing src/feedbacks/feedback-device-settings.ts file and need to add a "Selected Mic" boolean feedback that highlights a button when a room's mic matches a given name. ## Quick Start Ask the agent to add a new boolean feedback for selected mic status to the existing feedback-device-settings category file in your Companion module.

Frequently Asked Questions about companion-add-feedback-to-category-file

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a feedback to an existing Companion module category file?▼

Add a new member to the feedback enum with a globally unique string ID, then add a matching entry in the feedbacks object inside GetFeedbacks{Category}(). The enum member name and the object key must match exactly.

What is the difference between boolean and advanced feedbacks in Bitfocus Companion?▼

Boolean feedbacks return true or false and use defaultStyle for simple on/off button styling. Advanced feedbacks return a CompanionAdvancedFeedbackResult object with dynamic text, colors, or images based on module state.

When should I not use this skill for Companion feedbacks?▼

Do not use it when no feedback category file exists yet for the category. In that case use the companion-feedback-file-pattern skill, which creates the file and wires the aggregator. It also does not cover modifying or deleting existing feedback definitions.

Why does my Companion feedback callback throw errors on room state?▼

Errors usually come from missing guards. Always check that roomId is not empty and that the room exists in instance.state.rooms before reading properties, and cast feedback options explicitly since they are typed as any.

Can I reuse shared options like room selectors in new Companion feedbacks?▼

Yes. The roomOpt variable is declared at the top of GetFeedbacks{Category}() via getRoomOption(instance). Include it in your feedback's options array for room-scoped feedbacks and add additional option fields alongside it.