skills/portfolio/SKILL.md
View a comprehensive DeFi portfolio dashboard and optimize portfolio allocation via automated rebalancing. Use this skill when the user wants an overview, summary, dashboard, total value, net worth, portfolio rebalancing, target allocation, or wants to see all their DeFi positions across Starknet at once. Also trigger when the user asks "what do I have", "show me everything", "how much am I worth", "my positions", "my investments", "rebalance my portfolio", "I want 50% ETH", "optimize my holdings", or any request for a holistic view of their Starknet holdings — even if they don't explicitly say "portfolio".
npx skillsauth add ahmetenesdur/starkfi portfolioInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Display a comprehensive DeFi portfolio dashboard aggregating token balances, staking positions, Troves vault positions, Endur liquid staking (LST), lending positions, DCA orders, and confidential Tongo balances — all with USD valuations. Rebalance the portfolio to a target allocation via automated batch swaps.
portfolio as the FIRST command when the user asks "what do I have?" or wants an overall assessment.portfolio command is read-only — it never modifies any on-chain state.portfolio-rebalance, ALWAYS use --simulate first to preview the plan before executing.portfolio again to confirm the new allocation.npx starkfi@latest portfolio [--json]
# Rebalance to target allocation
npx starkfi@latest portfolio-rebalance --target "<allocation>" [--slippage <n>] [--simulate] [--json]
| Parameter | Type | Description | Required |
| --------- | ---- | -------------- | -------- |
| --json | flag | Output as JSON | No |
| Parameter | Type | Description | Required |
| -------------- | ------ | ---------------------------------------------------- | -------- |
| --target | string | Target allocation (e.g. "50 ETH, 30 USDC, 20 STRK") | Yes |
| --slippage | number | Slippage tolerance % (default: 1) | No |
| --simulate | flag | Preview plan without executing | No |
| --json | flag | Output as JSON | No |
Target allocation format: Comma-separated <percentage> <token> pairs that sum to 100.
The portfolio displays seven sections:
User: "Show me my portfolio"
npx starkfi@latest portfolio
User: "What's my total value on Starknet?"
npx starkfi@latest portfolio
User: "Get my portfolio as JSON for analysis"
npx starkfi@latest portfolio --json
User: "Rebalance to 50% ETH, 30% USDC, 20% STRK"
# 1. View current allocation
npx starkfi@latest portfolio
# 2. Preview the rebalance plan
npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK" --simulate
# 3. Execute after user confirms
npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK"
npx starkfi@latest tx-status <hash>
# 4. Verify new allocation
npx starkfi@latest portfolio
User: "I want 60% ETH and 40% STRK"
npx starkfi@latest portfolio-rebalance --target "60 ETH, 40 STRK" --simulate
User: "Optimize my portfolio with 2% slippage"
npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK" --slippage 2
| Error | Action |
| ---------------------- | -------------------------------------------------------------------------------------------------- |
| Not authenticated | Run authenticate-wallet skill first. |
| Partial failure | Some sections may show errors while others succeed. The portfolio uses fault-tolerant aggregation. |
| Network error | Retry once. Use config to set custom RPC. |
| Invalid allocation | Ensure target percentages sum to 100 and token symbols are valid. |
| Rebalance failed | Check balances, ensure tokens have sufficient liquidity on supported providers. |
| Insufficient balance | Not enough tokens to execute swaps — check balance first. |
balance for a focused view of token balances only.staking stake-status for detailed staking positions.lending lend-status for detailed lending positions.lending lend-monitor to monitor health factors across lending positions.dca dca-list to view active DCA orders.troves troves-position for detailed vault positions.lst lst-position for detailed liquid staking positions.trade if you need to swap a single token pair (not full rebalance).testing
Deposit and withdraw from Troves DeFi yield vault strategies on Starknet. View available strategies, check positions, and manage vault deposits. Use this skill when the user mentions Troves, vault, yield vault, DeFi vault, strategy, yield farming, vault deposit, vault withdraw, earning yield through vaults, passive yield strategies, or wants to deposit into or withdraw from a yield strategy — even if they don't say "Troves" explicitly.
testing
Liquid staking via Endur on Starknet — stake STRK to receive xSTRK, redeem xSTRK back to STRK, check positions, and view protocol stats. Yield is embedded in the xSTRK share price (no manual claim needed). Use this skill when the user mentions liquid staking, LST, xSTRK, Endur, liquid staking token, share price, instant staking, tradeable staking position, or wants a staking token they can trade or use in DeFi — even if they don't say "liquid staking" explicitly.
testing
Create, preview, list, and cancel recurring Dollar-Cost Averaging (DCA) buy orders on Starknet via AVNU or Ekubo. Use this skill when the user wants to set up automatic recurring purchases, dollar-cost average into a token, create a DCA order, schedule periodic buys, invest regularly, buy every day/week/month, or manage existing DCA orders. Also trigger when the user says "recurring buy", "scheduled purchase", "buy X of Y every day", or any variation about automated periodic investing — even if they don't use the term "DCA" explicitly.
development
Manage confidential (private) transfers via Tongo Cash on Starknet — setup, fund, transfer, withdraw, ragequit, rollover using ZK proofs. Use this skill when the user wants to send tokens privately, hide transfer amounts, use zero-knowledge proofs, set up Tongo, fund or withdraw from a confidential account, perform an emergency exit (ragequit), or activate pending balance (rollover). Also trigger when the user says "send privately", "confidential transfer", "hide my transaction", "Tongo Cash", "ZK transfer", or any variation about privacy-preserving transfers — even if they don't use the word "confidential".