Context for ongoing migration from old Portfolio Buddy app. Use when: fixing bugs, adding migrated features, checking feature parity, or understanding why certain code exists. Contains list of 40 features being migrated and known issues.
npx skills add https://github.com/aiskillstore/marketplace --skill migration-tracker
Core features migrated and working:
dev-docs/database-architecture.md for schema referenceStatus: Production ready - Tested and deployed
Commits: c4fa57c, a5ce0ec, 676de06, eba4c8d, ee7cec8, ae9202d
Merged to main: d56497a (PR #1)
Implementation Journey (6 commits):
calculateMetricsFromDatabase() and buildFilenameFromMetadata() to dataUtils.tsfetchFromSupabase() in App.tsxcsv_files table to new strategies + trades schemaorder('trades.trade_date') to order('trade_date') with foreignTable parameter.limit(10000) to get all tradestrades? propertycalculateMetrics() to check for "Entry/Exit" columnFinal Results:
Files Modified:
src/utils/dataUtils.ts: +235 lines (functions, interfaces, auto-detection)src/App.tsx: +145 lines (database fetch, TypeScript types).claude/skills/migration-tracker/SKILL.md: Documentation updatesHow It Works:
calculateMetrics() auto-detects format and processes correctlyBackward Compatibility:
Status: Planning complete, ready for implementation
What Changed:
New Database Schema:
portfolios: Portfolio definitions with is_master flagstrategies: Strategy metadata (market, direction, contract_multiplier, etc.)trades: Individual trade records (trade_date, trade_time, profit)portfolio_strategies: Links portfolios to strategiesImplementation Plan:
calculateMetricsFromDatabase() function in dataUtils.ts (~80 lines)fetchFromSupabase() query in App.tsx (~60 lines changed)Current State:
csv_files table (needs update)Next Steps:
Commit: c372ab7a92d267eda3e540b298872484ef09e38d
Files: App.tsx (+47), MetricsTable.tsx (+18), PortfolioSection.tsx (+8)
What it does:
Problem: Delete feature was "lost" (local repo behind origin/main)
Solution:
git fetch origin
git merge origin/main # Fast-forward to c372ab7
Key lesson: Always check git log origin/main when work seems missing
Commits: 258ba3a, 9f25040
What Changed:
useState<number>(0))Files Modified:
PortfolioSection.tsx: Added riskFreeRate state, downside deviation calculation, and displayImplementation Details:
useMemoCommit: 258ba3a
What Changed:
Files Modified:
usePortfolio.ts: Added date filtering logicPortfolioSection.tsx: Added date picker controlsCommit: 9fb7fdb
What Changed:
Files Modified:
UploadSection.tsx: Enhanced error handlingErrorList.tsx: New component for error displayusePortfolio.ts: Better error propagationEquityChartSection.tsxPortfolioStats.tsxContractControls.tsxnpm uninstall rechartsany violationsStatus: Partially fixed (commit 9fb7fdb)
Root cause: Row limit exceeded on free tier
Current workaround:
Long-term fix: Implement data aggregation before storage
Status: Documented but not fixed
Problem: Components grew during migration
Affected:
Fix needed: Systematic refactoring into smaller components
Status: Feature doesn't exist
Note: Previous skill version documented a "Select All bug" but this feature was either removed or never implemented. MetricsTable has individual selection but no "Select All" functionality.
Status: Recoverable via git forensics
Problem: Can't find recently added features or code seems to have disappeared
Solution:
git log origin/main --oneline -10git log --all --grep="keyword"git merge origin/maingit reflogExample: On Dec 2, 2025, the delete feature was recovered by fast-forwarding from f4e752a to c372ab7
| Feature | Impact | Confidence | Ease | ICE Score | Status |
|---------|--------|------------|------|-----------|--------|
| Refactor PortfolioSection | 6 | 8 | 4 | 19.2 | ❌ |
| Remove Recharts | 3 | 10 | 10 | 30 | ❌ |
| Fix TypeScript any | 5 | 9 | 6 | 27 | ❌ |
| Export to Excel | 8 | 8 | 7 | 44.8 | 🚧 |
| Advanced filters | 7 | 6 | 5 | 21 | 🚧 |
| Historical comparison UI | 6 | 7 | 4 | 16.8 | 🚧 |
| Error boundaries | 7 | 9 | 8 | 50.4 | ❌ |
| Testing setup | 6 | 8 | 5 | 24 | ❌ |
| Risk scenarios | 5 | 4 | 2 | 4 | ❌ |
Top Priorities by ICE Score:
| Component | Old App | New App | Reason |
|-----------|---------|---------|--------|
| React | 16.x | 19.x | Latest features, better performance |
| Language | JavaScript | TypeScript | Type safety, better DX |
| Build Tool | Create React App | Vite | 10x faster builds, modern |
| Styling | Material-UI v4 | Tailwind + shadcn | More flexible, lighter |
| Charts | Recharts | Chart.js | Better performance, more features |
| State | Redux | Plain React hooks | Simpler, less boilerplate |
| Backend | Custom Node.js | Supabase | Faster development, PostgreSQL |
Note: Skills previously claimed migration to TanStack Query + Zustand, but actual implementation uses plain React hooks only.
Portfolio Buddy 2 is simple enough to use React's built-in state:
any escapesany violationsComparing to old Portfolio Buddy v1:
| Feature | Old App | New App | Notes |
|---------|---------|---------|-------|
| CSV Upload | ✅ | ✅ | Improved error handling |
| Sharpe Ratio | ✅ | ✅ | Same calculation |
| Sortino Ratio | ✅ | ✅ | Fixed calculation (9f25040) |
| Max Drawdown | ✅ | ✅ | Same calculation |
| CAGR | ✅ | ✅ | Same calculation |
| Correlation Matrix | ✅ | ✅ | Added Pearson + Spearman |
| Equity Curves | ✅ | ✅ | Better charts with zoom/pan |
| Contract Multipliers | ❌ | ✅ | New feature |
| Date Filtering | ❌ | ✅ | New feature |
| Multi-column Sort | ✅ | ✅ | Improved with useSorting |
| Export to CSV | ✅ | ✅ | Same functionality |
| Export to Excel | ✅ | ❌ | Regression - needs reimplementation |
| Export to PDF | ✅ | ❌ | Regression - low priority |
| Symbol Filtering | ✅ | ❌ | Regression - in progress |
| Historical Compare | ✅ | ❌ | Regression - backend ready |
Parity Status: 85% (11/13 core features complete)
Python library for accessing, analyzing, and extracting data from SEC EDGAR filings. Use when working with SEC filings, financial statements (income statement, balance sheet, cash flow), XBRL financial data, insider trading (Form 4), institutional holdings (13F), company financials, annual/quarterly reports (10-K, 10-Q), proxy statements (DEF 14A), 8-K current events, company screening by ticker/CIK/industry, multi-period financial analysis, or any SEC regulatory filings.
Use this skill when the user asks to list, create, inspect, update, disable, re-enable, or revoke AltLLM Portal API keys for external agents or applications. Do NOT use for wallet login, billing history, or payment links.
Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.
Use this umbrella skill when the request spans multiple AltLLM Portal CLI domains, or when you need to navigate the local altllm CLI in this repository across auth, API keys, billing history, NOWPayments payment links, and related x402 Portal top-up guidance.
Build with the ChainGPT Web3 AI developer platform. Full API/SDK reference and project scaffolding for: Web3 AI Chatbot & LLM, AI NFT Generator, Smart Contract Generator, Smart Contract Auditor, AI Crypto News, AgenticOS Twitter agents, and Solidity LLM. Use when building blockchain apps, Web3 chatbots, NFT tools, smart contract tools, crypto news feeds, AI agents, or integrating any ChainGPT API. Triggers: chaingpt, web3 ai, nft generator, smart contract audit, crypto news api, agenticos, solidity llm, cgpt, blockchain ai, token analytics.
TypeScript SDK for the Payment HTTP Authentication Scheme. Handles 402 Payment Required flows with Tempo, Stripe, and other payment methods. Use when integrating payments or mppx into a client or server application.
>- Guide for developing with near-api-js v7 - the JavaScript/TypeScript library for NEAR blockchain interaction. (3) calling smart contracts, (4) managing accounts and keys, (5) working with NEAR RPC API, (6) handling FT/NFT tokens on NEAR, (7) using NEAR cryptographic operations (KeyPair, signing), (8) converting between NEAR units (yocto, gas), (9) gasless/meta transactions with relayers, (10) NEP-413 message signing for authentication, (11) storage deposit management for FT contracts. Triggers on any NEAR blockchain development tasks.
TypeScript library for NEAR Protocol blockchain interaction. Use this skill when writing code that interacts with NEAR Protocol, including viewing contract data, calling contract methods, sending NEAR tokens, building transactions, creating type-safe contract wrappers, integrating wallets (Wallet Selector, HOT Connect), React hooks and providers (@near-kit/react), managing keys, testing with sandbox, meta-transactions (NEP-366), and message signing (NEP-413).
Take aiskillstore/migration-tracker from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.