Skip to content

Commit 6c3e7e8

Browse files
committed
skills: prevent agent from using timeouts and retrying commands
When an S3 endpoint is slow, ramenctl hangs because it has no timeout on S3 calls. The agent shell harness kills the command after 120 seconds, then the agent retries in the background with a new output directory — wasting time and creating unexpected partial output. Remove time estimates from the skills ("takes a few seconds locally and about a minute on remote clusters") since the agent uses them to guess a timeout. Add explicit rules to all agent context files: - Run ramenctl commands without a timeout - Do not run commands in the background - Do not retry on timeout — report it and let the user decide The real fix is adding S3 call timeouts in ramenctl itself so it fails fast instead of hanging. These skill changes are a workaround until that is done. Assisted-by: Cursor/Claude Opus 4.6 Signed-off-by: Nir Soffer <nsoffer@redhat.com>
1 parent ff01f0e commit 6c3e7e8

9 files changed

Lines changed: 10 additions & 8 deletions

File tree

pkg/skills/templates/agents/bob.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ guidance that you need to follow precisely.
1717

1818
## Running commands
1919

20+
- Run {{.Command.Name}} commands without a timeout.
2021
- Do not run {{.Command.Name}} commands in the background.
2122
- Do not retry a command that timed out — report the timeout and let
2223
the user decide.

pkg/skills/templates/agents/claude.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Run `{{.Command.Name}} init` to create a configuration file, then use
1212

1313
## Running commands
1414

15+
- Run {{.Command.Name}} commands without a timeout.
1516
- Do not run {{.Command.Name}} commands in the background.
1617
- Do not retry a command that timed out — report the timeout and let
1718
the user decide.

pkg/skills/templates/agents/codex.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Run `{{.Command.Name}} init` to create a configuration file, then use
1212

1313
## Running commands
1414

15+
- Run {{.Command.Name}} commands without a timeout.
1516
- Do not run {{.Command.Name}} commands in the background.
1617
- Do not retry a command that timed out — report the timeout and let
1718
the user decide.

pkg/skills/templates/agents/cursor.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Run `{{.Command.Name}} init` to create a configuration file, then use
1717

1818
## Running commands
1919

20+
- Run {{.Command.Name}} commands without a timeout.
2021
- Do not run {{.Command.Name}} commands in the background.
2122
- Do not retry a command that timed out — report the timeout and let
2223
the user decide.

pkg/skills/templates/agents/generic.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ steps, flags, and expected output that you need to follow.
99

1010
## Running commands
1111

12+
- Run {{.Command.Name}} commands without a timeout.
1213
- Do not run {{.Command.Name}} commands in the background.
1314
- Do not retry a command that timed out — report the timeout and let
1415
the user decide.

pkg/skills/templates/skills/gather-application.tmpl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ $ {{.Command.Name}} gather application --name <drpc-name> --namespace <namespace
4949

5050
Use `--config <file>` if the config file is not the default `config.yaml`.
5151

52-
The command takes a few seconds on local clusters and about a minute on
53-
remote clusters.
52+
Run without a timeout — the command may take a while on remote clusters.
5453

5554
### Step 4: Check the result
5655

pkg/skills/templates/skills/test-run.tmpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ Use `--config <file>` if the config file is not the default `config.yaml`.
3838
The test runs through the full DR flow for each test case:
3939
deploy, protect, failover, relocate, unprotect, undeploy.
4040

41-
**This typically takes 15-20 minutes per test case.** Multiple test cases
42-
run in parallel.
41+
Run without a timeout — tests take a long time. Multiple test cases run
42+
in parallel.
4343

4444
### Step 3: Check the result
4545

pkg/skills/templates/skills/validate-application.tmpl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ report yourself in Step 4.
5555

5656
Use `--config <file>` if the config file is not the default `config.yaml`.
5757

58-
The command takes a few seconds on local clusters and about a minute on
59-
remote clusters.
58+
Run without a timeout — the command may take a while on remote clusters.
6059

6160
### Step 4: Check the result
6261

pkg/skills/templates/skills/validate-clusters.tmpl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ report yourself in Step 4.
3636

3737
Use `--config <file>` if the config file is not the default `config.yaml`.
3838

39-
The command takes a few seconds on local clusters and about a minute on
40-
remote clusters.
39+
Run without a timeout — the command may take a while on remote clusters.
4140

4241
### Step 3: Check the result
4342

0 commit comments

Comments
 (0)