Uh oh!
There was an error while loading. Please reload this page.
Skill: warn that stdin '-' support is v0.10.0+ - #688
Open
dhh wants to merge 1 commit into
Open
Conversation
On older CLIs only 'comments create' reads stdin; every other content positional accepts the dash silently as literal content, so 'messages create "Title" -' posts a body of '-' that Markdown renders as an empty bullet list. Seen in the wild against a 0.9.1 binary paired with the current skill. Document the boundary and the portable "$(cat file)" fallback. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The warning incorrectly excludes comments update and overgeneralizes unsupported inputs as silently posting literal content.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Documents the v0.10.0 boundary for universal stdin - support and provides a fallback for older CLI versions.
Changes:
- Adds version-check guidance and a portable file-content fallback.
- Explains the silent literal-content failure mode.
[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or rungh pr ready --undo.
Click "Ready for review" or rungh pr readyto reengage.
File summaries
| File | Description |
|---|---|
skills/basecamp/SKILL.md | Documents stdin compatibility across CLI versions. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+138
to
+143
| - Universal `-` support (and the stray-`-` guard) shipped in **v0.10.0**. Older | ||
| CLIs read stdin only for `comments create` — everywhere else the dash is | ||
| **accepted silently as literal content**, so `messages create "Title" -` | ||
| posts a body of `-`, which Markdown renders as an empty bullet list. When the | ||
| CLI version is unknown, check `basecamp --version` first, or pass the content | ||
| portably as `"$(cat file.md)"` and verify the posted `content` when it matters. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Following the current skill against an older installed CLI (0.9.1) silently posts broken content: the skill says
-reads stdin on every content input, but before v0.10.0 (#641) onlycomments createdid. Everywhere else the dash is accepted as literal content —messages create "Title" -posts a body of-, which the Markdown conversion renders as an empty<ul><li>. That's a silent failure an agent won't notice unless it reads the message back.This adds a version-boundary bullet to the skill's stdin rules: how the failure looks on older CLIs, to check
basecamp --versionwhen unknown, and the portable"$(cat file.md)"fallback.🤖 Generated with Claude Code