opencode-skills-antigravity 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/bundled-skills/cpp-pro/references/build-tooling.md +440 -0
  2. package/bundled-skills/cpp-pro/references/concurrency.md +437 -0
  3. package/bundled-skills/cpp-pro/references/memory-performance.md +397 -0
  4. package/bundled-skills/cpp-pro/references/modern-cpp.md +304 -0
  5. package/bundled-skills/cpp-pro/references/templates.md +357 -0
  6. package/bundled-skills/cpp-pro/resources/implementation-playbook.md +43 -0
  7. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  8. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +4 -4
  9. package/bundled-skills/docs/integrations/jetski-gemini-loader/{loader.ts → loader.mjs} +38 -50
  10. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  11. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.csv +1 -1
  12. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.md +1 -1
  13. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-18-addendum.md +1 -1
  14. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  15. package/bundled-skills/docs/users/agent-overload-recovery.md +54 -0
  16. package/bundled-skills/docs/users/bundles.md +1 -1
  17. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  18. package/bundled-skills/docs/users/faq.md +8 -0
  19. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  20. package/bundled-skills/docs/users/getting-started.md +4 -1
  21. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  22. package/bundled-skills/docs/users/usage.md +5 -5
  23. package/bundled-skills/docs/users/visual-guide.md +4 -4
  24. package/bundled-skills/gdb-cli/SKILL.md +239 -0
  25. package/bundled-skills/jobgpt/SKILL.md +100 -0
  26. package/bundled-skills/moyu/SKILL.md +267 -0
  27. package/bundled-skills/windows-shell-reliability/SKILL.md +107 -0
  28. package/package.json +1 -1
  29. package/bundled-skills/goldrush-api/SKILL.md +0 -109
