@@ -291,6 +291,79 @@ The following uses a utility function available on Prompt objects to transform a
291291 contents = retrieved_prompt.assemble_contents(),
292292 )
293293
294+ Skill Registry
295+ ^^^^^^^^^^^^^^
296+
297+ Create and manage skills in Skill Registry. You can optionally specify a custom string identifier using the `skill_id ` configuration parameter.
298+
299+ .. code-block :: Python
300+
301+ # Create a skill
302+ skill = client.skills.create(
303+ display_name = " weather_skill" ,
304+ description = " Retrieves the weather for a given location" ,
305+ config = {
306+ " local_path" : " ./weather_skill_dir" ,
307+ " skill_id" : " my-custom-weather-skill" ,
308+ },
309+ )
310+
311+ Get an existing skill by its resource name.
312+
313+ .. code-block :: Python
314+
315+ fetched_skill = client.skills.get(name = skill.name)
316+
317+ Update an existing skill's metadata or underlying implementation.
318+
319+ .. code-block :: Python
320+
321+ # Update skill metadata
322+ updated_skill = client.skills.update(
323+ name = skill.name,
324+ config = {
325+ " display_name" : " Updated Weather Skill" ,
326+ " description" : " Provides localized current weather conditions and multi-day forecasts." ,
327+ },
328+ )
329+
330+ List all registered skills.
331+
332+ .. code-block :: Python
333+
334+ # List skills with custom page size
335+ pager = client.skills.list(config = {" page_size" : 10 })
336+ for item in pager:
337+ print (item.name, item.display_name)
338+
339+ Search for skills semantically matched to a query.
340+
341+ .. code-block :: Python
342+
343+ # Retrieve skills matched to a semantic query
344+ matched_skills = client.skills.retrieve(query = " weather forecast" )
345+
346+ List and view revisions for a skill using the `ListSkillRevisions ` and `GetSkillRevision ` API methods.
347+
348+ .. code-block :: Python
349+
350+ # List skill revisions
351+ revisions_response = client.skills.revisions.list(name = skill.name)
352+ for rev in revisions_response.skill_revisions:
353+ print (rev.name, rev.create_time)
354+
355+ # Get a specific skill revision by its resource name
356+ if revisions_response.skill_revisions:
357+ target_revision_name = revisions_response.skill_revisions[0 ].name
358+ revision = client.skills.revisions.get(name = target_revision_name)
359+
360+ Delete a skill when it is no longer required.
361+
362+ .. code-block :: Python
363+
364+ # Delete a skill
365+ client.skills.delete(name = skill.name)
366+
294367-----------------------------------------
295368
296369.. note ::
0 commit comments