Summary video of the paper.
Latent world models enable robots to plan by predicting the consequences of actions. Planning long tasks with control-rate actions requires many prediction steps, which enlarges the search space and accumulates error. Skill-level actions shorten these sequences, but a symbolic skill vocabulary requires domain knowledge and labeled demonstrations. We construct skill-level actions from the inputs of a flow-matching policy trained on demonstrations segmented into complete skills. The policy maps a noise seed and an observation, optionally with a code or label, to a complete skill execution, so one execution is one world-model transition. On this mechanism we propose four action abstractions with increasing task knowledge: a compressed seed, two discrete codes learned from the demonstrations, and a symbolic label. We evaluate them with a common world-model training procedure and planning framework on simulated block rearrangement tasks that require up to 14 sequential skills. The symbolic label succeeds in over 90% of the tasks that require up to six skills and degrades beyond. Without any label, an object-centric learned code matches it on single-skill tasks and retains half to three quarters of its success on tasks of two to five skills. Ablations attribute much of the label's advantage to its planner knowing which actions are applicable, rather than to the label itself. Beyond six skills the search, not the world model, limits success.
(a) A flow policy generates a complete skill from the observation, a noise seed, and an optional code or label. (b) The four action abstractions. (c) A world model predicts the outcome of candidate skill sequences in a learned embedding; the planner executes the first skill of the best sequence and replans.
Demonstrations are segmented into skills. Each skill is an action chunk $X^1 \in \mathbb{R}^{T \times d}$ of $T$ low-level commands, paired with the observation $o$ at its start. The observation contains the object poses and the robot state, and no goal, task, or label. Flow matching trains a network to transport a seed $X^0 \sim \mathcal{N}(0, I)$ into the chunk along a straight path. To execute a skill, the robot samples a seed, integrates the learned velocity field from $t = 0$ to $t = 1$, and runs the resulting chunk $X^1 = \Phi(X^0; o)$ open loop. One policy is trained on the demonstrations of every skill, so the choice of skill is carried by the policy's inputs: the seed alone, or a code or label given with it. One step of the world model maps the observation and the action to the next observation, $\hat f : (o_k, a_k) \mapsto o_{k+1}$.
Task knowledge grows from (i) to (iv). The first three need no symbolic labels. Each abstraction defines the additional policy input, the world-model action $a_k$, and how the planner proposes candidates. The assumptions are cumulative down the rows.
One row per abstraction, from the poster (click to open full size). Left: what the policy receives at execution and where its discrete part comes from. Middle: the world-model action. Right: how the search proposes candidates, and what each abstraction assumes and measures.
The world model is a joint-embedding predictive architecture (JEPA), the LeWM instantiation: an encoder maps the observation to an embedding $e_k$ and a predictor maps $(e_k, a_k)$ to the next embedding. Nothing is reconstructed. The goal is given as an observation $o^\star$ and encoded with the same frozen encoder. The planner searches the sequence of $H$ actions whose imagined embeddings come closest to the goal,
A beam search enumerates the discrete part of the sequences and keeps the most promising ones; the cross-entropy method (CEM) samples the continuous part, where the action has one. Only the first action of the best sequence is executed: the frozen flow policy runs the skill open loop, the robot observes the new scene, and plans again. The world model and the search procedure are shared by the four abstractions; the action and how its candidates are proposed differ.
The block scene, top view, with one instance of each skill. Dashed blocks are goal poses.
Success against difficulty $k$ (100 paired tasks per $k$, $k + 5$ turns, Wilson 95% intervals).
The ordering follows the injected knowledge.
Dashed: the same abstractions without the precondition knowledge in their proposal. Gray: a random valid label at each turn, without world model.
We remove the precondition knowledge from the proposal and keep the action, the world model, and the search unchanged. The label loses the most, 10 to 47 points; the object-centric code loses 2 to 13; the learned code almost nothing. The two curves without preconditions nearly meet where the full curves are far apart.
Most of the label's advantage at short horizons is therefore its proposal knowing which labels apply, not the label as an action.
What remains is the world model's scoring. With valid labels but no world model, success is 0% at every $k$. The world model ranks the executed label first in 98% of held-out transitions, against about 60% for either code, so the gap that remains between the codes and the label is ranking, not validity.

(a) The tower swap, one task: the cost of the chosen plan per turn, per abstraction. The star marks the turn at which the label reaches the goal. (b) Symbolic label on the problem set: success against the imagined cost of the plan returned at the first turn.
The world model is not the limit. For a $k = 14$ task, an optimal plan rolled out in the model has a cost of 7 to 20, against about 300 for random action sequences. The model identifies good plans when they are proposed.
Finding them is harder. The beam keeps the partial plans with the lowest predicted distance to the goal, but necessary intermediate moves, such as parking a block so that another one can move, may leave this distance unchanged or increase it. Such plans are pruned before their benefit becomes apparent.
When the layout lets the search see progress, the longest tasks remain solvable: the symbolic label solves the $k = 14$ tower swap below in 87% of the trials, with a median first-turn plan cost of 4.3. Across the problem set, success follows the first-turn cost rather than $k$.
A beam of 256 instead of 32 does not change these numbers. The limit is the ranking of partial plans by goal distance, not the number of candidates kept.
With poses perceived from three fixed cameras (front, side, wrist) instead of the true poses, success changes little. Averaged over $k = 1$ to $6$, the label loses 1 point, the learned code 1, and the object-centric code 6. The perception model's error on settled scenes is 3.0 mm in position and 2.5° in rotation, and the perceived symbolic state equals the true one in 90% of the scenes.
Two towers of three blocks must exchange places, each in reverse stacking order. The planner receives the goal as an image only; no plan and no symbolic goal are given. Every solution begins by unstacking blocks to intermediate regions, so the task needs at least 14 skills.
The symbolic label solving the tower swap, sped up. Right: the start and goal images, the world model's imagined cost along the chosen plan, the beam's best sequences at each turn, and the outcome of every executed skill. The planner reaches the goal after 16 skills; it corrects two placements on the way.
Left: the start and goal observations (front camera). Right: one frame per executed skill, with the skill performed and the residual of that skill.
(iv) Symbolic label. Reaches the goal.
(iii) Object-centric code. Proposes a low-cost plan, but the first skill beside a tower fails in execution.
(ii) Learned code. Same failure mode: the plan looks good to the world model, the execution beside a tower does not.
(i) Pure seed. Finds no plan.
All four clips run on the same start state and goal, with the same world-model recipe and the same search, sped up.
@article{matoses2026flowskillwm,
title = {Flow Policies as Actions of Skill-Level World Models: Learned and Symbolic Abstractions for Long-Horizon Planning},
author = {Matoses Gimenez, Andreu and Papuc, Andrei-Carlo and Pek, Chris and Alonso-Mora, Javier},
year = {2026},
note = {Submitted to ICRA 2027}
}