How to plot a sphere with Cartesian coordinate axes?

For instance, you can do the following:

Show[Graphics3D[
  MapThread[{Black, Arrow@Tube@{{0, 0, 0}, #1}, 
     Text[#2, #1, {0, -1}]} &, {2 IdentityMatrix[3], {x, y, z}}], 
  Boxed -> False], 
 ContourPlot3D[
  x^2 + y^2 + z^2 == 1, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}, 
  ContourStyle -> Opacity[1/2]]]

enter image description here


Show[



     Graphics3D@{Arrow[{{0, 0, 0}, {1, 0, 0}}]},
     Graphics3D@{Arrow[{{0, 0, 0}, {0, 1, 0}}]},
     Graphics3D@{Arrow[{{0, 0, 0}, {0, 0, 1}}]},


     ContourPlot3D[
         x^2 + y^2 + z^2 == .05,  

        {x, -1, 1}, {y, -1, 1}, {z, -1, 1},

        ContourStyle -> {Green, Opacity[0.1]}, 
        Mesh -> 1,
        MeshStyle -> Red
    ],



    Boxed -> False
]

enter image description here

Graphics3D@{Text[X, {1.1, 0, 0}]},
Graphics3D@{Text[Y, {0, 1.1, 0}]},
Graphics3D@{Text[Z, {0, 0, 1.1}]},

enter image description here

Show[


     Graphics3D@{Arrow[{{0, 0, 0}, {1, 0, 0}}]},   
     Graphics3D@{Arrow[{{0, 0, 0}, {0, 1, 0}}]},
     Graphics3D@{Arrow[{{0, 0, 0}, {0, 0, 1}}]},


     Graphics3D@{Text[X, {1.1, 0, 0}]},
     Graphics3D@{Text[Y, {0, 1.1, 0}]},
     Graphics3D@{Text[Z, {0, 0, 1.1}]},




     ContourPlot3D[
          x^2 + y^2 + z^2 == .05,
         {x, -1, 1}, {y, -1, 1}, {z, -1, 1},

         ContourStyle -> {Green, Opacity[0.3], Specularity[1]},
         Mesh -> 1,
         MeshStyle -> Red
     ],


 Boxed -> False
 ]

enter image description here


Refactored for brevity and with increased PlotPoints:

m = IdentityMatrix[3];

Show[

  Graphics3D[{
    Arrow[{{0, 0, 0}, #} & /@ m],
    FontSize -> 20,
    Thread@Text[{"X", "Y", "Z"}, 1.1 m]
  }],

  ContourPlot3D[
    x^2 + y^2 + z^2 == .05,
    {x, -1, 1}, {y, -1, 1}, {z, -1, 1}
    , ContourStyle -> {Opacity[0.3, Green], Specularity[1]}
    , Mesh -> 1
    , MeshStyle -> Red
    , PlotPoints -> 40
  ]
  , Boxed -> False
]

enter image description here