Skip to content

feat: add skillArtifactContent to SkillArtifact model#937

Open
aditya-atlan wants to merge 1 commit into
mainfrom
feat/add-skill-artifact-content
Open

feat: add skillArtifactContent to SkillArtifact model#937
aditya-atlan wants to merge 1 commit into
mainfrom
feat/add-skill-artifact-content

Conversation

@aditya-atlan
Copy link
Copy Markdown
Contributor

Summary

  • Adds skill_artifact_content (skillArtifactContent) attribute to SkillArtifact in both pyatlan (pydantic v1) and pyatlan_v9 (msgspec)
  • The Atlas API returns this attribute on SkillArtifact entities but PyAtlan currently drops it silently (Config.extra = ignore)
  • This unblocks the Atlan MCP server from surfacing skill .md body content via get_asset / search_assets without needing a raw HTTP fallback

Context

  • Context Studio teams (P&G, ColPal/Workiva demos) currently work around this by calling the REST API directly (GET /api/meta/entity/guid/{guid}) to fetch skillArtifactContent
  • With this change, client.asset.get_by_guid(guid) will preserve the content field, and FluentSearch can include it via include_on_results

Changes

  • pyatlan/model/assets/core/skill_artifact.py — added SKILL_ARTIFACT_CONTENT KeywordField, property, setter, and Attributes field
  • pyatlan_v9/model/assets/skill_artifact.py — added field to flat class, SkillArtifactAttributes, populate/extract helpers, and deferred field descriptor
  • tests/unit/model/skill_artifact_test.py — added 2 tests (default None, roundtrip set/get)

Test plan

  • pytest tests/unit/model/skill_artifact_test.py — 11/11 passing
  • pytest tests/unit/model/agentic_test.py — 4/4 passing
  • Integration test: verify get_by_guid on a real SkillArtifact returns skill_artifact_content

🤖 Generated with Claude Code

The Atlas API returns skillArtifactContent on SkillArtifact entities but
PyAtlan silently drops it (Pydantic Config.extra = ignore). This adds the
field to both pyatlan (pydantic v1) and pyatlan_v9 (msgspec) so the skill
body content is preserved through deserialization.

Unblocks MCP server from surfacing skill .md content via get_asset without
needing a raw HTTP fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant