Skip to content

Commit d61b4cb

Browse files
ralyodioclaude
andauthored
refactor(plugin)!: rename /stocks:reports to /stocks:list (#337)
BREAKING CHANGE: `/stocks:reports` is now `/stocks:list`. `report` and `reports` differed by one letter and by nothing else visible at the prompt — singular takes a symbol and writes one report, plural takes none and lists the whole covered set. That is a coin-flip every time, and it only became a real hazard in v0.30.0 when `/stocks:stocks` became `/stocks:report` and put the two names next to each other. `list` rather than `index`, which is the other obvious candidate: in a plugin about equities, `/stocks:index` reads as a market index. `list` cannot. The CLI needs no change — `moshcode stocks list` has been an alias for `reports` since the verb existed, so this makes the plugin agree with the CLI rather than diverge from it. Both plugins go to 0.4.0. crypto is bumped too, and not just for symmetry: its `/crypto:help` names the stocks command set, so its content changed as well and an install would otherwise keep printing a command that no longer exists. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent fc5f492 commit d61b4cb

8 files changed

Lines changed: 23 additions & 16 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ differ only where the markets do. Either one's `/…:help` prints its own list.
382382
| | `stocks@moshcode` | `crypto@moshcode` |
383383
|---|---|---|
384384
| shared | `help` `report` `quote` `lookup` | `help` `report` `quote` `lookup` |
385-
| its own | `signals` `research` `reports` `discover` | `book` `bars` `spark` `pairs` |
385+
| its own | `signals` `research` `list` `discover` | `book` `bars` `spark` `pairs` |
386386

387387
So `/stocks:report NVDA` and `/crypto:report BTC` are the same question asked of
388388
different markets, while `/stocks:signals` (what an executive said on a call)

plugins/crypto/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
33
"name": "crypto",
44
"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.",
5-
"version": "0.3.0",
5+
"version": "0.4.0",
66
"author": {
77
"name": "moshcoder",
88
"url": "https://moshcode.sh"

plugins/crypto/commands/help.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ below. Render it as a compact table, then the notes.
2626
- `stocks@moshcode` is the sibling plugin, and the four shared names mean the
2727
same thing there: `/stocks:report`, `/stocks:quote`, `/stocks:lookup`,
2828
`/stocks:help`. It adds `/stocks:signals`, `/stocks:research`,
29-
`/stocks:reports` and `/stocks:discover` — transcript and filing work that
29+
`/stocks:list` and `/stocks:discover` — transcript and filing work that
3030
has no crypto equivalent.
3131
- **These are live venue reads, not stored snapshots** — the opposite of the
3232
stocks plugin. Prices are Alpaca's US crypto venue alone and can differ

plugins/stocks/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
33
"name": "stocks",
44
"description": "Equity research slash commands backed by advis0r.com: scored reports, extracted signals, transcript search, company-name lookup, and ranked watchlists.",
5-
"version": "0.3.0",
5+
"version": "0.4.0",
66
"author": {
77
"name": "moshcoder",
88
"url": "https://moshcode.sh"

plugins/stocks/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,18 @@ and ranked watchlists.
1212
| `/stocks:lookup rivian` | company name → `RIVN` |
1313
| `/stocks:signals AAPL` | what was actually said, quoted and sourced |
1414
| `/stocks:research data center` | full-text search across every indexed transcript |
15-
| `/stocks:reports` | every stored report, best score first |
15+
| `/stocks:list` | every ticker with a stored report, best score first |
1616
| `/stocks:discover fusion` | a ranked watchlist for a topic (slow) |
1717

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

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

2628
The `stocks:` prefix is not optional. Claude Code namespaces every plugin
2729
command as `/<plugin>:<command>` — always, not only when two plugins collide —

plugins/stocks/commands/help.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ below. Render it as a compact table, then the notes.
1414
| `/stocks:lookup <company>` | company name → ticker (`rivian``RIVN`) |
1515
| `/stocks:signals <SYMBOL>` | what was actually said, quoted and sourced |
1616
| `/stocks:research <words…>` | full-text search across every indexed transcript |
17-
| `/stocks:reports` | every stored report, best score first |
17+
| `/stocks:list` | every ticker with a stored report, best score first |
1818
| `/stocks:discover <topic>` | a ranked watchlist for a topic (slow — analyzes each candidate) |
1919

2020
## Notes to pass on
2121

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

77
## Task
88

9-
List the stored reports.
9+
List every ticker advis0r has a stored report for.
1010

1111
```bash
12-
moshcode stocks reports $ARGUMENTS --json
12+
moshcode stocks list $ARGUMENTS --json
1313
```
1414

1515
Fallback: `curl -sS "https://advis0r.com/api/reports?sort=score&limit=25"`

src/plugins.mjs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,21 @@ export function marketplaceSource(env = process.env) {
5353
export const PLUGINS = [
5454
{
5555
name: "stocks",
56-
version: "0.3.0",
56+
version: "0.4.0",
5757
description: "equity research slash commands backed by advis0r.com",
58+
// `list` rather than `reports`: one letter from `report` is a coin-flip at
59+
// the prompt, and `index` would read as a market index in a stocks plugin.
60+
// The CLI already accepts `moshcode stocks list` as an alias, so the two
61+
// surfaces still agree.
5862
commands: [
5963
"/stocks:help", "/stocks:report", "/stocks:quote", "/stocks:lookup",
60-
"/stocks:signals", "/stocks:research", "/stocks:reports", "/stocks:discover",
64+
"/stocks:signals", "/stocks:research", "/stocks:list", "/stocks:discover",
6165
],
6266
example: "/stocks:report NVDA",
6367
},
6468
{
6569
name: "crypto",
66-
version: "0.3.0",
70+
version: "0.4.0",
6771
description: "crypto market data slash commands backed by advis0r.com",
6872
commands: [
6973
"/crypto:help", "/crypto:report", "/crypto:quote", "/crypto:lookup",

0 commit comments

Comments
 (0)