Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ differ only where the markets do. Either one's `/…:help` prints its own list.
| | `stocks@moshcode` | `crypto@moshcode` |
|---|---|---|
| shared | `help` `report` `quote` `lookup` | `help` `report` `quote` `lookup` |
| its own | `signals` `research` `reports` `discover` | `book` `bars` `spark` `pairs` |
| its own | `signals` `research` `list` `discover` | `book` `bars` `spark` `pairs` |

So `/stocks:report NVDA` and `/crypto:report BTC` are the same question asked of
different markets, while `/stocks:signals` (what an executive said on a call)
Expand Down
2 changes: 1 addition & 1 deletion plugins/crypto/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
"name": "crypto",
"description": "Crypto market data slash commands backed by advis0r.com: live prices, technical scores, order books, OHLCV history and sparklines across Alpaca's US crypto venue.",
"version": "0.3.0",
"version": "0.4.0",
"author": {
"name": "moshcoder",
"url": "https://moshcode.sh"
Expand Down
2 changes: 1 addition & 1 deletion plugins/crypto/commands/help.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ below. Render it as a compact table, then the notes.
- `stocks@moshcode` is the sibling plugin, and the four shared names mean the
same thing there: `/stocks:report`, `/stocks:quote`, `/stocks:lookup`,
`/stocks:help`. It adds `/stocks:signals`, `/stocks:research`,
`/stocks:reports` and `/stocks:discover` — transcript and filing work that
`/stocks:list` and `/stocks:discover` — transcript and filing work that
has no crypto equivalent.
- **These are live venue reads, not stored snapshots** — the opposite of the
stocks plugin. Prices are Alpaca's US crypto venue alone and can differ
Expand Down
2 changes: 1 addition & 1 deletion plugins/stocks/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
"name": "stocks",
"description": "Equity research slash commands backed by advis0r.com: scored reports, extracted signals, transcript search, company-name lookup, and ranked watchlists.",
"version": "0.3.0",
"version": "0.4.0",
"author": {
"name": "moshcoder",
"url": "https://moshcode.sh"
Expand Down
8 changes: 5 additions & 3 deletions plugins/stocks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,18 @@ and ranked watchlists.
| `/stocks:lookup rivian` | company name → `RIVN` |
| `/stocks:signals AAPL` | what was actually said, quoted and sourced |
| `/stocks:research data center` | full-text search across every indexed transcript |
| `/stocks:reports` | every stored report, best score first |
| `/stocks:list` | every ticker with a stored report, best score first |
| `/stocks:discover fusion` | a ranked watchlist for a topic (slow) |

The first four names mean the same thing in `crypto@moshcode` — `help`,
`report`, `quote`, `lookup` — so knowing one plugin gets you half the other.
The rest are the parts equities have and crypto does not: transcripts, filings,
and a watchlist built from them.

Note `report` and `reports` are different commands: singular takes a symbol and
returns one write-up, plural takes nothing and lists the whole stored index.
`/stocks:report` takes a symbol and returns one write-up; `/stocks:list` takes
none and lists everything covered. `list` was called `reports` until v0.31.0 —
one letter from `report`, which made it a coin-flip at the prompt. The CLI has
accepted `moshcode stocks list` all along, so the two surfaces still agree.

The `stocks:` prefix is not optional. Claude Code namespaces every plugin
command as `/<plugin>:<command>` — always, not only when two plugins collide —
Expand Down
7 changes: 4 additions & 3 deletions plugins/stocks/commands/help.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ below. Render it as a compact table, then the notes.
| `/stocks:lookup <company>` | company name → ticker (`rivian` → `RIVN`) |
| `/stocks:signals <SYMBOL>` | what was actually said, quoted and sourced |
| `/stocks:research <words…>` | full-text search across every indexed transcript |
| `/stocks:reports` | every stored report, best score first |
| `/stocks:list` | every ticker with a stored report, best score first |
| `/stocks:discover <topic>` | a ranked watchlist for a topic (slow — analyzes each candidate) |

## Notes to pass on

- **`report` and `reports` are different commands.** Singular takes a symbol and
returns one write-up; plural takes nothing and lists the whole stored index.
- `/stocks:report` takes a symbol and returns one write-up; `/stocks:list` takes
no symbol and lists everything covered. (`list` used to be called `reports`,
which sat one letter from `report` and was a coin-flip at the prompt.)
- Every command name is namespaced `/stocks:…`. A bare `/report` is not a
command — Claude Code always prefixes plugin commands with the plugin name.
- `crypto@moshcode` is the sibling plugin, and the four shared names mean the
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
description: Every stored advis0r research report, best score first.
description: List every ticker with a stored report, best score first.
argument-hint: "[--limit n] [--sort recent|score|ticker]"
allowed-tools: Bash(moshcode stocks:*), Bash(curl -sS https://advis0r.com/api/:*)
---

## Task

List the stored reports.
List every ticker advis0r has a stored report for.

```bash
moshcode stocks reports $ARGUMENTS --json
moshcode stocks list $ARGUMENTS --json
```

Fallback: `curl -sS "https://advis0r.com/api/reports?sort=score&limit=25"`
Expand Down
10 changes: 7 additions & 3 deletions src/plugins.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,21 @@ export function marketplaceSource(env = process.env) {
export const PLUGINS = [
{
name: "stocks",
version: "0.3.0",
version: "0.4.0",
description: "equity research slash commands backed by advis0r.com",
// `list` rather than `reports`: one letter from `report` is a coin-flip at
// the prompt, and `index` would read as a market index in a stocks plugin.
// The CLI already accepts `moshcode stocks list` as an alias, so the two
// surfaces still agree.
commands: [
"/stocks:help", "/stocks:report", "/stocks:quote", "/stocks:lookup",
"/stocks:signals", "/stocks:research", "/stocks:reports", "/stocks:discover",
"/stocks:signals", "/stocks:research", "/stocks:list", "/stocks:discover",
],
example: "/stocks:report NVDA",
},
{
name: "crypto",
version: "0.3.0",
version: "0.4.0",
description: "crypto market data slash commands backed by advis0r.com",
commands: [
"/crypto:help", "/crypto:report", "/crypto:quote", "/crypto:lookup",
Expand Down
Loading