Agent skill · software engineering · aiskillstore
architecture-reference
Quick reference for Portfolio Buddy 2 project structure. Use when: adding new features, modifying existing components, understanding data flow, or onboarding to the codebase. Contains component hierarchy, hook patterns, and utility functions.
Why this skill is useful
Provides detailed component hierarchy and specific hook patterns that the AI wouldn't reliably generate on its own.
What it needs
About 5k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
Portfolio Buddy 2 - Architecture Reference Component Hierarchy Key Hooks useMetrics Location: src/hooks/useMetrics.ts Purpose: Calculate trading metrics from uploaded portfolio data Features: Calculates Sharpe Ratio, Sortino Ratio, Max Drawdown, CAGR, Win Rate, etc. Memoized calculations for performance Handles empty/invalid data gracefully Usage: Returns: metrics: Array of calculated metrics per strategy isCalculating: Boolean loading state Note: Contains 4 TypeScript any violations in sort comparisons (tech debt) usePortfolio Location: src/hooks/usePortfolio.ts Purpose: Manage portfolio data with date range filtering Features: Parses CSV trade data Filters by date range (start/end date) Builds equity curves Aggregates daily returns Usage: Recent Addition: Date range filtering (commit 258ba3a) Note: Contains 11 TypeScript any violations in trade/metrics types (tech debt) useContractMultipliers Location: src/hooks/useContractMultipliers.ts Purpose: Manage contract multipliers for futures trading Features: Per-strategy contract size tracking Apply multipliers to metrics Master control to set all contracts at once Usage: useSorting Location: src/hooks/useSorting.ts Purpose: Advanced multi-column sorting for MetricsTable Features: Sort by multiple columns with priority Toggle ascending/descending Custom comparison logic per data type Usage: Utility Functions dataUtils.ts Location: src/utils/dataUtils.ts Contains Core Functions: CSV & Data Processing: parseCSV(file) - Parse CSV file with PapaParse processCurrencyColumns(data) - Clean currency values ($, commas) parseFilenameComponents(filename) - Extract symbol/direction/strategy from filename getDisplayName(symbol, direction, strategy) - Format display names normalizeDate(date) - Normalize dates to midnight UTC getDateKey(date) - Convert date to YYYY-MM-DD string key Metric Calculations: calculateMetrics(data, filename) - Calculate trade-level metrics for a strategy Net Profit, Gross Profit/Loss Profit Factor, Win Rate …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/architecture-reference