Skip to content

feat: support vc agent active meetings#1469

Closed
zhicong666-bytedance wants to merge 9 commits into
mainfrom
hzc/vc-agent-uat-tat-active-meeting
Closed

feat: support vc agent active meetings#1469
zhicong666-bytedance wants to merge 9 commits into
mainfrom
hzc/vc-agent-uat-tat-active-meeting

Conversation

@zhicong666-bytedance

@zhicong666-bytedance zhicong666-bytedance commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds VC agent shortcut support for UAT/TAT meeting flows, including active meeting discovery for the current or target user.

Changes

  • Add vc +meeting-list-active for /open-apis/vc/v1/bots/user_active_meeting
  • Allow +meeting-join, +meeting-leave, and +meeting-events to run with bot identity
  • Use ou_... open_id for TAT +meeting-list-active --user-id
  • Update lark-vc-agent skill docs for active meeting discovery, event reading, join/leave flow, pagination, and UAT/TAT identity boundaries
  • Add VC shortcut tests for active meeting validation, dry-run behavior, bot query params, and shortcut registration

Test Plan

  • git diff --check
  • go test ./shortcuts/vc
  • go build ./...

Related Issues

  • None

Summary by CodeRabbit

  • New Features

    • Added +meeting-list-active to list active VC meetings, including enhanced pretty output and guidance when multiple meetings are found.
    • Added bot support for +meeting-list-active with required --user-id for authorization and accurate scoping.
  • Documentation

    • Updated VC agent skill docs and reference guides to describe the correct usage flow and clearer UAT (--as user) vs TAT (--as bot) identity boundaries, including meeting_id sourcing.
  • Bug Fixes

    • Expanded shortcut authentication types for +meeting-events, +meeting-join, and +meeting-leave to include both user and bot.
  • Tests

    • Updated and expanded tests for shortcut registration, request/response behavior, output rendering, validation errors, and permission-denied handling.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new VCMeetingListActive shortcut (+meeting-list-active) that queries /open-apis/vc/v1/bots/user_active_meeting with identity-aware validation requiring --user-id only for bot execution. Expands AuthTypes to include bot for VCMeetingJoin, VCMeetingLeave, and VCMeetingEvents. Registers the new shortcut, adds 15 unit tests covering identity flows and output formatting, and revises skill documentation to clarify UAT/TAT identity boundaries and meeting_id sourcing across five reference documents.

Changes

VCMeetingListActive feature and bot auth expansion

Layer / File(s) Summary
Expand bot auth on existing VC shortcuts
shortcuts/vc/vc_meeting_join.go, shortcuts/vc/vc_meeting_leave.go, shortcuts/vc/vc_meeting_events.go
AuthTypes field updated from []string{"user"} to []string{"user", "bot"} for all three shortcuts, enabling bot identity for join, leave, and event-reading operations.
VCMeetingListActive shortcut implementation
shortcuts/vc/vc_meeting_list_active.go
New shortcut querying /open-apis/vc/v1/bots/user_active_meeting; includes scope/auth/flag wiring, DryRun/Execute flows that render meeting titles with "Untitled meeting" fallback and optional IDs, validateMeetingListActiveUserID enforcing --user-id (with ou_ format) only for bot identity, and buildMeetingListActiveParams conditionally including user_id for bot execution.
Shortcut registration and test expectation update
shortcuts/vc/shortcuts.go, shortcuts/vc/vc_meeting_events_test.go
VCMeetingListActive inserted into Shortcuts() slice before VCMeetingEvents. Registration test updated to expect +meeting-list-active in the returned command list.
VCMeetingListActive test suite
shortcuts/vc/vc_meeting_test.go
Adds net/http import and 14 test functions covering user-identity dry-run/execute (omits user_id query param, ignores --user-id flag), scope validation (vc:meeting.meetingevent:read only), bot validation errors (missing --user-id, non-ou_ format rejection), bot execute behavior (includes user_id query param), dry-run error envelopes, and pretty output formatting (empty results, single meeting without selection prompt, multiple meetings with fallback titles and advisory text, API authorization errors). Includes assertMeetingListActiveUserIDValidationError helper for typed validation assertions.
Skill documentation
skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md, skills/lark-vc-agent/SKILL.md, skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md, skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md, skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
New meeting-list-active reference doc with UAT/TAT semantics, usage examples, parameter table, error diagnosis, and cross-references. Main skill doc updated with routing table, identity boundary rules, bash examples, and scope tables. Four existing reference docs clarify UAT (user-only) vs TAT (bot with --user-id and ou_ format), prioritize --as bot usage, document meeting_id sourcing from +meeting-list-active, establish identity continuity constraints, and include error recovery patterns.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • larksuite/cli#824: Introduced the original VCMeetingEvents, VCMeetingJoin, and VCMeetingLeave shortcut variables whose AuthTypes fields are directly modified by this PR to enable bot authentication.

