trader-portfolio — Claude Code skill: portfolio optimization
A skill that walks through portfolio allocation with the neural-trader engine: weights, a risk figure and a rebalancing draft. Useful when you want to map holdings onto a target return.
npx skills add ruvnet/ruflo --skill trader-portfolio -a claude-codeWhat trader-portfolio does
The skill lays out a fixed sequence. First it checks whether neural-trader is present in the project, then pulls current holdings from the trading-portfolio memory namespace, runs the optimizer and writes the result back. It leans on the MCP tools memory_search, memory_store, neural_predict and agentdb_pattern-search, plus Bash.
Know what you get in 2.8.11. The command npx neural-trader --portfolio optimize hands back equal weights and a risk number for them, with a note that the returns matrix is not wired in. No optimization actually happens. For real mean-variance weights the skill points you to /trader-portfolio-cg. The same applies to --portfolio current and --portfolio rebalance — both run that equal-weight demo and ignore whatever word follows the flag.
There are no --var or --correlation flags in the CLI; risk metrics come from --risk assess --returns <series>. The rebalancing plan you derive yourself: take the weights from /trader-portfolio-cg, compare them against the holdings you stated, work out the trades and estimated costs. Nothing here places orders, so the output is a proposal. --risk-target is accepted as an alias of --target-return.
What it helps with
- map holdings onto a target return
- get equal weights and a risk figure for a ticker list
- draft a rebalancing plan with trades and costs
- store the chosen allocation in project memory
- find past allocations by Sharpe ratio
Example prompts for the agent
- Optimize my portfolio for AAPL, MSFT, GOOGL with a 0.10 target return
- Build a rebalancing plan from my current holdings
- Search history for allocations with Sharpe above 1
How to install trader-portfolio
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill trader-portfolio -a claude-code2Manually: put the files in place
~/.claude/skills/trader-portfolio/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/trader-portfolio/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill trader-portfolio -a codex2Manually: put the files in place
.agents/skills/trader-portfolio/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill trader-portfolio -a cursor2Manually: put the files in place
.cursor/skills/trader-portfolio/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo trader-portfolio2Manually: put the files in place
.github/skills/trader-portfolio/SKILL.md1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill trader-portfolio -a gemini-cli2Platform CLI
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-neural-trader/skills/trader-portfolioManually: put the files in place
.devin/skills/trader-portfolio/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill trader-portfolio -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about trader-portfolio
How do I install trader-portfolio in Claude Code?
Run npx skills add ruvnet/ruflo --skill trader-portfolio -a claude-code, then check ~/.claude/skills/trader-portfolio/SKILL.md.
What does trader-portfolio do?
It runs a portfolio workflow: read holdings from memory, call the neural-trader engine, assess risk and save the result. The rebalancing plan is meant to be derived by hand from the returned weights.
Does it produce real mean-variance weights?
In 2.8.11 the --portfolio optimize command returns equal weights and a note that the returns matrix is not connected. The skill directs you to /trader-portfolio-cg for actual optimization.
Source text
SKILL.md · MIT
---
name: trader-portfolio
description: Optimize portfolio allocation using npx neural-trader mean-variance engine with risk constraints and rebalancing plan
allowed-tools: Bash Read mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__memory_retrieve mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__neural_predict mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search
argument-hint: "[--risk-target NUMBER]"
---
Optimize portfolio allocation using neural-trader's portfolio engine.
Steps:
1. Ensure neural-trader is available:
`npm ls neural-trader 2>/dev/null || npm install --ignore-scripts neural-trader`
2. Load current portfolio:
`mcp__plugin_ruflo-core_ruflo__memory_search({ query: "current portfolio holdings", namespace: "trading-portfolio" })`
3. Run portfolio optimization:
```bash
npx neural-trader --portfolio optimize --symbols AAPL,MSFT,GOOGL --target-return 0.10
```
(`--risk-target` is accepted as an alias of `--target-return`.) In 2.8.11 this returns EQUAL weights and a risk figure for them, with a `note` saying the returns matrix is not wired; it does not optimise anything. For real mean-variance weights use `/trader-portfolio-cg`. `--portfolio current` and `--portfolio rebalance` run the same equal-weight demo and ignore the word after `--portfolio`.
4. Risk metrics: `--var` and `--correlation` are not CLI flags. Use `--risk assess --returns <series>` (see `/trader-risk`) with returns you derived from real data.
5. Use SONA for expected return prediction:
`mcp__plugin_ruflo-core_ruflo__neural_predict({ input: "expected returns for [HOLDINGS] given current regime" })`
6. Rebalancing plan: the CLI has no rebalance computation (see step 3). Derive it yourself from the weights `/trader-portfolio-cg` returns and the user's stated holdings: trades needed, current vs target weights, estimated costs. Present it as a proposal for the user to act on; this plugin places no orders.
7. Search for similar allocations in history:
`mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search({ query: "optimized portfolio Sharpe > 1", namespace: "trading-portfolio" })`
8. Store optimized allocation:
`mcp__plugin_ruflo-core_ruflo__memory_store({ key: "portfolio-optimal-TIMESTAMP", value: "ALLOCATION_JSON", namespace: "trading-portfolio" })`
© ruvnet · MIT · ruvnet/ruflo