Skip to content

Commit 4f4a38e

Browse files
durandomclaude
andauthored
fix: consolidate skills + bump code agent timeout to 45min (#3567)
Merge monorepo-workspace-routing and safe-retry into a single rhdh-workspace skill that adds a test scoping rule: agents must only run tests for the affected package, never workspace-wide. Bump code agent timeout from 35 to 45 min. Fixes: redhat-developer/rhdh-fullsend#19 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d02e30d commit 4f4a38e

5 files changed

Lines changed: 36 additions & 66 deletions

File tree

.fullsend/customized/agents/code.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
# forked-from: fullsend v0.17.0 scaffold (adds monorepo-workspace-routing)
2+
# forked-from: fullsend v0.17.0 scaffold (adds rhdh-workspace)
33
# last-synced: 2026-06-16
44
name: code
55
description: >-
@@ -22,7 +22,7 @@ disallowedTools: >-
2222
model: opus
2323
skills:
2424
- code-implementation
25-
- monorepo-workspace-routing
25+
- rhdh-workspace
2626
---
2727

2828
# Code Agent
@@ -111,7 +111,7 @@ Your exit state is the handoff contract:
111111
## Monorepo routing
112112

113113
This is a monorepo. Before following the implementation procedure, execute
114-
the `monorepo-workspace-routing` skill to navigate to the correct workspace.
114+
the `rhdh-workspace` skill to navigate to the correct workspace.
115115
All subsequent work happens from within the workspace directory.
116116

117117
## Detailed implementation procedure

.fullsend/customized/harness/code.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ host_files:
4343

4444
skills:
4545
- skills/code-implementation
46-
- skills/monorepo-workspace-routing
46+
- skills/rhdh-workspace
4747

4848
plugins:
4949
- plugins/gopls-lsp
@@ -58,4 +58,4 @@ runner_env:
5858
REPO_DIR: "${GITHUB_WORKSPACE}/target-repo"
5959
TARGET_BRANCH: "${TARGET_BRANCH}"
6060

61-
timeout_minutes: 35
61+
timeout_minutes: 45

.fullsend/customized/harness/fix.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
# - image: rhdh custom image with yarn/corepack pre-installed
1717
# - host_files: rhdh-toolchain.env sets COREPACK_HOME to writable /tmp/corepack
1818
# - host_files: yarn-proxy.env maps OpenShell's HTTP_PROXY to YARN_HTTP_PROXY
19-
# - skills: adds monorepo-workspace-routing for workspace navigation
20-
# - skills: adds safe-retry to guard against infinite retry loops
19+
# - skills: adds rhdh-workspace for workspace navigation + test scoping
2120
# - policy: custom fix policy with yarn registry + pnpm binary allowlist
2221
agent: agents/fix.md
2322
doc: docs/agents/fix.md
@@ -54,8 +53,7 @@ host_files:
5453

5554
skills:
5655
- skills/fix-review
57-
- skills/monorepo-workspace-routing
58-
- skills/safe-retry
56+
- skills/rhdh-workspace
5957

6058
runner_env:
6159
PUSH_TOKEN: "${PUSH_TOKEN}"

.fullsend/customized/skills/monorepo-workspace-routing/SKILL.md renamed to .fullsend/customized/skills/rhdh-workspace/SKILL.md

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
name: monorepo-workspace-routing
2+
name: rhdh-workspace
33
description: >-
4-
Navigate to the correct workspace in a monorepo before starting work.
5-
Identifies the target workspace from issue/PR context and changes directory
6-
so that CWD-bound tools (openspec, backstage-cli) work correctly.
4+
Navigate to the correct workspace in the rhdh-plugins monorepo, install
5+
dependencies, and scope all commands (test, build, lint) to the target
6+
workspace. Prevents workspace-wide operations that exceed sandbox timeouts.
77
---
88

9-
# Monorepo Workspace Routing
9+
# RHDH Workspace
1010

1111
This repository is a monorepo. Independent Backstage plugin workspaces live
1212
under `workspaces/<name>/`. Each workspace has its own `package.json`,
@@ -87,9 +87,33 @@ If any of these commands modify files, the changes MUST be included in your
8787
commit. These are not optional — CI will reject the PR if these artifacts
8888
are out of sync.
8989

90+
## Test scoping
91+
92+
Run tests ONLY for the affected package, from within the package directory:
93+
94+
```bash
95+
cd plugins/<plugin-name>/
96+
yarn test
97+
```
98+
99+
Or equivalently from the workspace root:
100+
101+
```bash
102+
yarn backstage-cli package test --filter <package-name>
103+
```
104+
105+
**NEVER run workspace-wide or monorepo-wide test sweeps.** Commands like
106+
`yarn backstage-cli package test` without a filter, or `yarn test` from the
107+
workspace root, execute tests for every package in the workspace. This exceeds
108+
the sandbox timeout and will kill your run — losing all uncommitted work.
90109
## Rules
91110

92111
- ALL build, test, lint, and validation commands must run from the workspace root
112+
or the specific package directory — never from the monorepo root
93113
- Do not run `yarn install` from the monorepo root for workspace-specific work
94114
- Do not mix changes across multiple workspaces in a single commit
95115
- Each workspace is independent — do not assume shared dependencies
116+
- After a test/build/lint failure, read the full error output and fix the code
117+
before retrying. Never retry the same command without changing code first
118+
- After 2 consecutive test failures, re-read every file you edited and diff your
119+
changes against the original before running tests again

.fullsend/customized/skills/safe-retry/SKILL.md

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)