diff --git a/skills/comms-cli/SKILL.md b/skills/comms-cli/SKILL.md index 8e6fe8c..bb3a864 100644 --- a/skills/comms-cli/SKILL.md +++ b/skills/comms-cli/SKILL.md @@ -90,14 +90,15 @@ tdc thread view --raw # Show raw markdown tdc thread create "Title" "content" # Create a new thread tdc thread create "Title" "content" --json # Create and return as JSON tdc thread create "Title" "content" --json --full # Include all thread fields -tdc thread create "Title" "content" --notify 123,456 # Notify specific users +tdc thread create "Title" "content" --notify 123,456 # Notify specific users and/or groups by ID tdc thread create "Title" "content" --unarchive # Land thread in author's Inbox (overrides default Comms auto-archive) tdc thread create "Title" "content" --no-unarchive # Force archive even when userSettings.unarchiveNewThreads=true tdc thread create "Title" "content" --dry-run # Preview without posting tdc thread create "Title" --file ./a.png # Attach a file (repeatable; content optional) tdc thread reply "content" # Post a comment (notifies EVERYONE_IN_THREAD by default) tdc thread reply "content" --notify EVERYONE # Notify all workspace members -tdc thread reply "content" --notify 123,id:456 # Notify specific user IDs +tdc thread reply "content" --notify 123,id:456 # Notify specific users by ID +tdc thread reply "content" --notify 123,Cbzzm11ZeYZoJYD4a6rti # Notify a user and a group (group IDs are base58, not numeric) tdc thread reply "content" --json # Post and return comment as JSON tdc thread reply "content" --json --full # Include all comment fields tdc thread reply "content" --close # Reply and close the thread @@ -128,7 +129,7 @@ tdc thread update "New body" --json # Update and return { id, content } a tdc thread update "New body" --json --full # Update and return full thread as JSON ``` -Default `--notify` for reply is EVERYONE_IN_THREAD, which may notify more people than intended. Before posting, confirm with the user whether specific people should be notified instead (via `--notify `). Options: EVERYONE, EVERYONE_IN_THREAD, or comma-separated ID refs. +Default `--notify` for reply is EVERYONE_IN_THREAD, which may notify more people than intended. Before posting, confirm with the user whether specific people should be notified instead (via `--notify `). Options: EVERYONE, EVERYONE_IN_THREAD, or comma-separated user and/or group IDs. `--notify` automatically resolves IDs: group IDs are routed to the `groups` API field, user IDs to `recipients`. No special syntax needed. diff --git a/src/commands/thread/index.ts b/src/commands/thread/index.ts index c5dab3c..8fead5f 100644 --- a/src/commands/thread/index.ts +++ b/src/commands/thread/index.ts @@ -50,7 +50,7 @@ Examples: withUnvalidatedChoices( new Option( '--notify ', - 'Notification recipients: EVERYONE, EVERYONE_IN_THREAD, or comma-separated user IDs (default: EVERYONE_IN_THREAD)', + 'Notification recipients: EVERYONE, EVERYONE_IN_THREAD, or comma-separated user and/or group IDs (default: EVERYONE_IN_THREAD)', ), ['EVERYONE', 'EVERYONE_IN_THREAD'], ), @@ -68,6 +68,7 @@ Examples: tdc thread reply 12345 "Sounds good!" echo "Long reply" | tdc thread reply 12345 tdc thread reply 12345 "Done" --close --json + tdc thread reply 12345 "Heads up" --notify 67890,Cbzzm11ZeYZoJYD4a6rti tdc thread reply 12345 "See attached" --file ./diagram.png tdc thread reply 12345 --file ./a.png --file ./b.pdf`, ) @@ -76,7 +77,7 @@ Examples: thread .command('create [content]') .description('Create a new thread in a channel') - .option('--notify <recipients>', 'Comma-separated user IDs to notify') + .option('--notify <recipients>', 'Comma-separated user and/or group IDs to notify') .option( '--unarchive', 'Unarchive after creation so the thread appears in your Inbox (overrides userSettings.unarchiveNewThreads when false)', diff --git a/src/lib/skills/content.ts b/src/lib/skills/content.ts index 0335927..973f373 100644 --- a/src/lib/skills/content.ts +++ b/src/lib/skills/content.ts @@ -94,14 +94,15 @@ tdc thread view <ref> --raw # Show raw markdown tdc thread create <channel-ref> "Title" "content" # Create a new thread tdc thread create <channel-ref> "Title" "content" --json # Create and return as JSON tdc thread create <channel-ref> "Title" "content" --json --full # Include all thread fields -tdc thread create <channel-ref> "Title" "content" --notify 123,456 # Notify specific users +tdc thread create <channel-ref> "Title" "content" --notify 123,456 # Notify specific users and/or groups by ID tdc thread create <channel-ref> "Title" "content" --unarchive # Land thread in author's Inbox (overrides default Comms auto-archive) tdc thread create <channel-ref> "Title" "content" --no-unarchive # Force archive even when userSettings.unarchiveNewThreads=true tdc thread create <channel-ref> "Title" "content" --dry-run # Preview without posting tdc thread create <channel-ref> "Title" --file ./a.png # Attach a file (repeatable; content optional) tdc thread reply <ref> "content" # Post a comment (notifies EVERYONE_IN_THREAD by default) tdc thread reply <ref> "content" --notify EVERYONE # Notify all workspace members -tdc thread reply <ref> "content" --notify 123,id:456 # Notify specific user IDs +tdc thread reply <ref> "content" --notify 123,id:456 # Notify specific users by ID +tdc thread reply <ref> "content" --notify 123,Cbzzm11ZeYZoJYD4a6rti # Notify a user and a group (group IDs are base58, not numeric) tdc thread reply <ref> "content" --json # Post and return comment as JSON tdc thread reply <ref> "content" --json --full # Include all comment fields tdc thread reply <ref> "content" --close # Reply and close the thread @@ -132,7 +133,7 @@ tdc thread update <ref> "New body" --json # Update and return { id, content } a tdc thread update <ref> "New body" --json --full # Update and return full thread as JSON \`\`\` -Default \`--notify\` for reply is EVERYONE_IN_THREAD, which may notify more people than intended. Before posting, confirm with the user whether specific people should be notified instead (via \`--notify <user-ids>\`). Options: EVERYONE, EVERYONE_IN_THREAD, or comma-separated ID refs. +Default \`--notify\` for reply is EVERYONE_IN_THREAD, which may notify more people than intended. Before posting, confirm with the user whether specific people should be notified instead (via \`--notify <ids>\`). Options: EVERYONE, EVERYONE_IN_THREAD, or comma-separated user and/or group IDs. \`--notify\` automatically resolves IDs: group IDs are routed to the \`groups\` API field, user IDs to \`recipients\`. No special syntax needed.