acquire-codebase-knowl…
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document…
Optimizes, improves, and debugs LLM prompts using production trace data, evaluations, and annotations. Extracts prompts from spans, gathers performance signal, and runs a data-driven optimization loop using the ax CLI. Use when the user mentions optimize prompt, improve prompt,
$ npx -y skills add github/awesome-copilot --skill arize-prompt-optimization --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/arize-prompt-optimizationContext preview
The summary Claude sees to decide when to auto-load this skill.
Optimizes, improves, and debugs LLM prompts using production trace data, evaluations, and annotations. Extracts prompts from spans, gathers performance signal, and runs a data-driven optimization loop using the ax CLI. Use when the user mentions optimize prompt, improve prompt,
name: arize-prompt-optimization description: Optimizes, improves, and debugs LLM prompts using production trace data, evaluations, and annotations. Extracts prompts from spans, gathers performance signal, and runs a data-driven optimization loop using the ax CLI. Use when the user mentions optimize prompt, improve prompt, make AI respond better, improve output quality, prompt engineering, prompt tuning, or system prompt improvement. metadata: author: arize version: "1.0" compatibility: Requires the ax CLI and a configured Arize profile.
> **`SPACE`** — All `--space` flags and the `ARIZE_SPACE` env var accept a space **name** (e.g., `my-workspace`) or a base64 space **ID** (e.g., `U3BhY2U6...`). Find yours with `ax spaces list`.
LLM applications emit spans following OpenInference semantic conventions. Prompts are stored in different span attributes depending on the span kind and instrumentation:
| Column | What it contains | When to use | |--------|-----------------|-------------| | `attributes.llm.input_messages` | Structured chat messages (system, user, assistant, tool) in role-based format | **Primary source** for chat-based LLM prompts | | `attributes.llm.input_messages.roles` | Array of roles: `system`, `user`, `assistant`, `tool` | Extract individual message roles | | `attributes.llm.input_messages.contents` | Array of message content strings | Extract message text | | `attributes.input.value` | Serialized prompt or user question (generic, all span kinds) | Fallback when structured messages are not available | | `attributes.llm.prompt_template.template` | Template with `{variable}` placeholders (e.g., `"Answer {question} using {context}"`) | When the app uses prompt templates | | `attributes.llm.prompt_template.variables` | Template variable values (JSON object) | See what values were substituted into the template | | `attributes.output.value` | Model response text | See what the LLM produced | | `attributes.llm.output_messages` | Structured model output (including tool calls) | Inspect tool-calling responses |
These columns carry the feedback data used for optimization:
| Column pattern | Source | What it tells you | |---------------|--------|-------------------| | `annotation.<name>.label` | Human reviewers | Categorical grade (e.g., `correct`, `incorrect`, `partial`) | | `annotation.<name>.score` | Human reviewers | Numeric quality score (e.g., 0.0 - 1.0) | | `annotation.<name>.text` | Human reviewers | Freeform explanation of the grade | | `eval.<name>.label` | LLM-as-judge evals | Automated categorical assessment | | `eval.<name>.score` | LLM-as-judge evals | Automated numeric score | | `eval.<name>.explanation` | LLM-as-judge evals | Why the eval gave that score -- **most valuable for optimization** | | `attributes.input.value` | Trace data | What went into the LLM | | `attributes.output.value` | Trace data | What the LLM produced | | `{experiment_name}.output` | Experiment runs | Output from a specific experiment |
Proceed directly with the task — run the `ax` command you need. Do NOT check versions, env vars, or profiles upfront.
If an `ax` command fails, troubleshoot based on the error:
# Sample LLM spans (where prompts live) ax spans export PROJECT --filter "attributes.openinference.span.kind = 'LLM'" -l 10 --stdout # Filter by model ax spans export PROJECT --filter "attributes.llm.model_name = 'gpt-4o'" -l 10 --stdout # Filter by span name (e.g., a specific LLM call) ax spans export PROJECT --filter "name = 'ChatCompletion'" -l 10 --stdout
# Export all spans in a trace ax spans export PROJECT --trace-id TRACE_ID # Export a single span ax spans export PROJECT --span-id SPAN_ID
# Extract structured chat messages (system + user + assistant)
jq '.[0] | {
messages: .attributes.llm.input_messages,
model: .attributes.llm.model_name
}' trace_*/spans.json
# Extract the system prompt specifically
jq '[.[] | select(.attributes.llm.input_messages.roles[]? == "system")] | .[0].attributes.llm.input_messages' trA community-created collection of custom agents, instructions, skills, hooks, workflows, and plugins to supercharge your GitHub Copilot experience.
Repo: github/awesome-copilot
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document…
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS…
Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting…
Use this skill when the user shares ad campaign performance data and asks what to cut, scale, or test. Trigger for prompts like "analyze my ad campaigns",…
Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.