fix: optimize calendar,vc,minutes,note shortcut and skill#1571
Conversation
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds calendar ChangesMeeting detail shortcuts and routing
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
🚀 PR Preview Install Guide🧰 CLI updatenpm i -g https://pkg.pr.new/larksuite/cli/@larksuite/cli@9e4e94154b47b059dbe260a708efd90c904350ab🧩 Skill updatenpx skills add larksuite/cli#fix/calendar_vc_optimize -y -g |
There was a problem hiding this comment.
Actionable comments posted: 9
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
shortcuts/calendar/calendar_test.go (1)
2247-2247: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAdd the new shortcut names to the presence assertion.
The count check now expects 9, but the
wantlist still only covers the original 7 commands, so+meetingand+search-eventare not actually verified as registered.💚 Proposed fix
- for _, want := range []string{"+agenda", "+create", "+update", "+freebusy", "+room-find", "+rsvp", "+suggestion"} { + for _, want := range []string{"+agenda", "+create", "+update", "+freebusy", "+room-find", "+rsvp", "+suggestion", "+meeting", "+search-event"} {🤖 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/calendar/calendar_test.go` at line 2247, The presence assertion in the calendar shortcut test is still only checking the original seven entries, so add the new shortcut names to the `want` list in the test that iterates over registered commands. Update the assertion near the `for _, want := range []string{...}` block so it also verifies `+meeting` and `+search-event`, keeping the count check consistent with the expected nine shortcuts.
🤖 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/calendar/calendar_meeting_test.go`:
- Around line 43-46: The test callback in calendar_meeting_test.go is calling a
nonexistent RuntimeContext method, which breaks compilation. Update the Execute
function in the affected test to use the existing common.RuntimeContext API,
matching the package’s other tests by switching from CallAPI to CallAPITyped (or
the appropriate typed helper) on rctx. Keep the request path and error handling
the same so the warm-up check still behaves as intended.
In `@shortcuts/calendar/calendar_meeting.go`:
- Around line 25-29: The `Scopes` declaration for the calendar meeting shortcut
is incomplete compared to the runtime requirements enforced by `Validate` and
`MissingScopes` in `runner.go`. Update the shortcut’s `Scopes` field in
`calendar_meeting.go` to include the full `scopesCalendarMeeting` set used by
`Validate` (`calendar:calendar:read`, `calendar:calendar.event:read`, and
`vc:meeting.meetingevent:read`) so the declared permissions match what the
shortcut actually requires.
In `@shortcuts/minutes/minutes_detail.go`:
- Around line 41-47: The minute detail JSON contract is broken because
minuteDetailItem.NoteID is always serialized even when empty, causing
TestDetail_Execute_BasicInfo to fail and conflicting with the documented output.
Update the minuteDetailItem struct in minutes_detail.go to make NoteID omitempty
like the other optional fields, so OutFormat omits note_id when a minute has no
associated note.
In `@shortcuts/minutes/minutes_search.go`:
- Around line 315-319: The MinutesSearch structured output is missing the
documented total field, which breaks the response contract. Update the outData
assembly in MinutesSearch to include total alongside items, has_more, and
page_token, using the existing data source for the total value so downstream
consumers keep receiving the full structured response.
In `@shortcuts/vc/vc_search.go`:
- Around line 241-245: Keep the search response contract intact by restoring the
total field in the outData map alongside items, has_more, and page_token. Update
the response-building logic in vc_search.go where the search result payload is
assembled so callers still receive total as documented by the lark-vc search
reference and pagination consumers continue to work.
In `@skills/lark-minutes/references/lark-minutes-upload.md`:
- Line 51: The artifact retrieval examples in the minutes upload guide are
incomplete because they use minutes +detail without any output selectors. Update
the referenced example commands in the document to include explicit flags such
as --transcript, --summary, --todo, --chapter, or --keyword so the retrieval
behavior is clear and matches the intended outputs.
In `@skills/lark-minutes/SKILL.md`:
- Line 46: The command form in the routing table is inconsistent with the rest
of SKILL.md: the `minutes` resource is missing from the `get` entry. Update the
`妙记基础信息:标题 / 时长 / 封面 / 链接` row in SKILL.md so it uses the same `<resource>
<method>` pattern as the `minutes minutes get` entries elsewhere, matching the
`minutes` command family exactly.
In `@skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md`:
- Line 263: The `vc +detail` routing guidance incorrectly implies that
`note_display_type` is available immediately after `vc +detail`, but that field
only comes from `note +detail`. Update the meeting-events reference around the
`20001 meeting_status_MEETING_END` guidance to remove `note_display_type` from
the post-`vc +detail` field list, and keep only the fields actually returned
there such as `note_id` and `minute_token`; use the `vc_detail` flow and the
related `note +detail` wording in `vc_detail.go` and `lark-vc-detail.md` as the
source of truth.
In `@skills/lark-vc/SKILL.md`:
- Around line 52-53: The minute-only routing is inconsistent with the VC docs:
this table still points explicit “妙记信息” requests to vc +detail, while the rest
of the VC guidance uses vc +recording. Update the affected entry in SKILL.md so
the minute-only path matches vc +recording, and ensure any related VC doc
references use the same command naming consistently.
---
Outside diff comments:
In `@shortcuts/calendar/calendar_test.go`:
- Line 2247: The presence assertion in the calendar shortcut test is still only
checking the original seven entries, so add the new shortcut names to the `want`
list in the test that iterates over registered commands. Update the assertion
near the `for _, want := range []string{...}` block so it also verifies
`+meeting` and `+search-event`, keeping the count check consistent with the
expected nine shortcuts.
🪄 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: 0af01343-6e7e-44c8-a347-f40a3e4b6644
📒 Files selected for processing (45)
shortcuts/calendar/calendar_meeting.goshortcuts/calendar/calendar_meeting_test.goshortcuts/calendar/calendar_room_find.goshortcuts/calendar/calendar_room_find_test.goshortcuts/calendar/calendar_search_event.goshortcuts/calendar/calendar_test.goshortcuts/calendar/errors.goshortcuts/calendar/errors_attribution_test.goshortcuts/calendar/shortcuts.goshortcuts/minutes/minutes_detail.goshortcuts/minutes/minutes_detail_test.goshortcuts/minutes/minutes_search.goshortcuts/minutes/minutes_search_test.goshortcuts/minutes/shortcuts.goshortcuts/vc/shortcuts.goshortcuts/vc/vc_detail.goshortcuts/vc/vc_detail_test.goshortcuts/vc/vc_meeting_events_test.goshortcuts/vc/vc_notes.goshortcuts/vc/vc_notes_test.goshortcuts/vc/vc_search.goskills/lark-calendar/SKILL.mdskills/lark-calendar/references/lark-calendar-meeting.mdskills/lark-calendar/references/lark-calendar-search-event.mdskills/lark-minutes/SKILL.mdskills/lark-minutes/references/lark-minutes-detail.mdskills/lark-minutes/references/lark-minutes-download.mdskills/lark-minutes/references/lark-minutes-search.mdskills/lark-minutes/references/lark-minutes-summary.mdskills/lark-minutes/references/lark-minutes-todo.mdskills/lark-minutes/references/lark-minutes-upload.mdskills/lark-note/SKILL.mdskills/lark-note/references/lark-note-detail.mdskills/lark-note/references/lark-note-transcript.mdskills/lark-vc-agent/SKILL.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-events.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-join.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-leave.mdskills/lark-vc/SKILL.mdskills/lark-vc/references/lark-vc-detail.mdskills/lark-vc/references/lark-vc-notes.mdskills/lark-vc/references/lark-vc-recording.mdskills/lark-vc/references/lark-vc-search.mdskills/lark-vc/references/vc-domain-boundaries.mdskills/lark-workflow-meeting-summary/SKILL.md
💤 Files with no reviewable changes (1)
- skills/lark-vc/references/lark-vc-notes.md
9ad545b to
6d7037b
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1571 +/- ##
==========================================
- Coverage 74.75% 74.66% -0.10%
==========================================
Files 800 804 +4
Lines 80459 81036 +577
==========================================
+ Hits 60147 60505 +358
- Misses 15857 16029 +172
- Partials 4455 4502 +47 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 2
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/references/lark-vc-recording.md (1)
98-106: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winInclude
--keywordif this is meant to mean “all AI artifacts”.
minutes +detailexposeskeywordas one of the artifact flags in the detail doc, but this example only requests summary/todo/chapter/transcript. Either add--keywordor rename the example so it doesn’t promise the full set.Suggested fix
-lark-cli minutes +detail --minute-tokens <minute_token> --summary --todo --chapter --transcript +lark-cli minutes +detail --minute-tokens <minute_token> --summary --todo --chapter --keyword --transcript🤖 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/references/lark-vc-recording.md` around lines 98 - 106, The `minutes +detail` example in the Lark VC recording docs claims to fetch the full AI-generated minutes, but the command in the example omits the `--keyword` artifact flag. Update the example near the `minute_token` flow to include `--keyword` alongside `--summary`, `--todo`, `--chapter`, and `--transcript`, or otherwise rename the scenario so it no longer implies all AI artifacts are returned.
♻️ Duplicate comments (1)
shortcuts/calendar/calendar_meeting.go (1)
122-129: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winAlign
Scopeswith the runtime permission contract.This shortcut still advertises only
calendar:calendar.event:read, so users who grant the declared scope will continue to fail auth at runtime.🔧 Proposed fix
- Scopes: []string{"calendar:calendar.event:read"}, + Scopes: []string{ + "calendar:calendar:read", + "calendar:calendar.event:read", + "vc:meeting.meetingevent:read", + },🤖 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/calendar/calendar_meeting.go` around lines 122 - 129, The CalendarMeeting shortcut’s declared Scopes do not match the runtime permission requirements, so auth can still fail even when the advertised scope is granted. Update the shortcut definition in CalendarMeeting to include the full set of scopes actually required by the handler/runtime contract, keeping the Scope list aligned with what the command needs to execute successfully.
🤖 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/calendar/calendar_meeting.go`:
- Around line 145-153: The DryRun for `calendar_meeting.go` does not match the
live request built in `Execute`, so update `DryRun` to mirror the same endpoint
and payload shape used there. In particular, align
`POST(...mget_instance_relation_info)` with the real path encoding logic, switch
the preview body from `event_ids`/`calendar_id` to the same `instance_ids` plus
the three `need_*` boolean flags, and keep the `calendar-id` fallback consistent
between `DryRun` and `Execute`.
In `@skills/lark-vc/references/lark-vc-recording.md`:
- Line 8: The command name is duplicated in the metadata flow and should be
corrected so the path is usable. Update the affected guidance in the
minute-token/method lookup instructions to use minutes get instead of minutes
minutes get, and ensure the same fix is applied wherever this duplicated command
appears so readers can follow the basic-metadata path correctly.
---
Outside diff comments:
In `@skills/lark-vc/references/lark-vc-recording.md`:
- Around line 98-106: The `minutes +detail` example in the Lark VC recording
docs claims to fetch the full AI-generated minutes, but the command in the
example omits the `--keyword` artifact flag. Update the example near the
`minute_token` flow to include `--keyword` alongside `--summary`, `--todo`,
`--chapter`, and `--transcript`, or otherwise rename the scenario so it no
longer implies all AI artifacts are returned.
---
Duplicate comments:
In `@shortcuts/calendar/calendar_meeting.go`:
- Around line 122-129: The CalendarMeeting shortcut’s declared Scopes do not
match the runtime permission requirements, so auth can still fail even when the
advertised scope is granted. Update the shortcut definition in CalendarMeeting
to include the full set of scopes actually required by the handler/runtime
contract, keeping the Scope list aligned with what the command needs to execute
successfully.
🪄 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: d15fd180-423c-4bdd-904f-94a2d8aaa06d
📒 Files selected for processing (45)
shortcuts/calendar/calendar_meeting.goshortcuts/calendar/calendar_meeting_test.goshortcuts/calendar/calendar_room_find.goshortcuts/calendar/calendar_room_find_test.goshortcuts/calendar/calendar_search_event.goshortcuts/calendar/calendar_test.goshortcuts/calendar/errors.goshortcuts/calendar/errors_attribution_test.goshortcuts/calendar/shortcuts.goshortcuts/minutes/minutes_detail.goshortcuts/minutes/minutes_detail_test.goshortcuts/minutes/minutes_search.goshortcuts/minutes/minutes_search_test.goshortcuts/minutes/shortcuts.goshortcuts/vc/shortcuts.goshortcuts/vc/vc_detail.goshortcuts/vc/vc_detail_test.goshortcuts/vc/vc_meeting_events_test.goshortcuts/vc/vc_notes.goshortcuts/vc/vc_notes_test.goshortcuts/vc/vc_search.goskills/lark-calendar/SKILL.mdskills/lark-calendar/references/lark-calendar-meeting.mdskills/lark-calendar/references/lark-calendar-search-event.mdskills/lark-minutes/SKILL.mdskills/lark-minutes/references/lark-minutes-detail.mdskills/lark-minutes/references/lark-minutes-download.mdskills/lark-minutes/references/lark-minutes-search.mdskills/lark-minutes/references/lark-minutes-summary.mdskills/lark-minutes/references/lark-minutes-todo.mdskills/lark-minutes/references/lark-minutes-upload.mdskills/lark-note/SKILL.mdskills/lark-note/references/lark-note-detail.mdskills/lark-note/references/lark-note-transcript.mdskills/lark-vc-agent/SKILL.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-events.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-join.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-leave.mdskills/lark-vc/SKILL.mdskills/lark-vc/references/lark-vc-detail.mdskills/lark-vc/references/lark-vc-notes.mdskills/lark-vc/references/lark-vc-recording.mdskills/lark-vc/references/lark-vc-search.mdskills/lark-vc/references/vc-domain-boundaries.mdskills/lark-workflow-meeting-summary/SKILL.md
💤 Files with no reviewable changes (1)
- skills/lark-vc/references/lark-vc-notes.md
✅ Files skipped from review due to trivial changes (18)
- shortcuts/minutes/shortcuts.go
- skills/lark-calendar/references/lark-calendar-meeting.md
- shortcuts/calendar/shortcuts.go
- skills/lark-note/references/lark-note-transcript.md
- shortcuts/vc/vc_meeting_events_test.go
- skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
- skills/lark-vc-agent/SKILL.md
- skills/lark-vc/references/lark-vc-detail.md
- skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
- skills/lark-calendar/references/lark-calendar-search-event.md
- skills/lark-note/references/lark-note-detail.md
- skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
- skills/lark-minutes/references/lark-minutes-summary.md
- skills/lark-workflow-meeting-summary/SKILL.md
- skills/lark-calendar/SKILL.md
- skills/lark-minutes/references/lark-minutes-todo.md
- skills/lark-minutes/references/lark-minutes-download.md
- skills/lark-vc/references/vc-domain-boundaries.md
🚧 Files skipped from review as they are similar to previous changes (20)
- shortcuts/calendar/errors.go
- shortcuts/vc/shortcuts.go
- shortcuts/calendar/calendar_test.go
- shortcuts/vc/vc_notes_test.go
- shortcuts/vc/vc_search.go
- shortcuts/vc/vc_notes.go
- shortcuts/calendar/errors_attribution_test.go
- shortcuts/vc/vc_detail_test.go
- shortcuts/minutes/minutes_search_test.go
- skills/lark-note/SKILL.md
- skills/lark-minutes/references/lark-minutes-upload.md
- shortcuts/calendar/calendar_room_find.go
- skills/lark-minutes/SKILL.md
- shortcuts/calendar/calendar_meeting_test.go
- shortcuts/minutes/minutes_detail.go
- shortcuts/calendar/calendar_search_event.go
- shortcuts/vc/vc_detail.go
- shortcuts/minutes/minutes_search.go
- shortcuts/calendar/calendar_room_find_test.go
- shortcuts/minutes/minutes_detail_test.go
6d7037b to
3a8d107
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
skills/lark-vc/references/lark-vc-recording.md (1)
8-8: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winKeep the metadata path as
minutes get.
minutes minutes getis still duplicated in both callouts, so the basic-metadata route cannot be followed literally. Please align both spots with the existing command name.Also applies to: 147-147
🤖 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/references/lark-vc-recording.md` at line 8, The metadata guidance currently uses a duplicated command name, so the basic-metadata flow is unclear. Update the affected callouts in the recording reference to consistently use the existing `minutes get` command name, and keep `minutes +detail` reserved only for content/transcript access; verify both occurrences so the terminology matches everywhere.
🤖 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/references/lark-vc-recording.md`:
- Around line 105-106: Update the “all AI outputs” documentation for the minutes
+detail flow to include keyword retrieval by adding --keyword alongside the
existing output flags. Adjust both the complete minutes example and the routing
note so the minutes +detail command reflects all supported AI outputs, and keep
the reference to the minutes +detail shortcut matrix consistent wherever it is
listed.
---
Duplicate comments:
In `@skills/lark-vc/references/lark-vc-recording.md`:
- Line 8: The metadata guidance currently uses a duplicated command name, so the
basic-metadata flow is unclear. Update the affected callouts in the recording
reference to consistently use the existing `minutes get` command name, and keep
`minutes +detail` reserved only for content/transcript access; verify both
occurrences so the terminology matches everywhere.
🪄 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: cad6ca8f-331a-4c7f-8cf0-f71eea7fbf8d
📒 Files selected for processing (45)
shortcuts/calendar/calendar_meeting.goshortcuts/calendar/calendar_meeting_test.goshortcuts/calendar/calendar_room_find.goshortcuts/calendar/calendar_room_find_test.goshortcuts/calendar/calendar_search_event.goshortcuts/calendar/calendar_test.goshortcuts/calendar/errors.goshortcuts/calendar/errors_attribution_test.goshortcuts/calendar/shortcuts.goshortcuts/minutes/minutes_detail.goshortcuts/minutes/minutes_detail_test.goshortcuts/minutes/minutes_search.goshortcuts/minutes/minutes_search_test.goshortcuts/minutes/shortcuts.goshortcuts/vc/shortcuts.goshortcuts/vc/vc_detail.goshortcuts/vc/vc_detail_test.goshortcuts/vc/vc_meeting_events_test.goshortcuts/vc/vc_notes.goshortcuts/vc/vc_notes_test.goshortcuts/vc/vc_search.goskills/lark-calendar/SKILL.mdskills/lark-calendar/references/lark-calendar-meeting.mdskills/lark-calendar/references/lark-calendar-search-event.mdskills/lark-minutes/SKILL.mdskills/lark-minutes/references/lark-minutes-detail.mdskills/lark-minutes/references/lark-minutes-download.mdskills/lark-minutes/references/lark-minutes-search.mdskills/lark-minutes/references/lark-minutes-summary.mdskills/lark-minutes/references/lark-minutes-todo.mdskills/lark-minutes/references/lark-minutes-upload.mdskills/lark-note/SKILL.mdskills/lark-note/references/lark-note-detail.mdskills/lark-note/references/lark-note-transcript.mdskills/lark-vc-agent/SKILL.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-events.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-join.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-leave.mdskills/lark-vc/SKILL.mdskills/lark-vc/references/lark-vc-detail.mdskills/lark-vc/references/lark-vc-notes.mdskills/lark-vc/references/lark-vc-recording.mdskills/lark-vc/references/lark-vc-search.mdskills/lark-vc/references/vc-domain-boundaries.mdskills/lark-workflow-meeting-summary/SKILL.md
💤 Files with no reviewable changes (1)
- skills/lark-vc/references/lark-vc-notes.md
✅ Files skipped from review due to trivial changes (16)
- shortcuts/vc/shortcuts.go
- skills/lark-calendar/references/lark-calendar-meeting.md
- skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
- skills/lark-note/references/lark-note-detail.md
- skills/lark-note/references/lark-note-transcript.md
- skills/lark-minutes/references/lark-minutes-upload.md
- skills/lark-minutes/references/lark-minutes-todo.md
- skills/lark-calendar/references/lark-calendar-search-event.md
- shortcuts/vc/vc_meeting_events_test.go
- skills/lark-vc/references/lark-vc-detail.md
- skills/lark-minutes/references/lark-minutes-summary.md
- skills/lark-vc-agent/SKILL.md
- shortcuts/minutes/shortcuts.go
- skills/lark-minutes/references/lark-minutes-search.md
- skills/lark-minutes/references/lark-minutes-download.md
- skills/lark-calendar/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (26)
- shortcuts/calendar/shortcuts.go
- shortcuts/calendar/calendar_room_find_test.go
- skills/lark-workflow-meeting-summary/SKILL.md
- skills/lark-vc/references/vc-domain-boundaries.md
- shortcuts/calendar/errors.go
- shortcuts/calendar/calendar_room_find.go
- shortcuts/calendar/calendar_test.go
- shortcuts/calendar/errors_attribution_test.go
- shortcuts/calendar/calendar_meeting.go
- shortcuts/vc/vc_notes.go
- skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
- skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
- shortcuts/vc/vc_notes_test.go
- shortcuts/vc/vc_detail_test.go
- shortcuts/calendar/calendar_meeting_test.go
- shortcuts/minutes/minutes_detail.go
- shortcuts/vc/vc_search.go
- skills/lark-note/SKILL.md
- shortcuts/minutes/minutes_search.go
- shortcuts/minutes/minutes_detail_test.go
- skills/lark-vc/references/lark-vc-search.md
- shortcuts/calendar/calendar_search_event.go
- shortcuts/vc/vc_detail.go
- skills/lark-vc/SKILL.md
- shortcuts/minutes/minutes_search_test.go
- skills/lark-minutes/SKILL.md
3a8d107 to
b2e8914
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (2)
skills/lark-vc/references/lark-vc-recording.md (2)
105-106: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAdd
--keywordto the full-output example.The warning says all AI-product flags are required, but the command omits
--keyword, so the example understates the supported “all outputs” flow.🤖 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/references/lark-vc-recording.md` around lines 105 - 106, The full-output example is missing the required AI-product flag for keywords, so update the example in the recording docs to include --keyword alongside the existing --summary, --todo, --chapter, and --transcript flags; use the lark-cli minutes +detail example as the reference point and ensure it matches the warning about explicitly specifying all product flags.
8-8: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winUse
minutes gethere.
minutes minutes getis invalid in both places and breaks the basic-metadata path. Please drop the duplicatedminutesso readers can follow the command as written.Also applies to: 147-147
🤖 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/references/lark-vc-recording.md` at line 8, The command reference in the lark-vc recording guide has a duplicated `minutes` token, which makes the basic-metadata path invalid and confusing. Update the affected guidance where the metadata flow is described so it consistently points to `minutes get` after obtaining `minute_token`, and keep `minutes +detail` only for content/transcript retrieval; use the existing command labels in `lark-vc-recording.md` to ensure the wording matches the intended CLI path.
🤖 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/calendar/calendar_search_event.go`:
- Around line 206-207: The dry-run path in calendar search event handling is
inconsistent with Execute because the calendar identifier is inserted unescaped
in the POST URL, which can produce a misleading endpoint for reserved
characters. Update the URL construction in the calendar search event request
builder so the same escaping/encoding logic used by Execute is applied when
forming the path, and keep the Set("calendar_id", calendarID) behavior
unchanged; use the existing calendar_search_event request flow to locate both
the dry-run and Execute path assembly.
- Around line 89-90: Timestamp parsing errors are being ignored in the calendar
search event flow, which can lead to invalid time ranges. Update the parsing
logic around the startSec and endSec assignments to check the strconv.ParseInt
result and propagate a typed validation error instead of discarding it. Keep the
fix localized to the calendar search event timestamp handling so both parse
sites return consistent validation failures.
In `@skills/lark-minutes/references/lark-minutes-detail.md`:
- Around line 26-35: Clarify the `minutes` response contract in the
`lark-minutes-detail.md` section: it currently states every item includes
`artifacts`, which conflicts with the no-flags behavior described elsewhere.
Update the wording around `minutes`, `artifacts`, and related fields so it
explicitly says whether `artifacts` is omitted when no AI flags are passed or
returned as an empty object/array, and keep the description consistent with
`note_id` and the `minute_token` item shape.
---
Duplicate comments:
In `@skills/lark-vc/references/lark-vc-recording.md`:
- Around line 105-106: The full-output example is missing the required
AI-product flag for keywords, so update the example in the recording docs to
include --keyword alongside the existing --summary, --todo, --chapter, and
--transcript flags; use the lark-cli minutes +detail example as the reference
point and ensure it matches the warning about explicitly specifying all product
flags.
- Line 8: The command reference in the lark-vc recording guide has a duplicated
`minutes` token, which makes the basic-metadata path invalid and confusing.
Update the affected guidance where the metadata flow is described so it
consistently points to `minutes get` after obtaining `minute_token`, and keep
`minutes +detail` only for content/transcript retrieval; use the existing
command labels in `lark-vc-recording.md` to ensure the wording matches the
intended CLI path.
🪄 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: 395470ae-9328-4704-af0f-3dea2d018ad5
📒 Files selected for processing (51)
shortcuts/calendar/calendar_meeting.goshortcuts/calendar/calendar_meeting_test.goshortcuts/calendar/calendar_room_find.goshortcuts/calendar/calendar_room_find_test.goshortcuts/calendar/calendar_search_event.goshortcuts/calendar/calendar_test.goshortcuts/calendar/errors.goshortcuts/calendar/errors_attribution_test.goshortcuts/calendar/shortcuts.goshortcuts/common/artifact_path.goshortcuts/minutes/minutes_detail.goshortcuts/minutes/minutes_detail_test.goshortcuts/minutes/minutes_search.goshortcuts/minutes/minutes_search_test.goshortcuts/minutes/minutes_summary.goshortcuts/minutes/minutes_todo.goshortcuts/minutes/minutes_word_replace.goshortcuts/minutes/shortcuts.goshortcuts/vc/shortcuts.goshortcuts/vc/vc_detail.goshortcuts/vc/vc_detail_test.goshortcuts/vc/vc_meeting_events_test.goshortcuts/vc/vc_notes.goshortcuts/vc/vc_notes_test.goshortcuts/vc/vc_search.goskills/lark-calendar/SKILL.mdskills/lark-calendar/references/lark-calendar-meeting.mdskills/lark-calendar/references/lark-calendar-schedule-meeting.mdskills/lark-calendar/references/lark-calendar-search-event.mdskills/lark-calendar/references/lark-calendar-update.mdskills/lark-minutes/SKILL.mdskills/lark-minutes/references/lark-minutes-detail.mdskills/lark-minutes/references/lark-minutes-download.mdskills/lark-minutes/references/lark-minutes-search.mdskills/lark-minutes/references/lark-minutes-summary.mdskills/lark-minutes/references/lark-minutes-todo.mdskills/lark-minutes/references/lark-minutes-upload.mdskills/lark-note/SKILL.mdskills/lark-note/references/lark-note-detail.mdskills/lark-note/references/lark-note-transcript.mdskills/lark-vc-agent/SKILL.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-events.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-join.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-leave.mdskills/lark-vc/SKILL.mdskills/lark-vc/references/lark-vc-detail.mdskills/lark-vc/references/lark-vc-notes.mdskills/lark-vc/references/lark-vc-recording.mdskills/lark-vc/references/lark-vc-search.mdskills/lark-vc/references/vc-domain-boundaries.mdskills/lark-workflow-meeting-summary/SKILL.md
💤 Files with no reviewable changes (1)
- skills/lark-vc/references/lark-vc-notes.md
✅ Files skipped from review due to trivial changes (21)
- shortcuts/vc/shortcuts.go
- shortcuts/minutes/shortcuts.go
- shortcuts/minutes/minutes_todo.go
- shortcuts/calendar/shortcuts.go
- shortcuts/minutes/minutes_summary.go
- shortcuts/common/artifact_path.go
- skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
- skills/lark-minutes/references/lark-minutes-summary.md
- skills/lark-vc/references/lark-vc-detail.md
- skills/lark-vc-agent/SKILL.md
- skills/lark-calendar/references/lark-calendar-search-event.md
- skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
- skills/lark-minutes/references/lark-minutes-todo.md
- skills/lark-calendar/references/lark-calendar-meeting.md
- shortcuts/minutes/minutes_word_replace.go
- skills/lark-calendar/SKILL.md
- skills/lark-minutes/references/lark-minutes-download.md
- skills/lark-note/references/lark-note-detail.md
- skills/lark-workflow-meeting-summary/SKILL.md
- skills/lark-minutes/references/lark-minutes-upload.md
- skills/lark-note/references/lark-note-transcript.md
🚧 Files skipped from review as they are similar to previous changes (23)
- shortcuts/vc/vc_meeting_events_test.go
- shortcuts/calendar/errors.go
- skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
- shortcuts/calendar/calendar_room_find.go
- shortcuts/calendar/errors_attribution_test.go
- shortcuts/calendar/calendar_test.go
- skills/lark-vc/references/vc-domain-boundaries.md
- shortcuts/minutes/minutes_search_test.go
- shortcuts/vc/vc_detail_test.go
- shortcuts/vc/vc_search.go
- shortcuts/calendar/calendar_meeting_test.go
- skills/lark-note/SKILL.md
- shortcuts/minutes/minutes_detail_test.go
- shortcuts/vc/vc_notes.go
- shortcuts/calendar/calendar_room_find_test.go
- shortcuts/minutes/minutes_detail.go
- shortcuts/calendar/calendar_meeting.go
- shortcuts/vc/vc_detail.go
- shortcuts/vc/vc_notes_test.go
- shortcuts/minutes/minutes_search.go
- skills/lark-minutes/references/lark-minutes-search.md
- skills/lark-minutes/SKILL.md
- skills/lark-vc/references/lark-vc-search.md
b2e8914 to
ab6e078
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (3)
skills/lark-vc/references/lark-vc-recording.md (2)
8-8: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winReplace
minutes minutes getwithminutes get.This command name is still duplicated in both the boundary reminder and the quick-tip section, so the basic-metadata path remains unusable. Based on the earlier review note, please normalize every occurrence.
Also applies to: 147-147
🤖 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/references/lark-vc-recording.md` at line 8, Normalize the metadata command name throughout the Lark VC recording reference by replacing every remaining `minutes minutes get` reference with `minutes get`, including the boundary reminder and the quick-tip section in this document. Use the existing `minutes get` command consistently so the basic-metadata flow is unambiguous while keeping `minutes +detail` reserved for content and transcript access.
105-106: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAdd
--keywordto the all-output flow.The docs still say keyword retrieval is required, but both the example command and the follow-up guidance omit it. Based on the earlier review note, keep the command and the explanatory text in sync.
Also applies to: 147-147
🤖 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/references/lark-vc-recording.md` around lines 105 - 106, The all-output flow is missing the required --keyword flag, so the example command and the explanatory text are out of sync with the documented retrieval requirements. Update the command in the recording guide to include --keyword alongside the other output flags, and make sure the surrounding guidance references the same set of flags consistently so readers see one complete flow. Use the existing lark-cli minutes +detail example as the anchor when updating the referenced section.skills/lark-minutes/references/lark-minutes-detail.md (1)
26-34: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winKeep
artifactsoptional.The intro says no AI artifact fields appear when no flags are passed, but this section still presents
artifactsas always present. Based on the prior review note, the contract is still inconsistent.🤖 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-minutes/references/lark-minutes-detail.md` around lines 26 - 34, Make the `minutes` detail contract consistent with the intro by treating `artifacts` as optional rather than always present. Update the `minutes` field description in this section to clarify that `minute_token`, `title`, and `note_id` may be returned independently, and only include `artifacts` when the corresponding AI artifact flags are requested. Keep the `artifacts.summary`, `artifacts.todos`, `artifacts.chapters`, `artifacts.keywords`, and `artifacts.transcript_file` descriptions under the `artifacts` object, but add wording that the whole object is omitted when no artifact flags are passed.
🤖 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/SKILL.md`:
- Around line 52-53: The SKILL.md table currently suggests that the basic
`minutes get` path returns link data, but the contract only covers metadata like
title, duration, and cover. Update the row that references `vc +detail`, `vc
+recording`, and `minutes get` so it only promises metadata, or redirect the
links use case to the command in lark-minutes that actually exposes links. Keep
the wording aligned with the `minutes get` and `minutes +detail --minute-tokens`
behavior.
---
Duplicate comments:
In `@skills/lark-minutes/references/lark-minutes-detail.md`:
- Around line 26-34: Make the `minutes` detail contract consistent with the
intro by treating `artifacts` as optional rather than always present. Update the
`minutes` field description in this section to clarify that `minute_token`,
`title`, and `note_id` may be returned independently, and only include
`artifacts` when the corresponding AI artifact flags are requested. Keep the
`artifacts.summary`, `artifacts.todos`, `artifacts.chapters`,
`artifacts.keywords`, and `artifacts.transcript_file` descriptions under the
`artifacts` object, but add wording that the whole object is omitted when no
artifact flags are passed.
In `@skills/lark-vc/references/lark-vc-recording.md`:
- Line 8: Normalize the metadata command name throughout the Lark VC recording
reference by replacing every remaining `minutes minutes get` reference with
`minutes get`, including the boundary reminder and the quick-tip section in this
document. Use the existing `minutes get` command consistently so the
basic-metadata flow is unambiguous while keeping `minutes +detail` reserved for
content and transcript access.
- Around line 105-106: The all-output flow is missing the required --keyword
flag, so the example command and the explanatory text are out of sync with the
documented retrieval requirements. Update the command in the recording guide to
include --keyword alongside the other output flags, and make sure the
surrounding guidance references the same set of flags consistently so readers
see one complete flow. Use the existing lark-cli minutes +detail example as the
anchor when updating the referenced section.
🪄 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: aae253de-763b-4387-8196-d3b2b7054c2a
📒 Files selected for processing (51)
shortcuts/calendar/calendar_meeting.goshortcuts/calendar/calendar_meeting_test.goshortcuts/calendar/calendar_room_find.goshortcuts/calendar/calendar_room_find_test.goshortcuts/calendar/calendar_search_event.goshortcuts/calendar/calendar_test.goshortcuts/calendar/errors.goshortcuts/calendar/errors_attribution_test.goshortcuts/calendar/shortcuts.goshortcuts/common/artifact_path.goshortcuts/minutes/minutes_detail.goshortcuts/minutes/minutes_detail_test.goshortcuts/minutes/minutes_search.goshortcuts/minutes/minutes_search_test.goshortcuts/minutes/minutes_summary.goshortcuts/minutes/minutes_todo.goshortcuts/minutes/minutes_word_replace.goshortcuts/minutes/shortcuts.goshortcuts/vc/shortcuts.goshortcuts/vc/vc_detail.goshortcuts/vc/vc_detail_test.goshortcuts/vc/vc_meeting_events_test.goshortcuts/vc/vc_notes.goshortcuts/vc/vc_notes_test.goshortcuts/vc/vc_search.goskills/lark-calendar/SKILL.mdskills/lark-calendar/references/lark-calendar-meeting.mdskills/lark-calendar/references/lark-calendar-schedule-meeting.mdskills/lark-calendar/references/lark-calendar-search-event.mdskills/lark-calendar/references/lark-calendar-update.mdskills/lark-minutes/SKILL.mdskills/lark-minutes/references/lark-minutes-detail.mdskills/lark-minutes/references/lark-minutes-download.mdskills/lark-minutes/references/lark-minutes-search.mdskills/lark-minutes/references/lark-minutes-summary.mdskills/lark-minutes/references/lark-minutes-todo.mdskills/lark-minutes/references/lark-minutes-upload.mdskills/lark-note/SKILL.mdskills/lark-note/references/lark-note-detail.mdskills/lark-note/references/lark-note-transcript.mdskills/lark-vc-agent/SKILL.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-events.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-join.mdskills/lark-vc-agent/references/lark-vc-agent-meeting-leave.mdskills/lark-vc/SKILL.mdskills/lark-vc/references/lark-vc-detail.mdskills/lark-vc/references/lark-vc-notes.mdskills/lark-vc/references/lark-vc-recording.mdskills/lark-vc/references/lark-vc-search.mdskills/lark-vc/references/vc-domain-boundaries.mdskills/lark-workflow-meeting-summary/SKILL.md
💤 Files with no reviewable changes (1)
- skills/lark-vc/references/lark-vc-notes.md
✅ Files skipped from review due to trivial changes (20)
- skills/lark-minutes/references/lark-minutes-todo.md
- shortcuts/minutes/shortcuts.go
- shortcuts/vc/shortcuts.go
- skills/lark-note/references/lark-note-transcript.md
- shortcuts/minutes/minutes_todo.go
- skills/lark-calendar/references/lark-calendar-meeting.md
- skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md
- shortcuts/common/artifact_path.go
- skills/lark-calendar/references/lark-calendar-search-event.md
- shortcuts/minutes/minutes_summary.go
- skills/lark-minutes/references/lark-minutes-download.md
- shortcuts/vc/vc_meeting_events_test.go
- shortcuts/calendar/errors_attribution_test.go
- skills/lark-note/references/lark-note-detail.md
- skills/lark-calendar/references/lark-calendar-update.md
- shortcuts/minutes/minutes_word_replace.go
- skills/lark-vc/references/lark-vc-detail.md
- skills/lark-minutes/references/lark-minutes-summary.md
- skills/lark-minutes/references/lark-minutes-search.md
- skills/lark-vc/references/vc-domain-boundaries.md
🚧 Files skipped from review as they are similar to previous changes (27)
- shortcuts/calendar/shortcuts.go
- shortcuts/calendar/errors.go
- shortcuts/vc/vc_search.go
- skills/lark-workflow-meeting-summary/SKILL.md
- shortcuts/minutes/minutes_search.go
- skills/lark-calendar/references/lark-calendar-schedule-meeting.md
- skills/lark-minutes/references/lark-minutes-upload.md
- skills/lark-vc-agent/SKILL.md
- shortcuts/calendar/calendar_test.go
- skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md
- skills/lark-calendar/SKILL.md
- shortcuts/calendar/calendar_room_find.go
- skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md
- shortcuts/minutes/minutes_search_test.go
- shortcuts/vc/vc_detail.go
- shortcuts/calendar/calendar_meeting.go
- skills/lark-note/SKILL.md
- skills/lark-minutes/SKILL.md
- shortcuts/vc/vc_notes.go
- shortcuts/vc/vc_detail_test.go
- shortcuts/calendar/calendar_room_find_test.go
- shortcuts/calendar/calendar_meeting_test.go
- shortcuts/vc/vc_notes_test.go
- shortcuts/minutes/minutes_detail.go
- shortcuts/calendar/calendar_search_event.go
- skills/lark-vc/references/lark-vc-search.md
- shortcuts/minutes/minutes_detail_test.go
ab6e078 to
1efc89e
Compare
1efc89e to
9e4e941
Compare
Summary
Add four new shortcuts (
calendar +meeting,calendar +search-event,vc +detail,minutes +detail) to give AI agents direct, single-call access to meeting/event metadata that previously required multi-step orchestration. Refresh the matching skill docs and tighten output of several existing shortcuts to be more agent-friendly (clearer empty states, structured hints, less noisy fields).Changes
calendar +meeting,calendar +search-event,vc +detail,minutes +detail, with structured outputs covering meeting_id / note_id / minute_token resolution and selective artifact retrieval.calendar +room-findnow exposes per-slot hints and a found-count line;vc +notesseparates expected hints from real API errors;lark-calendar,lark-vc,lark-minutes,lark-note, with new reference pages for the added shortcuts and clearer domain boundaries.Test Plan
make unit-testpassesgo vet ./...andgofmt -l .cleanlark-cli calendar +meeting,calendar +search-event,vc +detail,minutes +detailagainst a real tenantcalendar +room-find,vc +notes,minutes +searchoutputslark-cli update) and spot-check refreshed reference docs render correctlyRelated Issues
Summary by CodeRabbit
calendar +search-event(keyword, time range, attendee IDs) andcalendar +meeting(fetch meeting ID/note from event instances).minutes +detailandvc +detailfor richer, read-only minute/meeting details and AI outputs.