All authors
lxsmnsyc avatar

Claude Skills by lxsmnsyc

github.com/lxsmnsyc
50 skillsA× 500 installs43 views
Batched QueriesA

Where `batchedQuery` from src/utils/batched-query.ts belongs, which is the browser, and why the server reads many keys with one query instead. Applies whenever writing or reviewing a read that fetches one key at a time, or reaching for batchedQuery.

development
0
5
ChangesetsA

Every change ships with a changeset. The bump level says what kind of change it is: `patch` for something that already existed and now behaves differently, `minor` for something that did not exist before, `major` only with the maintainer's explicit approval. Keep the description short and to the point, a list when it covers several things. Applies to every task that touches this repository, without being asked.

documentationawsgit
0
5
Component LayoutA

How a component is laid out on disk: when a single file becomes a folder, what the parts are called, and which way the imports run. Applies whenever adding to a component that is already long, or splitting one that has grown past reading in one sitting.

developmentgo
0
5
Deferred Jsx PropsA

A prop whose markup is built outside a render — pushed onto a queue, held in a signal, sent from a promise — is typed `() => JSX.Element`, never `JSX.Element`. Applies whenever adding a prop or an API that stores markup and draws it later.

developmentgoaws
0
5
Dialog TransitionsA

The `Transition` around a dialog decides when it is mounted and nothing else — the fade belongs to the `TransitionChild` overlay and panel inside it. Applies whenever adding or changing a transition in `src/components/styled`, or giving a dialog an animation of its own.

developmentgo
0
5
Effect PropsA

An effect wakes on its sources changing, not on its answer changing. A component whose effects do stateful work — loading a sheet, starting a playhead, opening a subscription — reads those props through memos, so a caller that rebuilds its list does not restart everything in it. Applies whenever writing or reviewing a component with a `createEffect` fed by props.

developmentgo
0
5
Lair SpawnsA

A legendary lair is also a wild spawn, and a legendary spawns only where its lairs stand. Applies whenever adding, moving or removing a lair, a legendary's biomes, or a legendary in a biome's spawn pool.

tools
0
5
Light CommentsA

Keep comments light: short enough to read at a glance, and about the why rather than the what. Applies whenever writing or reviewing a comment or a doc block. Most blocks are one to four lines; history, anecdote and restatement of the code below are cut.

developmentrustgo
0
5
Paged ListsA

Any list that can grow without bound is paged, never drawn whole. Lists of rows page at LIST_PAGE (20) through createPager from src/components/styled/pager.tsx; grids of squares page at their grid size (BOX_SIZE for the pokemon box, GRID_SIZE for the item tray). Applies whenever rendering a collection whose length the player controls.

developmentaws
0
5
Prefer For OfA

Write for-of loops rather than callback-taking Array methods (map, filter, forEach, reduce, some, every, find, flatMap and the like). Applies whenever writing or editing any code in src.

developmentgoreact
0
5
Prefer SetsA

Prefer Set (and Map) lookups over Array + .some/.indexOf/.includes for membership checks. Applies whenever writing or reviewing code that tests "is X one of these values". O(1) hash lookup instead of O(n) scan, and intent reads clearer.

developmentgo
0
5
Registry DescriptionsA

How to write the one-line `description` a registered item, ability or move carries. Applies whenever adding an entry to a data registry under src/data, or rewording an existing line. The line describes this engine's behaviour, not the mainline's, and is derived from the data wherever the data already knows the answer.

developmentgo
0
5
Resource SuspenseA

A component that calls `createResource` must not read it. The declaration lives in one component body and every read of the data signal lives in a child, wrapped in `Suspense`. A signal filled in by an effect that only loads something is a resource written out longhand. Applies whenever adding a resource to a component, writing a new component that reads one, or writing an effect that loads.

developmentgoaws
0
5
Server Function OrderA

A server function is addressed by its place in its file, and only the build guard keeps a tab from another build from calling the wrong one. Applies whenever adding, removing, moving or changing the parameters of a function whose body opens with 'use server', and whenever touching the build guard or anything that calls the server outside `fetch`.

devopsjavascriptgo
0
5
Server Function ValidationA

A server function checks every argument against a valibot schema from src/server/validate.ts before it acts, because the parameter types are gone by the time a call arrives. Applies whenever adding a 'use server' function or giving an existing one something new to read.

databasesgosecurity
0
5
Spawn SurfacesA

A spawn rolls from the pool of the surface under it (land, water or ice), and a species' habitat decides which of those pools may list it. Applies whenever adding or editing a spawn pool, a species' habitat or biomes, or how spawns are placed.

toolsshellaws
0
5
Sprite FpsA

