{"id":"5be83652-ab45-4799-b93a-e53487dbe8a0","shortId":"FnuvCz","kind":"skill","title":"Phoenix Cli","tagline":"Awesome Copilot skill by Github","description":"# Phoenix CLI\n\n## Invocation\n\n```bash\npx <resource> <action>                          # if installed globally\nnpx @arizeai/phoenix-cli <resource> <action>    # no install required\n```\n\nThe CLI uses singular resource commands with subcommands like `list` and `get`:\n\n```bash\npx trace list\npx trace get <trace-id>\npx span list\npx dataset list\npx dataset get <name>\n```\n\n## Setup\n\n```bash\nexport PHOENIX_HOST=http://localhost:6006\nexport PHOENIX_PROJECT=my-project\nexport PHOENIX_API_KEY=your-api-key  # if auth is enabled\n```\n\nAlways use `--format raw --no-progress` when piping to `jq`.\n\n## Traces\n\n```bash\npx trace list --limit 20 --format raw --no-progress | jq .\npx trace list --last-n-minutes 60 --limit 20 --format raw --no-progress | jq '.[] | select(.status == \"ERROR\")'\npx trace list --format raw --no-progress | jq 'sort_by(-.duration) | .[0:5]'\npx trace get <trace-id> --format raw | jq .\npx trace get <trace-id> --format raw | jq '.spans[] | select(.status_code != \"OK\")'\n```\n\n## Spans\n\n```bash\npx span list --limit 20                                    # recent spans (table view)\npx span list --last-n-minutes 60 --limit 50                # spans from last hour\npx span list --span-kind LLM --limit 10                    # only LLM spans\npx span list --status-code ERROR --limit 20                # only errored spans\npx span list --name chat_completion --limit 10             # filter by span name\npx span list --trace-id <id> --format raw --no-progress | jq .   # all spans for a trace\npx span list --include-annotations --limit 10              # include annotation scores\npx span list output.json --limit 100                       # save to JSON file\npx span list --format raw --no-progress | jq '.[] | select(.status_code == \"ERROR\")'\n```\n\n### Span JSON shape\n\n```\nSpan\n  name, span_kind (\"LLM\"|\"CHAIN\"|\"TOOL\"|\"RETRIEVER\"|\"EMBEDDING\"|\"AGENT\"|\"RERANKER\"|\"GUARDRAIL\"|\"EVALUATOR\"|\"UNKNOWN\")\n  status_code (\"OK\"|\"ERROR\"|\"UNSET\"), status_message\n  context.span_id, context.trace_id, parent_id\n  start_time, end_time\n  attributes (same as trace span attributes above)\n  annotations[] (with --include-annotations)\n    name, result { score, label, explanation }\n```\n\n### Trace JSON shape\n\n```\nTrace\n  traceId, status (\"OK\"|\"ERROR\"), duration (ms), startTime, endTime\n  rootSpan  — top-level span (parent_id: null)\n  spans[]\n    name, span_kind (\"LLM\"|\"CHAIN\"|\"TOOL\"|\"RETRIEVER\"|\"EMBEDDING\"|\"AGENT\")\n    status_code (\"OK\"|\"ERROR\"), parent_id, context.span_id\n    attributes\n      input.value, output.value          — raw input/output\n      llm.model_name, llm.provider\n      llm.token_count.prompt/completion/total\n      llm.token_count.prompt_details.cache_read\n      llm.token_count.completion_details.reasoning\n      llm.input_messages.{N}.message.role/content\n      llm.output_messages.{N}.message.role/content\n      llm.invocation_parameters          — JSON string (temperature, etc.)\n      exception.message                  — set if span errored\n```\n\n## Sessions\n\n```bash\npx session list --limit 10 --format raw --no-progress | jq .\npx session list --order asc --format raw --no-progress | jq '.[].session_id'\npx session get <session-id> --format raw | jq .\npx session get <session-id> --include-annotations --format raw | jq '.annotations'\n```\n\n### Session JSON shape\n\n```\nSessionData\n  id, session_id, project_id\n  start_time, end_time\n  traces[]\n    id, trace_id, start_time, end_time\n\nSessionAnnotation (with --include-annotations)\n  id, name, annotator_kind (\"LLM\"|\"CODE\"|\"HUMAN\"), session_id\n  result { label, score, explanation }\n  metadata, identifier, source, created_at, updated_at\n```\n\n## Datasets / Experiments / Prompts\n\n```bash\npx dataset list --format raw --no-progress | jq '.[].name'\npx dataset get <name> --format raw | jq '.examples[] | {input, output: .expected_output}'\npx experiment list --dataset <name> --format raw --no-progress | jq '.[] | {id, name, failed_run_count}'\npx experiment get <id> --format raw --no-progress | jq '.[] | select(.error != null) | {input, error}'\npx prompt list --format raw --no-progress | jq '.[].name'\npx prompt get <name> --format text --no-progress   # plain text, ideal for piping to AI\n```\n\n## GraphQL\n\nFor ad-hoc queries not covered by the commands above. Output is `{\"data\": {...}}`.\n\n```bash\npx api graphql '{ projectCount datasetCount promptCount evaluatorCount }'\npx api graphql '{ projects { edges { node { name traceCount tokenCountTotal } } } }' | jq '.data.projects.edges[].node'\npx api graphql '{ datasets { edges { node { name exampleCount experimentCount } } } }' | jq '.data.datasets.edges[].node'\npx api graphql '{ evaluators { edges { node { name kind } } } }' | jq '.data.evaluators.edges[].node'\n\n# Introspect any type\npx api graphql '{ __type(name: \"Project\") { fields { name type { name } } } }' | jq '.data.__type.fields[]'\n```\n\nKey root fields: `projects`, `datasets`, `prompts`, `evaluators`, `projectCount`, `datasetCount`, `promptCount`, `evaluatorCount`, `viewer`.\n\n## Docs\n\nDownload Phoenix documentation markdown for local use by coding agents.\n\n```bash\npx docs fetch                                # fetch default workflow docs to .px/docs\npx docs fetch --workflow tracing             # fetch only tracing docs\npx docs fetch --workflow tracing --workflow evaluation\npx docs fetch --dry-run                      # preview what would be downloaded\npx docs fetch --refresh                      # clear .px/docs and re-download\npx docs fetch --output-dir ./my-docs         # custom output directory\n```\n\nKey options: `--workflow` (repeatable, values: `tracing`, `evaluation`, `datasets`, `prompts`, `integrations`, `sdk`, `self-hosting`, `all`), `--dry-run`, `--refresh`, `--output-dir` (default `.px/docs`), `--workers` (default 10).","tags":["phoenix","cli","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/phoenix-cli","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T02:40:28.909Z","embedding":null,"createdAt":"2026-04-18T20:36:22.520Z","updatedAt":"2026-04-22T02:40:28.909Z","lastSeenAt":"2026-04-22T02:40:28.909Z","tsv":"'/completion/total':359 '/content':368,374 '/my-docs':702 '0':129 '10':181,204,233,392,732 '100':242 '20':91,107,154,193 '5':130 '50':168 '60':105,166 '6006':55 'ad':556 'ad-hoc':555 'agent':272,340,648 'ai':552 'alway':74 'annot':231,235,301,305,423,427,453,456 'api':64,68,570,577,589,601,615 'arizeai/phoenix-cli':17 'asc':403 'attribut':294,299,349 'auth':71 'awesom':3 'bash':11,33,50,86,149,387,477,568,649 'category-awesome-copilot' 'chain':268,336 'chat':201 'clear':690 'cli':2,9,22 'code':146,190,258,278,342,459,647 'command':26,563 'complet':202 'context.span':284,347 'context.trace':286 'copilot':4 'count':513 'cover':560 'creat':470 'custom':703 'data':567 'data.__type.fields':625 'data.datasets.edges':598 'data.evaluators.edges':609 'data.projects.edges':586 'dataset':44,47,474,479,489,502,591,630,713 'datasetcount':573,634 'default':654,728,731 'dir':701,727 'directori':705 'doc':638,651,656,660,667,669,676,687,697 'document':641 'download':639,685,695 'dri':679,722 'dry-run':678,721 'durat':128,319 'edg':580,592,604 'embed':271,339 'enabl':73 'end':292,439,447 'endtim':322 'error':116,191,195,259,280,318,344,385,524,527 'etc':380 'evalu':275,603,632,674,712 'evaluatorcount':575,636 'exampl':494 'examplecount':595 'exception.message':381 'expect':497 'experi':475,500,515 'experimentcount':596 'explan':310,466 'export':51,56,62 'fail':511 'fetch':652,653,661,664,670,677,688,698 'field':620,628 'file':246 'filter':205 'format':76,92,108,120,134,140,215,250,393,404,415,424,481,491,503,517,531,541 'get':32,39,48,133,139,414,420,490,516,540 'github':7 'global':15 'graphql':553,571,578,590,602,616 'guardrail':274 'hoc':557 'host':53,719 'hour':172 'human':460 'id':214,285,287,289,329,346,348,411,432,434,436,442,444,454,462,509 'ideal':548 'identifi':468 'includ':230,234,304,422,452 'include-annot':229,303,421,451 'input':495,526 'input.value':350 'input/output':353 'instal':14,19 'integr':715 'introspect':611 'invoc':10 'jq':84,97,113,125,136,142,220,255,398,409,417,426,486,493,508,522,536,585,597,608,624 'json':245,261,312,377,429 'key':65,69,626,706 'kind':178,266,334,457,607 'label':309,464 'last':102,163,171 'last-n-minut':101,162 'level':326 'like':29 'limit':90,106,153,167,180,192,203,232,241,391 'list':30,36,42,45,89,100,119,152,161,175,187,199,211,228,239,249,390,401,480,501,530 'llm':179,183,267,335,458 'llm.input':363 'llm.invocation':375 'llm.model':354 'llm.output':369 'llm.provider':356 'llm.token_count.completion_details.reasoning':362 'llm.token_count.prompt':358 'llm.token_count.prompt/completion/total':357 'llm.token_count.prompt_details.cache':360 'local':644 'localhost':54 'markdown':642 'messag':283,364,370 'message.role':367,373 'message.role/content':366,372 'metadata':467 'minut':104,165 'ms':320 'my-project':59 'n':103,164,365,371 'name':200,208,264,306,332,355,455,487,510,537,582,594,606,618,621,623 'no-progress':78,94,110,122,217,252,395,406,483,505,519,533,543 'node':581,587,593,599,605,610 'npx':16 'null':330,525 'ok':147,279,317,343 'option':707 'order':402 'output':496,498,565,700,704,726 'output-dir':699,725 'output.json':240 'output.value':351 'paramet':376 'parent':288,328,345 'phoenix':1,8,52,57,63,640 'pipe':82,550 'plain':546 'preview':681 'progress':80,96,112,124,219,254,397,408,485,507,521,535,545 'project':58,61,435,579,619,629 'projectcount':572,633 'prompt':476,529,539,631,714 'promptcount':574,635 'px':12,34,37,40,43,46,87,98,117,131,137,150,159,173,185,197,209,226,237,247,388,399,412,418,478,488,499,514,528,538,569,576,588,600,614,650,659,668,675,686,696 'px/docs':658,691,729 'queri':558 'raw':77,93,109,121,135,141,216,251,352,394,405,416,425,482,492,504,518,532 're':694 're-download':693 'read':361 'recent':155 'refresh':689,724 'repeat':709 'requir':20 'rerank':273 'resourc':25 'result':307,463 'retriev':270,338 'root':627 'rootspan':323 'run':512,680,723 'save':243 'score':236,308,465 'sdk':716 'select':114,144,256,523 'self':718 'self-host':717 'session':386,389,400,410,413,419,428,433,461 'sessionannot':449 'sessiondata':431 'set':382 'setup':49 'shape':262,313,430 'singular':24 'skill':5 'sort':126 'sourc':469 'source-github' 'span':41,143,148,151,156,160,169,174,177,184,186,196,198,207,210,222,227,238,248,260,263,265,298,327,331,333,384 'span-kind':176 'start':290,437,445 'starttim':321 'status':115,145,189,257,277,282,316,341 'status-cod':188 'string':378 'subcommand':28 'tabl':157 'temperatur':379 'text':542,547 'time':291,293,438,440,446,448 'tokencounttot':584 'tool':269,337 'top':325 'top-level':324 'trace':35,38,85,88,99,118,132,138,213,225,297,311,314,441,443,663,666,672,711 'trace-id':212 'tracecount':583 'traceid':315 'type':613,617,622 'unknown':276 'unset':281 'updat':472 'use':23,75,645 'valu':710 'view':158 'viewer':637 'worker':730 'workflow':655,662,671,673,708 'would':683 'your-api-key':66","prices":[{"id":"cbb0f1dd-59cd-4dc5-99f9-88aabf10c67a","listingId":"5be83652-ab45-4799-b93a-e53487dbe8a0","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:36:22.520Z"}],"sources":[{"listingId":"5be83652-ab45-4799-b93a-e53487dbe8a0","source":"github","sourceId":"github/awesome-copilot/phoenix-cli","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/phoenix-cli","isPrimary":false,"firstSeenAt":"2026-04-18T21:50:26.480Z","lastSeenAt":"2026-04-22T00:52:13.832Z"},{"listingId":"5be83652-ab45-4799-b93a-e53487dbe8a0","source":"skills_sh","sourceId":"github/awesome-copilot/phoenix-cli","sourceUrl":"https://skills.sh/github/awesome-copilot/phoenix-cli","isPrimary":true,"firstSeenAt":"2026-04-18T20:36:22.520Z","lastSeenAt":"2026-04-22T02:40:28.909Z"}],"details":{"listingId":"5be83652-ab45-4799-b93a-e53487dbe8a0","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"phoenix-cli","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/phoenix-cli"},"updatedAt":"2026-04-22T02:40:28.909Z"}}