Run a task on a specific date after at least 1 month

Is there any good way to run a task
at 01T00
at least one month after the first cycle
and every month ad infinitum after that. Regardless of what day of the month I start on.

I think I would need some combination of 01T00, P1M, ^+P1M

I tried

[[[ 01T00/P1M ! R1/^/P1M ]]]
        graph = """
            housekeep[-PT6H] => calc_groundgps_bias

Also, 01T00!R1.

These don’t seem to work.

Is this possible?

Yes, this should be possible, we can add offsets to dates in Cylc, e.g. 2000-01-01T00+P1M or 01T00+P1M.

So if you want to skip the first instance of R/01T00/P1M you could do R/01T00+P1M/P1M.

Might not be useful for your example but worth mentioning you can specify criterion for the initial cycle point using initial cycle point constraints.

For example [scheduling]initial cycle point constraints = 01T00 would cause cylc validate and cylc run to fail if the initial cycle point was configured to something other than midnight on the first of the month.

Thanks, I have managed to implement something along those lines. Although I had hoped to constrain the start date, looks like it could change, so I added some jinja to check the start cycle and determine to skip the first month.