# Set succeeded (cylc7) vs set-outputs && remove vs skip (8.3+)

**URL:** <https://cylc.discourse.group/t/set-succeeded-cylc7-vs-set-outputs-remove-vs-skip-8-3/869>\
**Category:** Cylc Support\
**Created:** [January 30, 2024, 11:40pm UTC](https://cylc.discourse.group/t/set-succeeded-cylc7-vs-set-outputs-remove-vs-skip-8-3/869 "2024-01-30T23:40:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![TomC](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/tomc/32/115_2.png) [@TomC](https://cylc.discourse.group/u/TomC)\
**Post date:** [January 30, 2024, 11:40pm UTC](https://cylc.discourse.group/t/set-succeeded-cylc7-vs-set-outputs-remove-vs-skip-8-3/869/1 "2024-01-30T23:40:54Z")

</div>

Hi,

I wanted to check something.

In Cylc8, the near-enough-to-equivalent of Cylc7’s `reset state to succeeded` is `cylc set-outputs && cylc remove`? But, with the skip functionality in Cylc 8.3, would it instead be recommended to `skip` the task/family instead?

Then, in the UI, will the `skip` option appear in the `task` menu and the top level `workflow` menu so you can easily skip one task or many tasks?

---

<div class="post-metadata">

**Author:** ![hilary.j.oliver](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/hilary.j.oliver/32/4_2.png) [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)\
**Post date:** [January 31, 2024, 12:15am UTC](https://cylc.discourse.group/t/set-succeeded-cylc7-vs-set-outputs-remove-vs-skip-8-3/869/2 "2024-01-31T00:15:34Z")

</div>

It depends what you want.

In 8.3 `cylc set-outputs` becomes `cylc set` which can:

- set both outputs and prerequisites
- if setting outputs, that also contributes to completion of incomplete tasks, in which case you might not need to use remove or skip

Skip may be more appropriate for skipping over larger chunks of the graph.

I’m not sure we’ve thought deeply about presentation of skip mode in the UI yet.

---

<div class="post-metadata">

**Author:** ![TomC](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/tomc/32/115_2.png) [@TomC](https://cylc.discourse.group/u/TomC)\
**Post date:** [January 31, 2024, 12:26am UTC](https://cylc.discourse.group/t/set-succeeded-cylc7-vs-set-outputs-remove-vs-skip-8-3/869/3 "2024-01-31T00:26:07Z")

</div>

Can you expand on your second dot point? Does the new `cylc set` command if you had a task failed, and do `cylc set` on it, it could self-remove it from the graph?

---

<div class="post-metadata">

**Author:** ![hilary.j.oliver](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/hilary.j.oliver/32/4_2.png) [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)\
**Post date:** [January 31, 2024, 12:36am UTC](https://cylc.discourse.group/t/set-succeeded-cylc7-vs-set-outputs-remove-vs-skip-8-3/869/4 "2024-01-31T00:36:58Z")

</div>

Yes.

```auto
R1 = "foo => bar"

```

Here, `foo` is required to succeed (i.e., it’s not `foo:succeed? => bar`) so if it fails at run time it will be retained in the active window of the scheduler as an incomplete task (which will cause a stall).

If you then `cylc set` its success output (the default is to set all required outputs), that will enable `bar` to trigger, **and** it will complete the `foo:succeed` output (not just “proceed as if it was completed” as is currently the case). Then with `foo` completed, the scheduler can forget the task as no longer needed.

Hope that makes sense.

---

<div class="post-metadata">

**Author:** ![TomC](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/tomc/32/115_2.png) [@TomC](https://cylc.discourse.group/u/TomC)\
**Post date:** [January 31, 2024, 12:41am UTC](https://cylc.discourse.group/t/set-succeeded-cylc7-vs-set-outputs-remove-vs-skip-8-3/869/5 "2024-01-31T00:41:12Z")

</div>

Yes, sounds great, thanks.
