Skip to content

send_test_post: a built-in welcome post for newly connected agents#208

Merged
benvinegar merged 1 commit into
mainfrom
feat/send-test-post
Jul 4, 2026
Merged

send_test_post: a built-in welcome post for newly connected agents#208
benvinegar merged 1 commit into
mainfrom
feat/send-test-post

Conversation

@benvinegar

Copy link
Copy Markdown
Member

What

A new no-arg tool that publishes sideshow's built-in welcome/test post — fixed content shipped and versioned with sideshow — so a newly connected agent's first post is deterministic instead of improvised. The card confirms the connection is live, shows the four card families at a glance, and gives the user five example prompts that reliably produce real posts.

Available on all three tiers, one shared implementation (server/welcomePost.ts):

Tier Entry
MCP (HTTP + stdio) send_test_post tool
raw HTTP POST /api/test-post (optional {agent} body)
CLI sideshow test-post [--agent <name>]

Behavior

  • Idempotent — a board only ever gets one welcome card. A repeat call returns the existing post with alreadySent: true (matched by the fixed title; a user who deleted/retitled theirs gets a fresh one, which matches intent).
  • Lands in its own "Getting started" session, so task sessions stay about the task.
  • Content is one composed html surface styled entirely from the theme variables (light/dark safe).
  • The MCP initialize instructions now nudge freshly connected agents: "Just connected, or asked for a test? Call send_test_post once…" — this is the lever that actually gets the card posted without user prompting.
  • guide/AGENT_HOWTO.md documents it for the CLI/HTTP tiers.
  • Auth: the REST route is a write, gated by the deploy token like any publish.

Why fixed content

The first post is the user's first impression of the whole product; agent-improvised hello cards are a quality lottery. Fixed content also doubles as user onboarding — the card's prompt list gives the user words that reliably trigger good agent output.

Tests

test/welcomePost.test.ts: REST publish + idempotency (incl. body-less curl), fixed title/session assertions, MCP tools/list + tools/call round trip + cross-tier idempotency (MCP-published card visible to REST), and the auth gate. Full suite 424/424; lint/typecheck clean.

Verified live: served the branch, ran sideshow test-post twice (publish, then alreadySent), confirmed the initialize nudge on /mcp.

Hosted-sideshow note

sideshow-cloud picks this up with a plain pin bump — the tool flows through the existing createApp wrapping unchanged.

🤖 Generated with Claude Code

…ents

A newly connected agent's first post is the user's first impression, and
leaving it to the agent to improvise is a quality lottery. send_test_post
makes it deterministic: one no-arg call publishes a fixed card — shipped and
versioned with sideshow, themed for light/dark — that confirms the connection
works and hands the user example prompts that reliably produce real posts.

All three tiers: the send_test_post MCP tool (streamable HTTP + stdio),
POST /api/test-post, and `sideshow test-post`. One shared implementation
(server/welcomePost.ts). Idempotent — the existing welcome card is returned
(alreadySent: true), never duplicated; a user who deleted or retitled theirs
gets a fresh one, matching intent. The card lives in its own "Getting
started" session so task sessions stay about the task. The MCP initialize
instructions nudge freshly connected agents toward it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@benvinegar benvinegar merged commit 9e9eb90 into main Jul 4, 2026
9 checks passed
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