TypeScript conventions and rules for Graph Explorer, including branded types, function style preferences, and type safety patterns.
70
58%
Does it follow best practices?
Impact
85%
1.00xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.kiro/skills/typescript/SKILL.mdtypescript.autoClosingTagsfunction handleClick() {} over const handleClick = () => {}). Arrow functions within function scope are fine.ReturnType<typeof ...> when available (e.g., use AppStore instead of ReturnType<typeof getAppStore>)The project uses branded types from @/utils for type safety. These prevent accidental mixing of similar types at compile time.
| Type | Creator Function | Location |
|---|---|---|
VertexId | createVertexId() | @/core/entities/vertex |
VertexType | createVertexType() | @/core/entities/vertex |
EdgeId | createEdgeId() | @/core/entities/edge |
EdgeType | createEdgeType() | @/core/entities/edge |
EdgeConnectionId | createEdgeConnectionId() | @/core/StateProvider/edgeConnectionId |
ConfigurationId | createNewConfigurationId() | @/core/ConfigurationProvider/types |
RenderedVertexId | toRenderedVertexId() | @/core/StateProvider/renderedEntities |
RenderedEdgeId | toRenderedEdgeId() | @/core/StateProvider/renderedEntities |
IriNamespace | splitIri() | @/utils/rdf |
IriLocalValue | splitIri() | @/utils/rdf |
RdfPrefix | generatePrefix() | @/utils/rdf |
NormalizedIriNamespace | normalizeNamespace() | @/utils/rdf |
Always use the appropriate branded type instead of string when working with these identifiers.
30587b0
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.