skills/portfolio/SKILL.md
Portfolio system knowledge base. Use when: position queries, routing strategy questions, provider integration. Not for: general code exploration (use code-explore), code review (use codex-code-review). Output: domain-specific analysis + recommendations.
npx skillsauth add sd0xdev/sd0x-dev-flow 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.
| Type | File | Purpose |
| ---------- | -------------------------------------------------- | ----------------------- |
| Controller | src/entity/portfolio/portfolio.controller.ts | REST API |
| Router | src/service/portfolio/source-router/*.service.ts | Routing orchestration |
| Client | src/service/portfolio/providers/{provider}/*.ts | {PRIMARY_PROVIDER} integration |
| Aggregator | src/service/portfolio/aggregation/*.service.ts | Aggregation computation |
| DTO | src/dto/portfolio/position.types.ts | Position model |
Base: /onchain/v1/portfolio
| Endpoint | Method | Purpose |
| ------------ | ------ | --------------------- |
| /positions | POST | Get portfolio positions |
| /chains | GET | Supported chains list |
| /protocols | GET | Supported protocols list |
PortfolioPositionExtractor + register + configure routingProviderClient + AdapterSourceRouterredis-cli keys "portfolio:{provider}:*"
redis-cli get "portfolio:{provider}:positions:0x...:v2:..."
curl -X POST /positions -d '{"isForceRefresh": true, ...}'
references/architecture.md - System architecture + cache strategyreferences/api.md - API reference + data models| Type | Location |
| ----------- | ------------------------------ |
| Unit | test/unit/service/portfolio/ |
| Integration | test/integration/portfolio/ |
Input: How to query portfolio positions?
Action: Explain POST /positions API + routing strategy
Input: How does {PRIMARY_PROVIDER} integration work?
Action: Explain {PRIMARY_PROVIDER}Client + {PRIMARY_PROVIDER}Adapter flow
documentation
Rewrite the previous reply in Traditional Chinese
development
Monitor GitHub Actions CI runs until completion. Use when: watching CI after push, checking build status, monitoring PR checks, waiting for CI completion, user says 'watch CI', 'check CI', 'CI status', 'monitor build', or /watch-ci. Not for: pushing code (use push-ci), creating PRs (use create-pr). Output: per-run verdict (pass/fail/timeout).
development
Verification loop — lint -> typecheck -> unit -> integration -> e2e
development
Research current code state then update corresponding docs, ensuring docs stay in sync with code.