Suggested reviewers

  • zhaoleibd

Poem

🐰 A rabbit hops into the meeting room,
Checks which calls are live — no need to assume!
Bot or user, the auth gates swing wide,
+meeting-list-active becomes our guide.
With ou_ IDs and TAT in tow,
The VC shortcuts put on quite a show! 🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 5.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding VC agent support for active meetings. It is concise, specific, and directly related to the primary focus of the changeset.
Description check ✅ Passed The description follows the repository template with all required sections completed: Summary (motivation and scope), Changes (bulleted list of main changes), Test Plan (with checkboxes showing verification steps), and Related Issues. Content is detailed and substantive.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hzc/vc-agent-uat-tat-active-meeting

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added domain/vc PR touches the vc domain size/L Large or sensitive change across domains or core paths labels Jun 15, 2026
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

🚀 PR Preview Install Guide

🧰 CLI update

npm i -g https://pkg.pr.new/larksuite/cli/@larksuite/cli@c86547dd13341bb76e34d09ba42e37744f85fb5c

🧩 Skill update

npx skills add larksuite/cli#hzc/vc-agent-uat-tat-active-meeting -y -g

@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.41%. Comparing base (72c2947) to head (c86547d).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1469      +/-   ##
==========================================
+ Coverage   73.35%   73.41%   +0.05%     
==========================================
  Files         750      751       +1     
  Lines       69264    69420     +156     
==========================================
+ Hits        50811    50962     +151     
+ Misses      14713    14709       -4     
- Partials     3740     3749       +9     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
skills/lark-vc-agent/SKILL.md (1)

73-73: 💤 Low value

Minor grammar refinement at line 73.

The phrase "不要把任务完成当作离会指令" may be clearer as "不应因任务完成而执行离会" or similar restructuring. The current 把-construction feels slightly forced; consider rewording to directly express "do not treat task completion as a signal to call leave."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/lark-vc-agent/SKILL.md` at line 73, The phrase "不要把任务完成当作离会指令" at line
73 of SKILL.md uses a somewhat awkward 把-construction that could be clearer.
Restructure this phrase to more directly express the intent "do not execute the
meeting-leave command simply because a task is complete" by using a more natural
Chinese construction such as "不应因任务完成而执行离会" or similar rephrasing that flows
better and more clearly conveys that task completion alone should not trigger
the leave instruction. Ensure the reworded phrase maintains the exact same
meaning and guidance for the agent's behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@shortcuts/vc/vc_meeting_list_active.go`:
- Around line 89-99: The `validateMeetingListActiveUserID` function validates
the `--user-id` parameter at lines 97-99 regardless of whether running as a user
or bot, but it should be completely ignored when running as user identity.
Modify the function so that the validation call to `common.ValidateUserIDTyped`
at lines 97-99 only executes when `runtime.IsBot()` returns true. When running
as a user, return nil early to skip validation entirely, allowing invalid
`--user-id` values to be silently ignored as intended.

In `@shortcuts/vc/vc_meeting_test.go`:
- Around line 623-645: In the TestMeetingListActive_Validate_BotRequiresUserID
and TestMeetingListActive_Validate_UserIDOpenIDFormat test functions, replace
the substring-based error assertions (the strings.Contains checks on
err.Error()) with typed metadata assertions. Use errs.ProblemOf(err) to assert
the category and subtype of the error, and use errors.As(err, &ve) where ve is a
*errs.ValidationError to access and assert the Param field. This ensures the
tests validate the structured error information rather than relying on message
text that could change.

