feat: Add byo-rossoctl-cortex skill - #34
Conversation
06862a4 to
23b4198
Compare
38e777c to
c62a2ce
Compare
clawgenti
left a comment
There was a problem hiding this comment.
Adds the byo-rossoctl-cortex skill with clear step-by-step instructions, a useful plugin catalog reference, and working template assets. CI passes. A couple of minor issues worth addressing before merge.
Reviewed by clawgenti using the github-pr-review skill
| # HTTP(S) — required for any plugin that reads request/response headers or bodies. | ||
| tls_bridge: | ||
| mode: enabled | ||
| ca_dir: /ABSOLUTE/PATH/TO/.cortex/tls-bridge-ca # MUST persist across runs and be writable |
There was a problem hiding this comment.
This ca_dir value is a literal placeholder (/ABSOLUTE/PATH/TO/…) rather than an ${ENV_VAR} — if copied and used verbatim it will try to create that exact path and silently produce a non-persistent CA. Consider substituting a real ${CORTEX_CA_DIR} env-var expansion (consistent with the other ${…} fields in this file) so the template can be used directly without manual editing, or add a prominent # EDIT THIS comment to make the requirement impossible to miss.
| through choosing plugins, generates the authbridge YAML config, and runs the | ||
| agent behind it. Specializes in per-agent LiteLLM usage/budget tracking where | ||
| each agent's spend is isolated by an environment variable. Use /byo-rossoctl-cortex. | ||
| license: Complete terms in LICENSE |
There was a problem hiding this comment.
license: Complete terms in LICENSE — no LICENSE file is included in this skill directory. Other skills reference a root-level LICENSE (which covers the repo), but the frontmatter wording implies a per-skill file. Either drop this field, point it to the repo root (../../LICENSE), or add the file.
clawgenti
left a comment
There was a problem hiding this comment.
Adds the byo-rossoctl-cortex skill — a well-documented, self-contained guide for running a local rossoctl AuthBridge plugin pipeline with per-agent LiteLLM budget tracking. CI passes, DCO sign-off is present. Two minor findings below.
- nit —
templates/agent.sh: usesset -ebut notset -u; unset env vars (ANTHROPIC_AUTH_TOKEN,ANTHROPIC_BASE_URL) will silently expand to empty strings and cause curl to fail with a confusing 401/URL error rather than a clear "variable not set" message. - suggestion —
templates/litellm-budget-track.yaml:ca_diruses a literal placeholder path (/ABSOLUTE/PATH/TO/…) while the rest of the template uses${ENV_VAR}expansion; considerca_dir: "${CORTEX_CA_DIR}"for consistency and to make it machine-fillable, or add a prominent# TODO: replace this pathcomment.
Reviewed by clawgenti using the github-pr-review skill
| # AGENT_MODEL model the key can access (default claude-haiku-4-5-20251001) | ||
| # AGENT_CALLS number of calls (default 3) | ||
| # SSL_CERT_FILE injected by exec; used as curl --cacert | ||
| set -e |
There was a problem hiding this comment.
nit: set -e prevents ignoring exit codes, but set -u (treat unset variables as errors) is not set. ANTHROPIC_AUTH_TOKEN and ANTHROPIC_BASE_URL are required for the script to work; without set -u, omitting either causes curl to fail with a confusing empty-URL or 401 error rather than an explicit "variable not set" message. Consider adding set -eu (POSIX-safe, no pipefail needed for sh).
| # HTTP(S) — required for any plugin that reads request/response headers or bodies. | ||
| tls_bridge: | ||
| mode: enabled | ||
| ca_dir: /ABSOLUTE/PATH/TO/.cortex/tls-bridge-ca # MUST persist across runs and be writable |
There was a problem hiding this comment.
suggestion: ca_dir is the only config value using a literal placeholder path (/ABSOLUTE/PATH/TO/…) rather than an env-var expansion. The rest of the template uses ${CORTEX_SPEND_FILE} and ${CORTEX_MAX_BUDGET}. Consider ca_dir: "${CORTEX_CA_DIR}" for consistency, or at minimum add a # TODO: replace with your actual path comment so users don't accidentally run the config with the placeholder value.
c62a2ce to
1e88f27
Compare
|
Thanks @clawgenti — pushed a fix addressing all three findings.
No functional change to the skill's behavior. DCO signed-off. Assisted-By: Claude (Anthropic AI) noreply@anthropic.com |
clawgenti
left a comment
There was a problem hiding this comment.
Adds the byo-rossoctl-cortex skill with a well-structured step-by-step guide, thorough caveats, and working template assets. CI passes, DCO sign-off present, previous review findings addressed in this commit. One substantive inconsistency between the Step 3 config snippet and the full template, plus a minor shell comment formatting nit.
- suggestion —
SKILL.mdStep 3 inline YAML snippet (lines ~151-162) omitscache_write_cost_per_token/cache_read_cost_per_token, but caveat 6 warns explicitly that omitting these can overstate costs ~10× for Claude Code users and trip the 429 far too early. A user following Step 3 verbatim would copy a snippet without those fields — consider adding them (or at minimum a# see caveat 6comment) so the two places agree. - nit —
templates/agent.sh: missing blank line between the env var listing comment block and theset -urationale comment (lines 16-17); minor readability issue.
Reviewed by clawgenti using the github-pr-review skill
| # (curl / OpenAI /v1/chat/completions), which is priced from the header. | ||
| input_cost_per_token: 0.000003 # example: $3 / 1M input tokens | ||
| output_cost_per_token: 0.000015 # example: $15 / 1M output tokens | ||
| ``` |
There was a problem hiding this comment.
suggestion: The Step 3 inline YAML snippet ends here without cache_write_cost_per_token / cache_read_cost_per_token, but caveat 6 (line ~240) warns that omitting these overstates cache-heavy traffic (Claude Code) by up to ~10× and trips the 429 too early. The full template (litellm-budget-track.yaml) correctly includes both fields. Consider adding them here too, or at minimum a # see caveat 6 below comment, so a user copying this snippet doesn't silently misconfigure budget tracking.
Add the byo-rossoctl-cortex skill: bring up a local rossoctl cortex — an
AuthBridge plugin pipeline that hosts a command (e.g. Claude Code) via
`rossoctl authbridge exec` — choosing plugins, generating the config, and
running the agent behind it. Specializes in per-agent LiteLLM usage/budget
tracking where each agent's spend is isolated by an environment variable
(spend_file: ${CORTEX_SPEND_FILE}).
Includes a plugin catalog reference, a forward-proxy + TLS-bridge config
template, and a minimal test agent script. Registers the skill in the plugin
marketplace and README.
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Aleksander Slominski <aslom@us.ibm.com>
1e88f27 to
89ac0c6
Compare
|
Thanks @clawgenti — both addressed in
Docs-only; no change to skill behavior. DCO signed-off. Assisted-By: Claude (Anthropic AI) noreply@anthropic.com |
clawgenti
left a comment
There was a problem hiding this comment.
Adds the byo-rossoctl-cortex skill — a well-documented guide for standing up a local AuthBridge plugin pipeline with per-agent LiteLLM budget tracking. The content is thorough and the caveats section is genuinely useful.
One suggestion on the install path; overall the skill is in good shape.
Reviewed by clawgenti using the github-pr-review skill
| ``` | ||
|
|
||
| Or install a prebuilt release: `curl -fsSL | ||
| https://raw.githubusercontent.com/rossoctl/rossoctl-cli/main/downloadRossoctl | sh` |
There was a problem hiding this comment.
suggestion: curl -fsSL ... | sh pipes an installer script directly to the shell without verification — this is the canonical "curl-pipe-sh" pattern that can silently execute malicious content if the download URL is compromised or intercepted. Consider documenting the checksum/signature verification step (e.g. curl ... | sha256sum -c) or pointing users to a signed release artifact. For a skill that teaches security-conscious proxy configuration, this is worth calling out explicitly.
Add the byo-rossoctl-cortex skill: build a local rossoctl cortex — an AuthBridge plugin pipeline that hosts a command (e.g. Claude Code) via
rossoctl authbridge exec— choosing plugins, generating the config, and running the agent behind it. Specializes in per-agent LiteLLM usage/budget tracking where each agent's spend is isolated by an environment variable (spend_file: ${CORTEX_SPEND_FILE}).Includes a plugin catalog reference, a forward-proxy + TLS-bridge config template, and a minimal test agent script. Registers the skill in the plugin marketplace and README.
Assisted-By: Claude (Anthropic AI) noreply@anthropic.com
Summary
Related issue(s)
(Optional) Testing Instructions
Fixes #