About light-sdk
A development skill for building Solana programs with Light SDK, aimed at developers using Anchor or Pinocchio. It provides implementation patterns and references for compressed accounts, DeFi integrations, and client loading of inactive accounts.
Key features
- 01Anchor and Pinocchio patterns
- 02PDA and token account creation guidance
- 03Compression and decompression handlers
- 04DeFi router integration references
- 05Hot and cold account model guidance
- 06Client SDK and testing references
Use cases
- 01Build Light-based Solana programs
- 02Choose an Anchor or Pinocchio pattern
- 03Integrate DeFi routers and aggregators
- 04Load compressed accounts back on-chain
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ lightprotocol/ skills --skill light-sdkAfter installing, type/light-sdkin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/anchor.mdclient-sdk.mdfaq.mdinstructions.mdpinocchio.mdrouter.mdspl-to-light.mdtesting.mdDetails
From the project READMERent-Free Solana Programs
The Light SDK pays rent-exemption for PDAs, token accounts, and mints. Program logic stays mostly untouched.
| Rent cost (per account) | Solana / SPL | Light SDK |
|---|---|---|
| Token account | ~2,000,000 lamports | ~11,000 lamports |
| Avg. DeFi pool | ~$2 | ~$0.02 |
Workflow
- Clarify intent
- Recommend plan mode, if it's not activated
- Use
AskUserQuestionto resolve blind spots - All questions must be resolved before execution
- Identify references and skills
- Match task to domain references below
- Locate relevant documentation and examples
- Write plan file (YAML task format)
- Use
AskUserQuestionfor anything unclear — never guess or assume - Identify blockers: permissions, dependencies, unknowns
- Plan must be complete before execution begins
- Use
- Execute
- Use
Tasktool with subagents for parallel research - Subagents load skills via
Skilltool - Track progress with
TodoWrite
- Use
- When stuck: spawn subagent with
Read,Glob,Grep, DeepWiki MCP access and loadskills/ask-mcp
Domain References
| Audience | Reference |
|---|---|
| Anchor pattern | references/anchor.md |
| Pinocchio pattern | references/pinocchio.md |
| Client SDK (LightProgramInterface) | references/client-sdk.md |
| Testing | references/testing.md |
| CPI instructions | references/instructions.md |
| SPL to Light comparison | references/spl-to-light.md |
| FAQ | references/faq.md |
| Router integration | references/router.md |
When to use which
| Criteria | Anchor | Pinocchio |
|---|---|---|
| Framework | anchor-lang 0.31, #[light_program] macro | pinocchio 0.9, LightProgramPinocchio derive |
| State struct | Option<CompressionInfo> + LightAccount derive | CompressionInfo (non-optional) + bytemuck::Pod + Zeroable + #[repr(C)] |
| Account creation | #[light_account(init, ...)] attribute or CreateTokenAccountCpi | CreateTokenAccountCpi, CreateMints batch pattern |
| Compress/decompress handlers | Auto-generated by #[light_program] macro | Route ProgramAccounts::COMPRESS_ACCOUNTS_IDEMPOTENT etc. in entrypoint |
| Program ID constant | Not needed (macro derives it) | pub const ID: Pubkey = pubkey_array!(...) + LIGHT_CPI_SIGNER required |
| Dependencies | light-sdk, light-sdk-macros, light-token, light-anchor-spl | light-account-pinocchio, light-token-pinocchio, bytemuck |
DeFi integration
For DeFi programs (AMMs, lending, vaults): the Anchor and Pinocchio patterns above apply directly. DeFi-specific references:
| Task | Reference |
|---|---|
| Router/aggregator integration (cold account loading) | references/router.md |
| LightProgramInterface trait (client SDK for routers) | references/client-sdk.md |
Hot vs Cold Model
After extended inactivity (multiple epochs without writes), accounts auto-compress to cold state. Programs only interact with hot accounts. Clients load cold accounts back on-chain via create_load_instructions.
| Hot (active) | Cold (inactive) | |
|---|---|---|
| Storage | On-chain | Compressed |
| Latency | Normal | +0-200ms |
| Tx size | Normal | +100-2400 bytes |
| CU | Normal | +15k-400k CU |
| Program code | No change | No change |
The hot path has zero overhead.
External References
| Resource | Link |
|---|---|
| Anchor AMM reference | cp-swap-reference |
| Pinocchio swap reference | pinocchio-swap |
| Anchor counter (rent-free PDA) | basic-macros/counter |
| Pinocchio counter (zero-copy PDA) | pinocchio/counter |
SDK references
| Package | Link |
|---|---|
light-sdk | docs.rs |
light-sdk-macros | docs.rs |
light-sdk-pinocchio | docs.rs |
light-token | docs.rs |
light-token-pinocchio | docs.rs |
light-account-pinocchio | docs.rs |
light-token-client | docs.rs |
light-client | docs.rs |
light-program-test | docs.rs |
Security
This skill does not pull, store, or transmit external secrets. It provides code patterns, documentation references, and development guidance only.
- No credentials consumed. The skill requires no API keys, private keys, or signing secrets.
env: []is declared explicitly. - User-provided configuration. RPC endpoints, wallet keypairs, and authentication tokens (Privy, wallet adapters) are configured in the user's own application code — the skill only demonstrates how to use them.
- Install source.
npx skills add Lightprotocol/skillsinstalls from the public GitHub repository (Lightprotocol/skills). Verify the source before running. - Subagent scope. This skill may spawn read-only subagents that use
Read,Glob, andGrepto search the local repository. Restrict the working directory to your project. - Audited protocol. Light Protocol smart contracts are independently audited. Reports are published at github.com/Lightprotocol/light-protocol/tree/main/audits.