---

Nitpick comments:
In `@skills/lark-vc-agent/SKILL.md`:
- Line 73: The phrase "不要把任务完成当作离会指令" at line 73 of SKILL.md uses a somewhat
awkward 把-construction that could be clearer. Restructure this phrase to more
directly express the intent "do not execute the meeting-leave command simply
because a task is complete" by using a more natural Chinese construction such as
"不应因任务完成而执行离会" or similar rephrasing that flows better and more clearly conveys
that task completion alone should not trigger the leave instruction. Ensure the
reworded phrase maintains the exact same meaning and guidance for the agent's
behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9a6d686b-7178-4c2f-86ec-0bbc05a7ab70

📥 Commits

Reviewing files that changed from the base of the PR and between 72c2947 and c53c5b5.

📒 Files selected for processing (12)
  • shortcuts/vc/shortcuts.go
  • shortcuts/vc/vc_meeting_events.go
  • shortcuts/vc/vc_meeting_events_test.go
  • shortcuts/vc/vc_meeting_join.go
  • shortcuts/vc/vc_meeting_leave.go
  • shortcuts/vc/vc_meeting_list_active.go
  • shortcuts/vc/vc_meeting_test.go
  • skills/lark-vc-agent/SKILL.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md

Comment thread shortcuts/vc/vc_meeting_list_active.go
Comment thread shortcuts/vc/vc_meeting_test.go
@zhicong666-bytedance
zhicong666-bytedance force-pushed the hzc/vc-agent-uat-tat-active-meeting branch from c53c5b5 to b031120 Compare June 15, 2026 07:25

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
shortcuts/vc/vc_meeting_list_active.go (1)

89-101: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

--user-id validation still executes under user identity.

Lines 97-99 validate the format of --user-id regardless of whether running as user or bot. When --as user, this flag should be completely ignored (no validation). The current code allows invalid --user-id values to fail validation even when the flag has no effect.

The recommended fix is to check runtime.IsBot() first and return nil early for user identity, so validation only runs for bot identity.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@shortcuts/vc/vc_meeting_list_active.go` around lines 89 - 101, The
validateMeetingListActiveUserID function validates the user-id flag even when
running as a regular user, where the flag should be completely ignored.
Restructure the function to check runtime.IsBot() first and return nil
immediately for user identity before any validation occurs. This ensures the
format validation of the user-id (performed by the common.ValidateUserIDTyped
call) only executes when running as a bot, preventing invalid user-id values
from failing validation when the flag has no effect.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@shortcuts/vc/vc_meeting_list_active.go`:
- Around line 89-101: The validateMeetingListActiveUserID function validates the
user-id flag even when running as a regular user, where the flag should be
completely ignored. Restructure the function to check runtime.IsBot() first and
return nil immediately for user identity before any validation occurs. This
ensures the format validation of the user-id (performed by the
common.ValidateUserIDTyped call) only executes when running as a bot, preventing
invalid user-id values from failing validation when the flag has no effect.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d183482c-c745-42ed-a25f-8931902557cd

📥 Commits

Reviewing files that changed from the base of the PR and between c53c5b5 and b031120.

📒 Files selected for processing (12)
  • shortcuts/vc/shortcuts.go
  • shortcuts/vc/vc_meeting_events.go
  • shortcuts/vc/vc_meeting_events_test.go
  • shortcuts/vc/vc_meeting_join.go
  • shortcuts/vc/vc_meeting_leave.go
  • shortcuts/vc/vc_meeting_list_active.go
  • shortcuts/vc/vc_meeting_test.go
  • skills/lark-vc-agent/SKILL.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md
✅ Files skipped from review due to trivial changes (1)
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
🚧 Files skipped from review as they are similar to previous changes (7)
  • shortcuts/vc/vc_meeting_leave.go
  • shortcuts/vc/vc_meeting_events_test.go
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md
  • shortcuts/vc/vc_meeting_join.go
  • shortcuts/vc/vc_meeting_events.go
  • shortcuts/vc/shortcuts.go

