Skip to content

myna: /myna:directory, for listing the product rather than posting about it - #66

Merged
ralyodio merged 1 commit into
masterfrom
worktree-myna-directory-cmd
Sep 9, 2026
Merged

myna: /myna:directory, for listing the product rather than posting about it#66
ralyodio merged 1 commit into
masterfrom
worktree-myna-directory-cmd

Conversation

@ralyodio

@ralyodio ralyodio commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

myna 0.17.0 submits a product to a software directory over that directory's MCP server. This is the slash command for it.

Most of the file is about the ways it is not /myna:post, because that is where the mistakes are:

  • A listing is the product, not a message about it. It is reviewed by a person, then indexed by search engines and assistants.
  • --dry-run here really is a preview of what will be sent — unlike --dry-run on myna post, which only resolves targets. The command insists on it first.
  • A successful submit means pending, not live. Reporting a queued listing as published is the easy mistake, so the file says so outright.

Two things nothing can work around, stated plainly:

  • Signing in to SaaSRow needs an emailed one-time code typed by a person. There is deliberately no login tool, over MCP or anywhere else.
  • A directory can never be reached through --to all. Its credentials are kept in a different part of the vault precisely so a stray post cannot become a product submission.

Custom directories get their own section, since myna directory tools <id> is the first thing to look at when a submission is refused: it prints what that MCP server actually accepts.

Also bumps the plugin to 0.2.0 and cli-tools to 0.31.0, and adds the row to the plugin README and the marketplace description.

Verification: 857 tests pass (32 files), and all three touched JSON files parse.

🤖 Generated with Claude Code

https://claude.ai/code/session_014Y6zh8EdV54VKSFfWCiB3y

…out it

myna 0.17.0 submits a product to a software directory over that directory's
MCP server. This is the slash command for it, and most of the file is about
the ways it is not `/myna:post`.

A listing is the product, not a message about it: it is reviewed by a
person, then indexed by search engines and assistants. So the command
insists on `--dry-run` first, which here really is a preview of what will be
sent, unlike `--dry-run` on `myna post` which only resolves targets. It also
says plainly that a successful submit means "pending", not "live", because
reporting a queued listing as published is the easy mistake.

Two things nothing here can do, stated so they are not worked around:
signing in to SaaSRow needs an emailed code typed by a person, and a
directory can never be reached through `--to all` — its credentials are kept
in a different part of the vault precisely so a stray post cannot become a
product submission.

Custom directories get a section of their own, since `myna directory tools
<id>` is the first thing to look at when a submission is refused: it prints
what that MCP server actually accepts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Y6zh8EdV54VKSFfWCiB3y
@ralyodio
ralyodio merged commit 1474d2e into master Sep 9, 2026
2 of 3 checks passed
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

ThreatCrush Security Scan

12 finding(s)

HIGH/CRITICAL: 4 | MEDIUM: 4 | LOW: 4

Severity Rule Location
HIGH sh-remote-script-execution root-ubuntu.sh:3227
HIGH sh-remote-script-execution root-ubuntu.sh:3228
HIGH sh-remote-script-execution root-ubuntu.sh:4840
HIGH sh-remote-script-execution root-ubuntu.sh:4844
MEDIUM sh-remote-script-execution root-ubuntu.sh:4993
MEDIUM sh-remote-script-execution root-ubuntu.sh:6055
MEDIUM redos-nested-quantifier src/domain-free.ts:56
MEDIUM redos-nested-quantifier src/mail.ts:1042
LOW secret-generic-credential src/credentials.ts:36
LOW secret-generic-api-key test/credentials.test.ts:208
LOW secret-generic-credential test/mail.test.ts:135
LOW secret-generic-credential test/shorten.test.ts:36

Snippets are redacted; ThreatCrush never prints matched credential material.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant