diff --git a/packages/shared-ui/src/atoms/Button.svelte b/packages/shared-ui/src/atoms/Button.svelte
index 4f4de014c..5cc77e11d 100644
--- a/packages/shared-ui/src/atoms/Button.svelte
+++ b/packages/shared-ui/src/atoms/Button.svelte
@@ -1,8 +1,8 @@
+
+
+
+ {#if icon}
+
+ {@render icon()}
+
+ {:else}
+
+
+ {/if}
+
+
+
+ {title}
+
+
+
+ {#if message}
+
+ {message}
+
+ {/if}
+
+
+ {#if actionLabel || secondaryActionLabel}
+
+ {#if secondaryActionLabel && onSecondaryAction}
+
+ {/if}
+ {#if actionLabel && onAction}
+
+ {/if}
+
+ {/if}
+
diff --git a/packages/shared-ui/src/molecules/feedback/index.ts b/packages/shared-ui/src/molecules/feedback/index.ts
new file mode 100644
index 000000000..a23dd372d
--- /dev/null
+++ b/packages/shared-ui/src/molecules/feedback/index.ts
@@ -0,0 +1,4 @@
+/**
+ * Feedback components for user states
+ */
+export { default as EmptyState } from './EmptyState.svelte';
diff --git a/packages/shared-ui/src/molecules/index.ts b/packages/shared-ui/src/molecules/index.ts
index 2d3c5ec9a..dd03d9b1a 100644
--- a/packages/shared-ui/src/molecules/index.ts
+++ b/packages/shared-ui/src/molecules/index.ts
@@ -3,7 +3,7 @@ export { default as Input } from './Input.svelte';
export { default as Select } from './Select.svelte';
export { default as Textarea } from './Textarea.svelte';
export { default as Checkbox } from './Checkbox.svelte';
-export type { SelectOption } from './Select.svelte';
+export type { SelectOption } from './Select.types';
// Stats components
export { GlassCard, StatRow } from './stats';
@@ -13,3 +13,9 @@ export { TagBadge } from './tags';
// Media components
export { AudioPlayer } from './media';
+
+// Loading components
+export { SkeletonBox, SkeletonText } from './loaders';
+
+// Feedback components
+export { EmptyState } from './feedback';
diff --git a/packages/shared-ui/src/molecules/loaders/SkeletonBox.svelte b/packages/shared-ui/src/molecules/loaders/SkeletonBox.svelte
new file mode 100644
index 000000000..40fdc46ea
--- /dev/null
+++ b/packages/shared-ui/src/molecules/loaders/SkeletonBox.svelte
@@ -0,0 +1,79 @@
+
+
+