diff --git a/src/lib/components/ui/proficiency-picker/ProficiencyPicker.svelte b/src/lib/components/ui/proficiency-picker/ProficiencyPicker.svelte
new file mode 100644
index 00000000..c1f61886
--- /dev/null
+++ b/src/lib/components/ui/proficiency-picker/ProficiencyPicker.svelte
@@ -0,0 +1,126 @@
+
+
+
+
+{#if shouldUseDropdown}
+ {#if multiple}
+
+ {:else}
+
+ {/if}
+{:else}
+
+{/if}
diff --git a/src/lib/components/ui/proficiency-picker/ProficiencyPickerSegmented.svelte b/src/lib/components/ui/proficiency-picker/ProficiencyPickerSegmented.svelte
new file mode 100644
index 00000000..3c5392b6
--- /dev/null
+++ b/src/lib/components/ui/proficiency-picker/ProficiencyPickerSegmented.svelte
@@ -0,0 +1,305 @@
+
+
+
+
+{#if showClear}
+
+
+ {#if multiple}
+
+ {#each PROFICIENCY_DISPLAY_ORDER as proficiency}
+
+ {#snippet children()}
+
+
+
+ {/snippet}
+
+ {/each}
+
+ {:else}
+
+ {#each PROFICIENCY_DISPLAY_ORDER as proficiency}
+
+ {#snippet children()}
+
+
+
+ {/snippet}
+
+ {/each}
+
+ {/if}
+
+ {#if hasSelection}
+
+ {/if}
+
+{:else}
+
+ {#if multiple}
+
+ {#each PROFICIENCY_DISPLAY_ORDER as proficiency}
+
+ {#snippet children()}
+
+
+
+ {/snippet}
+
+ {/each}
+
+ {:else}
+
+ {#each PROFICIENCY_DISPLAY_ORDER as proficiency}
+
+ {#snippet children()}
+
+
+
+ {/snippet}
+
+ {/each}
+
+ {/if}
+
+{/if}
+
+