# Identify Top Key Values

> Analyze RT event tables to identify the most common values for stitching keys. Use when inspecting what ID values are actually flowing into RT 2.0, debugging unexpected stitching behavior, or checking for data quality issues like nulls or empty stitching keys.

- Skill: `treasure-data/identify-top-key-values` (Agent Skill)
- Install (CLI): `npx skillmds@latest add treasure-data/identify-top-key-values`
- Raw SKILL.md: https://api.skillmd.com/api/skills/treasure-data/identify-top-key-values/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: treasure-data (https://skillmd.com/u/treasure-data)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/treasure-data/identify-top-key-values

---


# Identify Top Key Values

This skill is used to inspect the actual data flowing into RT 2.0 event tables and analyze the distribution of stitching key values. It helps debug ID stitching issues by showing the most common values for each configured stitching key, including nulls and empty values that might cause problems. This is what's seen in plazma and may not be different than what the rt system ignores by configuration.

Use this skill when you want to understand:
- What ID values are actually present in your event data
- Distribution patterns of stitching keys
- Data quality issues (nulls, test values, invalid formats)

## Requirements

In order to analyze key values we need:
1. **Parent segment ID** - The RT-enabled parent segment to inspect
2. **Correctly configured tdx CLI** or Treasure Data MCP server (@treasuredata/mcp-server)
3. **API key with database access** to query the event tables
4. **Existing RT configuration** with event tables and stitching keys configured

## Process

This skill will:
1. **Inspect RT configuration** to get event tables and stitching keys
2. **Generate dynamic query** based on configured keys
3. **Analyze recent data** (default: last 3 hours) for distribution patterns
4. **Show top values** including nulls and potentially problematic values

## Getting RT Configuration

First, inspect the current RT configuration to understand what to analyze:

```bash
# Get RT configuration via CDP API
tdx api "/audiences/<parent_segment_id>/realtime_setting" --type cdp --method GET

# Example response:
# {
#   "keyColumns": [
#     { "name": "td_client_id" }
#   ],
#   "eventTables": [
#     { "database": "engage_in_app_message", "table": "be_users" }
#   ],
#   "status": "ok"
# }
```

## Core Query Template

Based on your RT configuration, generate a query like this example for parent segment 508396:

RT Configuration:
- **eventTables**: `engage_in_app_message.be_users`
- **keyColumns**: `td_client_id`

```sql
-- Most common values in last 3 hours (including nulls/empties)
SELECT
  key_name,
  value,
  event_count
FROM (
  SELECT 'td_client_id' as key_name, td_client_id as value, COUNT(*) as event_count
  FROM engage_in_app_message.be_users
  WHERE td_interval(time, '-3h/now')
  GROUP BY td_client_id
)
ORDER BY event_count DESC
LIMIT 100;
```

## Related Skills

- **rt-config-id-stitching**: Configure stitching keys and exclude patterns
- **rt-config-setup**: View current RT configuration
- **id-graph-canonical-id-size**: Analyze resulting canonical ID groups
- **id-graph-ids-to-canonical-id**: Check for over-stitching issues