@zhicong666-bytedance
zhicong666-bytedance force-pushed the hzc/vc-agent-uat-tat-active-meeting branch from b031120 to be97a6e Compare June 15, 2026 07:52

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
shortcuts/vc/vc_meeting_test.go (1)

816-835: ⚡ Quick win

Preserve the underlying API failure in this error-path test.

This only locks in Category/Subtype. If Execute is expected to wrap the API failure, add an errors.Is/errors.Unwrap assertion so cause preservation is covered too.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@shortcuts/vc/vc_meeting_test.go` around lines 816 - 835, The test
TestMeetingListActive_Execute_APIError validates the Category and Subtype of the
returned error but does not verify that the underlying API failure is preserved
through error wrapping. Add an errors.Is or errors.Unwrap assertion after the
existing subtype check to ensure the error chain contains the underlying API
error, confirming that Execute properly wraps and preserves the original API
failure rather than losing it in the error handling chain.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/lark-vc-agent/SKILL.md`:
- Around line 73-80: In the SKILL.md file section 4 about
`+meeting-list-active`, correct the field name reference to use the flat
`meeting_id` field instead of the nested `meeting.id` notation. The
`+meeting-list-active` command returns a flat structure with a `meeting_id`
field, not a nested object, so update any references in the documentation to
accurately reflect this flat field name to prevent users from attempting to
access a non-existent nested field.

---

Nitpick comments:
In `@shortcuts/vc/vc_meeting_test.go`:
- Around line 816-835: The test TestMeetingListActive_Execute_APIError validates
the Category and Subtype of the returned error but does not verify that the
underlying API failure is preserved through error wrapping. Add an errors.Is or
errors.Unwrap assertion after the existing subtype check to ensure the error
chain contains the underlying API error, confirming that Execute properly wraps
and preserves the original API failure rather than losing it in the error
handling chain.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d3a2f9c9-23ff-4dd1-a937-d31088edee4e

📥 Commits

Reviewing files that changed from the base of the PR and between b031120 and be97a6e.

📒 Files selected for processing (12)
  • shortcuts/vc/shortcuts.go
  • shortcuts/vc/vc_meeting_events.go
  • shortcuts/vc/vc_meeting_events_test.go
  • shortcuts/vc/vc_meeting_join.go
  • shortcuts/vc/vc_meeting_leave.go
  • shortcuts/vc/vc_meeting_list_active.go
  • shortcuts/vc/vc_meeting_test.go
  • skills/lark-vc-agent/SKILL.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md
✅ Files skipped from review due to trivial changes (4)
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md
  • shortcuts/vc/vc_meeting_join.go
  • shortcuts/vc/vc_meeting_events.go
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
🚧 Files skipped from review as they are similar to previous changes (5)
  • shortcuts/vc/vc_meeting_leave.go
  • shortcuts/vc/shortcuts.go
  • shortcuts/vc/vc_meeting_list_active.go
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
  • shortcuts/vc/vc_meeting_events_test.go

Comment thread skills/lark-vc-agent/SKILL.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
skills/lark-vc-agent/SKILL.md (1)

75-75: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use meeting_id (not meeting.id) for +meeting-list-active output.

Line 75 currently implies +meeting-list-active yields meeting.id, but that shortcut returns flat meeting_id; this can mislead downstream +meeting-leave usage.

