vitorpamplona

38 mods across 1 repository, 1.6k stars between them.

extract

02

vitorpamplona/amethyst

Command Claude Code

Extract a composable from amethyst to shared code.

1.6k yesterday A 10 tokens original MIT

nip

03

vitorpamplona/amethyst

Command Claude Code

Get NIP specification and implementation guidance.

1.6k yesterday A 7 tokens original MIT

PreToolUse

04

vitorpamplona/amethyst

Hook Claude Code

Runs before the agent uses a tool for Bash and mcp__github__create_pull_request tool calls, executing pre-push-spotless.sh. From vitorpamplona/amethyst.

1.6k yesterday A tokens not measured original MIT

SessionStart

05

vitorpamplona/amethyst

Hook Claude Code

Runs when a session starts, executing session-start.sh. From vitorpamplona/amethyst.

1.6k yesterday A tokens not measured copy · 52% MIT

Stop

06

vitorpamplona/amethyst

Hook Claude Code

Runs when the agent finishes a response, executing stop-spotless.sh. From vitorpamplona/amethyst.

1.6k yesterday A tokens not measured copy · 48% MIT

amethyst

07

vitorpamplona/amethyst

Settings file Claude Code

Agent settings declaring 3 hook events (PreToolUse, SessionStart, Stop).

1.6k yesterday A tokens not measured copy · 84% MIT

account-state

08

vitorpamplona/amethyst

Skill Claude CodeCodex

Account state and in-memory event store patterns in Amethyst. Use when working with Account.kt (per-user state objects — kind3FollowList, nip65RelayList, muteList, bookmarkState, each exposing a .flow StateFlow), LocalCache (the object-level event store backed by LargeCache), User/Note model classes, or any ViewModel…

1.6k yesterday A 133 tokens original MIT

amy-expert

09

vitorpamplona/amethyst

Skill Claude CodeCodex

Patterns for extending amy, the Amethyst CLI in cli/. Use when adding an amy command, touching files under cli/src/main/kotlin/…/cli/, wiring a new subcommand into Main.kt, writing an interop test script that drives Amy, or extracting logic out of amethyst/ into commons/ so a CLI command can call it. Enforces the…

1.6k yesterday A 217 tokens original MIT

android-expert

10

vitorpamplona/amethyst

Skill Claude CodeCodex

Android platform patterns for the amethyst/ module. Use when working with (1) Android navigation (Navigation Compose, type-safe routes, bottom nav), (2) runtime permissions (camera, notifications, biometrics), (3) platform APIs (Intent, Context, Activity, ContentResolver), (4) Material3 theming and edge-to-edge UI…

1.6k yesterday A 149 tokens original MIT

auth-signers

11

vitorpamplona/amethyst

Skill Claude CodeCodex

Signer abstraction patterns in Amethyst. Use when working with event signing, choosing between a local keypair (NostrSignerInternal), a remote NIP-46 bunker signer (NostrSignerRemote), or a NIP-55 Android external-app signer (NostrSignerExternal). Covers the abstract NostrSigner base class, SignerResult contract, how…

1.6k yesterday A 102 tokens original MIT

compose-expert

12

vitorpamplona/amethyst

Skill Claude CodeCodex

Advanced Compose Multiplatform UI patterns for shared composables. Use when working with visual UI components, state management patterns (remember, derivedStateOf, produceState), recomposition optimization (@Stable/@Immutable visual usage), Material3 theming, custom ImageVector icons, or determining whether to share…

1.6k yesterday A 98 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when writing or reviewing Jetpack Compose layout APIs, modifier parameters, modifier chain construction, hardcoded root layout decisions, or layout wrappers around a single conditional. Technique-layer skill — complements the codebase-specific compose-expert.

1.6k yesterday A 52 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when investigating Jetpack Compose recomposition performance, skippable/restartable composables, composables.txt or compiler reports, Layout Inspector recomposition counts, or frame-rate State reads in composition vs layout/draw, and it is not yet clear whether the cause is parameter stability or deferred reads.…

1.6k yesterday A 78 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when writing or reviewing Jetpack Compose code with LaunchedEffect, DisposableEffect, SideEffect, rememberCoroutineScope, rememberUpdatedState, snapshotFlow, snackbar, navigation, focus requests, analytics, or event Flow collection. Technique-layer skill — complements the codebase-specific compose-expert.

1.6k yesterday A 62 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when designing or reviewing a reusable Jetpack Compose component whose visual regions vary by caller, or when primitive content parameters and boolean shape flags are accumulating. Technique-layer skill — complements the codebase-specific compose-expert.

1.6k yesterday A 48 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when writing or reviewing Jetpack Compose parameter stability, compiler reports, skippability, unstable UI state classes, collection parameters, or Kotlin 2.0+ strong skipping behavior. Technique-layer skill — complements the codebase-specific compose-expert and kotlin-expert.

1.6k yesterday A 60 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when Jetpack Compose code reads scroll, animation, gesture, or other frame-rate State in composition, passes changing values across composable boundaries, or uses value-form layout/draw modifiers. Technique-layer skill — complements the codebase-specific compose-expert.

1.6k yesterday A 58 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when a Jetpack Compose screen-level composable takes a ViewModel/component/controller, collects state or effects, handles navigation/snackbars, or wires callbacks while also rendering layout. Technique-layer skill — complements the codebase-specific compose-expert and feed-patterns.

1.6k yesterday A 60 tokens original MIT

desktop-expert

20

vitorpamplona/amethyst

Skill Claude CodeCodex

Compose Multiplatform Desktop patterns for the desktopApp/ module. Use when working with (1) Desktop-only APIs (Window, WindowState, Tray, MenuBar, Dialog), (2) keyboard shortcuts and menu systems with OS-aware conventions (Cmd vs Ctrl, isMacOS branching), (3) desktop navigation (NavigationRail/sidebar vs Android…

1.6k yesterday A 157 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

The authoritative behavioral contract of Quartz's event stores — IEventStore and its reference SQLite implementation (nip01Core/store/sqlite/). Use when implementing or asserting parity with a Quartz event store (external engines like Vespa, the filesystem store, geode), answering filter-semantics questions…

1.6k yesterday A 167 tokens original MIT

feed-patterns

22

vitorpamplona/amethyst

Skill Claude CodeCodex

Feed composition and data-access layer patterns in Amethyst. Use when adding or modifying a feed (home, profile, hashtag, bookmarks, notifications, DMs, communities), working with the shared FeedFilter / AdditiveFeedFilter / ChangesFlowFilter / FeedContentState in commons/.../ui/feeds/, the Android-only…

1.6k yesterday A 141 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when comparing Android strings.xml locale files to find untranslated string resources, missing translation keys, or preparing translation work for a specific language.

1.6k yesterday A 32 tokens original MIT

vitorpamplona/amethyst

Skill Claude CodeCodex

Use when auditing or migrating Log calls — flags interpolated Log.d/i/w/e that should use the lambda overload (allocation hygiene), catch-block Log.w/e that interpolate ${e.message} but drop the throwable (lost stack traces), and files still importing android.util.Log (no lambda overload, bypasses Log.minLevel).

1.6k yesterday A 72 tokens original MIT