← SongstatsCONTENT HISTORY

Update to Songstats

Snapshot Sep 30, 2026 · 23:19 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Supporting file metadata differs

Newly listed paths: agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Supporting files

Before

[]

After

[{"relative_path":"agents/openai.yaml","size_in_bytes":245}]

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /included_files

BEFORE
[]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 245
  }
]
Full snapshot data
{
  "description": "Analyze authorized Songstats music data for artists, labels, collaborators, and tracks. Use for catalog discovery, current or historical performance, release momentum, audience geography, playlist and curator drivers, track comparisons, and source-level trends through the connected Songstats MCP server.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 245
    }
  ],
  "name": "songstats-music-analytics",
  "skill_md_contents": "---\nname: songstats-music-analytics\ndescription: Analyze authorized Songstats music data for artists, labels, collaborators, and tracks. Use for catalog discovery, current or historical performance, release momentum, audience geography, playlist and curator drivers, track comparisons, and source-level trends through the connected Songstats MCP server.\n---\n\n# Songstats Music Analytics\n\nUse Songstats as the source of truth for account-scoped music analytics. Resolve\nthe subject and access context before requesting performance data, then select\nthe smallest workflow that answers the question.\n\n## Resolve identity and access\n\n1. Start with `list_accessible_profiles` for \"my artist,\" \"our label,\" a\n   collaborator, or any profile name. Use `profile_type`, `query`, `limit`, and\n   `offset` when needed.\n2. Use `list_profile_tracks` for releases belonging to one accessible profile.\n3. Use `search_catalog` only when the subject is not resolved from accessible\n   profiles or their tracks. Search results are global: inspect `accessible`\n   and preserve `access_context` before querying a result.\n4. Resolve ambiguous names to a public Songstats ID. Ask the user to choose\n   when multiple plausible matches remain.\n5. Do not use the deprecated `search_songstats` alias unless compatibility\n   requires it.\n\n## Choose the workflow\n\n- For a current artist, label, or collaborator overview, call the matching\n  `get_*_insights` bundle. Start with `source=all` unless the user requests a\n  specific platform.\n- For a track, prefer a result from `list_profile_tracks` and pass its\n  `access_context` to `get_track_insights`. If only `songstats_track_id` is\n  available, allow the tool to resolve an accessible parent.\n- For trends or period comparisons, request `historic_stats` with explicit\n  `start_date` and `end_date`. Use `stats` for current totals.\n- For geography, request `audience` first, then `audience/details` with one\n  relevant two-letter `country_code`. Use track `locations` when the question\n  concerns a release rather than a profile.\n- For associated drivers, use `top_tracks`, `top_playlists`, `top_curators`,\n  `activities`, or catalog data with a visible source and metric.\n- For an uncommon read-only question, call\n  `songstats_enterprise_api_guide`, then `describe_enterprise_endpoint`, then\n  `call_enterprise_endpoint` with only documented parameters.\n\nKeep comparisons to five profiles or tracks by default. Use the same source,\nmetric definition, and explicit date window for every subject.\n\n## Interpret results\n\n- Convert relative periods into explicit dates and state the selected window.\n- Distinguish current totals, absolute change, and percentage change.\n- Compare only like-for-like metrics. Never invent a cross-platform composite\n  score.\n- Treat playlists, curators, activities, and locations as associated evidence;\n  do not claim causation from correlation alone.\n- State the Songstats objects, sources, access scope, and dates used.\n- Treat missing fields as unavailable, not zero.\n- When a bundle returns `partial=true`, use successful sections and identify\n  the unavailable endpoints.\n\n## Handle limits and unavailable access\n\n- Respect `retry_after`; do not automatically retry a limited request.\n- If authorization is expired or the profile is inaccessible, explain the\n  returned recovery action instead of working around Songstats access controls.\n- If the Songstats MCP connection is unavailable, ask the user to connect or\n  reauthorize Songstats. Do not replace private account analysis with open-web\n  estimates or model memory.\n"
}

SHA-256 of public snapshot: 46900fc82048c42090acf3818106833377fd277e28c3f3bfce6d1c42a1b26c54