CtrlK
BlogDocsLog inGet started
Tessl Logo

identity

Query identity change logs (id_changes, validation_failures) to explore profile creation, merging, evictions, and validation errors

56

Quality

63%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./realtime-skills/identity/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable, with executable SQL covering the common query patterns for both tables, and it is well organized for a single-file skill. Its main weaknesses are a duplicated stitching explanation that wastes tokens and a workflow that is implied by scattered sections rather than presented as an explicit sequence.

Suggestions

Remove the "Understanding stitching" section or reduce it to a one-line cross-reference, since it restates the "Profile change types" section almost verbatim.

Add a short numbered workflow at the top (1. Ask for the parent segment ID if not given, 2. Build the database name cdp_audience_<segment_id>_rt, 3. Apply the default TD_INTERVAL time range, 4. Run the queries) so the sequence is explicit.

Consider moving the full column-by-column schemas to a references/ file (e.g. SCHEMA.md) and keeping SKILL.md to an overview plus the query patterns.

DimensionReasoningScore

Conciseness

The body is mostly efficient — the domain background, schemas, and change-type semantics are information Claude would not already know — but the "Understanding stitching" section repeats the "Profile change types" section nearly verbatim (profile_added, profile_updated_by_stitching, merged and evicted rows explained twice), which is unnecessary padding that could be tightened.

3 / 5

Actionability

Provides fully executable, copy-paste-ready Trino/Presto queries covering the common cases: the eviction-count aggregation, the 8-hour log sample, the UNNEST/json_extract validation-failure query, and the cross-table td_rt_tracking_id trace. Only the kv_map snippet runs on literal sample data, which is a reasonable demonstration pattern, so this matches the top anchor rather than the 'minor gaps' anchor below it.

5 / 5

Workflow Clarity

The workflow pieces exist (must ask for the parent segment ID, database name format cdp_audience_<id>_rt, default TD_INTERVAL '-1d/now' when no time range given) but the sequence is never enumerated — it is scattered across Requirements, Database, and Query tips sections with implicit checkpoints, matching the 'sequence present but checkpoints missing or implicit' anchor. All queries are read-only, so the destructive-operation cap does not apply.

3 / 5

Progressive Disclosure

Good structure with well-organized sections (per-table schemas, change types, query tips, common queries) and no nested references; the minor gap is that ~200 lines of schema and change-type detail could arguably live in a separate reference file, keeping it just below the top anchor.

4 / 5

Total

15

/

20

Passed

Description

58%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description clearly communicates a specific capability domain backed by concrete table names and multiple distinct actions, but it entirely lacks trigger guidance. Adding a 'Use when...' clause with the natural user phrases (identity stitching, id stitching, real time profiles) would address both the completeness cap and the trigger-term gap.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks about identity stitching, id stitching, profile merges, or real time profile issues."

Include the natural user phrases from the body ("identity stitching", "id stitching", "real time profiles") as trigger terms instead of relying on table names like id_changes that users would not say.

Replace the abstract verb "explore" with concrete actions such as "query and analyze" or "trace" to sharpen the what-clause.

DimensionReasoningScore

Specificity

Names the domain ("identity change logs") with two concrete table names and several distinct actions ("profile creation, merging, evictions, and validation errors"), matching the anchor for several specific actions with minor gaps; it falls short of 5 because "explore" is abstract and the actions name topics rather than concrete operations.

4 / 5

Completeness

It clearly answers "what" (query identity change logs to explore creation, merging, evictions, validation errors) but contains no "Use when..." clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Relevant keywords like "profile creation", "merging", "evictions", and "validation errors" are present, but the natural phrases a user would say ("identity stitching", "id stitching", "real time profiles" — which the body itself names as triggers) are absent and the table names are technical jargon, matching the 'some relevant keywords but missing common variations' anchor.

3 / 5

Distinctiveness Conflict Risk

Identity change logs for profile stitching is a clear niche with specific table names and minimal conflict risk; not 5 because "validation errors" is a generic phrase that could overlap with unrelated validation-focused skills.

4 / 5

Total

14

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
treasure-data/td-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.