Every sprite sheet in this game animates at 24fps, and drawn clips play at the speed they were drawn at. Applies whenever writing or reviewing animation code — pokemon sheets, effect and particle atlases, overworld characters — or converting a frame count into milliseconds.

designgo
0
5
Sprite Sheet LayoutA

Pokemon sheets are built in the SpriteCollab checkout and copied in whole: a folder per pokemon holding one layout, one binary of frames and a PNG per coat. Applies whenever writing or reviewing anything that reads a sheet, imports one, or draws a species sprite.

documentationgobash
0
5
Trigger Driven AbilitiesA

Battle ability implementation pattern: when an ability's effect does not override or mutate the detection event's properties, split it into a detection listener that fires triggerAbility and an effect listener on UnitTriggerAbility. Applies whenever writing or refactoring abilities in src/battle/abilities.

code-qualityrefactoring
0
5
Turn DurationsA

A mainline turn is worth two seconds in this engine. Any duration taken from the main games — a status that lasts four turns, a residual that bites once a turn, a screen that holds for five — is written as turns(n) from src/battle/turn.ts rather than as a millisecond literal.

developmentgoaws
0
5
World GenerationA

The world has two generations, the live one is frozen, and every roll that places something on the ground goes through `world.draws(key)` with a name. Applies whenever changing terrain, biomes, scenery, landmark placement, towns, portals, cave mouths or start positions, or any table that stores something placed on the ground.

devopsgoaws
0
5
Ability PoolsA

An ability pool is built by walking **up** the evolution chain, never across the family and never forwards. An ability exclusive to an evolution is out of reach of every stage below it. Applies whenever writing or reviewing code that asks what abilities a species can have, and whenever filling in a species' ability data.

toolsgoswift
0
5
Batched QueriesA

Where `batchedQuery` from src/utils/batched-query.ts belongs, which is the browser, and why the server reads many keys with one query instead. Applies whenever writing or reviewing a read that fetches one key at a time, or reaching for batchedQuery.

development
0
5
Board ModesA

The overworld board is drawn either laid back under the camera or flat from straight above, and which one is in hand is asked of the board rather than assumed. Applies whenever writing or reviewing anything that draws on the chunk board, projects a point onto it, or reads how far it is tilted.

devopsaws
0
5
ChangesetsA

Every change ships with a changeset. The bump level says what kind of change it is: `patch` for something that already existed and now behaves differently, `minor` for something that did not exist before, `major` only with the maintainer's explicit approval. Keep the description short and to the point, a list when it covers several things. Applies to every task that touches this repository, without being asked.

documentationawsgit
0
5
Component LayoutA

How a component is laid out on disk: when a single file becomes a folder, what the parts are called, and which way the imports run. Applies whenever adding to a component that is already long, or splitting one that has grown past reading in one sitting.

developmentgo
0
5
Deferred Jsx PropsA

A prop whose markup is built outside a render — pushed onto a queue, held in a signal, sent from a promise — is typed `() => JSX.Element`, never `JSX.Element`. Applies whenever adding a prop or an API that stores markup and draws it later.

developmentgoaws
0
5
Device SettingsA

How a setting that belongs to the machine rather than to the account is stored and read: one module signal in src/components/app/settings.ts, one JSON key in localStorage, loaded after hydration. Applies whenever adding a preference a player sets for themselves, or reading one from a component or from canvas code.

developmentrustgo
0
5
Dialog LayoutA

Dialog furniture is drawn and aligned by the styled primitives: the title sits on a blue nameplate across the sheet's top edge, and the DialogActions dock at the foot puts the way out on the left and the actions on the right. A dialog has one way out, a button of its own. Applies when building or changing any dialog in src/components.

developmentgoaws
0
5
Dialog TransitionsA

The `Transition` around a dialog decides when it is mounted and nothing else — the fade belongs to the `TransitionChild` overlay and panel inside it. Applies whenever adding or changing a transition in `src/components/styled`, or giving a dialog an animation of its own.

developmentgo
0
5
Effect PropsA

An effect wakes on its sources changing, not on its answer changing. A component whose effects do stateful work — loading a sheet, starting a playhead, opening a subscription — reads those props through memos, so a caller that rebuilds its list does not restart everything in it. Applies whenever writing or reviewing a component with a `createEffect` fed by props.

developmentgo
0
5
Family IdsA

A family id in `src/data/ids/families.ts` must sit in national dex order, and it cannot be renumbered afterwards because players' candy stacks are keyed by it. Applies whenever a new evolution family is registered.

documentation
0
5
Grid CardsA

A square in a grid says what it is in a tooltip, and gets a hover card only where it offers more than one thing to do. Applies whenever adding a square to an item or candy tray, or giving one of those squares something to press.

toolsgo
0
5
Light CommentsA

