code: def test_put_skill_update(client):
      create_request = {
          "skill": {
              "name": "test_put_skill_update",
              "type": "Knowledge Base",
              "params": {
                  "k1": "v1",
                  "k2": "v2",
              },
          }
      }
  
      create_response = client.put(
          "/api/projects/mindsdb/skills/test_put_skill_update",
          json=create_request,
          follow_redirects=True,
      )
      assert "201" in create_response.status
  
      update_request = {
          "skill": {
              "name": "test_put_skill_update_new",
              "type": "New Type",
              "params": {
                  # Remove k1, change k2, add k3
                  "k1": None,
                  "k2": "v2.1",
                  "k3": "v3",
              },
          }
      }
      create_response = client.put(
          "/api/projects/mindsdb/skills/test_put_skill_update",
          json=update_request,
          follow_redirects=True,
      )
      assert "200" in create_response.status
      updated_skill = create_response.get_json()
  
      expected_skill = {
          "id": updated_skill["id"],
          "project_id": updated_skill["project_id"],
          "agent_ids": [],
          "name": "test_put_skill_update_new",
          "type": "New Type",
          "params": {"k2": "v2.1", "k3": "v3"},
      }
      assert updated_skill == expected_skill
  
imports: import os
  import pytest
  from tempfile import TemporaryDirectory
  from mindsdb.api.http.initialize import initialize_app
  from mindsdb.migrations import migrate
  from mindsdb.interfaces.storage import db
  from mindsdb.utilities.config import Config
label_desc: Use image node_id 14 for calling a global function with example usage: test_put_skill_update(client) without return types