
phoenix-skill-development
Develop, refine, and maintain skills in the skills/ directory. Use when creating a new skill, updating an existing skill, adding rule files, or improving skill quality and consistency.
- Installs
- 59
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/arize-ai/phoenix --skill phoenix-skill-development- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads phoenix-skill-development automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Skill Development
Guide for creating and refining skills in the skills/ directory of this repository. Skills are packaged instructions that teach AI agents how to work with Phoenix features.
Directory Structure
skills/
{skill-name}/ # kebab-case, prefixed with "phoenix-" for Phoenix features
SKILL.md # Required: skill definition and index
README.md # Optional: human-oriented overview
rules/ # Optional: detailed rule files
{prefix}-{topic}.md
{prefix}-{topic}-{lang}.md
Existing Skills
| Skill | Purpose | Has Rules |
|---|---|---|
phoenix-tracing | OpenInference instrumentation and span types | Yes (31 files) |
phoenix-evals | Evaluator development and validation | Yes (33 files) |
phoenix-cli | CLI debugging and analysis | No (single SKILL.md) |
Creating a New Skill
1. Plan the Scope
Determine whether the skill needs rule files:
- Single SKILL.md (like
phoenix-cli): Self-contained topics, command references, single-workflow tools - SKILL.md + rules/ (like
phoenix-tracing,phoenix-evals): Multi-faceted topics with language-specific guides, multiple workflows, or extensive reference material
2. Create SKILL.md
Every skill requires a SKILL.md with YAML frontmatter:
---
name: {skill-name}
description: {What it does. When to use it. Include trigger phrases.}
license: Apache-2.0
metadata:
author: oss@arize.com
version: "1.0.0"
languages: Python, TypeScript # omit if language-agnostic
---
Frontmatter rules:
name: kebab-case, match directory namedescription: Third person, specific, includes trigger termslicense: AlwaysApache-2.0metadata.author: Useoss@arize.comfor Phoenix skillsmetadata.version: Semver string (e.g.,"1.0.0")metadata.languages: Only include if skill has language-specific contentmetadata.internal: Set totruefor skills not intended for public listing (e.g., skills in.agents/skills/). Omit for public skills inskills/.
3. Structure the SKILL.md Body
SKILL.md serves as the index and entry point. The agent reads this first and navigates to rule files as needed.
Required sections:
| Section | Purpose |
|---|---|
Title (# Name) | Skill name with brief description |
| Quick Reference | Table mapping tasks to rule files |
| Rule Categories | Table of prefix patterns |
Optional sections (include as relevant):
| Section | Purpose |
|---|---|
| When to Apply | Trigger scenarios |
| Workflows | Step-by-step paths through rules |
| Key Principles | Core decision-making guidance |
| Common Attributes | Reference tables |
| How to Use | Navigation guidance |
| References | External docs and API links |
4. Organize Rule Files
Naming Conventions
Pattern: {prefix}-{topic}[-{language}].md
Prefix categories (reuse these across skills):
| Prefix | Purpose | Example |
|---|---|---|
setup-* | Installation, configuration | setup-python.md |
fundamentals-* | Core concepts, reference | fundamentals-overview.md |
instrumentation-* | Auto/manual setup | instrumentation-auto-python.md |
span-* | Span type specifications | span-llm.md |
evaluators-* | Evaluator types, patterns | evaluators-code-python.md |
experiments-* | Datasets, running experiments | experiments-running-typescript.md |
production-* | Deployment, monitoring | production-python.md |
annotations-* | Feedback, scoring | annotations-overview.md |
validation-* | Calibration, testing | validation-calibration-python.md |
Language suffixes:
-python.md— Python-specific content-typescript.md— TypeScript-specific content- No suffix — Language-agnostic or overview (e.g.,
span-llm.md,evaluators-overview.md)
Overview files: Use -overview.md suffix for conceptual introductions (e.g., fundamentals-overview.md, production-overview.md).
Flat Structure
All rule files go directly in rules/ — no subdirectories. Use prefixes for organization, not folders.
rules/
setup-python.md # Good: flat with prefix
setup-typescript.md
span-llm.md # Good: no language suffix (language-agnostic)
evaluators-code-python.md # Good: prefix-topic-language
5. Write Rule Files
Standard Structure
# Title
Brief description of what this rule covers.
## Metadata (optional)
| Field | Value |
| ----- | ----- |
| Priority | 1 (Critical) |
| Setup Time | 5 minutes |
## Quick Start / Basic Pattern
Minimal working example.
## Detailed Sections
Expanded content with examples.
## See Also
- `related-rule.md` — Brief description
- [External docs](https://docs.arize.com/phoenix)
Code Examples
- Always use fenced blocks with language tags:
python,typescript,bash,json - Show working, copy-pasteable examples
- Include both minimal and production-ready patterns when relevant
Cross-References
- Reference other rule files by filename:
setup-python.md,span-llm.md - Reference external docs with full URLs
- Keep references one level deep (SKILL.md → rule file, not rule → rule → rule)
Refining Existing Skills
Adding a Rule File
- Choose the correct prefix from the table above (or establish a new one)
- Follow the naming convention:
{prefix}-{topic}[-{language}].md - Add an entry in
SKILL.mdunder Quick Reference and Rule Categories - Cross-reference related rules in the new file's "See Also" section
Updating SKILL.md
When adding content to SKILL.md, keep it as an index — move detailed content to rule files. SKILL.md should stay under 500 lines.
Improving Consistency
Common issues to fix when refining:
| Issue | Fix |
|---|---|
| Missing metadata table | Add Priority, Setup Time if applicable |
| Inconsistent headings | Standardize to ## Quick Start, ## See Also |
| Inline code dumps | Extract to rule files, link from SKILL.md |
| Missing cross-references | Add ## See Also with related rules |
| Vague descriptions | Make frontmatter description specific with trigger terms |
Quality Checklist
SKILL.md
- Frontmatter has all required fields (
name,description,license,metadata) -
metadata.internal: trueis set for skills in.agents/skills/; omitted for skills inskills/ - Description is third person, specific, includes trigger terms
- Quick Reference table maps tasks to rule files
- Rule Categories table lists all prefixes used
- Under 500 lines
- No detailed content that belongs in rule files
Rule Files
- Follow
{prefix}-{topic}[-{language}].mdnaming - Have a clear
# Titleand brief description - Include working code examples with language tags
- Cross-reference related rules in
## See Also - Use consistent heading structure
Overall Skill
- Flat
rules/directory (no subdirectories) - Consistent terminology throughout all files
- Language-specific content split into
-python.md/-typescript.mdfiles - Language-agnostic content has no language suffix
- No time-sensitive information (no dates, version caveats)
Anti-Patterns
Putting too much in SKILL.md. SKILL.md is an index. If a section exceeds ~30 lines of content, extract it to a rule file.
Deep reference chains. Rule files should not require reading other rule files to be useful. Each rule should be self-contained enough to act on independently.
Generic rule names. Use evaluators-code-python.md not code-eval.md. Prefixes enable discovery via ls rules/{prefix}-*.
Mixing languages in one file. Split into -python.md and -typescript.md unless the content is truly language-agnostic.
Forgetting SKILL.md updates. Every new rule file must be reflected in the SKILL.md Quick Reference and Rule Categories tables.
Workflow Summary
1. Plan scope → single SKILL.md or SKILL.md + rules/?
2. Create directory: skills/{skill-name}/
3. Write SKILL.md with frontmatter and index
4. Create rules/ directory (if needed)
5. Write rule files following naming conventions
6. Update SKILL.md index to reference all rules
7. Run quality checklist
FAQ
What does the phoenix-skill-development skill do?
Develop, refine, and maintain skills in the skills/ directory. Use when creating a new skill, updating an existing skill, adding rule files, or improving skill quality and consistency.
How do I install phoenix-skill-development?
Run npx skills add https://github.com/arize-ai/phoenix --skill phoenix-skill-development in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/phoenix-skill-development/ (personal) or .claude/skills/phoenix-skill-development/ (project).
Which AI agents can use phoenix-skill-development?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is phoenix-skill-development safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains phoenix-skill-development?
It is published by arize-ai in arize-ai/phoenix. It has 59 recorded installs.
More from arize-ai/phoenix
phoenix-cli
arize-ai/phoenix
Debug LLM applications using the Phoenix CLI (px, from @arizeai/phoenix-cli). Fetch traces, spans, and sessions, annotate them, analyze errors, measure how often a failure or pattern occurs across traces, inspect datasets, review experiments, query annotation configs, and use the GraphQL API. Use whenever the user works with a Phoenix instance from the terminal, or wants to measure or investigate something in Phoenix with the CLI.
phoenix-tracing
arize-ai/phoenix
OpenInference semantic conventions and instrumentation for Phoenix AI observability. Use when implementing LLM tracing, creating custom spans, or deploying to production.
phoenix-evals
arize-ai/phoenix
Build, run, and validate evaluators for AI/LLM applications with Phoenix, in Python or TypeScript (including Vercel AI SDK apps) — code-based checks and LLM-as-a-judge, run over exported traces or dataframes or as Phoenix experiments, gate them in CI, and validate judges against human-labeled data.
phoenix-error-analysis
arize-ai/phoenix
Find out what is going wrong in LLM or agent traffic by reading sampled Phoenix traces, spans, or sessions, writing free-form notes (open coding), then grouping the notes into a few narrow annotations, one per failure dimension with a small label set and counts, that pick eval targets and fix priorities (axial coding). Use for "what's going wrong with this agent", "I just instrumented my app, where do I start", "review these traces", "the chatbot keeps losing context", "what kinds of mistakes is the model making", "what categories of failures do we have", "what should I build evals for", "how do I prioritize fixes", "group these notes", "MECE breakdown" — or any framing that needs observations or categories grounded in real traces rather than invented top-down, even without naming the technique.
agent-browser
arize-ai/phoenix
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
vercel-react-best-practices
arize-ai/phoenix
Open the skill to read its SKILL.md instructions.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.