You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
• Add Qodo skill definitions to guide consistent, educational code review feedback.
• Encode FRC-specific safety checks (current limits, soft limits, CAN usage) for hardware
protection.
• Standardize review guidance for WPILib architecture and telemetry/units best practices.
Diagram
graph TD
Q["Qodo Review Engine"] --> S["skills/ (skill library)"] --> P["frc-student-mentor-persona"] --> O["Review comments"]
S --> A["frc-wpilib-architecture"] --> O
S --> T["frc-telemetry-units"] --> O
S --> H["frc-robot-safety-can"] --> O
Loading
High-Level Assessment
The following are alternative approaches to this PR:
1. Separate “persona” vs “checklists” strictly (composition-first)
➕ Keeps tone/voice guidance in one place and reduces duplicated phrasing across skills
➕ Easier to evolve the communication style without touching domain checklists
➖ Requires Qodo configuration/support for composing multiple skills reliably
➖ May make single-skill usage less convenient for smaller repos/teams
2. Provide a top-level skills index + naming conventions
➕ Improves discoverability and prevents near-duplicate skills over time
➖ Adds a small amount of process/maintenance overhead
➖ Not strictly necessary for the initial set of four skills
Recommendation: The current approach (one SKILL.md per concern with clear frontmatter and focused checklists) is a good baseline for reuse and incremental expansion. If this library is expected to grow, consider adding an index/README and ensuring the mentor persona skill is always composed with the technical check skills to keep tone consistent.
Files changed (4) +86 / -0
Other (4) +86 / -0
SKILL.mdAdd FRC robot safety and CAN/hardware protection review skill+23/-0
Add FRC robot safety and CAN/hardware protection review skill
• Introduces a Qodo skill focused on hardware-protective software checks: current limiting, soft limits/limit switches, neutral mode configuration, and CAN bus bandwidth/status frame hygiene. Includes guidance on delivering safety feedback in a non-accusatory, competition-readiness framing.
SKILL.mdAdd student-mentor persona skill for supportive review tone+17/-0
Add student-mentor persona skill for supportive review tone
• Defines an encouraging, pedagogical communication style for reviewing high-school student code, emphasizing explaining the “why,” praising good patterns, and using collaborative phrasing. Links learners to WPILib documentation where appropriate.
SKILL.mdAdd telemetry/units and logging conventions review skill+22/-0
Add telemetry/units and logging conventions review skill
• Adds a skill to promote WPILib Units usage for dimensional safety, structured telemetry/logging practices, and avoidance of periodic-loop overhead. Reinforces constants hygiene to reduce magic numbers and improve maintainability.
The telemetry skill tells reviewers to flag string concatenation in every periodic() and
SmartDashboard.putData() use without requiring repeated publication, measurable allocation
pressure, or a string-oriented dashboard API. This can turn harmless status formatting into
false-positive review comments while failing to distinguish genuinely costly high-frequency
telemetry.
ⓘ Recommendations generated based on similar findings in past PRs
Evidence
The added instruction provides no frequency, allocation, or API context, so it treats ordinary
formatting as defective; the feedback review confirmed the rule should be narrowed while preserving
checks for repeated hot-loop allocations.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The blanket prohibition on raw string concatenation near `periodic()` and `SmartDashboard.putData()` is too broad and can generate noisy or incorrect findings.
## Issue Context
String construction can matter when repeatedly allocated and published in a high-frequency loop, but not every concatenation is a defect; `putData()` should also be distinguished from string-specific dashboard calls.
## Fix Focus Areas
- skills/frc-telemetry-units/SKILL.md[14-16]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
2. Conflate vendor current limits✓ Resolved🐞 Bug⚙ Maintainability
Description
The safety skill requires TalonFX, SparkMAX, and SparkFlex controllers to use a single stator/supply
current-limit concept, although CTRE and REV expose different current-limit configuration models.
Reviewers may therefore look for the wrong API or report valid REV current-limit settings as
missing.
+ - Every motor controller configuration (TalonFX / SparkMAX / SparkFlex) **must** explicitly configure a stator/supply current limit (e.g., 30A–40A for drivetrains, 20A–30A for intakes/indexers).
Relevance
●●● Strong
Team frequently reviews stator/supply limits; clarifying vendor-specific APIs avoids confusion and
aligns with prior current-limit focus.
ⓘ Recommendations generated based on similar findings in past PRs
Evidence
The added rule names three controller families while requiring the TalonFX-specific stator/supply
terminology uniformly; the feedback review confirmed this is a vendor-specific API ambiguity rather
than a lack of current-limit support.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The rule conflates CTRE TalonFX stator/supply limits with REV Spark MAX/Spark Flex current-limit settings, which can produce false positives and invalid fix recommendations.
## Issue Context
All named controller families support current limiting, but their APIs and terminology differ. The skill should require the appropriate supported limit for each vendor rather than one shared configuration concept.
## Fix Focus Areas
- skills/frc-robot-safety-can/SKILL.md[12-13]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Context
Review mode: 🚀 Fast: These are four small, self-contained Markdown skill files that add review guidance and tone without changing runtime behavior or critical configuration.
Tip of the day
💡 Did you know, you can turn on the rule miner and Qodo learns your standards from review history
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added skills files to be used by Qodo to direct code reviews and to give feedback in a supportive, encouraging, and educational voice.