- Relay Best PracticesBest practices for writing idiomatic Relay code. ALWAYS use this skill when writing or modifying React components that use Relay for data fetching. Covers fragments, queries, mutations, pagination, and common anti-patterns. Use when you see `useFragment`, `useLazyLoadQuery`, `usePreloadedQuery`, `useMutation`, `usePaginationFragment`, `graphql` template literals, `react-relay` imports, or `__generated__/*.graphql` files. Also use when asked to explain Relay concepts, debug Relay issues, or reviefacebook/relay18,946
- Relay E2e TestWrite and run markdown-driven e2e tests for Relay. Covers fixture format, server/client code patterns, interaction DSL, snapshots, and running tests.facebook/relay18,946
- Relay PerformancePerformance best practices for Relay applications. Use when optimizing data fetching, reducing re-renders, configuring caching, or improving time to first meaningful paint. Covers query placement, @defer, pagination, fetch policies, garbage collection, fragment granularity, and server-side filtering. Companion to the relay-best-practices skill which covers correctness and architecture.facebook/relay18,946
- Add Ir InstructionGuide for adding a new IR instruction to the Hermes compiler. Use when the user asks to add, create, or define a new IR instruction (Inst/Instruction) in the Hermes intermediate representation. Covers all required files and the patterns for each.facebook/hermes11,189
- Binary Size AnalysisThis skill should be used when the user wants to analyze hermesvm binary size changes across a range of commits. Use when the user mentions "binary size", "size analysis", "size regression", "size increase", or asks to measure how commits affect the hermesvm library size.facebook/hermes11,189
- Gc Safe CodingRules for writing and reviewing GC-safe C++ code in the Hermes VM runtime. Use when writing, modifying, or reviewing C++ runtime VM code that uses internal Hermes VM APIs (as opposed to code using JSI). This includes working with GC-managed types (HermesValue, Handle, PinnedValue, JSObject, StringPrimitive, etc.), Locals, GCScope, PseudoHandle, CallResult, or any function with _RJS suffix. Typically in lib/VM/, include/hermes/VM/, API/hermes/, or API/napi/.facebook/hermes11,189
- Modify Jsi FeaturesGuide for adding new JSI functionality to the JavaScript Interface (JSI) layer. Use when the user asks to add, create, or implement new methods or features in the JSI Runtime interface. Covers all required files across JSI core, Hermes implementation, and SynthTrace replay support.facebook/hermes11,189
- Non Interactive Git RebaseUse when needing to reorder, split, drop, or amend git commits that are not the top commit, without interactive editor access. Covers programmatic rebase via GIT_SEQUENCE_EDITOR, commit splitting with automated hunk selection, and metadata changes (author, message, dates) on any commit in a range.facebook/hermes11,189
- CREATING ENDPOINTSThis guide explains how to create new EdenAPI/SLAPI endpoints, covering both streaming and non-streaming patterns.facebook/sapling6,904
- Eden ResearchLoad FIRST before searching code in eden/. Contains component-to-file maps, key type names, and architecture diagrams for EdenFS, Sapling, and Mononoke. Tells you exactly which files to read for any task. References contain per-component quick reference tables.facebook/sapling6,904
- Edenfs Systemd TriageTriage systemd-managed EdenFS issues on Linux devservers and OnDemands. Use when investigating EdenFS service failures, unexpected restarts, systemctl errors, edenfs_upgrade/edenfs_restarter problems, or when a user reports EdenFS is down on a systemd-enabled host. Also use when someone asks how systemd-managed EdenFS works, how to monitor it, or how to check its health. Use when asked to build a timeline of EdenFS lifecycle events, show edenfs restart history, or understand how edenfs reached ifacebook/sapling6,904
- Structured Error LoggingAdd or review structured error logging in EdenFS daemon (C++) — the ErrorLogger / EdenErrorInfo system that feeds the edenfs_errors table. Use when writing a catch block or handling a boxed/async exception (folly::Try / exception_wrapper / .thenError), instrumenting a failure path, or debugging a wrong stack trace or wrong component. Covers throw-site trace rules, component choice, errorType, noise filtering, gating, and testing.facebook/sapling6,904
- Write HookCreate a Mononoke server-side hook with 3-diff split (tests, wiring, implementation), unit tests, and integration testsfacebook/sapling6,904
- Add Shape Types To Torch ModelPort a PyTorch model to use pyrefly's tensor shape type system (Tensor[B, C, H, W], Dim[T]). Use this skill whenever the user wants to add shape annotations to a PyTorch model, type a model with tensor dimensions, port a model to use shape tracking, or annotate model forward methods with tensor shapes. Also use when the user mentions tensor shape ports, Dim types for PyTorch, or pyrefly shape checking on a model file. Invoke BEFORE starting any model port — the skill's gated workflow prevents cofacebook/pyrefly6,743
- Add Torch Shapes ExampleUse when adding a new PyTorch model to Pyrefly's shape-tracking example corpus under tensor-shapes/pyrefly-torch-stubs/examples — i.e. importing a model as a tested, corpus-quality reference port. This is maintainer-facing fbsource work. For porting your own model elsewhere, use the porting skill directly; for fixing a wrong/missing shape rule, use modify-shaped-array-dsl.facebook/pyrefly6,743
- Modify Shaped Array DslUse when Pyrefly computes a wrong tensor shape (or is missing one that can't be expressed in a stub signature) and you need to add or fix a shape-DSL rule. Requires a Pyrefly checkout (fbsource or a clone); not usable from a pip/site-packages install.facebook/pyrefly6,743
- Buck2 Rule BasicsGuide users through writing their first Buck2 rule to learn fundamental concepts including rules, actions, targets, configurations, analysis, and select(). Use this skill when users want to learn Buck2 basics hands-on or need help understanding rule writing.facebook/buck24,367
- Openzl Codec DesignDesign patterns and requirements for OpenZL codecs (located under `src/openzl/codecs/`). **USE AUOMATICALLY** when creating, modifying, or reviewing codecs in OpenZL.facebook/openzl3,124
- Openzl Gpu Test FramesHow to mint real OpenZL frames and chunks for GPU decoder tests using the contrib/gpu/testkit utilities (frame_factory, multichunk_frame, frame_verifier), and how to extract a codec's encoded streams via reflection for differential GPU decode. USE when writing or reviewing GPU-decoder tests that need OpenZL-encoded fixtures.facebook/openzl3,124
- Unitbench Openzl ScenariosUse when creating benchmark scenarios for new openzl codec nodes in unitBench - adding kernel-level encode/decode benchmarks or graph-level compress/decompress benchmarks for codecs like bitsplit, delta, transpose, entropy, etc.facebook/openzl3,124
- Debug Agent Hw TestDebug 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.facebook/fboss976
- Fboss Code StandardsFBOSS coding standards and patterns. Auto-loaded when writing code in fboss/ to catch architecture violations, SAI/SDK misuse, thrift_cow pitfalls, platform config errors, and testing gaps. For explicit multi-reviewer review, use /fboss-review instead.facebook/fboss976
- Fboss ReviewComprehensive FBOSS code review with 11 parallel reviewers (5 generic + 6 FBOSS-specific). Covers reliability, engineering, code quality, silent failures, agent architecture, SAI/SDK, FSDB/thrift_cow, platform/config, testing, and cross-cutting design. Self-contained alternative to /review-diff for FBOSS diffs. Findings shown to user only, never auto-posted.facebook/fboss976
- Camera StreamingStream, video frames, photo capture, resolution/frame rate configurationfacebook/meta-wearables-dat-ios464
- Dat ConventionsSwift patterns, async/await, naming conventions, key types for DAT SDK iOS developmentfacebook/meta-wearables-dat-ios464
- DebuggingCommon issues, Developer Mode, version compatibility, state machine diagnosisfacebook/meta-wearables-dat-ios464
- Display AccessDisplay capability setup, display-capable device selection, UI DSL, icons, buttons, images, and video playbackfacebook/meta-wearables-dat-ios464
- Getting StartedSDK setup, Swift Package Manager integration, Info.plist configuration, and first connection to Meta glassesfacebook/meta-wearables-dat-ios464
- Mockdevice TestingMockDeviceKit for testing without physical glasses hardwarefacebook/meta-wearables-dat-ios464
- Permissions RegistrationApp registration with Meta AI, camera permission flowsfacebook/meta-wearables-dat-ios464
- Sample App GuideBuilding a complete DAT app with camera streaming and photo capturefacebook/meta-wearables-dat-ios464
- Session LifecycleDevice session states, pause/resume, availability monitoringfacebook/meta-wearables-dat-ios464
- Click TargetFind and click a target object in XR. Use when testing UI interactions, clicking buttons, or verifying interactable elements work correctly.facebook/immersive-web-sdk355
- Iwsdk DebugDebug continuous behavior in WebXR scenes — physics, animations, collisions, game loops, or any real-time interaction that happens too fast for an agent to observe. Uses ECS pause/step/snapshot/diff to freeze time and inspect state frame by frame.facebook/immersive-web-sdk355
- Iwsdk Depth OcclusionGuide for implementing depth sensing and occlusion in IWSDK projects. Use when adding depth-based occlusion to hide virtual objects behind real-world surfaces, configuring DepthSensingSystem, choosing occlusion modes, or troubleshooting objects that disappear or fail to occlude.facebook/immersive-web-sdk355
- Iwsdk GrabGrab an object in the WebXR scene using emulated controllers. Use when the user wants to pick up, move, or test grabbing an object. Supports OneHandGrabbable and TwoHandsGrabbable components which use proximity-based grip (squeeze button), not trigger.facebook/immersive-web-sdk355
- Iwsdk PhysicsGuide for implementing physics in IWSDK projects. Use when adding physics simulation, configuring rigid bodies, collision shapes, applying forces, creating grabbable physics objects, or troubleshooting physics behavior.facebook/immersive-web-sdk355
- Iwsdk PlannerIWSDK project planning and best practices guide. Use when planning new IWSDK features, designing systems/components, reviewing IWSDK code architecture, or when the user asks about IWSDK patterns, ECS design, signals, or reactive programming in this codebase.facebook/immersive-web-sdk355
- Iwsdk PlannerIWSDK project planning and best practices guide. Use when planning new IWSDK features, designing systems/components, reviewing IWSDK code architecture, or when the user asks about IWSDK patterns, ECS design, signals, or reactive programming in this codebase.facebook/immersive-web-sdk355
- Iwsdk RayRay-based interactions in the WebXR scene — click objects, press UI buttons, or distance-grab with DistanceGrabbable. Use when the user wants to point at and interact with something at a distance, click a UI button, or test ray-based selection.facebook/immersive-web-sdk355
- Iwsdk UiDevelop and iterate on IWSDK PanelUI components. Use when the user wants to create, modify, debug, or improve UI panels in their IWSDK application. Covers UIKITML editing, full-screen preview with ScreenSpace, and visual verification.facebook/immersive-web-sdk355
- Iwsdk Ui PanelDevelop and iterate on IWSDK UI panels efficiently. Use when working on PanelUI components, debugging UI layout, or improving UI design in IWSDK applications.facebook/immersive-web-sdk355
- Test AllParallel test orchestrator. Runs all 9 test suites concurrently via Task sub-agents and the iwsdk CLI. Handles build, example setup, dev servers, agent launch, polling, retries, and result aggregation.facebook/immersive-web-sdk355
- Test AudioTest audio system (AudioSource loading, playback state, stop, spatial audio) against the audio example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test Ecs CoreTest ECS core functionality (system registration, components, Transform sync, pause/step/resume, system toggle, entity discovery, snapshots) against the poke example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test EnvironmentTest environment system (DomeGradient, IBLGradient, default lighting, component schemas) against the poke example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test GrabTest grab system (distance grab, one-hand grab, two-hand grab) against the grab example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test InteractionsTest XR interactions (ray, poke/touch, dual-mode, audio, UI panel) against the poke example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test LevelTest level system (LevelRoot, LevelTag, default lighting, scene hierarchy) against the poke example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test LocomotionTest locomotion system (slide, snap turn, teleport, jump) against the locomotion example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test PhysicsTest Havok physics system (gravity, rigid bodies, static vs dynamic) against the physics example using the iwsdk CLI.facebook/immersive-web-sdk355
- Test UiTest UI system (PanelUI, ScreenSpace) against the poke example using the iwsdk CLI.facebook/immersive-web-sdk355
- Xr Mode TestTest XR session lifecycle and mode transitions. Use when verifying XR enter/exit behavior, testing mode-dependent features, or debugging session state issues.facebook/immersive-web-sdk355
- Camera StreamingSession and Stream capability setup, video frames, photo capture, resolution and frame rate configurationfacebook/meta-wearables-dat-android314
- Dat ConventionsKotlin patterns, DatResult, session and capability conventions for DAT SDK Android developmentfacebook/meta-wearables-dat-android314
- DebuggingCommon issues, Developer Mode, version compatibility, and session and stream diagnosisfacebook/meta-wearables-dat-android314
- Display AccessDisplay capability setup, display-capable device selection, UI DSL, icons, buttons, images, and video playbackfacebook/meta-wearables-dat-android314
- Getting StartedSDK setup, Gradle integration, AndroidManifest configuration, and first connection to Meta glassesfacebook/meta-wearables-dat-android314
- Mockdevice TestingMockDeviceKit for testing without physical glasses hardwarefacebook/meta-wearables-dat-android314
- Permissions RegistrationApp registration with Meta AI and device permission flowsfacebook/meta-wearables-dat-android314