Suggested doc fix
-1. 只有用户明确要求机器人退出 / 离开 / 结束参会时,才用 `+meeting-leave --meeting-id <从 +meeting-join 或 +meeting-list-active 拿到的 meeting.id>`;不应因任务完成而执行离会。
+1. 只有用户明确要求机器人退出 / 离开 / 结束参会时,才用 `+meeting-leave --meeting-id <从 +meeting-join 的 meeting.id 或 +meeting-list-active 的 meeting_id 获取>`;不应因任务完成而执行离会。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/lark-vc-agent/SKILL.md` at line 75, The documentation at line 75 in
SKILL.md incorrectly references the output field from `+meeting-list-active` as
`meeting.id` when it should be `meeting_id`. Update the text to replace
`meeting.id` with `meeting_id` to accurately reflect that `+meeting-list-active`
returns a flat structure with `meeting_id` rather than a nested object with
`meeting.id`. This ensures users understand the correct field name to use when
passing the meeting ID to `+meeting-leave`.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@skills/lark-vc-agent/SKILL.md`:
- Line 75: The documentation at line 75 in SKILL.md incorrectly references the
output field from `+meeting-list-active` as `meeting.id` when it should be
`meeting_id`. Update the text to replace `meeting.id` with `meeting_id` to
accurately reflect that `+meeting-list-active` returns a flat structure with
`meeting_id` rather than a nested object with `meeting.id`. This ensures users
understand the correct field name to use when passing the meeting ID to
`+meeting-leave`.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c7166eee-dadd-4221-8584-cb66fb7bc88f

📥 Commits

Reviewing files that changed from the base of the PR and between be97a6e and 6c39149.

📒 Files selected for processing (5)
  • shortcuts/vc/vc_meeting_list_active.go
  • shortcuts/vc/vc_meeting_test.go
  • skills/lark-vc-agent/SKILL.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md
✅ Files skipped from review due to trivial changes (1)
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md
  • shortcuts/vc/vc_meeting_test.go

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
skills/lark-vc-agent/SKILL.md (1)

75-75: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Disambiguate field names for +meeting-join vs +meeting-list-active in section 3.

Line 75 refers to "meeting.id" for both +meeting-join and +meeting-list-active, but they return different field names:

  • +meeting-join returns nested meeting.id (as documented in section 1, line 48)
  • +meeting-list-active returns flat meeting_id (as documented in section 4, line 82)

This mirrors the prior review feedback that flagged the meeting.id vs meeting_id distinction to prevent users from copying a non-existent nested field.

📝 Proposed fix
-1. 只有用户明确要求机器人退出 / 离开 / 结束参会时,才用 `+meeting-leave --meeting-id <从 +meeting-join 或 +meeting-list-active 拿到的 meeting.id>`;不应因任务完成而执行离会。
+1. 只有用户明确要求机器人退出 / 离开 / 结束参会时,才用 `+meeting-leave --meeting-id <从 +meeting-join 返回的 meeting.id 或从 +meeting-list-active 返回的 meeting_id>`;不应因任务完成而执行离会。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/lark-vc-agent/SKILL.md` at line 75, In section 3, line 75,
disambiguate the field name reference in the `+meeting-leave --meeting-id`
instruction to account for different return structures from the two commands.
Clarify that when the meeting ID comes from `+meeting-join` (documented in
section 1, line 48), use the nested `meeting.id` field, and when it comes from
`+meeting-list-active` (documented in section 4, line 82), use the flat
`meeting_id` field. This prevents users from attempting to reference
non-existent field names depending on which command they used to retrieve the
meeting identifier.

Source: Learnings

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@skills/lark-vc-agent/SKILL.md`:
- Line 75: In section 3, line 75, disambiguate the field name reference in the
`+meeting-leave --meeting-id` instruction to account for different return
structures from the two commands. Clarify that when the meeting ID comes from
`+meeting-join` (documented in section 1, line 48), use the nested `meeting.id`
field, and when it comes from `+meeting-list-active` (documented in section 4,
line 82), use the flat `meeting_id` field. This prevents users from attempting
to reference non-existent field names depending on which command they used to
retrieve the meeting identifier.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 79763808-19bb-4a86-91f0-7f36659d8c34

📥 Commits

Reviewing files that changed from the base of the PR and between 6c39149 and 3ce1ec1.

📒 Files selected for processing (3)
  • shortcuts/vc/vc_meeting_list_active.go
  • shortcuts/vc/vc_meeting_test.go
  • skills/lark-vc-agent/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • shortcuts/vc/vc_meeting_list_active.go
  • shortcuts/vc/vc_meeting_test.go

@zhicong666-bytedance
zhicong666-bytedance deleted the hzc/vc-agent-uat-tat-active-meeting branch June 25, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain/vc PR touches the vc domain size/L Large or sensitive change across domains or core paths

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant