Skip to content

upskill eval sends model string as user prompt (FastAgent CLI arg collision) #24

@KevinMeisel

Description

@KevinMeisel

When running upskill eval with -m for model selection (e.g. -m anthropic.claude-sonnet-4-20250514), the underlying FastAgent session receives the model string as the user prompt. This causes the evaluator to respond “you shared a model identifier…” instead of using the test case input.

Root cause:
FastAgent parses CLI args by default and treats -m/--message as a user message. Upskill’s -m model flag collides with that, so the model string gets injected as the message.

Fix:
Disable FastAgent CLI parsing when embedding it in upskill (parse_cli_args=False), and normalize provider-prefixed models when --provider is provided.

Repro:
upskill eval ./skills/<skill> --provider anthropic -m claude-sonnet-4-20250514 -t /tmp/tests.json --runs 1 -v
Observed user content == "anthropic.claude-sonnet-4-20250514" (model string)
Expected user content == case["input"]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions