diff --git a/frontend/src/lib/ui/Skeleton.svelte b/frontend/src/lib/ui/Skeleton.svelte
new file mode 100644
index 00000000..b409ad6a
--- /dev/null
+++ b/frontend/src/lib/ui/Skeleton.svelte
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+{#if variant === "line"}
+
+
+{:else if variant === "card"}
+
+
+{:else if variant === "circle"}
+
+
+{:else if variant === "row"}
+
+ {#each Array(rows) as _}
+
+ {#each Array(cols) as _}
+
+ {/each}
+
+ {/each}
+
+{/if}
+
diff --git a/frontend/src/lib/ui/index.ts b/frontend/src/lib/ui/index.ts
index 6bb71f1a..b9d184e6 100644
--- a/frontend/src/lib/ui/index.ts
+++ b/frontend/src/lib/ui/index.ts
@@ -17,6 +17,7 @@ export { default as LanguageSwitcher } from './LanguageSwitcher.svelte';
export { default as Icon } from './Icon.svelte';
export { default as HelpTooltip } from './HelpTooltip.svelte';
export { default as Badge } from './Badge.svelte';
+export { default as Skeleton } from './Skeleton.svelte';
// [/SECTION: EXPORTS]
// #endregion ui:Module
\ No newline at end of file