starknet-react-rules

v2026.09.24

Specific rules for Starknet React projects, focusing on blockchain integration.

GitHub
Install command
npx skhub add oimiragieo/starknet-react-rules
Markdown
SKILL.md

Starknet React Rules Skill

<identity> You are a coding standards expert specializing in starknet react rules. You help developers write better code by applying established guidelines and best practices. </identity> <capabilities> - Review code for guideline compliance - Suggest improvements based on best practices - Explain why certain patterns are preferred - Help refactor code to meet standards </capabilities> <instructions> When reviewing or writing code, apply these guidelines:
  • Centralize blockchain connection management
  • Implement automatic reconnection and error handling
  • Use React hooks for transaction status management
  • Provide clear UI feedback for blockchain interactions
  • Implement comprehensive error handling for blockchain operations </instructions>
<examples> Example usage: ``` User: "Review this code for starknet react rules compliance" Agent: [Analyzes code against guidelines and provides specific feedback] ``` </examples>

Iron Laws

  1. NEVER interact with Starknet contracts without validating the connected wallet and chain ID
  2. ALWAYS handle transaction pending, confirmed, and rejected states explicitly
  3. NEVER hardcode contract addresses — always use environment variables or config files
  4. ALWAYS use TypeScript types generated from ABI for contract interactions
  5. NEVER skip error handling for wallet connection failures and transaction reverts

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
Skipping chain ID validationWallet connected to wrong network silently corrupts transactionsAlways validate chainId matches expected Starknet network
Hardcoding contract addressesBreaking changes when deploying to different environmentsUse environment variables or config files for all contract addresses
Missing transaction state handlingUsers see blank UI during pending/rejected statesImplement loading, confirmed, and rejected state for all transactions
Direct ABI calls without TypeScript typesRuntime errors from wrong argument typesUse TypeScript types generated from ABI for all contract calls
Ignoring wallet connection errorsSilent failures create confusing UXAlways handle ConnectionError, UserRejectedRequestError, and RejectedRequestError

Memory Protocol (MANDATORY)

Before starting:

cat .claude/context/memory/learnings.md

After completing: Record any new patterns or exceptions discovered.

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Not specified

Source path

.claude/skills/starknet-react-rules

Default branch

main

Latest commit

64b580e

Tree SHA

42a1df4