Skip to content
Back to skills

Rivaldotimoty Trading Agents

ASecurity

Multi-agent stock and crypto research desk modelled on TauricResearch/TradingAgents. Four analysts (technical, fundamentals, news/macro, sentiment) write independent reports, bull and bear researchers debate, a research manager judges, a trader builds an exchange-valid plan (entry, stop, targets, size), a risk committee challenges it, and a portfolio manager issues a five-tier rating (Buy/Overweight/Hold/Underweight/Sell) backed by computed indicators and cited sources. Use whenever the user ...

  • 78 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 3, 2026
ai-agentspythongoapi

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned October 3, 2026

npx -y skills add jiayaoqijia/cryptoskill --skill rivaldotimoty-trading-agents --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rivaldotimoty Trading Agents?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rivaldotimoty Trading Agents
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jiayaoqijia-rivaldotimoty-trading-agents/badge)](https://www.skillsdirectory.com/skills/jiayaoqijia-rivaldotimoty-trading-agents)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: trading-agents
description: Multi-agent stock and crypto research desk modelled on TauricResearch/TradingAgents. Four analysts (technical, fundamentals, news/macro, sentiment) write independent reports, bull and bear researchers debate, a research manager judges, a trader builds an exchange-valid plan (entry, stop, targets, size), a risk committee challenges it, and a portfolio manager issues a five-tier rating (Buy/Overweight/Hold/Underweight/Sell) backed by computed indicators and cited sources. Use whenever the user asks to analyse or rate a stock, index or crypto, asks whether to buy/sell/hold, wants entry/stop/target levels or a bull vs bear view, or mentions TradingAgents, including Indonesian phrasings like "analisis saham BBCA", "BBRI layak beli?", "prospek TLKM", "analisa teknikal/fundamental", .JK tickers, US tickers, and BTC/ETH. Also for comparing tickers or re-checking an earlier call. Research, not financial advice.
---

# Trading Agents

A simulated trading desk. Separate roles, separate evidence, a real debate,
and a decision that has to survive a risk committee. The value comes from
three disciplines, so protect them throughout:

1. **Independence**: each role sees only its own inputs, so the analysts
   aren't writing toward a verdict they already know.
2. **Verified numbers**: every price, indicator and ratio comes from a
   script output or a cited source. The desk never estimates numbers.
3. **Time discipline**: nothing after the analysis date is used.

Files in this skill (paths are relative to this SKILL.md's directory):
- `references/agents.md`: role cards for all 12 agents. **Read before step 3.**
- `references/data-sources.md`: data paths, fallbacks, search recipes,
  market rules (IDX, US, crypto). **Read at step 2.**
- `references/output-format.md`: chat summary and full report templates.
  **Read before step 9.**
- `scripts/fetch_data.py`: yfinance fetch → prices, fundamentals, news, technical snapshot.
- `scripts/indicators.py`: technical snapshot from any OHLCV CSV.
- `scripts/risk_tools.py`: tick-valid stop/targets, R:R, position size (IDX lots).
- `scripts/decision_log.py`: memory of past calls, outcome review, lessons.

---

## Step 0. Understand the request

Extract, without interrogating the user (state assumptions instead):

- **Ticker**, normalised to Yahoo format. Indonesian context or a bare
  4-letter IDX code → add `.JK` (BBCA → BBCA.JK). "bitcoin"/"BTC" → `BTC-USD`.
  Ambiguous (e.g. a code that is both a US and IDX listing) → pick the one
  the conversation implies and say so.
- **Analysis date**: default today. A past date means **backtest mode**
  (see data-sources.md §9).
- **Depth**: `quick`, `standard` (default) or `deep`; the user may also pick
  a subset of analysts.
- **User context** if given: already holding? average price? capital, risk
  tolerance, horizon. Feed it to the Trader and Portfolio Manager only.
- **Language**: respond in the user's language.

| Depth | Report length | Bull/Bear rounds | Risk rounds | When |
|---|---|---|---|---|
| quick | ~150 to 250 words | 1 | 1 | "cepat", multi-ticker comparisons, quick checks |
| standard | ~300 to 450 words | 2 | 1 | default |
| deep | ~450 to 700 words | 3 | 2 | user asks for thorough / deep / serious decision |

A round is one Bull turn plus one Bear turn. In rounds 2+, alternate who
opens so neither side always gets the last word.

## Step 1. Choose the orchestration mode and set up the run

**Mode A: real subagents.** If you can spawn subagents (for example a
Task/Agent tool in Claude Code or Cowork), each role runs as its own agent
with its own context. Use this whenever it is available; it is the closest
match to the original framework.

**Mode B: single context.** In a regular chat (claude.ai) you play every
role yourself. Independence then depends on the firewall protocol in step 3.

Create a run directory, e.g. `ta_runs/{TICKER}_{DATE}/` (in claude.ai use
`/home/claude/ta_runs/...`). Every artefact is written there as a file:
`sources.md`, `technical.md`, `01_technical.md`, `02_fundamentals.md`,
`03_news.md`, `04_sentiment.md`, `10_debate.md`, `11_plan.md`,
`20_trader.md`, `30_risk.md`, `40_decision.md`. Files are what enforce
separation: each role reads its inputs from disk, not from memory of other
roles.

## Step 2. Build the data snapshot

Read `references/data-sources.md`, then:

1. Try `python scripts/fetch_data.py {TICKER} --date {DATE} --outdir {RUN}`.
2. If it exits 2 (network blocked; normal on claude.ai) or 3, use the
   fallback paths: a user-uploaded CSV via `scripts/indicators.py`, a
   history page fetched and transcribed to CSV, or web search only.
   Don't stop to ask for data; proceed and flag limits.
3. Run web searches for fundamentals, news/macro and sentiment regardless;
   Yahoo's coverage is thin for many names, especially IDX. Log every source
   in `sources.md` with date, URL, analyst tag and the exact figures used.
   Scale searches to depth: quick ≈ 4 to 6, standard ≈ 8 to 12, deep ≈ 12 to 20.
4. If a decision log exists (the user uploaded `trading_agents_log.jsonl`,
   or one exists locally), run
   `python scripts/decision_log.py --log {LOG} review --ticker {TICKER} --price {last} --date {DATE}`
   and save the result for the Portfolio Manager.

Sanity-check the snapshot before any agent uses it: last bar date near the
analysis date, price in the right order of magnitude and currency, and
the correct company behind the ticker.

## Step 3. Analyst team

Read `references/agents.md` sections 1 to 2. Run the four analysts (or the
subset the user chose). Each writes its report file.

**Mode A.** Launch the analysts in parallel. Give each a self-contained
prompt:
```
You are the {ROLE} on a trading research desk analysing {TICKER} as of {DATE}.
Follow these rules and this role card exactly:
<paste "Shared rules" + the role's card from references/agents.md>
Depth: {depth} (length budget {…}). Language: {lang}.
Read ONLY these inputs: {file list}. Do not open other files in {RUN}.
You may run web searches only for your own topic; append each source to
{RUN}/sources.md tagged "{tag}". Write your report to {RUN}/{NN}_{role}.md
and return it.
```

**Mode B: firewall protocol.**
- Write each analyst report using only that analyst's inputs (re-read them
  from disk right before writing), then save it to its file.
- Reports are **final once written**. Do not go back and soften an earlier
  report after later ones point the other way; the disagreement is
  information the debate needs.
- Do not form or mention an overall view until the Research Manager step.
- Keep each report within its length budget so later steps have room.

## Step 4. Bull vs Bear debate

Follow the debate rules in `agents.md` §3. Inputs for both sides: the four
reports, the opponent's previous turns, and lessons from the decision log.
Each turn must rebut the opponent's strongest point first. Write all turns to
`10_debate.md`.

Mode A: run each turn as a fresh subagent call given the reports plus the
debate so far. Mode B: write each turn as that side only; the Bear should
be as good a lawyer as the Bull.

## Step 5. Research Manager

Judge the debate on evidence quality and write the investment plan
(`11_plan.md`) with a five-tier rating. Hold must be justified by a small
edge or thin evidence, never used as a compromise.

## Step 6. Trader

Translate the plan into a concrete proposal (`20_trader.md`). Compute
levels with `scripts/risk_tools.py` using ATR and pivots from
`technical.json`; add `--equity/--risk-pct` if the user gave capital. Quote
the script's numbers exactly.

## Step 7. Risk committee

Aggressive, Conservative and Neutral members (agents.md §5) debate the
proposal for the configured number of rounds. Each ends with a concrete
adjustment. Write to `30_risk.md`.

## Step 8. Portfolio Manager

Make the final call (`40_decision.md`): adopt or reject each risk
adjustment with reasons, apply lessons from the decision log explicitly,
re-run `risk_tools.py` if parameters changed, and set upgrade, downgrade and
exit triggers.

Then record the decision:
`python scripts/decision_log.py --log {LOG} add --ticker … --date … --rating … --price … --stop … --target … --confidence … --horizon … --thesis "…"`
Use `./trading_agents_log.jsonl` locally; on claude.ai use the uploaded log
if there is one, else a new file in the run directory.

## Step 9. Deliver

Read `references/output-format.md`.
1. Post the **chat summary** in the conversation.
2. Assemble the **full report** from the run files. If you can create
   files for the user (on claude.ai: write to `/mnt/user-data/outputs/` and
   share it with the file-presenting tool), save it as
   `{TICKER}_{DATE}_trading-agents.md`. Also share the updated
   `trading_agents_log.jsonl` so the user can upload it next time to give the
   desk memory; mention this once, briefly.
3. If data was limited, close with one line on how to unlock more (upload a
   1 to 2 year daily CSV, or allow the Yahoo hosts in network settings).

---

## Quality bar (check before delivering)

- Every number in the summary appears in a script output or `sources.md`.
- Company name matches the ticker; currency and price scale are right.
- No source is dated after the analysis date.
- Analyst stances are allowed to disagree, and the summary shows it.
- The Bear's best argument appears in the summary, even for a Buy.
- IDX plans use valid ticks and whole lots; stops sit outside daily noise
  (≥ ~1 ATR) and the first target offers ≥ ~1.5R, or the plan says why not.
- The final rating follows from the plan, the trader proposal and the risk
  adjustments; if it differs from the Research Manager's rating, explain why.
- One short "research, not financial advice" line, without further
  disclaimers.

## Handling special requests

- **"Quick answer only"**: run quick depth but keep all roles, and give just
  the chat summary. Offer the full report.
- **Multiple tickers**: quick depth each, then the comparison table from
  output-format.md §3. Warn up front that each ticker is a full run.
- **Follow-up questions** ("why did the bear lose?", "what if I hold at
  9,000?"): answer from the run files; re-run only the affected roles
  (e.g. Trader + Risk + PM for a new entry price).
- **Re-checking an old call**: run `decision_log.py review`, then a fresh
  analysis whose Portfolio Manager explicitly compares with the prior call.
- **User's personal stakes** (e.g. "all my savings"): the Conservative
  analyst and PM must address concentration and suitability plainly; the
  desk still gives its research view.

Files in this skill

  • SKILL.md10.4 KB
  • SOURCE.md366 B
  • TRUST.auto.yaml2 KB
  • references/agents.md15.7 KB
  • references/data-sources.md8.1 KB
  • references/output-format.md3.6 KB
  • scripts/common.py4.4 KB
  • scripts/decision_log.py5.3 KB
  • scripts/fetch_data.py12.5 KB
  • scripts/indicators.py23.9 KB
  • scripts/risk_tools.py4.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…