{"id":"5be83652-ab45-4799-b93a-e53487dbe8a0","shortId":"FnuvCz","kind":"skill","title":"phoenix-cli","tagline":"Debug LLM applications using the Phoenix CLI. Fetch traces, analyze errors, structure trace review with open coding and axial coding, inspect datasets, review experiments, query annotation configs, and use the GraphQL API. Use whenever the user is analyzing traces or spans, inves","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 trace annotate <trace-id>\npx trace add-note <trace-id>\npx trace-annotations delete\npx span list\npx span annotate <span-id>\npx span add-note <span-id>\npx span-annotations delete\npx session list\npx session get <session-id>\npx session annotate <session-id>\npx session add-note <session-id>\npx session-annotations delete\npx dataset list\npx dataset get <name>\npx project list\npx project get <name>\npx annotation-config list\npx auth status\npx profile list\npx profile show [name]\npx profile create <name>\npx profile use <name>\npx profile edit <name>\npx profile delete <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## Quick Reference\n\n| Task | Files |\n| ---- | ----- |\n| Look at sampled traces, spans, or sessions and write specific notes about what went wrong (no taxonomy yet) | [references/open-coding](references/open-coding.md) |\n| Group those notes into a structured failure taxonomy and quantify what matters | [references/axial-coding](references/axial-coding.md) |\n\nBoth stages tag every artifact with one shared **coding annotation identifier** (descriptive shape, e.g. `coding-run:chatbot-context-loss-2026-05-06`) so the run is queryable, reversible, and viewable as a unit. Pass `--identifier <value>` explicitly on every `px` call — shell inheritance is unreliable across agent harnesses. Open coding writes notes via `px ... add-note` and records a small local JSONL sidecar at `.px/coding/<sanitized-identifier>.jsonl`; axial coding reads that sidecar as the deterministic handoff and records labels in `.px/coding/<sanitized-identifier>-axial.jsonl`. Pick the identifier once per run (see [references/open-coding.md](references/open-coding.md#coding-annotation-identifier-pick-this-first)), then share the Phoenix UI link from the wrap-up section. Revert is opt-in and runs three identifier-bound DELETEs only after explicit user confirmation.\n\n> **Workflow term vs. server annotation name.** The skill prose calls this value the **coding annotation identifier** (shell-variable hint: `CODING_ANNOTATION_IDENTIFIER`). The server-side annotation NAME used for the UI filter is unchanged — `coding_session_id` — for data compatibility with rows already written by previous runs. Don't try to rename the server-side annotation; treat the asymmetry as load-bearing.\n\n## Workflows\n\n**\"What do I do after instrumenting?\" / \"Where do I focus?\" / \"What's going wrong?\"**\n[open-coding](references/open-coding.md) → [axial-coding](references/axial-coding.md) → build evals for the top categories.\n\n## Reference Categories\n\n| Prefix | Description |\n| ------ | ----------- |\n| `references/open-coding` | Free-form notes against sampled traces, spans, or sessions — reach for it whenever the user wants to make sense of LLM traffic but has no failure categories yet. Includes a unit-of-analysis diagnostic so the workflow runs at the level the failure modes actually live at (trace for stateless single-shot calls, session for multi-turn agents, span for mechanical/in-isolation failures). |\n| `references/axial-coding` | Inductive grouping of notes into a MECE taxonomy with counts — reach for it whenever the user has observations and needs categories or eval targets |\n\n## Auth\n\n```bash\npx auth status                                # check connection and authentication\npx auth status --endpoint http://other:6006   # check a specific endpoint\npx auth status --profile staging              # check a named profile's connection\n```\n\n## Profiles\n\nNamed profiles let you switch between multiple Phoenix instances (local, staging, cloud) without juggling environment variables. Profiles are stored in `~/.px/settings.json` (or `$XDG_CONFIG_HOME/px/settings.json`).\n\nConfiguration priority (highest to lowest): CLI flags > env vars > active profile > built-in defaults.\n\n```bash\npx profile list                              # list all profiles (shows active profile)\npx profile show                              # show the active profile's settings\npx profile show staging                      # show a named profile's settings\npx profile create prod --endpoint https://app.phoenix.arize.com --api-key <key> --activate\npx profile create local --endpoint http://localhost:6006 --project my-app\npx profile use prod                          # switch the active profile\npx profile edit prod                         # open profile JSON in $EDITOR (validates on save)\npx profile delete prod --yes                 # delete a profile (--yes skips confirmation)\n```\n\nUse `--profile <name>` on any command to target a specific profile without changing the active one:\n\n```bash\npx trace list --profile staging --limit 10 --format raw --no-progress | jq .\npx auth status --profile prod\n```\n\n`px profile create` options: `--endpoint <url>`, `--project <name>`, `--api-key <key>`, `--header <key=value>` (repeatable), `--activate`.\n\n## Projects\n\n```bash\npx project list                                            # list all projects (table view)\npx project list --format raw --no-progress | jq '.[].name' # project names as JSON\npx project get my-project --format raw --no-progress       # single record by exact name\npx project get my-project --format raw --no-progress | jq -r '.id'  # extract project id\n```\n\n`project get` exits with `ExitCode.FAILURE` (1) on a name miss and writes a `StructuredError` `{error, code: \"FAILURE\", hint}` to stderr in `--format json|raw`.\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 --since 2025-01-15T00:00:00Z --limit 50 --format raw --no-progress | jq .\npx trace list --format raw --no-progress | jq 'sort_by(-.duration) | .[0:5]'\npx trace list --include-notes --format raw --no-progress | jq '.[].notes'\npx trace get <trace-id> --format raw | jq .\npx trace get <trace-id> --format raw | jq '.spans[] | select(.status_code != \"OK\")'\npx trace get <trace-id> --include-notes --format raw | jq '.notes'\npx trace annotate <trace-id> --name reviewer --label pass\npx trace annotate <trace-id> --name reviewer --score 0.9 --format raw --no-progress\npx trace annotate <trace-id> --name reviewer --label pass --identifier \"<coding-annotation-id>\"  # tag with a coding annotation identifier\npx trace add-note <trace-id> --text \"needs follow-up\"\npx trace add-note <trace-id> --text \"needs follow-up\" --identifier \"<coding-annotation-id>\"  # tag + upsert on identifier\npx trace-annotations delete --identifier \"<coding-annotation-id>\" --all -y            # nuke every annotation tied to this coding annotation identifier\n```\n\n`px <entity>-annotations delete` requires `--all` or both `--start-time` and `--end-time` and emits `{deleted: true, target, filter}` on success.\n\n### Trace JSON shape\n\n```\nTrace\n  traceId, status (\"OK\"|\"ERROR\"), duration (ms), startTime, endTime\n  annotations[] (with --include-annotations, excludes note)\n    name, result { score, label, explanation }\n  notes[] (with --include-notes)\n    name=\"note\", result { explanation }\n  rootSpan  — top-level span (parent_id: null)\n  spans[]\n    name, span_kind (\"LLM\"|\"CHAIN\"|\"TOOL\"|\"RETRIEVER\"|\"EMBEDDING\"|\"AGENT\"|\"RERANKER\"|\"GUARDRAIL\"|\"EVALUATOR\"|\"UNKNOWN\")\n    status_code (\"OK\"|\"ERROR\"|\"UNSET\"), parent_id, context.span_id\n    notes[] (with --include-notes)\n      name=\"note\", result { explanation }\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## 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 --since 2025-01-15T00:00:00Z --limit 50       # spans since a timestamp\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 --parent-id null --limit 10                   # only root spans\npx span list --parent-id <span-id> --limit 10              # only children of a span\npx span list --include-annotations --limit 10              # include annotation scores\npx span list --include-notes --limit 10                    # include span notes\npx span list --attribute llm.model_name:gpt-4 --limit 10  # filter by string attribute\npx span list --attribute llm.token_count.total:500 --limit 10  # filter by numeric attribute\npx span list --attribute 'user.id:\"12345\"' --limit 10     # force string match for numeric-looking value\npx span list --attribute session.id:sess:abc:123 --limit 20  # colon in value OK (split on first colon only)\npx span list --attribute llm.model_name:gpt-4 --attribute session.id:abc --limit 10  # AND multiple filters\npx span list output.json --limit 100                       # save to JSON file\npx span list --format raw --no-progress | jq '.[] | select(.status_code == \"ERROR\")'\npx span annotate <span-id> --name reviewer --label pass\npx span annotate <span-id> --name checker --score 1 --annotator-kind CODE\npx span annotate <span-id> --name reviewer --label pass --identifier \"<coding-annotation-id>\"  # tag with a coding annotation identifier\npx span add-note <span-id> --text \"verified by agent\"\npx span add-note <span-id> --text \"verified by agent\" --identifier \"<coding-annotation-id>\"  # tag + upsert on identifier\npx span-annotations delete --identifier \"<coding-annotation-id>\" --all -y           # nuke every annotation tied to this coding annotation identifier\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\n    input.value, output.value          — raw input/output\n    llm.model_name, llm.provider\n    llm.token_count.prompt/completion/total\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  annotations[] (with --include-annotations, excludes note)\n    name, result { score, label, explanation }\n  notes[] (with --include-notes)\n    name=\"note\", result { explanation }\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 list --include-annotations --include-notes --format raw --no-progress | jq '.[].notes'\npx session get <session-id> --format raw | jq .\npx session get <session-id> --include-annotations --format raw | jq '.session.annotations'\npx session get <session-id> --include-notes --format raw | jq '.session.notes'\npx session annotate <session-id> --name reviewer --label pass\npx session annotate <session-id> --name reviewer --score 0.9 --format raw --no-progress\npx session annotate <session-id> --name reviewer --label pass --identifier \"<coding-annotation-id>\"  # tag with a coding annotation identifier\npx session add-note <session-id> --text \"verified by agent\"\npx session add-note <session-id> --text \"verified by agent\" --identifier \"<coding-annotation-id>\"  # tag + upsert on identifier\npx session-annotations delete --identifier \"<coding-annotation-id>\" --all -y              # nuke every annotation tied to this coding annotation identifier\n```\n\n### Session JSON shape\n\n```\nSessionData\n  id, session_id, project_id\n  start_time, end_time\n  token_count_prompt, token_count_completion, token_count_total  — cumulative across all LLM spans in the session (int, default 0)\n  annotations[] (with --include-annotations, excludes note)\n    name, result { score, label, explanation }\n  notes[] (with --include-notes)\n    name=\"note\", result { explanation }\n  traces[]\n    id, trace_id, start_time, end_time\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 dataset get <name> --split train --format raw | jq .    # filter by split\npx dataset get <name> --version <version-id> --format raw | jq .\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## Annotation Configs\n\n```bash\npx annotation-config list                                           # list all configs (table view)\npx annotation-config list --format raw --no-progress | jq '.[].name' # config names as JSON\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","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-phoenix-cli","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/phoenix-cli","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (15,431 chars)","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-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:19.355Z","embedding":null,"createdAt":"2026-04-18T20:36:22.520Z","updatedAt":"2026-05-18T18:52:19.355Z","lastSeenAt":"2026-05-18T18:52:19.355Z","tsv":"'-01':876,1180 '-05':261 '-06':262 '-15':877,1181 '-4':1298,1358 '/.px/settings.json':609 '/completion/total':1123,1506 '/content':1132,1138,1512,1518 '/my-docs':2029 '0':901,1724 '0.9':956,1632 '00':879,1183 '00z':880,1184 '1':820,1403 '10':732,1199,1222,1252,1263,1276,1287,1300,1311,1323,1363,1557,2059 '100':1372 '123':1339 '12345':1321 '20':845,861,1156,1211,1341 '2025':875,1179 '2026':260 '5':902 '50':882,1170,1186 '60':859,1168 '6006':171,572,674 'abc':1338,1361 'across':285,1715 'activ':623,637,644,667,685,723,757 'actual':513 'ad':1883 'ad-hoc':1882 'add':84,100,119,295,979,989,1425,1434,1655,1664 'add-not':83,99,118,294,978,988,1424,1433,1654,1663 'agent':286,528,1090,1430,1439,1474,1660,1669,1975 'ai':1850 'alreadi':411 'alway':190 'analysi':501 'analyz':13,41 'annot':29,80,89,96,105,115,124,140,248,333,371,381,388,394,425,945,952,964,974,1004,1011,1016,1019,1052,1056,1274,1278,1392,1399,1405,1410,1420,1448,1455,1460,1530,1534,1582,1604,1621,1628,1640,1650,1678,1685,1690,1725,1729,1851,1856,1866 'annotation-config':139,1855,1865 'annotator-kind':1404 'api':35,180,184,665,751,1897,1904,1916,1928,1942 'api-key':664,750 'app':678 'app.phoenix.arize.com':663 'applic':6 'arizeai/phoenix-cli':55 'artifact':243 'asc':1568 'asymmetri':428 'attribut':1113,1294,1304,1308,1315,1319,1335,1354,1359,1496 'auth':144,187,558,561,568,578,740 'authent':566 'axial':22,307,453 'axial-cod':452 'axial.jsonl':321 'bash':49,71,166,559,629,725,759,840,1151,1552,1757,1853,1895,1976 'bear':432 'bound':360 'build':456 'built':626 'built-in':625 'call':280,376,522 'categori':461,463,494,554 'chain':1086,1470 'chang':721 'chat':1219 'chatbot':257 'chatbot-context-loss':256 'check':563,573,582 'checker':1401 'children':1265 'clear':2017 'cli':3,10,47,60,619 'cloud':600 'code':20,23,247,254,289,308,332,380,387,403,450,454,830,931,973,1015,1096,1208,1388,1407,1419,1459,1480,1649,1689,1974 'coding-annotation-identifier-pick-this-first':331 'coding-run':253 'colon':1342,1349 'command':64,714,1890 'compat':408 'complet':1220,1710 'config':30,141,612,1852,1857,1861,1867,1876 'configur':614 'confirm':366,709 'connect':564,587 'context':258 'context.span':1102,1486 'context.trace':1488 'count':543,1706,1709,1712,1811 'cover':1887 'creat':155,660,670,746 'cumul':1714 'custom':2030 'data':407,1894 'data.__type.fields':1952 'data.datasets.edges':1925 'data.evaluators.edges':1936 'data.projects.edges':1913 'dataset':25,127,130,1754,1759,1769,1780,1791,1800,1918,1957,2040 'datasetcount':1900,1961 'debug':4 'default':628,1723,1981,2055,2058 'delet':90,106,125,164,361,701,704,1005,1020,1034,1449,1679 'descript':250,465 'determinist':314 'diagnost':502 'dir':2028,2054 'directori':2032 'doc':1965,1978,1983,1987,1994,1996,2003,2014,2024 'document':1968 'download':1966,2012,2022 'dri':2006,2049 'dry-run':2005,2048 'durat':900,1048 'e.g':252 'edg':1907,1919,1931 'edit':161,689 'editor':695 'embed':1089,1473 'emit':1033 'enabl':189 'end':1030,1494,1703,1752 'end-tim':1029 'endpoint':570,576,662,672,748 'endtim':1051 'env':621 'environ':603 'error':14,829,870,1047,1098,1149,1209,1213,1389,1482,1529,1822,1825 'etc':1144,1524 'eval':457,556 'evalu':1093,1477,1930,1959,2001,2039 'evaluatorcount':1902,1963 'everi':242,278,1010,1454,1684 'exact':796 'exampl':1774 'examplecount':1922 'exception.message':1145,1525 'exclud':1057,1535,1730 'exit':817 'exitcode.failure':819 'expect':1777 'experi':27,1755,1798,1813 'experimentcount':1923 'explan':1063,1072,1112,1541,1550,1736,1745 'explicit':276,364 'export':167,172,178 'extract':812 'fail':1809 'failur':231,493,511,532,831 'fetch':11,1979,1980,1988,1991,1997,2004,2015,2025 'field':1947,1955 'file':204,1376 'filter':400,1037,1223,1301,1312,1366,1787 'first':337,1348 'flag':620 'focus':443 'follow':984,994 'follow-up':983,993 'forc':1324 'form':469 'format':192,733,771,788,804,836,846,862,883,892,909,919,925,939,957,1233,1380,1558,1569,1586,1596,1605,1615,1633,1761,1771,1784,1794,1801,1815,1829,1839,1869 'free':468 'free-form':467 'get':70,77,112,131,137,784,800,816,918,924,935,1595,1601,1611,1770,1781,1792,1814,1838 'global':53 'go':446 'gpt':1297,1357 'graphql':34,1880,1898,1905,1917,1929,1943 'group':225,535 'guardrail':1092,1476 'handoff':315 'har':287 'header':753 'highest':616 'hint':386,832 'hoc':1884 'home/px/settings.json':613 'host':169,2046 'hour':1174 'id':405,811,814,1079,1101,1103,1232,1249,1261,1487,1489,1491,1576,1696,1698,1700,1747,1749,1807 'ideal':1846 'identifi':249,275,324,334,359,382,389,969,975,996,1000,1006,1017,1415,1421,1440,1444,1450,1461,1645,1651,1670,1674,1680,1691 'identifier-bound':358 'includ':496,907,937,1055,1067,1107,1273,1277,1284,1288,1533,1545,1581,1584,1603,1613,1728,1740 'include-annot':1054,1272,1532,1580,1602,1727 'include-not':906,936,1066,1106,1283,1544,1583,1612,1739 'induct':534 'inherit':282 'input':1775,1824 'input.value':1114,1497 'input/output':1117,1500 'inspect':24 'instal':52,57 'instanc':597 'instrument':439 'int':1722 'integr':2042 'introspect':1938 'inv':45 'invoc':48 'jq':200,738,776,809,851,867,888,897,914,921,927,941,1238,1385,1563,1574,1591,1598,1607,1617,1766,1773,1786,1796,1806,1820,1834,1874,1912,1924,1935,1951 'json':693,781,837,1041,1141,1375,1463,1521,1693,1879 'jsonl':302,306 'juggl':602 'key':181,185,666,752,754,1953,2033 'kind':1084,1196,1406,1468,1934 'label':318,948,967,1062,1395,1413,1540,1624,1643,1735 'last':856,1165,1173 'last-n-minut':855,1164 'let':591 'level':509,1076 'like':67 'limit':731,844,860,881,1155,1169,1185,1198,1210,1221,1251,1262,1275,1286,1299,1310,1322,1340,1362,1371,1556 'link':343 'list':68,74,93,109,128,134,142,148,632,633,728,762,763,770,843,854,873,891,905,1154,1163,1177,1193,1205,1217,1229,1246,1258,1271,1282,1293,1307,1318,1334,1353,1369,1379,1555,1566,1579,1760,1799,1828,1858,1859,1868 'live':514 'llm':5,488,1085,1197,1201,1469,1717 'llm.input':1127,1507 'llm.invocation':1139,1519 'llm.model':1118,1295,1355,1501 'llm.output':1133,1513 'llm.provider':1120,1503 'llm.token_count.completion_details.reasoning':1126 'llm.token_count.prompt':1122,1505 'llm.token_count.prompt/completion/total':1121,1504 'llm.token_count.prompt_details.cache':1124 'llm.token_count.total:500':1309 'load':431 'load-bear':430 'local':301,598,671,1971 'localhost':170,673 'look':205,1330 'loss':259 'lowest':618 'make':485 'markdown':1969 'match':1326 'matter':236 'mece':540 'mechanical/in-isolation':531 'messag':1128,1134,1485,1508,1514 'message.role':1131,1137,1511,1517 'message.role/content':1130,1136,1510,1516 'minut':858,1167 'miss':824 'mode':512 'ms':1049 'multi':526 'multi-turn':525 'multipl':595,1365 'my-app':676 'my-project':175,785,801 'n':857,1129,1135,1166,1509,1515 'name':152,372,395,584,589,654,777,779,797,823,946,953,965,1059,1069,1082,1109,1119,1218,1226,1296,1356,1393,1400,1411,1466,1502,1537,1547,1622,1629,1641,1732,1742,1767,1808,1835,1875,1877,1909,1921,1933,1945,1948,1950 'need':553,982,992 'no-progress':194,735,773,790,806,848,864,885,894,911,959,1235,1382,1560,1571,1588,1635,1763,1803,1817,1831,1841,1871 'node':1908,1914,1920,1926,1932,1937 'note':85,101,120,215,227,291,296,470,537,908,915,938,942,980,990,1058,1064,1068,1070,1104,1108,1110,1285,1290,1426,1435,1536,1542,1546,1548,1585,1592,1614,1656,1665,1731,1737,1741,1743 'npx':54 'nuke':1009,1453,1683 'null':1080,1250,1823 'numer':1314,1329 'numeric-look':1328 'observ':551 'ok':932,1046,1097,1345,1481 'one':245,724 'open':19,288,449,691 'open-cod':448 'opt':353 'opt-in':352 'option':747,2034 'order':1567 'output':1776,1778,1892,2027,2031,2053 'output-dir':2026,2052 'output.json':1370 'output.value':1115,1498 'paramet':1140,1520 'parent':1078,1100,1248,1260,1490 'parent-id':1247,1259 'pass':274,949,968,1396,1414,1625,1644 'per':326 'phoenix':2,9,46,168,173,179,341,596,1967 'phoenix-c':1 'pick':322,335 'pipe':198,1848 'plain':1844 'prefix':464 'preview':2008 'previous':414 'prioriti':615 'prod':661,682,690,702,743 'profil':147,150,154,157,160,163,580,585,588,590,605,624,631,635,638,640,645,649,655,659,669,680,686,688,692,700,706,711,719,729,742,745 'progress':196,737,775,792,808,850,866,887,896,913,961,1237,1384,1562,1573,1590,1637,1765,1805,1819,1833,1843,1873 'project':133,136,174,177,675,749,758,761,765,769,778,783,787,799,803,813,815,1699,1906,1946,1956 'projectcount':1899,1960 'prompt':1707,1756,1827,1837,1958,2041 'promptcount':1901,1962 'prose':375 'px':50,72,75,78,81,86,91,94,97,102,107,110,113,116,121,126,129,132,135,138,143,146,149,153,156,159,162,279,293,560,567,577,630,639,648,658,668,679,687,699,726,739,744,760,768,782,798,841,852,871,889,903,916,922,933,943,950,962,976,986,1001,1018,1152,1161,1175,1191,1203,1215,1227,1244,1256,1269,1280,1291,1305,1316,1332,1351,1367,1377,1390,1397,1408,1422,1431,1445,1553,1564,1577,1593,1599,1609,1619,1626,1638,1652,1661,1675,1758,1768,1779,1790,1797,1812,1826,1836,1854,1864,1896,1903,1915,1927,1941,1977,1986,1995,2002,2013,2023 'px/coding':305,320 'px/docs':1985,2018,2056 'quantifi':234 'queri':28,1885 'queryabl':267 'quick':201 'r':810 'raw':193,734,772,789,805,838,847,863,884,893,910,920,926,940,958,1116,1234,1381,1499,1559,1570,1587,1597,1606,1616,1634,1762,1772,1785,1795,1802,1816,1830,1870 're':2021 're-download':2020 'reach':477,544 'read':309,1125 'recent':1157 'record':298,317,794 'refer':202,462 'references/axial-coding':237,533 'references/axial-coding.md':238,455 'references/open-coding':223,466 'references/open-coding.md':224,329,330,451 'refresh':2016,2051 'renam':420 'repeat':756,2036 'requir':58,1021 'rerank':1091,1475 'resourc':63 'result':1060,1071,1111,1538,1549,1733,1744 'retriev':1088,1472 'revers':268 'revert':350 'review':17,26,947,954,966,1394,1412,1623,1630,1642 'root':1254,1954 'rootspan':1073 'row':410 'run':255,265,327,356,415,506,1810,2007,2050 'sampl':207,472 'save':698,1373 'score':955,1061,1279,1402,1539,1631,1734 'sdk':2043 'section':349 'see':328 'select':868,929,1386,1821 'self':2045 'self-host':2044 'sens':486 'server':370,392,423 'server-sid':391,422 'sess':1337 'session':108,111,114,117,123,211,404,476,523,1551,1554,1565,1575,1578,1594,1600,1610,1620,1627,1639,1653,1662,1677,1692,1697,1721 'session-annot':122,1676 'session.annotations':1608 'session.id':1336,1360 'session.notes':1618 'sessiondata':1695 'set':647,657,1146,1526 'setup':165 'shape':251,1042,1464,1694 'share':246,339 'shell':281,384 'shell-vari':383 'shot':521 'show':151,636,641,642,650,652 'side':393,424 'sidecar':303,311 'sinc':874,1178,1188 'singl':520,793 'single-shot':519 'singular':62 'skill':374 'skill-phoenix-cli' 'skip':708 'small':300 'sort':898 'source-github' 'span':44,92,95,98,104,209,474,529,928,1077,1081,1083,1148,1150,1153,1158,1162,1171,1176,1187,1192,1195,1202,1204,1214,1216,1225,1228,1240,1245,1255,1257,1268,1270,1281,1289,1292,1306,1317,1333,1352,1368,1378,1391,1398,1409,1423,1432,1447,1462,1465,1467,1528,1718 'span-annot':103,1446 'span-kind':1194 'specif':214,575,718 'split':1346,1782,1789 'stage':240,581,599,651,730 'start':1026,1492,1701,1750 'start-tim':1025 'starttim':1050 'stateless':518 'status':145,562,569,579,741,869,930,1045,1095,1207,1387,1479,1484 'status-cod':1206 'stderr':834 'store':607 'string':1142,1303,1325,1522 'structur':15,230 'structurederror':828 'subcommand':66 'success':1039 'switch':593,683 't00':878,1182 'tabl':766,1159,1862 'tag':241,970,997,1416,1441,1646,1671 'target':557,716,1036 'task':203 'taxonomi':221,232,541 'temperatur':1143,1523 'term':368 'text':981,991,1427,1436,1657,1666,1840,1845 'three':357 'tie':1012,1456,1686 'time':1027,1031,1493,1495,1702,1704,1751,1753 'timestamp':1190 'token':1705,1708,1711 'tokencounttot':1911 'tool':1087,1471 'top':460,1075 'top-level':1074 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'total':1713 'trace':12,16,42,73,76,79,82,88,208,473,516,727,839,842,853,872,890,904,917,923,934,944,951,963,977,987,1003,1040,1043,1231,1243,1746,1748,1990,1993,1999,2038 'trace-annot':87,1002 'trace-id':1230 'tracecount':1910 'traceid':1044 'traffic':489 'train':1783 'treat':426 'tri':418 'true':1035 'turn':527 'type':1940,1944,1949 'ui':342,399 'unchang':402 'unit':273,499 'unit-of-analysi':498 'unknown':1094,1478 'unreli':284 'unset':1099,1483 'upsert':998,1442,1672 'use':7,32,36,61,158,191,396,681,710,1972 'user':39,365,482,549 'user.id':1320 'valid':696 'valu':378,755,1331,1344,2037 'var':622 'variabl':385,604 'verifi':1428,1437,1658,1667 'version':1793 'via':292 'view':767,1160,1863 'viewabl':270 'viewer':1964 'vs':369 'want':483 'went':218 'whenev':37,480,547 'without':601,720 'worker':2057 'workflow':367,433,505,1982,1989,1998,2000,2035 'would':2010 'wrap':347 'wrap-up':346 'write':213,290,826 'written':412 'wrong':219,447 'xdg':611 'y':1008,1452,1682 'yes':703,707 'yet':222,495 'your-api-key':182","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-05-18T18:52:19.355Z"},{"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-05-07T22:40:44.068Z"}],"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","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"bb7d71d9e192ea1f6655ef777b296d94e1f3c668","skill_md_path":"skills/phoenix-cli/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/phoenix-cli"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"phoenix-cli","license":"Apache-2.0","description":"Debug LLM applications using the Phoenix CLI. Fetch traces, analyze errors, structure trace review with open coding and axial coding, inspect datasets, review experiments, query annotation configs, and use the GraphQL API. Use whenever the user is analyzing traces or spans, investigating LLM/agent failures, deciding what to do after instrumenting an app, building failure taxonomies, choosing what evals to write, or asking \"what's going wrong\", \"what kinds of mistakes\", or \"where do I focus\" — even without naming a technique.","compatibility":"Requires Node.js (for npx) or global install of @arizeai/phoenix-cli. Optionally requires jq for JSON processing."},"skills_sh_url":"https://skills.sh/github/awesome-copilot/phoenix-cli"},"updatedAt":"2026-05-18T18:52:19.355Z"}}