Skip to main content

scope-cli

Interact with the Scope benchmarking platform using the Scope CLI — submit runs, list results, manage criteria, generate reports, and administer agents, skills, and MCP servers.

소스 정보

저장소
microsoft/scope
최근 소스 활동
2026년 10월 10일 18:26
감지된 SKILL.md 언어
영어
스타
54
포크
26

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
scope-cli
description
Interact with the Scope benchmarking platform using the Scope CLI — submit runs, list results, manage criteria, generate reports, and administer agents, skills, and MCP servers.
allowed-tools
Bash
metadata
{"author":"scope-core-team","version":"1.0"}
# Scope CLI You have access to the **Scope** CLI — an AI coding-agent benchmarking platform. Run it with `pnpm cli` from the repository root (`scope-core`). > **All commands below assume you are in the repo root.** Prefix every invocation with `pnpm cli`. --- ## Authentication and enrollment The CLI's shared API transport can attach a caller-provided `SCOPE_TOKEN` containing an **IdP access token**. Already-enrolled users keep using that bearer unchanged; there is no Scope-token exchange or new CLI login implementation in this milestone. Do not assume the deferred `scope auth login`/keychain commands exist. A new identity must explicitly call **`POST /api/v1/users/me`** using its IdP bearer before ordinary authenticated commands. Use the configured Scope API URL: ```bash curl --fail-with-body -sS \ -X POST \ -H "Authorization: Bearer $SCOPE_TOKEN" \ -H "Cache-Control: no-store" \ "${SCOPE_API_URL%/}/api/v1/users/me" ``` This POST creates/refreshes the user, profile, `lastLoginAt`, and eligible bootstrap promotion; never prefetch, poll, or automatically use it to recover an ordinary lookup. GET `/users/me` only checks existing access. `403 user_not_enrolled` calls for explicit enrollment; `403 user_disabled` is a denial, not a refresh-token prompt. Invalid/expired bearer → `401`; required Mongo/JWKS outage → `503`. All non-public bearer calls verify the IdP token before Redis/Mongo resolution. The active-user cache is fixed/non-sliding (300 seconds by default), so DB-only role/disable edits may remain stale until expiry. No raw bearer is cached by the API. Never echo tokens or include them in URLs/debug output. Public and anonymous rollout behavior is unchanged; full RBAC and interactive CLI auth remain deferred. See [Authentication & RBAC](../../../docs/architecture/auth-rbac.md). --- ## Quick Reference In order to get the full updated reference, run `pnpm cli --help` or `pnpm cli <command> --help` for specific commands. Below is a summary of the most common commands. ### Runs (benchmark executions) | Action | Command | |--------|---------| | List runs | `pnpm cli run list` | | List runs (JSON) | `pnpm cli run list -o json` | | Filter by worker | `pnpm cli run list -w coder-acp-copilot` | | Get run details | `pnpm cli run get -i <id>` | | Check status | `pnpm cli run status -i <id>` | | Stream logs | `pnpm cli run logs -i <id>` | | Stream logs from start | `pnpm cli run logs -i <id> --from-start` | | Submit a run | `pnpm cli run submit -s <scenario.yaml> -w <worker>` | | Submit with message | `pnpm cli run submit -m "your task" -w coder-acp-copilot` | | Submit with model | `pnpm cli run submit -s <scenario> -w <worker> --model <model>` | | Submit with skills | `pnpm cli run submit -s <scenario> -w <worker> --skills <slug...>` | | Submit with MCP servers | `pnpm cli run submit -s <scenario> -w <worker> --mcp-servers <slug...>` | | Delete a run | `pnpm cli run delete -i <id>` | | Download artifacts | `pnpm cli run download -i <id>` | | Download & extract | `pnpm cli run download -i <id> -e` | | Upload archive | `pnpm cli run upload <path>` | | Demo (multi-worker TUI) | `pnpm cli run demo -m "task" -w coder-acp-copilot,coder-acp-claude-code` | ### Reports | Action | Command | |--------|---------| | List reports | `pnpm cli report list` | | List for a run | `pnpm cli report list -r <run-id>` | | Generate report | `pnpm cli report generate -i <run-id> --stream` | | Get report | `pnpm cli report get -i <report-id>` | | Get as markdown | `pnpm cli report get -i <report-id> -o markdown` | | Stream report logs | `pnpm cli report logs -i <report-id> --from-start` | ### Report Templates | Action | Command | |--------|---------| | List templates | `pnpm cli report-template list` | | Get template | `pnpm cli report-template get -i <id>` | | Import templates | `pnpm cli report-template import <path>` | ### Criteria (evaluation rubrics) | Action | Command | |--------|---------| | List criteria | `pnpm cli criteria list` | | Search criteria | `pnpm cli criteria list -q "search term"` | | Get criterion | `pnpm cli criteria get -i <id>` | | Create criterion | `pnpm cli criteria create --id <snake_case_id> --prompt "eval prompt"` | | Update criterion | `pnpm cli criteria update -i <id> --prompt "new prompt"` | | Delete criterion | `pnpm cli criteria delete -i <id>` | | Show dependency graph | `pnpm cli criteria graph` | | Import from YAML | `pnpm cli criteria import <path>` | | Dry-run import | `pnpm cli criteria import <path> --dry-run` | ### Prompt Features | Action | Command | |--------|---------| | List features | `pnpm cli prompt-feature list` | | Get feature | `pnpm cli prompt-feature get -i <id>` | | Show graph | `pnpm cli prompt-feature graph` | | Import from YAML | `pnpm cli prompt-feature import <path>` | | Extract from task | `pnpm cli prompt-feature extract -t "task text"` | | Extract from scenario | `pnpm cli prompt-feature extract -s <scenario.yaml>` | ### Agents | Action | Command | |--------|---------| | List agents | `pnpm cli agent list` | | Get agent | `pnpm cli agent get -i <id>` | | List models | `pnpm cli agent model list -i <agent-id>` | | List agent versions | `pnpm cli agent version list -i <agent-id>` | | Active versions only | `pnpm cli agent version list -i <agent-id> --status active` | ### Skills | Action | Command | |--------|---------| | List skills | `pnpm cli skill list` | | Search skills | `pnpm cli skill search -q "query"` | | Get skill | `pnpm cli skill get -i <slug>` | | Import skill | `pnpm cli skill import --source <owner/repo> --skill-name <name>` | | Resolve (fetch latest) | `pnpm cli skill resolve -i <slug>` | | List revisions | `pnpm cli skill revisions -i <slug>` | | Delete skill | `pnpm cli skill delete -i <slug>` | ### MCP Servers | Action | Command | |--------|---------| | List MCP servers | `pnpm cli mcp server list` | | Get MCP server | `pnpm cli mcp server get -i <slug>` | | Create MCP server | `pnpm cli mcp server create --id <slug> --name "Name" --type sse --url <url>` | | Delete MCP server | `pnpm cli mcp server delete -i <slug>` | ### Insights | Action | Command | |--------|---------| | List insights | `pnpm cli insight list` | | Search insights | `pnpm cli insight list -q "keyword"` | | Blocked only | `pnpm cli insight list --blocked` | | Get insight (markdown) | `pnpm cli insight get -i <id> -o markdown` | | Create insight | `pnpm cli insight create --title "Title" --description "md body"` | | Upvote / downvote | `pnpm cli insight upvote -i <id>` | ### Task Prompts | Action | Command | |--------|---------| | List task prompts | `pnpm cli task-prompt list` | | Search prompts | `pnpm cli task-prompt list -s "search text"` | | Get prompt | `pnpm cli task-prompt get -i <uuid>` | | Create prompt | `pnpm cli task-prompt create -t "prompt text"` | | Create from file | `pnpm cli task-prompt create -f <path>` | | Extract features | `pnpm cli task-prompt extract-features -i <uuid>` | ### Provider Secrets Secret values are never printed; prefer the `*-stdin` flags. | Action | Command | |--------|---------| | List keys (metadata only) | `pnpm cli secret list` | | Get key metadata | `pnpm cli secret get <key-id>` | | Store a key | `printf '%s' "$KEY" \| pnpm cli secret create --type anthropic-api-key --value-stdin` | | Validate without storing | `printf '%s' "$KEY" \| pnpm cli secret preview --type anthropic-api-key --value-stdin` | | Revalidate | `pnpm cli secret validate <key-id>` | | Enable / disable | `pnpm cli secret update <key-id> --disable` | | Delete | `pnpm cli secret delete <key-id>` | --- ## Output Formats All list/get commands accept `-o, --output <format>`: | Format | Use case | |--------|----------| | `table` | Human-readable (default) | | `tsv` | Pipe to Unix tools (`cut`, `awk`, `grep`) | | `json` | Programmatic access, AI agents | | `yaml` | Human-friendly structured data | **Examples:** ```bash # Get run details as JSON for parsing pnpm cli run get -i <id> -o json # List runs as TSV and filter with awk pnpm cli run list -o tsv | awk -F'\t' '$3 == "completed"' ``` --- ## Common Workflows ### Submit a benchmark and watch it ```bash # Submit with streaming pnpm cli run submit -s config/scenarios/my-scenario.yaml -w coder-acp-copilot # Or submit without streaming and watch later pnpm cli run submit -s config/scenarios/my-scenario.yaml -w coder-acp-copilot --no-stream pnpm cli run logs -i <id> --from-start ``` ### Generate and read a report ```bash pnpm cli report generate -i <run-id> --stream pnpm cli report list -r <run-id> pnpm cli report get -i <report-id> -o markdown ``` ### Import criteria and scenarios ```bash pnpm cli criteria import config/criteria/ --dry-run pnpm cli criteria import config/criteria/ pnpm cli criteria graph ``` --- ## Tips - Use `-o json` when you need to parse output programmatically. - Use `--no-stream` on `run submit` to get the ID immediately without blocking. - Scenario files are YAML and live in `config/scenarios/`. - Persona files live in `config/personas/`. - Traits files default to `config/traits.yaml` next to the persona. - Skill slugs use the format `owner/repo/skill-name`. - Run IDs are UUIDs — use tab completion or copy from `run list` output.
GitHub에서 보기