Pubfi wallet portfolio analysis
Skill helixbox/pubfi-skills-v1/skills/pubfi-wallet-portfolio-analysis
Analyze EVM wallet asset distribution and identify high-risk protocol exposure.From its SKILL.md
npx -y skills add helixbox/pubfi-skills-v1 --skill pubfi-wallet-portfolio-analysisAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.0 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
Wallet Portfolio Analysis
Goal: Provide concise asset distribution analysis and risk assessment for EVM wallets.
Inputs
wallet_address(required): EVM address (0x...)
Data Source
Primary: Zerion API via zerion-portfolio.py
# Get all assets
python3 zerion-portfolio.py <address>
# Get only DeFi positions
python3 zerion-portfolio.py <address> --only-defi
Environment: ZERION_API_KEY must be set. If not set, get your API key at: https://www.zerion.io/api
Execution Workflow
Step 1: Validate Input
1. Check address format: 0x + 40 hex characters
2. If invalid format: Exit with error message
Step 2: Fetch Portfolio Data
# Execute Zerion portfolio script
python3 skills/pubfi-wallet-portfolio-analysis/zerion-portfolio.py <address>
Handle Edge Cases:
- Empty wallet β Report "Empty wallet"
- API failure β Exit with error, cannot proceed
- Zero-value positions β Skip
Step 3: Categorize Assets
Group by type:
Native: ETH, MATIC, BNB, etc.
Stablecoins: USDC, USDT, DAI, USDS
DeFi Positions: Has protocol attribute + position_type != 'wallet'
Other Tokens: Everything else
Track total value per category for distribution percentages
Step 4: Identify DeFi Protocols
For each DeFi position:
1. Extract protocol name from attributes.protocol
2. Identify position type (Lending/Staking/LP/etc.)
3. Record position value and percentage of portfolio
4. Create list of unique protocols for risk assessment
Step 5: Risk Assessment (DeFi Protocols Only)
For each identified protocol:
A. Fetch Protocol Data (parallel):
- DefiLlama API: curl "https://api.llama.fi/protocol/{slug}"
- Extract TVL, chains, audit info, category
B. Check Recent Exploits:
- Search rekt.news for protocol name
- Filter last 90 days
- Record any incidents
C. Calculate Risk Score:
Risk = Base + Events + Audit + TVL Trend
Factors:
- No audit: +5
- Recent exploit (90 days): +5
- TVL drop >50% (30 days): +3
- TVL drop 20-50%: +2
- New protocol (<6 months): +2
- Single audit: +1
- Multiple audits: -2
- Battle-tested (>1 year): -1
D. Assign Risk Level:
- Score > 7: π΄ High Risk
- Score 4-7: π‘ Medium Risk
- Score < 4: π’ Low Risk
E. Error Handling:
- DefiLlama fails: Mark TVL as "N/A", continue
- Rekt.news unavailable: Mark exploits as "Unknown"
Known Safe Protocols (auto π’):
- Aave V2/V3, Uniswap V2/V3, Compound V2/V3
- Lido, Curve, MakerDAO/Sky
Step 6: Generate Report
Output structured markdown report following the Output Format section below.
Output Format
1) Summary
Portfolio: 0x...
Total Value: $X,XXX USD
Chains: Ethereum, Arbitrum, Base
2) Asset Distribution
Asset Breakdown:
β’ Native: $XXX (XX%)
β’ Stablecoins: $XXX (XX%)
β’ DeFi Positions: $XXX (XX%)
β’ Other Tokens: $XXX (XX%)
3) Top Positions
Table format showing all positions sorted by value:
Protocol/Wallet | Position Type | Value | % Portfolio
----------------|---------------|-------|------------
Wallet Assets | Wallet | $XXX | XX%
Protocol A | Lending | $XXX | XX%
Protocol B | LP | $XXX | XX%
4) Top Holdings (>2% of portfolio)
Table format:
Chain | Asset | Type | Amount | Value | % Portfolio
------|-------|------|--------|-------|------------
5) DeFi Exposure
For each protocol with π‘ Medium or π΄ High risk only (skip π’ Low risk):
Protocol Name (Chain)
β’ Position Value: $XXX (XX% of portfolio)
β’ Position Type: Lending/Staking/LP/etc.
β’ Risk: π‘/π΄
β’ TVL: $XXX (DefiLlama)
β’ Audit: Yes/No (auditor names)
β’ Recent Issues: None / [describe]
If all protocols are low risk, output: "All DeFi positions are in low-risk protocols (π’)"
6) Risk Summary
High Priority:
- List any π΄ high-risk positions with recommended actions
Medium Priority:
- List any π‘ medium-risk positions with considerations
Overall Assessment:
- One paragraph summary
- Risk score: Low/Medium/High
7) Data Sources
- Zerion API: Portfolio data (timestamp)
- DefiLlama: Protocol TVL and info
- Rekt.news: Security incidents
- [Other sources used]
Quality Standards
Conciseness:
- Total report: 200-400 words (excluding tables)
- Focus on actionable insights only
- No filler or generic statements
Accuracy:
- All data must have timestamps
- All values must come from real API calls
- Risk assessments must cite specific evidence
Usefulness:
- Highlight positions >5% of portfolio
- Flag any high-risk exposure immediately
- Provide clear next actions if needed
Update Frequency
- Risk database: Update monthly with rekt.news
- Known protocols: Update as new major protocols launch
- Audit status: Verify quarterly
Last updated: 2026-02-05
What ships with it: 1 file
6.7 KB alongside SKILL.md, 1 of them executable
- zerion-portfolio.pyruns6.7 KB
Gives 1 of the 12 instructions most research analysis skills give in ~1.4k tokens
Counted across 1,063 of the 1,754 authors here whose files we hold, read 2026-08-07
- Generate a markdown reporthere, and in 32 of 1063, across 23 files
- Cite each claim's sourcein 30 of 1063, across 15 files
- Define the ideal customer profilein 20 of 1063, across 2 files
- Search for companies matching the criteriain 20 of 1063, across 2 files
- Assign a fit score from one to tenin 20 of 1063, across 2 files
- Analyze the codebase to understand the productin 19 of 1063, across 1 file
- Ask clarifying questions about the value propositionin 19 of 1063, across 1 file
- Look for signals of immediate needin 19 of 1063, across 1 file
- Identify the target decision maker rolein 19 of 1063, across 1 file
- Suggest a personalized contact strategyin 19 of 1063, across 1 file
- Provide conversation starters for outreachin 19 of 1063, across 1 file
- Format results in a scannable markdown templatein 19 of 1063, across 1 file
Said here and by no other author read
- Require a valid EVM address as input
- Exit on invalid address format
- Fetch portfolio data via required script
- Skip zero-value positions
- Categorize assets into four groups
- Identify DeFi protocol names and position types
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.