agentsclimarketplace

Report

Skill lucemia/investment-autoresearch/skills/report

Use when generating a structured markdown report from an autoresearch_result.json file for a given ticker. Triggered when user asks for a report, summary, or writeup of autoresearch results.From its SKILL.md

Install
npx -y skills add lucemia/investment-autoresearch --skill report

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.9 KB, as published. Nobody here has run it

Autoresearch Report

Generates a structured markdown report from archive/{ticker}-autoresearch-v{N}/autoresearch_result.json.

Input

Read the JSON file for the requested ticker:

archive/{ticker}-autoresearch-v{N}/autoresearch_result.json

If no version is specified, use the latest v{N} directory. If the JSON doesn't exist, run the investment-autoresearch-parse skill first.

Report Template

Fill each section from the JSON fields below. Omit a row/field only if the value is null.


# {ticker} Autoresearch Report

## Strategy Identity

| Field | Value |
|---|---|
| Ticker | {ticker} |
| Champion Strategy | {current_best.strategy_name} |
| Parameters | {current_best.parameters as key=value pairs} |

## Performance Summary

| Metric | Value |
|---|---|
| CAGR | {current_best.cagr}% |
| Max Drawdown | {current_best.max_drawdown}% |
| Sharpe | {current_best.sharpe ?? —} |
| Trades | {leaderboard[0].trades} |
| Trades / Parameter | {leaderboard[0].trades_per_param ?? —} |

## Risk-Adjusted Validation

Walk-forward RA = CAGR / |MaxDD| across rolling periods:

| Period | CAGR | RA |
|---|---|---|
| 5y | {walk_forward.5y.cagr ?? —} | {walk_forward.5y.ra ?? —} |
| 3y | {walk_forward.3y.cagr ?? —} | {walk_forward.3y.ra ?? —} |
| 2y | {walk_forward.2y.cagr ?? —} | {walk_forward.2y.ra ?? —} |
| 1y | {walk_forward.1y.cagr ?? —} | {walk_forward.1y.ra ?? —} |

**Min RA across periods: {current_best.min_ra_across_periods}**
_(Lower bound on risk-adjusted return; guards against period-specific overfitting)_

## Research Process

- **Rounds completed:** {research_summary.rounds_completed}
- **Agents run:** {research_summary.agents_run}
- **Strategies tested:** {research_summary.strategies_tested ?? unknown}

### Verified Insights

{verified_insights as numbered list}

### Rejected Approaches

| Approach | Why It Failed |
|---|---|
{rejected_approaches as table rows: approach | reason}

## Top Strategies Leaderboard

| Rank | Strategy | CAGR | MaxDD | Calmar | Trades |
|---|---|---|---|---|---|
{leaderboard rows}

## Recommendations

- **Graduate to production:** {recommendation.graduate}
- **Confidence:** {recommendation.confidence}

### Open Hypotheses

{open_hypotheses as numbered list}

Field Mapping

Report SectionJSON Path
Tickerticker
Champion namecurrent_best.strategy_name
Parameterscurrent_best.parameters
CAGRcurrent_best.cagr
Max Drawdowncurrent_best.max_drawdown
Sharpecurrent_best.sharpe
Walk-forward tablecurrent_best.walk_forward
Min RAcurrent_best.min_ra_across_periods
Roundsresearch_summary.rounds_completed
Agentsresearch_summary.agents_run
Strategies testedresearch_summary.strategies_tested
Verified insightsverified_insights[]
Rejected approachesrejected_approaches[].approach + .reason
Leaderboardleaderboard[]
Graduate recommendationrecommendation.graduate
Confidencerecommendation.confidence
Open hypothesesopen_hypotheses[]

Benchmark Comparison

The JSON does not store buy-and-hold figures. If needed, note the period CAGR of the ticker from yfinance and compute manually. Leave section out if no data available.

Common Mistakes

MistakeFix
Showing null in the reportReplace with — for missing values
Omitting walk-forward table when all values are nullInclude table but note "walk-forward not yet run"
Using leaderboard[0] trade count when leaderboard is emptyFall back to current_best trades field
Rendering parameters dict as {...}Format as key=value, key=value pairs

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.