Summary
Following skills/byo-rossoctl-cortex/SKILL.md Step 1 verbatim, the build block fails at the cd step because the clone commands and the cd target disagree on where the source lives. A second, related snag: the templates/agent.sh asset referenced later has no discoverable path for a plugin-installed skill. Both cost real time during a real setup run.
Finding 1 — Step 1 cd target does not exist (hard build blocker)
What I did: Ran the Step 1 build block as written.
The block (paraphrased for the relevant lines):
git clone https://github.com/rossoctl/rossoctl-cli.git # clones into CWD
git clone -b fix_streaming_litellm_plugin https://github.com/aslom/cortex.git # clones into CWD
cd "$HOME/rossoctl-src/rossoctl-cli" # <-- different location
Expected: The cd lands in the repo I just cloned.
Actual: cd: $HOME/rossoctl-src/rossoctl-cli: No such file or directory. The git clone calls have no path argument, so they land in the current working directory, but the cd points at $HOME/rossoctl-src/rossoctl-cli, which nothing ever created. The go mod edit -replace ... ../cortex/... on the next line also assumes rossoctl-cli and cortex are siblings, which only holds for the CWD clones, not the $HOME/rossoctl-src path.
Minimal repro: Copy the Step 1 block into a fresh shell and run it top to bottom.
Suggested fix: Make the clone target explicit and consistent with the cd and the -replace path, e.g. clone both into one parent dir and cd into that same dir's rossoctl-cli. Either drop the $HOME/rossoctl-src prefix (use the CWD clones the block actually creates) or add an explicit mkdir -p "$HOME/rossoctl-src" && cd "$HOME/rossoctl-src" before the two clones so the siblings + cd + relative -replace all line up.
Finding 2 — templates/agent.sh has no discoverable path when the skill is plugin-installed
What I did: Wanted to smoke-test the pipeline with the documented helper (templates/agent.sh, Assets section), so I tried to locate it under the installed skill.
Expected: A copy/paste path, or a note on how to resolve it, the way other steps give concrete paths.
Actual: The skill only ever refers to it as templates/agent.sh (relative), with no anchor for where the skill root is. For a plugin-installed skill the root is a version-hashed cache dir:
.../plugins/cache/rossoctl-agent-skills/byo-rossoctl-cortex/<hash>/skills/byo-rossoctl-cortex/templates/agent.sh
A naive find <cache> -name agent.sh | head -1 can resolve to a version-less parent and then fail to execute. The relative path only works if you happen to have the repo checked out and cd'd into the skill dir — which the rest of the flow does not establish.
Minimal repro: Install the skill via the plugin marketplace (not a git checkout), reach the Assets/smoke-test step, and try to run templates/agent.sh from the path the doc implies.
Suggested fix: Either (a) have Step 2/Assets tell the reader to copy agent.sh into the working dir first (e.g. ./.cortex/agent.sh) and run that — mirroring how Step 3 says to copy the YAML into ./.cortex/CONFIG.yaml — or (b) show how to resolve the skill root for a plugin install so the relative path is usable.
Environment: skill installed via the plugin marketplace (not a git checkout); byo-rossoctl-cortex at cache hash 1dfb2e91c613. The rest of the flow (TLS bridge, litellm-budget-track streaming cost on the fix_streaming_litellm_plugin branch) worked and recorded real per-agent cost — these two are setup-flow snags, not pipeline bugs.
Assisted-By: Claude (Anthropic AI) noreply@anthropic.com
Summary
Following
skills/byo-rossoctl-cortex/SKILL.mdStep 1 verbatim, the build block fails at thecdstep because the clone commands and thecdtarget disagree on where the source lives. A second, related snag: thetemplates/agent.shasset referenced later has no discoverable path for a plugin-installed skill. Both cost real time during a real setup run.Finding 1 — Step 1
cdtarget does not exist (hard build blocker)What I did: Ran the Step 1 build block as written.
The block (paraphrased for the relevant lines):
Expected: The
cdlands in the repo I just cloned.Actual:
cd: $HOME/rossoctl-src/rossoctl-cli: No such file or directory. Thegit clonecalls have no path argument, so they land in the current working directory, but thecdpoints at$HOME/rossoctl-src/rossoctl-cli, which nothing ever created. Thego mod edit -replace ... ../cortex/...on the next line also assumesrossoctl-cliandcortexare siblings, which only holds for the CWD clones, not the$HOME/rossoctl-srcpath.Minimal repro: Copy the Step 1 block into a fresh shell and run it top to bottom.
Suggested fix: Make the clone target explicit and consistent with the
cdand the-replacepath, e.g. clone both into one parent dir andcdinto that same dir'srossoctl-cli. Either drop the$HOME/rossoctl-srcprefix (use the CWD clones the block actually creates) or add an explicitmkdir -p "$HOME/rossoctl-src" && cd "$HOME/rossoctl-src"before the two clones so the siblings +cd+ relative-replaceall line up.Finding 2 —
templates/agent.shhas no discoverable path when the skill is plugin-installedWhat I did: Wanted to smoke-test the pipeline with the documented helper (
templates/agent.sh, Assets section), so I tried to locate it under the installed skill.Expected: A copy/paste path, or a note on how to resolve it, the way other steps give concrete paths.
Actual: The skill only ever refers to it as
templates/agent.sh(relative), with no anchor for where the skill root is. For a plugin-installed skill the root is a version-hashed cache dir:A naive
find <cache> -name agent.sh | head -1can resolve to a version-less parent and then fail to execute. The relative path only works if you happen to have the repo checked out andcd'd into the skill dir — which the rest of the flow does not establish.Minimal repro: Install the skill via the plugin marketplace (not a git checkout), reach the Assets/smoke-test step, and try to run
templates/agent.shfrom the path the doc implies.Suggested fix: Either (a) have Step 2/Assets tell the reader to copy
agent.shinto the working dir first (e.g../.cortex/agent.sh) and run that — mirroring how Step 3 says to copy the YAML into./.cortex/CONFIG.yaml— or (b) show how to resolve the skill root for a plugin install so the relative path is usable.Environment: skill installed via the plugin marketplace (not a git checkout);
byo-rossoctl-cortexat cache hash1dfb2e91c613. The rest of the flow (TLS bridge,litellm-budget-trackstreaming cost on thefix_streaming_litellm_pluginbranch) worked and recorded real per-agent cost — these two are setup-flow snags, not pipeline bugs.Assisted-By: Claude (Anthropic AI) noreply@anthropic.com