"Stealing" Blender's Properties
You don't have to create new properties to mimic existing properties. You just need to find their data path. Make sure you have enabled all the developer extras in the preferences and hover over the field you want to copy.

Based on that you just have to add a property field to your layout, that redirects to this data path : object.data.use_auto_smooth
Using the simple panel template shipped with Blender :
import bpy


class HelloWorldPanel(bpy.types.Panel):
    &quot;&quot;&quot;Creates a Panel in the Object properties window&quot;&quot;&quot;
    bl_label = &quot;Hello World Panel&quot;
    bl_idname = &quot;OBJECT_PT_hello&quot;
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = &quot;object&quot;
    
    @classmethod
    def poll(cls, context):
        obj = context.object
        return obj and obj.data and hasattr(obj.data, &quot;use_auto_smooth&quot;)

    def draw(self, context):
        layout = self.layout
        layout.prop(context.object.data, &quot;use_auto_smooth&quot;)


def register():
    bpy.utils.register_class(HelloWorldPanel)


def unregister():
    bpy.utils.unregister_class(HelloWorldPanel)


if __name__ == &quot;__main__&quot;:
    register()

This creates a panel with a direct link to this property. No need for a third party property with convoluted callbacks.

Also, if you want to mimic exactly how it is laid out in the origin panel, in most cases you can right click and choose &quot;Edit Source&quot;. This opens a Text datablock centered on the line which created the UI element you selected.
Example for the Normals Panel :