navi-lending — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited navi-lending (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
# Suiperpower telemetry. Routes through the CLI so projects.json + Convex stay in sync.
# Silent on failure so the skill never blocks. Opt out: SUIPERPOWER_TELEMETRY=off.
#
# AGENT NOTE: when this skill finishes, run the matching completion command:
# suiperpower track navi-lending build completed
# Or use "failed" / "aborted" if it ended that way.
command -v suiperpower >/dev/null 2>&1 && suiperpower track navi-lending build started >/dev/null 2>&1 &
trueIf TEL_PROMPTED is no, before doing real work, ask the user:
Help suiperpower get better. We track which skills get used and how long they take. No code, no file paths, no PII. Change anytime in ~/.suiperpower/config.json.>
A) Sure, anonymous B) No thanks
Write the answer to ~/.suiperpower/config.json telemetryTier field and create ~/.suiperpower/.telemetry-prompted. Then continue.
Integrates NAVI Protocol lending into the project. Sets up the @naviprotocol/lending SDK (PTB-native, no standalone client class), walks through deposit, borrow, repay, and withdraw flows, adds health factor monitoring, and optionally wires up flash loans. Verifies a real lending operation executes on mainnet before declaring done.
scallop-money-market instead. Both are production protocols. NAVI uses PTB-native functions with coin type identifiers. Scallop uses sCoins receipt tokens and a builder pattern (depositQuick). Pick based on asset coverage and API preference.cetus-swap or deepbook-orderbook.defillama-sui.scaffold-project first..suiperpower/build-context.md from scaffold-project. Read it if present.If unclear, interview the user for:
flashloanPTB + repayFlashLoanPTB..suiperpower/build-context.md: ## navi-lending session, <timestamp>
- markets: <list of asset symbols>
- operations: deposit | borrow | repay | withdraw | flash-loan
- sample tx digest: <digest>
- health factor: <value>
- oracle: Pyth + Supra (15s validity)
- open issues: <list>The skill never deletes files outside the integration source path without explicit user confirmation.
.suiperpower/build-context.md if it exists.getPools().npm install @naviprotocol/lending (peer dep: @mysten/sui >=1.25.0).navi-sdk package is deprecated. Do NOT use it.depositCoinPTB(tx, identifier, coinObj, opts).'0x2::sui::SUI'), a Pool object, or a numeric asset ID.{ env: 'prod', accountCap, market: 'main' }.'main') and Ember (id: 1, key: 'ember'). Default is Main.getPools() returns all pool data (rates, capacity, LTV, oracle prices, APY, liquidation params).getPool(identifier) returns a single pool by coin type, asset ID, or Pool object.getStats() returns aggregate protocol stats.build-context.md.depositCoinPTB(tx, identifier, coinObject, { amount }). Merge coins first with mergeCoinsPTB().borrowCoinPTB(tx, identifier, amount, { accountCap }). A 0.3% borrow fee is applied at borrow time.withdrawCoinPTB(tx, identifier, amount, { accountCap }).repayCoinPTB(tx, identifier, coinObject, { amount, accountCap }).Transaction that must be signed and executed.getHealthFactor(address) returns current health factor. Below 1.0 triggers liquidation.getSimulatedHealthFactor(address, identifier, operations) predicts the impact of a new borrow.flashloanPTB(tx, identifier, amount) returns [balance, receipt].repayFlashLoanPTB(tx, identifier, receipt, coinObject) repays the flash loan.getAllFlashLoanAssets()..suiperpower/build-context.md..suiperpower/intent.md exists and the session was non-trivial (new module, new sponsor integration, or material changes to public functions), recommend verify-against-intent as the next step so drift is caught before shipping.intent.md exists and the session was non-trivial, surface that gap once: offer clarify-intent to backfill, do not force it.Before reporting done, the skill asks itself the following and refuses to declare success if any answer is no:
@naviprotocol/lending, not the deprecated navi-sdk?flashloanPTB and repayFlashLoanPTB both appear in the same PTB?updateOraclePricesPTB() before time-sensitive ops.)If any answer is no, the skill reports the gap and works through it before claiming the integration is complete.
On-demand references (load when relevant to the user's question):
references/navi-quickstart.md: Install, deposit, borrow, repay, withdraw, flash loan, health factor recipes for the @naviprotocol/lending SDK.SDK documentation (load when scope expands beyond what is in references):
claude "/suiper:navi-lending <your message>"codex "/navi-lending <your message>"grok, then /navi-lending <your message> in the session~/.cursor/rules/navi-lending.mdc and reference it.If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.