modify-shaped-array-dsl

Installation
SKILL.md

You are modifying Pyrefly's tensor-shape DSL — the logic that computes the output shape of a torch op from its input shapes.

This skill points at code; it does not duplicate it. Read the files below to learn the details. What follows is only the map and the invariant you must uphold (add a unit test).

How the DSL works (the 30-second version)

A shape rule has two pieces. An IR function is a Python function in tensor-shapes/pyrefly-torch-stubs/torch-stubs/_shapes.pyi, decorated @shape_dsl_function, that computes shapes using a restricted Python subset (arithmetic + - * // %, comprehensions, if, a few builtins, ShapedArray). It is traced, not executed by CPython. A library stub attaches it to an op with @uses_shape_dsl(ir_fn) (e.g. tensor-shapes/pyrefly-torch-stubs/torch-stubs/linalg.pyi); the stub's declared return is a "fixture" (gives the base Tensor/tuple structure) and the IR function fills in the actual dims.

Installs
1
GitHub Stars
6.8K
First Seen
Jul 7, 2026
modify-shaped-array-dsl — facebook/pyrefly