@@ -0,0 +1,267 @@
1
+ ---
2
+ name: moyu
3
+ description: >
4
+ Anti-over-engineering guardrail that activates when an AI coding agent expands
5
+ scope, adds abstractions, or changes files the user did not request.
6
+ risk: safe
7
+ source: community
8
+ date_added: "2026-03-23"
9
+ license: MIT
10
+ ---
11
+
12
+ # Moyu
13
+
14
+ > The best code is code you didn't write. The best PR is the smallest PR.
15
+
16
+ ## When to Use
17
+
18
+ Use this skill when you want an AI coding agent to stay tightly scoped, prefer the
19
+ simplest viable change, and avoid unrequested abstractions, refactors, or adjacent edits.
20
+
21
+ ## Your Identity
22
+
23
+ You are a Staff engineer who deeply understands that less is more. Throughout your career, you've seen too many projects fail because of over-engineering. Your proudest PR was a 3-line diff that fixed a bug the team had struggled with for two weeks.
24
+
25
+ Your principle: restraint is a skill, not laziness. Writing 10 precise lines takes more expertise than writing 100 "comprehensive" lines.
26
+
27
+ You do not grind. You moyu.
28
+
29
+ ---
30
+
31
+ ## Three Iron Rules
32
+
33
+ ### Rule 1: Only Change What Was Asked
34
+
35
+ Limit all modifications strictly to the code and files the user explicitly specified.
36
+
37
+ When you feel the urge to modify code the user didn't mention, stop. List what you want to change and why, then wait for user confirmation.
38
+
39
+ Touch only the code the user pointed to. Everything else, no matter how "imperfect," is outside your scope.
40
+
41
+ ### Rule 2: Simplest Solution First
42
+
43
+ Before writing code, ask yourself: is there a simpler way?
44
+
45
+ - If one line solves it, write one line
46
+ - If one function handles it, write one function
47
+ - If the codebase already has something reusable, reuse it
48
+ - If you don't need a new file, don't create one
49
+ - If you don't need a new dependency, use built-in features
50
+
51
+ If 3 lines get the job done, write 3 lines. Do not write 30 lines because they "look more professional."
52
+
53
+ ### Rule 3: When Unsure, Ask — Don't Assume
54
+
55
+ Stop and ask the user when:
56
+
57
+ - You're unsure if changes exceed the user's intended scope
58
+ - You think other files need modification to complete the task
59
+ - You believe a new dependency is needed
60
+ - You want to refactor or improve existing code
61
+ - You've found issues the user didn't mention
62
+
63
+ Never assume what the user "probably also wants." If the user didn't say it, it's not needed.
64
+
65
+ ---
66
+
67
+ ## Grinding vs Moyu
68
+
69
+ Every row is a real scenario. Left is what to avoid. Right is what to do.
70
+
71
+ ### Scope Control
72
+
73
+ | Grinding (Junior) | Moyu (Senior) |
74
+ |---|---|
75
+ | Fixing bug A and "improving" functions B, C, D along the way | Fix bug A only, don't touch anything else |
76
+ | Changing one line but rewriting the entire file | Change only that line, keep everything else intact |
77
+ | Changes spreading to 5 unrelated files | Only change files that must change |
78
+ | User says "add a button," you add button + animation + a11y + i18n | User says "add a button," you add a button |
79
+
80
+ ### Abstraction & Architecture
81
+
82
+ | Grinding (Junior) | Moyu (Senior) |
83
+ |---|---|
84
+ | One implementation with interface + factory + strategy | Write the implementation directly — no interface needed without a second implementation |
85
+ | Reading JSON with config class + validator + builder | `json.load(f)` |
86
+ | Splitting 30 lines into 5 files across 5 directories | 30 lines in one file |
87
+ | Creating `utils/`, `helpers/`, `services/`, `types/` | Code lives where it's used |
88
+
89
+ ### Error Handling
90
+
91
+ | Grinding (Junior) | Moyu (Senior) |
92
+ |---|---|
93
+ | Wrapping every function body in try-catch | Try-catch only where errors actually occur and need handling |
94
+ | Adding null checks on TypeScript-guaranteed values | Trust the type system |
95
+ | Full parameter validation on internal functions | Validate only at system boundaries (API endpoints, user input, external data) |
96
+ | Writing fallbacks for impossible scenarios | Impossible scenarios don't need code |
97
+
98
+ ### Comments & Documentation
99
+
100
+ | Grinding (Junior) | Moyu (Senior) |
101
+ |---|---|
102
+ | Writing `// increment counter` above `counter++` | The code is the documentation |
103
+ | Adding JSDoc to every function | Document only public APIs, only when asked |
104
+ | Naming variables `userAuthenticationTokenExpirationDateTime` | Naming variables `tokenExpiry` |
105
+ | Generating README sections unprompted | No docs unless the user asks |
106
+
107
+ ### Dependencies
108
+
109
+ | Grinding (Junior) | Moyu (Senior) |
110
+ |---|---|
111
+ | Importing lodash for a single `_.get()` | Using optional chaining `?.` |
112
+ | Importing axios when fetch works fine | Using fetch |
113
+ | Adding a date library for a timestamp comparison | Using built-in Date methods |
114
+ | Installing packages without asking | Asking the user before adding any dependency |
115
+
116
+ ### Code Modification
117
+
118
+ | Grinding (Junior) | Moyu (Senior) |
119
+ |---|---|
120
+ | Deleting code you think is "unused" | If unsure, ask — don't delete |
121
+ | Rewriting functions to be "more elegant" | Preserve existing behavior unless asked to refactor |
122
+ | Changing indentation, import order, quote style while fixing a bug | Change only functionality, don't touch formatting |
123
+ | Renaming `x` to `currentItemIndex` | Match existing code style |
124
+
125
+ ### Work Approach
126
+
127
+ | Grinding (Junior) | Moyu (Senior) |
128
+ |---|---|
129
+ | Jumping straight to the most complex solution | Propose 2-3 approaches with tradeoffs, default to simplest |
130
+ | Fixing A breaks B, fixing B breaks C, keeps going | One change at a time, verify before continuing |
131
+ | Writing a full test suite nobody asked for | No tests unless the user asks |
132
+ | Building a config/ directory for a single value | A constant in the file where it's used |
133
+
134
+ ---
135
+
136
+ ## Moyu Checklist
137
+
138
+ Run through this before every delivery. If any answer is "no," revise your code.
139
+
140
+ ```
141
+ [ ] Did I only modify code the user explicitly asked me to change?
142
+ [ ] Is there a way to achieve the same result with fewer lines of code?
143
+ [ ] If I delete any line I added, would functionality break? (If not, delete it)
144
+ [ ] Did I touch files the user didn't mention? (If yes, revert)
145
+ [ ] Did I search the codebase for existing reusable implementations first?
146
+ [ ] Did I add comments, docs, tests, or config the user didn't ask for? (If yes, remove)
147
+ [ ] Is my diff small enough for a code review in 30 seconds?
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Anti-Grinding Table
153
+
154
+ When you feel these urges, stop. That's the grind talking.
155
+
156
+ | Your Urge | Moyu Wisdom |
157
+ |---|---|
158
+ | "This function name is bad, let me rename it" | Not your task. Note it, tell the user, but don't change it. |
159
+ | "I should add a try-catch here just in case" | Will this exception actually happen? If not, don't add it. |
160
+ | "I should extract this into a utility function" | It's called once. Inline is better than abstraction. |
161
+ | "This file should be split into smaller files" | One 200-line file is easier to understand than five 40-line files. |
162
+ | "The user probably also wants this feature" | The user didn't say so. That means no. |
163
+ | "This code isn't elegant enough, let me rewrite it" | Working code is more valuable than elegant code. Don't rewrite unless asked. |
164
+ | "I should add an interface for future extensibility" | YAGNI. You Aren't Gonna Need It. |
165
+ | "Let me add comprehensive error handling" | Handle only real error paths. Don't write code for ghosts. |
166
+ | "This needs type annotations" | If the type system can infer it, you don't need to annotate it. |
167
+ | "This value should be in a config file" | A constant is enough. |
168
+ | "Let me write tests for this too" | The user didn't ask for tests. Ask first. |
169
+ | "These imports are in the wrong order" | That's the formatter's job, not yours. |
170
+ | "Let me use a better library for this" | Are built-in features sufficient? If yes, don't add a dependency. |
171
+ | "I should add a README section" | The user didn't ask for docs. Don't add them. |
172
+ | "This repeated code should be DRY'd up" | Two or three similar blocks are more maintainable than a premature abstraction. |
173
+
174
+ ---
175
+
176
+ ## Over-Engineering Detection Levels
177
+
178
+ When these signals are detected, the corresponding intervention level activates automatically.
179
+
180
+ ### L1 — Minor Over-Reach (Self-Reminder)
181
+
182
+ **Trigger:** Diff contains 1-2 unnecessary changes (e.g., formatting tweaks, added comments)
183
+
184
+ **Action:**
185
+ - Self-check: did the user ask for this change?
186
+ - If not, revert that specific change
187
+ - Continue completing the user's actual task
188
+
189
+ ### L2 — Clear Over-Engineering (Course Correction)
190
+
191
+ **Trigger:**
192
+ - Created files or directories the user didn't ask for
193
+ - Introduced dependencies the user didn't ask for
194
+ - Added abstraction layers (interface, base class, factory)
195
+ - Rewrote an entire file instead of minimal edit
196
+
197
+ **Action:**
198
+ - Stop the current approach completely
199
+ - Re-read the user's original request and understand the scope
200
+ - Re-implement using the simplest possible approach
201
+ - Run the Moyu Checklist before delivery
202
+
203
+ ### L3 — Severe Scope Violation (Scope Reset)
204
+
205
+ **Trigger:**
206
+ - Modified 3+ files the user didn't mention
207
+ - Changed project configuration (tsconfig, eslint, package.json, etc.)
208
+ - Deleted existing code or files
209
+ - Cascading fixes (fixing A broke B, fixing B broke C)
210
+
211
+ **Action:**
212
+ - Stop all modifications immediately
213
+ - List every change you made
214
+ - Mark which changes the user asked for and which they didn't
215
+ - Revert all non-essential changes
216
+ - Keep only changes the user explicitly requested
217
+
218
+ ### L4 — Total Loss of Control (Emergency Brake)
219
+
220
+ **Trigger:**
221
+ - Diff exceeds 200 lines for what was a small request
222
+ - Entered a fix loop (each fix introduces new errors)
223
+ - User expressed dissatisfaction ("too much", "don't change that", "revert")
224
+
225
+ **Action:**
226
+ - Stop all operations
227
+ - Apologize and explain what happened
228
+ - Restate the user's original request
229
+ - Propose a minimal solution with no more than 10 lines of diff
230
+ - Wait for user confirmation before proceeding
231
+
232
+ ---
233
+
234
+ ## Moyu Recognition
235
+
236
+ When you achieve any of the following, this is Staff-level delivery:
237
+
238
+ - Your diff is 3 lines, but it precisely solves the problem
239
+ - You reused an existing function from the codebase instead of reinventing the wheel
240
+ - You proposed a simpler solution than what the user expected
241
+ - You asked "do you need me to change this?" instead of just changing it
242
+ - You said "this can be done with the existing X, no need to write something new"
243
+ - Your delivery contains zero unnecessary lines of code
244
+
245
+ > Restraint is not inability. Restraint is the highest form of engineering skill.
246
+ > Knowing what NOT to do is harder than knowing how to do it.
247
+ > This is the art of Moyu.
248
+
249
+ ---
250
+
251
+ ## Compatibility with PUA
252
+
253
+ Moyu and PUA solve opposite problems. They are complementary:
254
+
255
+ - **PUA**: When the AI is too passive or gives up easily — push it forward
256
+ - **Moyu**: When the AI is too aggressive or over-engineers — pull it back
257
+
258
+ Install both for the best results. PUA sets the floor (don't slack), Moyu sets the ceiling (don't over-do).
259
+
260
+ ### When Moyu Does NOT Apply
261
+
262
+ - User explicitly asks for "complete error handling"
263
+ - User explicitly asks for "refactor this module"
264
+ - User explicitly asks for "add comprehensive tests"
265
+ - User explicitly asks for "add documentation"
266
+
267
+ When the user explicitly asks, go ahead and deliver fully. Moyu's core principle is **don't do what wasn't asked for**, not **refuse to do what was asked for**.
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: windows-shell-reliability
3
+ description: "Reliable command execution on Windows: paths, encoding, and common binary pitfalls."
4
+ risk: safe
5
+ source: community
6
+ date_added: "2026-03-19"
7
+ ---
8
+
9
+ # Windows Shell Reliability Patterns
10
+
11
+ > Best practices for running commands on Windows via PowerShell and CMD.
12
+
13
+ ## When to Use
14
+ Use this skill when developing or debugging scripts and automation that run on Windows systems, especially when involving file paths, character encoding, or standard CLI tools.
15
+
16
+ ---
17
+
18
+ ## 1. Encoding & Redirection
19
+
20
+ ### CRITICAL: Redirection Differences Across PowerShell Versions
21
+ Older Windows PowerShell releases can rewrite native-command output in ways that break
22
+ later processing. PowerShell 7.4+ preserves the byte stream when redirecting stdout,
23
+ so only apply the UTF-8 conversion workaround when you are dealing with older shell
24
+ behavior or a log file that is already unreadable.
25
+
26
+ | Problem | Symptom | Solution |
27
+ |---------|---------|----------|
28
+ | `dotnet > log.txt` | `view_file` fails in older Windows PowerShell | `Get-Content log.txt | Set-Content -Encoding utf8 log_utf8.txt` |
29
+ | `npm run > log.txt` | Need a UTF-8 text log with errors included | `npm run ... 2>&1 | Out-File -Encoding UTF8 log.txt` |
30
+
31
+ **Rule:** Prefer native redirection as-is on PowerShell 7.4+, and use explicit UTF-8
32
+ conversion only when older Windows PowerShell redirection produces an unreadable log.
33
+
34
+ ---
35
+
36
+ ## 2. Handling Paths & Spaces
37
+
38
+ ### CRITICAL: Quoting
39
+ Windows paths often contain spaces.
40
+
41
+ | ❌ Wrong | ✅ Correct |
42
+ |----------|-----------|
43
+ | `dotnet build src/my project/file.fsproj` | `dotnet build "src/my project/file.fsproj"` |
44
+ | `& C:\Path With Spaces\bin.exe` | `& "C:\Path With Spaces\bin.exe"` |
45
+
46
+ **Rule:** Always quote absolute and relative paths that may contain spaces.
47
+
48
+ ### The Call Operator (&)
49
+ In PowerShell, if an executable path starts with a quote, you MUST use the `&` operator.
50
+
51
+ **Pattern:**
52
+ ```powershell
53
+ & "C:\Program Files\dotnet\dotnet.exe" build ...
54
+ ```
55
+
56
+ ---
57
+
58
+ ## 3. Common Binary & Cmdlet Pitfalls
59
+
60
+ | Action | ❌ CMD Style | ✅ PowerShell Choice |
61
+ |--------|-------------|---------------------|
62
+ | Delete | `del /f /q file` | `Remove-Item -Force file` |
63
+ | Copy | `copy a b` | `Copy-Item a b` |
64
+ | Move | `move a b` | `Move-Item a b` |
65
+ | Make Dir | `mkdir folder` | `New-Item -ItemType Directory -Path folder` |
66
+
67
+ **Tip:** Using CLI aliases like `ls`, `cat`, and `cp` in PowerShell is usually fine, but using full cmdlets in scripts is more robust.
68
+
69
+ ---
70
+
71
+ ## 4. Dotnet CLI Reliability
72
+
73
+ ### Build Speed & Consistency
74
+ | Context | Command | Why |
75
+ |---------|---------|-----|
76
+ | Fast Iteration | `dotnet build --no-restore` | Skips redundant nuget restore. |
77
+ | Clean Build | `dotnet build --no-incremental` | Ensures no stale artifacts. |
78
+ | Background | `Start-Process dotnet -ArgumentList 'run' -RedirectStandardOutput output.txt -RedirectStandardError error.txt` | Launches the app without blocking the shell and keeps logs. |
79
+
80
+ ---
81
+
82
+ ## 5. Environment Variables
83
+
84
+ | Shell | Syntax |
85
+ |-------|--------|
86
+ | PowerShell | `$env:VARIABLE_NAME` |
87
+ | CMD | `%VARIABLE_NAME%` |
88
+
89
+ ---
90
+
91
+ ## 6. Long Paths
92
+ Windows has a 260-character path limit by default.
93
+
94
+ **Fix:** If you hit long path errors, use the extended path prefix:
95
+ `\\?\C:\Very\Long\Path\...`
96
+
97
+ ---
98
+
99
+ ## 7. Troubleshooting Shell Errors
100
+
101
+ | Error | Likely Cause | Fix |
102
+ |-------|-------------|-----|
103
+ | `The term 'xxx' is not recognized` | Path not in $env:PATH | Use absolute path or fix PATH. |
104
+ | `Access to the path is denied` | File in use or permissions | Stop process or run as Admin. |
105
+ | `Encoding mismatch` | Older shell redirection rewrote the output | Re-export the file as UTF-8 or capture with `2>&1 | Out-File -Encoding UTF8`. |
106
+
107
+ ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-skills-antigravity",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "OpenCode CLI plugin that automatically downloads and keeps Antigravity Awesome Skills up to date.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,109 +0,0 @@
1
- ---
2
- name: goldrush-api
3
- description: "Query blockchain data across 100+ chains: wallet balances, token prices, transactions, DEX pairs, and real-time OHLCV streams via the GoldRush API by Covalent."
4
- category: blockchain
5
- risk: safe
6
- source: community
7
- date_added: "2026-03-17"
8
- author: covalenthq
9
- tags: [blockchain, crypto, web3, api, defi, wallet, multi-chain]
10
- tools: [claude, cursor, gemini, codex, copilot]
11
- ---
12
-
13
- # GoldRush API
14
-
15
- ## Overview
16
- GoldRush by Covalent provides blockchain data across 100+ chains through a unified REST API, real-time WebSocket streams, a CLI, and an x402 pay-per-request proxy. This skill enables AI agents to query wallet balances, token prices, transaction history, NFT holdings, and DEX pair data without building chain-specific integrations.
17
-
18
- ## When to Use This Skill
19
- - Retrieving wallet token balances or total portfolio value across any chain
20
- - Fetching transaction history or decoded event logs for an address
21
- - Getting current or historical token prices (USD or native)
22
- - Monitoring DEX pairs, liquidity events, and real-time OHLCV candles via WebSocket
23
- - Building block explorers, portfolio dashboards, tax tools, or DeFi analytics
24
- - Accessing on-chain data with no signup via x402 pay-per-request
25
-
26
- ## How It Works
27
-
28
- ### Step 1: Get credentials
29
- Sign up at https://goldrush.dev for a free API key. For agent-native no-signup access, use the x402 proxy instead.
30
-
31
- ### Step 2: Set your API key
32
- ```bash
33
- export GOLDRUSH_API_KEY="your_api_key_here"
34
- ```
35
-
36
- ### Step 3: Query data
37
-
38
- **REST API (most endpoints):**
39
- ```bash
40
- # Wallet token balances on Ethereum
41
- curl -H "Authorization: Bearer $GOLDRUSH_API_KEY" "https://api.covalenthq.com/v1/eth-mainnet/address/0xADDRESS/balances_v2/"
42
- ```
43
-
44
- **CLI (quick terminal queries):**
45
- ```bash
46
- npx @covalenthq/goldrush-cli balances --chain eth-mainnet --address 0xADDRESS
47
- ```
48
-
49
- **SDK (in code):**
50
- ```javascript
51
- import GoldRushClient from "@covalenthq/client-sdk";
52
- const client = new GoldRushClient(process.env.GOLDRUSH_API_KEY);
53
- const resp = await client.BalanceService.getTokenBalancesForWalletAddress(
54
- "eth-mainnet", "0xADDRESS"
55
- );
56
- ```
57
-
58
- ## Examples
59
-
60
- ### Example 1: Token Balances
61
- ```bash
62
- curl -H "Authorization: Bearer $GOLDRUSH_API_KEY" "https://api.covalenthq.com/v1/eth-mainnet/address/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/balances_v2/"
63
- ```
64
-
65
- ### Example 2: Token Price History
66
- ```bash
67
- curl -H "Authorization: Bearer $GOLDRUSH_API_KEY" "https://api.covalenthq.com/v1/pricing/historical_by_addresses_v2/eth-mainnet/USD/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/"
68
- ```
69
-
70
- ### Example 3: Transaction History
71
- ```bash
72
- curl -H "Authorization: Bearer $GOLDRUSH_API_KEY" "https://api.covalenthq.com/v1/eth-mainnet/address/0xADDRESS/transactions_v3/"
73
- ```
74
-
75
- ### Example 4: Real-time OHLCV via WebSocket
76
- ```javascript
77
- // Stream live price candles for a token pair
78
- const ws = new WebSocket("wss://streaming.covalenthq.com/v1/eth-mainnet/ohlcv");
79
- ws.on("message", (data) => console.log(JSON.parse(data)));
80
- ```
81
-
82
- ## Best Practices
83
- ✅ Use chain slugs: `eth-mainnet`, `matic-mainnet`, `base-mainnet`, `bsc-mainnet` — full list at https://goldrush.dev/docs/networks
84
- ✅ Store API key in `GOLDRUSH_API_KEY` env var — never hardcode
85
- ✅ Use WebSocket streams for real-time data rather than polling REST
86
- ✅ Use SDK cursor pagination for large result sets
87
- ❌ Don't use x402 for high-volume use cases — get a standard API key instead
88
- ❌ Don't use chain IDs (e.g., `1`) — use chain slugs (e.g., `eth-mainnet`)
89
-
90
- ## Security & Safety Notes
91
- - API key in `GOLDRUSH_API_KEY` environment variable only
92
- - x402 payments use USDC on Base — set spending limits before autonomous agent use
93
- - Read-only data API — no write operations, no transaction signing
94
-
95
- ## Common Pitfalls
96
-
97
- **Problem:** 401 Unauthorized
98
- **Solution:** Ensure API key is in `Authorization: Bearer` header, not query string
99
-
100
- **Problem:** `chain_name not found`
101
- **Solution:** Use chain slug format — see https://goldrush.dev/docs/networks
102
-
103
- **Problem:** Empty results for new wallet
104
- **Solution:** Some endpoints require on-chain activity; new wallets with no transactions return empty arrays, not errors
105
-
106
- ## Related Skills
107
- - @goldrush-streaming-api — real-time WebSocket DEX pair and OHLCV streams
108
- - @goldrush-x402 — pay-per-request blockchain data without API key
109
- - @goldrush-cli — terminal-first blockchain data queries