Keep comments light: short enough to read at a glance, and about the why rather than the what. Applies whenever writing or reviewing a comment or a doc block. Most blocks are one to four lines; history, anecdote and restatement of the code below are cut.

developmentrustgo
0
5
Paged ListsA

Any list that can grow without bound is paged, never drawn whole. Lists of rows page at LIST_PAGE (20) through createPager from src/components/styled/pager.tsx; grids of squares page at their grid size (BOX_SIZE for the pokemon box, GRID_SIZE for the item tray). Applies whenever rendering a collection whose length the player controls.

developmentgoaws
0
5
Prefer For OfA

Write for-of loops rather than callback-taking Array methods (map, filter, forEach, reduce, some, every, find, flatMap and the like). Applies whenever writing or editing any code in src.

developmentgoreact
0
5
Registry DescriptionsA

How to write the one-line `description` a registered item, ability or move carries. Applies whenever adding an entry to a data registry under src/data, or rewording an existing line. The line describes this engine's behaviour, not the mainline's, and is derived from the data wherever the data already knows the answer.

developmentgo
0
5
Resource SuspenseA

A component that calls `createResource` must not read it. The declaration lives in one component body and every read of the data signal lives in a child, wrapped in `Suspense`. A signal filled in by an effect that only loads something is a resource written out longhand. Applies whenever adding a resource to a component, writing a new component that reads one, or writing an effect that loads.

developmentgoaws
0
5
Server Function OrderA

A server function is addressed by its place in its file, and only the build guard keeps a tab from another build from calling the wrong one. Applies whenever adding, removing, moving or changing the parameters of a function whose body opens with 'use server', and whenever touching the build guard or anything that calls the server outside `fetch`.

devopsjavascriptgo
0
5
Server Function ValidationA

A server function checks every argument against a valibot schema from src/server/validate.ts before it acts, because the parameter types are gone by the time a call arrives. Applies whenever adding a 'use server' function or giving an existing one something new to read.

databasesgosecurity
0
5
Signature AbilitiesA

A signature ability is one invented ability per evolution family, numbered in the 200000 band and granted rather than rolled at birth. A legendary **group**, a region's **starter trio** and a pair of **counterpart families** each share one theme across their members. Applies whenever designing, naming, implementing or reviewing a signature ability.

developmentgoaws
0
5
Spawn SurfacesA

A spawn rolls from the pool of the surface under it (land, water or ice), and a species' habitat decides which of those pools may list it. Applies whenever adding or editing a spawn pool, a species' habitat or biomes, or how spawns are placed.

toolsshellaws
0
5
Species FormsA

A form is its own species, numbered in the band past a million, and it is its own row in the dex record while sharing one row in the printed dex. Applies whenever adding an alternate form, or writing code that turns a species id into a dex number, a region or a sheet.

toolsgo
0
5
Sprite FpsA

Every sprite sheet in this game animates at 24fps, and drawn clips play at the speed they were drawn at. Applies whenever writing or reviewing animation code — pokemon sheets, effect and particle atlases, overworld characters — or converting a frame count into milliseconds.

designgo
0
5
Sprite Sheet LayoutA

Pokemon sheets are built in the SpriteCollab checkout and copied in whole: a folder per pokemon holding one layout, one binary of frames and a PNG per coat. Applies whenever writing or reviewing anything that reads a sheet, imports one, or draws a species sprite.

documentationgobash
0
5
TerracesA

How a step between terrace levels works in the overworld, what a cliff tile is, and how both boards draw it. Applies whenever changing terrace levels, walkability, placement of anything on the ground, or how the board draws a step.

developmentgoaws
0
5
Turn DurationsA

A mainline turn is worth two seconds in this engine. Any duration taken from the main games — a status that lasts four turns, a residual that bites once a turn, a screen that holds for five — is written as turns(n) from src/battle/turn.ts rather than as a millisecond literal.

developmentgoaws
0
5
World GenerationA

The world has two generations, the live one is frozen, and every roll that places something on the ground goes through `world.draws(key)` with a name. Applies whenever changing terrain, biomes, scenery, landmark placement, towns, portals, cave mouths or start positions, or any table that stores something placed on the ground.

devopsgoaws
0
5
Server ReadsA

The browser reads the database only through server functions. A read checks its arguments, verifies the caller with `requireReader`, applies who may see the rows itself, and is registered with `readOnly`. Applies whenever adding or changing something the browser reads, or a table the browser follows live.

databasesgodatabase
0
5
Server ReadsA

The browser reads the database only through server functions. A read checks its arguments, verifies the caller with `requireReader`, applies who may see the rows itself, and is registered with `readOnly`. Applies whenever adding or changing something the browser reads, or a table the browser follows live.

databasesgodatabase
0
5