{"owner":"traceloop","repo":"openllmetry","hasSkills":true,"totalSkillsCount":4,"totalTokensCount":1538,"categories":["claude-rule","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"openllmetry":{"command":"npx","args":["-y","@modelcontextprotocol/server-openllmetry"]}}},"found":["CLAUDE.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"CLAUDE.md":"# OpenLLMetry Repository Guide\n\n## Repository Structure\nThis repository contains multiple PyPI-publishable packages organized and orchestrated using Nx workspace management.\n\n### Nx Workspace Commands\n```bash\n# Run tests across all packages\nnx run-many -t test\n\n# Run linting across all packages\nnx run-many -t lint\n\n# Update lock files across all packages\nnx run-many -t lock\n\n# Run specific targets on specific packages\nnx run <package-name>:test\nnx run <package-name>:lint\n\n# Show project graph\nnx graph\n\n# Show what's affected by changes\nnx affected:test\nnx affected:lint\n```\n\n## Package Management\nAll packages use uv as the package manager. Always execute commands through uv:\n```bash\nuv run <command>\n```\n\n## Testing with VCR Cassettes\nTests utilize VCR cassettes for API calls.\n\n### Commands\n```bash\n# Run tests normally (uses existing cassettes)\nuv run pytest tests/\n\n# Re-record all cassettes (requires API keys)\nuv run pytest tests/ --record-mode=all\n\n# Record only new test episodes\nuv run pytest tests/ --record-mode=new_episodes\n\n# Record cassettes once (if they don't exist)\nuv run pytest tests/ --record-mode=once\n\n# Run tests without recording (fails if cassettes missing)\nuv run pytest tests/ --record-mode=none\n\n# Run specific test files\nuv run pytest tests/test_agents.py --record-mode=once\n```\n\n### Guidance\nRe-record cassettes when API interactions change to ensure test accuracy.\nNever commit secrets or PII. Scrub them using VCR filters (e.g., filter_headers, before_record) or your test framework's equivalent.\nStore API keys only in environment variables/secure vaults; never in code or cassettes.\nTypical record modes you may use: once, new_episodes, all, none (choose per test needs).\nCreating new cassettes requires valid API keys (OpenAI, Anthropic, etc.); ask the user to provide them if needed.\n\n## Debugging with Console Span Exporter\nFor debugging OpenTelemetry spans and hierarchy issues, use the console exporter:\n\n```python\nfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter\nfrom traceloop.sdk import Traceloop\n\nTraceloop.init(\n    app_name=\"debug-app\",\n    exporter=ConsoleSpanExporter(),\n    # other config...\n)\n```\n\nThis outputs all spans to console in JSON format, showing trace IDs, span IDs, parent relationships, and attributes for debugging span hierarchy issues.\n\n## Semantic Conventions\nThe semantic convention package follows the OpenTelemetry GenAI specification:\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/\n\n## Instrumentation Packages\nInstrumentation packages should leverage the semantic conventions package. Their purpose is to instrument AI-related libraries and generate spans and tracing data compliant with OpenTelemetry semantic conventions.\n\n## Code Quality\nRuff is used for code linting. Configuration is in each package's pyproject.toml under `[tool.ruff]`.",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/plugin.json)"},"files":{"CLAUDE.md":"# OpenLLMetry Repository Guide\n\n## Repository Structure\nThis repository contains multiple PyPI-publishable packages organized and orchestrated using Nx workspace management.\n\n### Nx Workspace Commands\n```bash\n# Run tests across all packages\nnx run-many -t test\n\n# Run linting across all packages\nnx run-many -t lint\n\n# Update lock files across all packages\nnx run-many -t lock\n\n# Run specific targets on specific packages\nnx run <package-name>:test\nnx run <package-name>:lint\n\n# Show project graph\nnx graph\n\n# Show what's affected by changes\nnx affected:test\nnx affected:lint\n```\n\n## Package Management\nAll packages use uv as the package manager. Always execute commands through uv:\n```bash\nuv run <command>\n```\n\n## Testing with VCR Cassettes\nTests utilize VCR cassettes for API calls.\n\n### Commands\n```bash\n# Run tests normally (uses existing cassettes)\nuv run pytest tests/\n\n# Re-record all cassettes (requires API keys)\nuv run pytest tests/ --record-mode=all\n\n# Record only new test episodes\nuv run pytest tests/ --record-mode=new_episodes\n\n# Record cassettes once (if they don't exist)\nuv run pytest tests/ --record-mode=once\n\n# Run tests without recording (fails if cassettes missing)\nuv run pytest tests/ --record-mode=none\n\n# Run specific test files\nuv run pytest tests/test_agents.py --record-mode=once\n```\n\n### Guidance\nRe-record cassettes when API interactions change to ensure test accuracy.\nNever commit secrets or PII. Scrub them using VCR filters (e.g., filter_headers, before_record) or your test framework's equivalent.\nStore API keys only in environment variables/secure vaults; never in code or cassettes.\nTypical record modes you may use: once, new_episodes, all, none (choose per test needs).\nCreating new cassettes requires valid API keys (OpenAI, Anthropic, etc.); ask the user to provide them if needed.\n\n## Debugging with Console Span Exporter\nFor debugging OpenTelemetry spans and hierarchy issues, use the console exporter:\n\n```python\nfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter\nfrom traceloop.sdk import Traceloop\n\nTraceloop.init(\n    app_name=\"debug-app\",\n    exporter=ConsoleSpanExporter(),\n    # other config...\n)\n```\n\nThis outputs all spans to console in JSON format, showing trace IDs, span IDs, parent relationships, and attributes for debugging span hierarchy issues.\n\n## Semantic Conventions\nThe semantic convention package follows the OpenTelemetry GenAI specification:\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/\n\n## Instrumentation Packages\nInstrumentation packages should leverage the semantic conventions package. Their purpose is to instrument AI-related libraries and generate spans and tracing data compliant with OpenTelemetry semantic conventions.\n\n## Code Quality\nRuff is used for code linting. Configuration is in each package's pyproject.toml under `[tool.ruff]`.",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# OpenLLMetry Repository Guide\n\n## Repository Structure\nThis repository contains multiple PyPI-publishable packages organized and orchestrated using Nx workspace management.\n\n### Nx Workspace Commands\n```bash\n# Run tests across all packages\nnx run-many -t test\n\n# Run linting across all packages\nnx run-many -t lint\n\n# Update lock files across all packages\nnx run-many -t lock\n\n# Run specific targets on specific packages\nnx run <package-name>:test\nnx run <package-name>:lint\n\n# Show project graph\nnx graph\n\n# Show what's affected by changes\nnx affected:test\nnx affected:lint\n```\n\n## Package Management\nAll packages use uv as the package manager. Always execute commands through uv:\n```bash\nuv run <command>\n```\n\n## Testing with VCR Cassettes\nTests utilize VCR cassettes for API calls.\n\n### Commands\n```bash\n# Run tests normally (uses existing cassettes)\nuv run pytest tests/\n\n# Re-record all cassettes (requires API keys)\nuv run pytest tests/ --record-mode=all\n\n# Record only new test episodes\nuv run pytest tests/ --record-mode=new_episodes\n\n# Record cassettes once (if they don't exist)\nuv run pytest tests/ --record-mode=once\n\n# Run tests without recording (fails if cassettes missing)\nuv run pytest tests/ --record-mode=none\n\n# Run specific test files\nuv run pytest tests/test_agents.py --record-mode=once\n```\n\n### Guidance\nRe-record cassettes when API interactions change to ensure test accuracy.\nNever commit secrets or PII. Scrub them using VCR filters (e.g., filter_headers, before_record) or your test framework's equivalent.\nStore API keys only in environment variables/secure vaults; never in code or cassettes.\nTypical record modes you may use: once, new_episodes, all, none (choose per test needs).\nCreating new cassettes requires valid API keys (OpenAI, Anthropic, etc.); ask the user to provide them if needed.\n\n## Debugging with Console Span Exporter\nFor debugging OpenTelemetry spans and hierarchy issues, use the console exporter:\n\n```python\nfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter\nfrom traceloop.sdk import Traceloop\n\nTraceloop.init(\n    app_name=\"debug-app\",\n    exporter=ConsoleSpanExporter(),\n    # other config...\n)\n```\n\nThis outputs all spans to console in JSON format, showing trace IDs, span IDs, parent relationships, and attributes for debugging span hierarchy issues.\n\n## Semantic Conventions\nThe semantic convention package follows the OpenTelemetry GenAI specification:\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/\n\n## Instrumentation Packages\nInstrumentation packages should leverage the semantic conventions package. Their purpose is to instrument AI-related libraries and generate spans and tracing data compliant with OpenTelemetry semantic conventions.\n\n## Code Quality\nRuff is used for code linting. Configuration is in each package's pyproject.toml under `[tool.ruff]`.","isInternal":false,"tokens":638,"sizeBytes":2838},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":200},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":186},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":179}],"systemPromptSnippet":"<yakaai_skills repo=\"traceloop/openllmetry\">\n<!-- File: CLAUDE.md (Tokens: ~638 | Category: claude-rule) -->\n# OpenLLMetry Repository Guide\n\n## Repository Structure\nThis repository contains multiple PyPI-publishable packages organized and orchestrated using Nx workspace management.\n\n### Nx Workspace Commands\n```bash\n# Run tests across all packages\nnx run-many -t test\n\n# Run linting across all packages\nnx run-many -t lint\n\n# Update lock files across all packages\nnx run-many -t lock\n\n# Run specific targets on specific packages\nnx run <package-name>:test\nnx run <package-name>:lint\n\n# Show project graph\nnx graph\n\n# Show what's affected by changes\nnx affected:test\nnx affected:lint\n```\n\n## Package Management\nAll packages use uv as the package manager. Always execute commands through uv:\n```bash\nuv run <command>\n```\n\n## Testing with VCR Cassettes\nTests utilize VCR cassettes for API calls.\n\n### Commands\n```bash\n# Run tests normally (uses existing cassettes)\nuv run pytest tests/\n\n# Re-record all cassettes (requires API keys)\nuv run pytest tests/ --record-mode=all\n\n# Record only new test episodes\nuv run pytest tests/ --record-mode=new_episodes\n\n# Record cassettes once (if they don't exist)\nuv run pytest tests/ --record-mode=once\n\n# Run tests without recording (fails if cassettes missing)\nuv run pytest tests/ --record-mode=none\n\n# Run specific test files\nuv run pytest tests/test_agents.py --record-mode=once\n```\n\n### Guidance\nRe-record cassettes when API interactions change to ensure test accuracy.\nNever commit secrets or PII. Scrub them using VCR filters (e.g., filter_headers, before_record) or your test framework's equivalent.\nStore API keys only in environment variables/secure vaults; never in code or cassettes.\nTypical record modes you may use: once, new_episodes, all, none (choose per test needs).\nCreating new cassettes requires valid API keys (OpenAI, Anthropic, etc.); ask the user to provide them if needed.\n\n## Debugging with Console Span Exporter\nFor debugging OpenTelemetry spans and hierarchy issues, use the console exporter:\n\n```python\nfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter\nfrom traceloop.sdk import Traceloop\n\nTraceloop.init(\n    app_name=\"debug-app\",\n    exporter=ConsoleSpanExporter(),\n    # other config...\n)\n```\n\nThis outputs all spans to console in JSON format, showing trace IDs, span IDs, parent relationships, and attributes for debugging span hierarchy issues.\n\n## Semantic Conventions\nThe semantic convention package follows the OpenTelemetry GenAI specification:\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/\n\n## Instrumentation Packages\nInstrumentation packages should leverage the semantic conventions package. Their purpose is to instrument AI-related libraries and generate spans and tracing data compliant with OpenTelemetry semantic conventions.\n\n## Code Quality\nRuff is used for code linting. Configuration is in each package's pyproject.toml under `[tool.ruff]`.\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/traceloop/openllmetry/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}