Checks FBOSS code for standards, architecture misuse, and testing gaps.
Overall this is a prompt-only skill for code-style guidance, open-sourced on GitHub, with no secrets, no fixed remote endpoints, and no direct code execution or obvious exfiltration, so the risk is low. The only notable concern is that it may inspect local code context to provide advice, which is a normal caution for a local review tool.
No secrets, tokens, or environment variables are required; the material shows no credential collection, storage, or forwarding.
No remote host endpoints are listed, and there is no description of sending user data to external services; no explicit egress path is shown.
This is prompt-only and does not indicate spawning processes or executing arbitrary code locally; it provides coding standards and review guidance, which is normal local-assistant behavior.
Its scope is limited to giving guidance while writing or modifying code under fboss/, implying it may read local code context; this is a normal data-access scope for a code review tool.
The source is GitHub and the repository is open source and auditable; there is no sign of closed-source opacity or abandonment. Although it has 0 stars and unknown maintenance status, no concrete supply-chain red flags are present.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "fboss-code-standards" skill from askskill: 1. Download https://raw.githubusercontent.com/facebook/fboss/main/fboss/skills/fboss-code-standards/SKILL.md 2. Save it as ~/.claude/skills/fboss-code-standards/SKILL.md 3. Reload skills and tell me it's ready
Review this code change under fboss/ using fboss-code-standards. Focus on architecture violations, SAI/SDK misuse, thrift_cow risks, platform config issues, and missing tests, then suggest fixes.
A FBOSS-specific review listing issues, risk explanations, and actionable fixes.
I am modifying an FBOSS platform config file. Using fboss-code-standards, check for inconsistencies, pattern misuse, or issues that could affect deployment and runtime, and note any validation steps I should add.
Potential configuration errors with validation, testing, or rollback recommendations.
Here is a new FBOSS feature implementation. Based on fboss-code-standards, determine whether the current tests are sufficient; if not, list missing unit tests, integration tests, or edge cases.
A test coverage assessment with concrete recommendations for additional scenarios and assertions.
Passive coding guidance for FBOSS. Applied automatically while writing or modifying code under fboss/.
Currently fboss/ only. TODO: extend to configerator/source/neteng/fboss, neteng/netcastle, neteng/fboss.
| Area | Pattern | Check |
|---|---|---|
| Agent | Mono/multi-switch duality | State changes must work in both modes |
| Agent | Warmboot serialization | New SwitchState fields must serialize/deserialize |
| SAI | SaiApiTable registration | New SAI attributes must be registered |
| SAI | SaiStore consistency | SAI objects must be tracked, no orphans |
| FSDB | State/Stats duality | Always handle both trees |
| FSDB | extern template | New ThriftStructNode instantiations need extern template |
| thrift_cow | COW modification | Use modify(), never mutate shared nodes |
| Platform | JSON + Thrift sync | Config changes update both schemas |
| Testing | Naming convention | Follow AgentHw<Feature>Test pattern |
| Testing | NSDB impact | Core FSDB changes must run NSDB tests |
| General | Follow local patterns | Be consistent with existing code in the directory |
| Testing | No GTEST_SKIP | Use ProductionFeatures filtering, never GTEST_SKIP() |
| Testing | DSF counters | Check reassembly errors on fabric ports, not discards |
| Agent | Non-coalescing behavioral deltas | Mark delta-significant updates non-coalescing |
| Agent | Rolled-out flag cleanup | Remove feature flags that are fully rolled out |
| Agent | Early return on empty deltas | Check for empty deltas and return early |
| Agent | No hardcoded ASIC types | Use feature/property lookups, not ASIC name checks |
| SAI | Explicit cancellation | Distinguish reconnectable errors from shutdown signals |
| General | No private fn defaults | Don't default parameters all callers override |
| General | Explicit state flags | Pass all enable/disable flags, no direction assumptions |
| General | Verify before deleting | Provide evidence files are unused before deleting |
| General | CHECK over assert | Use CHECK for production invariants, not assert() |
| General | emplace over operator[] | Use emplace/insert for map insertions |
| General | ASIC feature gating | Gate HW-specific constraints with ASIC features |
| General | Concise method naming | Don't include class name in method name |
| General | Explicit operator precedence | Parenthesize compound boolean/comparison expressions |
| General | Inline trivial comparisons | Don't wrap one-line checks in helper methods |
| General | Fix lint before landing | Run arc f and arc lint before submitting |
| Testing | Targeted unit tests | New modules need dedicated unit tests, not just HW tests |
| Agent | Documentation-value methods | Keep per-ASIC limit methods as architecture docs |
| General | Rate-limit verbose logging | Use XLOG_EVERY_MS, never log at line rate |
| General | Perspective-aware naming | Use fromX/toX instead of ambiguous Rx/Tx |
| General | Update OSS build files | Update CMake alongside BUCK when adding/moving files |
| Testing | Deep comparison over size checks | Compare content, not just collection size |
| Testing | Verify negative cases | Explicitly check absence, not just no-throw |
| Testing | Test overflow and error paths | Cover resource exhaustion, not just happy path |
| Testing | Optimize test execution time | Use smallest packet sizes, avoid unnecessary waits |
| Agent | ODS counters for debugging | Add ODS counters for drop/error events, not just logs |
| Agent | Validate external config limits | Reject unreasonable externally configurable values |
| Agent | Populate warmboot cache first | Fill all caches from warmboot state before processing |
| General | Empty vector over optional<vector> | Use empty vector, not optional<vector> |
| General | Map-based config | Use map lookups, not if-else chains for platform values |
…
Review FBOSS diffs with parallel checks for architecture, reliability, and testing.
Debug FBOSS AgentHwTest failures - build, run, analyze logs, crash debug, vendor diag shell, hypothesis-driven debugging. Use when running sai_agent_hw_test or multi_switch_agent_hw_test and investigating test failures.
Write and run Markdown-driven end-to-end tests for Relay apps.
Get idiomatic Relay guidance for React code, debugging, and code reviews.
Debug Pysa false negatives by comparing outputs and locating lost taint flows.
Understand the Pyre/Pysa architecture and locate key implementations quickly.