For questions about Light Protocol's SDK, smart contracts and Solana development, Claude Code features, or agent skills. AI-powered answers grounded in repository context via DeepWiki MCP.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill ask-deep-wiki --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ask Deep Wiki?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-ask-deep-wiki)More formats (shields.io, HTML) on the badges page.
---
name: ask-mcp
description: "For questions about Light Protocol's SDK, smart contracts and Solana development, Claude Code features, or agent skills. AI-powered answers grounded in repository context via DeepWiki MCP."
metadata:
openclaw:
requires:
env: []
bins: []
allowed-tools:
- Read
- Glob
- Grep
- Task
- WebFetch(https://zkcompression.com/*)
- WebFetch(https://github.com/Lightprotocol/*)
- WebSearch
- mcp__deepwiki__read_wiki_structure
- mcp__deepwiki__read_wiki_contents
- mcp__deepwiki__ask_question
- mcp__zkcompression__SearchLightProtocol
---
# DeepWiki Research
Query repositories via DeepWiki MCP to answer technical questions with precise, source-backed answers.
## Workflow
1. **Understand the question**
- Identify what the user is asking and which domain it falls into
- If the question is ambiguous, state your understanding and ask for clarification
2. **Gather context**
- Match question to the [execution steps](#execution-steps) below
- Use `Glob`, `Grep`, and `Read` to find relevant local files
- Query DeepWiki MCP (`mcp__deepwiki__ask_question`) and `mcp__zkcompression__SearchLightProtocol` for repository-level context
- Use `Task` subagents for parallel research across multiple repos when needed
3. **Synthesize and respond**
- Apply [precision rules](#4-apply-precision-rules) to the answer
- Format per [format response](#5-format-response)
## Execution Steps
### 1. Read required context in local repo
Use `Glob` and `Grep` to locate relevant files in the current repository. Use `Read` to pull in specific content needed to answer the question.
### 2. Identify question scope
Determine the domain:
- Programs, client SDKs, architecture, implementation details
- Specific components (LightAccount, ValidityProof, CPI, etc.)
### 3. Fetch repository context
Select the appropriate repository based on question scope:
**Light Protocol (compressed accounts, state trees, ZK compression, Light SDK)**
```
mcp__deepwiki__read_wiki_structure("Lightprotocol/light-protocol")
mcp__deepwiki__read_wiki_contents("Lightprotocol/light-protocol")
mcp__deepwiki__ask_question("Lightprotocol/light-protocol", "your question")
```
**Solana Development (programs, accounts, general Solana)**
```
mcp__deepwiki__read_wiki_structure("blueshift-gg/blueshift-dashboard")
mcp__deepwiki__read_wiki_contents("blueshift-gg/blueshift-dashboard")
mcp__deepwiki__ask_question("blueshift-gg/blueshift-dashboard", "your question")
```
**Claude Code (CLI features, commands, configuration)**
```
mcp__deepwiki__read_wiki_structure("anthropics/claude-code")
mcp__deepwiki__read_wiki_contents("anthropics/claude-code")
mcp__deepwiki__ask_question("anthropics/claude-code", "your question")
```
**Agent Skills (skills, subagents, patterns)**
```
mcp__deepwiki__read_wiki_structure("anthropics/skills")
mcp__deepwiki__read_wiki_contents("anthropics/skills")
mcp__deepwiki__ask_question("anthropics/skills", "your question")
```
### 4. Apply precision rules
**AVOID:**
- Vague verbs: "handles", "manages", "processes", "enables", "provides"
- Abstract nouns: "operations", "management", "coordination"
- -ing endings when a precise verb exists
- Marketing language: "comprehensive", "rich", "seamless", "enables", "provides capability"
- ZK terminology in user-facing docs: "inclusion proof", "non-inclusion proof" → Instead describe what it does: "prove the address doesn't exist", "prove the account hash exists"
- Generic descriptions: "account metadata" instead of "CompressedAccountMeta"
**USE:**
- Exact function/method names
- Concrete data structures
- Specific operations: "sets discriminator", "creates hash", "nullifies account"
- File:line references
- "reference" when describing u8 indices that reference accounts in the accounts array (standard Solana terminology)
- "CPI" as a verb (e.g., "CPIs the Account Compression Program")
- Technical method/function names used as verbs when contextually clear
`Describe exactly what happens.`
### 5. Format response
Structure answers with:
- Technical precision
- Code examples with inline comments
- Source references (file paths, line numbers)
## Example Output
**Question:** What do you include in instruction data for compressed account creation?
**Answer:**
---
## Compressed Account Creation Instruction Data
Instruction data contains three components for proof verification and tree coordination.
**Components:**
```rust
pub struct InstructionData {
proof: ValidityProof,
address_tree_info: PackedAddressTreeInfo,
output_state_tree_index: u8,
// + custom account data
}
```
**1. Non-inclusion proof**
- `ValidityProof` proves the derived address does not exist in the specified address tree
- Client generates via `getValidityProof()` RPC call
**2. Tree location parameters**
- `PackedAddressTreeInfo`: Specifies which address tree registers the address (u8 index, not pubkey)
- `output_state_tree_index`: Specifies which state tree stores the compressed account hash
**3. Custom account data**
- Program-specific fields (e.g., `message: String`, user data)
**Execution flow:**
1. Address tree proves uniqueness, stores address
2. State tree stores account hash
3. ValidityProof cryptographically guarantees address is unused
**Why separate trees:**
Compressed accounts require client-generated cryptographic proof that address doesn't exist (unlike regular Solana where runtime checks PDA existence). Address trees enforce uniqueness; state trees store account hashes.
**Packed structs** use `u8` indices to reference accounts in `remaining_accounts`, reducing transaction size.
## 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.
- **DeepWiki MCP accesses public repositories only.** All `mcp__deepwiki__*` calls query public GitHub repositories (Lightprotocol/light-protocol, anthropics/claude-code, anthropics/skills). No authentication tokens are required or transmitted. DeepWiki does not access private repositories unless explicitly configured with a token — this skill does not configure one.
- **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.
- **Tool boundary enforced.** The `allowed-tools` list restricts this skill to read-only operations (`Read`, `Glob`, `Grep`), research subagents (`Task`), web fetches to Light Protocol domains, and MCP queries. It cannot load other skills, write files, or execute shell commands. Verify the `allowed-tools` list in the frontmatter above matches these constraints.
- **Install source.** `npx skills add Lightprotocol/skills` installs from the public GitHub repository ([Lightprotocol/skills](https://github.com/Lightprotocol/skills)). Verify the source before running.
- **Audited protocol.** Light Protocol smart contracts are independently audited. Reports are published at [github.com/Lightprotocol/light-protocol/tree/main/audits](https://github.com/Lightprotocol/light-protocol/tree/main/audits).
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!