#260 introduced --format markdown with the contract that everything lands on stdout and the engine writes nothing to stderr.
The skills staleness check in packages/cli/src/skills-check.ts runs outside the engine and writes its one-line notice straight to runtime.stderr. Its suppression list (shouldSkip, around line 160) exempts --json, --quiet, -q, --version, --format json, and --format=json, but not --format markdown / --format=markdown. So an agent that asks for markdown after a package upgrade still gets a line on stderr.
Two possible fixes:
- Treat
--format markdown like --format json in the suppression list. Simplest, but the notice is aimed at agents, and markdown is the format agents ask for, so this hides it from exactly its audience.
- Under markdown, print the notice on stdout as part of the document (a trailing bullet, or a
### Diagnostics entry), and keep stderr empty.
The docs page for skills (prisma/web, apps/docs/content/docs/cli/skills.mdx, "The staleness check") lists the suppressing flags and currently matches the code, so it will need the same update once this is decided.
🤖 Generated with Claude Code
#260 introduced
--format markdownwith the contract that everything lands on stdout and the engine writes nothing to stderr.The skills staleness check in
packages/cli/src/skills-check.tsruns outside the engine and writes its one-line notice straight toruntime.stderr. Its suppression list (shouldSkip, around line 160) exempts--json,--quiet,-q,--version,--format json, and--format=json, but not--format markdown/--format=markdown. So an agent that asks for markdown after a package upgrade still gets a line on stderr.Two possible fixes:
--format markdownlike--format jsonin the suppression list. Simplest, but the notice is aimed at agents, and markdown is the format agents ask for, so this hides it from exactly its audience.### Diagnosticsentry), and keep stderr empty.The docs page for skills (
prisma/web,apps/docs/content/docs/cli/skills.mdx, "The staleness check") lists the suppressing flags and currently matches the code, so it will need the same update once this is decided.🤖 Generated with Claude Code