Skip to content

feat(base): clarify dashboard multi-block read pattern and arrange constraints - #2117

Open
yballul-bytedance wants to merge 1 commit into
larksuite:mainfrom
yballul-bytedance:auto-research-sync/01KYP0J73XH4GFGPXDPTZV1BGG/mr-1293-80299c24
Open

feat(base): clarify dashboard multi-block read pattern and arrange constraints#2117
yballul-bytedance wants to merge 1 commit into
larksuite:mainfrom
yballul-bytedance:auto-research-sync/01KYP0J73XH4GFGPXDPTZV1BGG/mr-1293-80299c24

Conversation

@yballul-bytedance

@yballul-bytedance yballul-bytedance commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

Improves the lark-base skill documentation for the Dashboard module based on Auto Research evaluation findings. The changes address three recurring agent failure patterns: (1) agents calling +dashboard-block-get-data on each block in a separate model turn instead of batching, (2) agents silently using +dashboard-arrange when users request precise layout positioning, and (3) agents redundantly calling +dashboard-block-get-data just to confirm a successful creation.

Changes

  • skills/lark-base/SKILL.md: Updated the routing table entry for +dashboard-block-get-data to say "一个或多个图表计算结果"; added three new Dashboard guidance bullets to the ## Dashboard / Workflow / Role section covering: arrange precision limitations and confirmation requirement, creation-success verification shortcut, and the multi-block serial read pattern.
  • skills/lark-base/references/lark-base-dashboard-block-get-data.md: Added a multi-block serial loop example (bash for loop) immediately after the single-block usage example, with a security note that block IDs must come verbatim from +dashboard-block-list output.
  • skills/lark-base/references/lark-base-dashboard.md: Tightened the +dashboard-arrange caution block to use x/y/w/h wording and added two new caution bullets (user-confirmation requirement for precise layout, stop-after-one-call rule); updated the verification guideline to clarify creation success does not require a follow-up +dashboard-block-get-data call; added a multi-block read hint after Scenario 5.

Test Plan

  • git diff --check passed with exit code 0 (no whitespace errors).
  • Patch applies cleanly to the three target files; changes are semantically equivalent to the source MR diff.
  • No new dependencies, build steps, or runtime code changed — documentation-only update.

Related Issues

Auto research task: 01KYP0J73XH4GFGPXDPTZV1BGG

Summary by CodeRabbit

  • Documentation
    • Updated dashboard and component guidance with clearer routing to relevant references.
    • Clarified layout limitations, including when exact positioning and sizing are unavailable.
    • Added guidance on verifying dashboard creation results and handling uncertain outcomes.
    • Documented efficient retrieval of multiple component results in a single tool call.
    • Added instructions to validate component IDs and skip text components without computed results.

…nstraints

- SKILL.md: update routing table to say "一个或多个图表计算结果" for +dashboard-block-get-data; add three new Dashboard guidance bullets covering arrange precision limits, creation verification shortcut, and multi-block serial read pattern
- lark-base-dashboard-block-get-data.md: add multi-block serial loop example with safety note that IDs must come verbatim from +dashboard-block-list
- lark-base-dashboard.md: tighten arrange caution block (x/y/w/h wording, two new caution bullets); fix verification guideline to not call +dashboard-block-get-data just to confirm creation; add multi-block read hint after scenario 5
@github-actions github-actions Bot added domain/base PR touches the base domain size/M Single-domain feat or fix with limited business impact labels Jul 30, 2026
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Dashboard skill and reference documentation now define layout constraints, creation verification semantics, routing guidance, and single-call retrieval of multiple component computation results.

Changes

Dashboard guidance

Layer / File(s) Summary
Dashboard operation rules
skills/lark-base/SKILL.md, skills/lark-base/references/lark-base-dashboard.md
Adds dashboard routing guidance, documents unsupported exact x/y/w/h placement, clarifies +dashboard-arrange usage, and updates dashboard creation verification rules.
Multi-component result retrieval
skills/lark-base/SKILL.md, skills/lark-base/references/lark-base-dashboard.md, skills/lark-base/references/lark-base-dashboard-block-get-data.md
Documents collecting validated block_id values and serially reading multiple component results in one shell tool call while skipping text components.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • larksuite/cli#341: Introduces the related +dashboard-arrange command and dashboard block support.
  • larksuite/cli#374: Reorganizes overlapping Base Dashboard routing and multi-component retrieval guidance.
  • larksuite/cli#388: Introduces the related +dashboard-arrange shortcut and layout limitations.

Suggested reviewers: liangshuo-1

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Title check ✅ Passed The title accurately summarizes the main doc changes: multi-block reads and dashboard arrange constraints.
Description check ✅ Passed The description matches the required template and includes summary, changes, test plan, and related issues.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Fix failing CI checks
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@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

🤖 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-base/references/lark-base-dashboard-block-get-data.md`:
- Around line 76-82: Add strict Bash error handling before the block_ids loop in
the dashboard block retrieval example by enabling set -euo pipefail, so any
failed +dashboard-block-get-data invocation stops the batch and preserves the
failure status.
🪄 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 Plus

Run ID: b01e6c29-781f-4b68-ab71-fec45f31d2ee

📥 Commits

Reviewing files that changed from the base of the PR and between 87be09e and 799fa8c.

📒 Files selected for processing (3)
  • skills/lark-base/SKILL.md
  • skills/lark-base/references/lark-base-dashboard-block-get-data.md
  • skills/lark-base/references/lark-base-dashboard.md

Comment on lines +76 to +82
```bash
block_ids=(cht_block_1 cht_block_2)
for block_id in "${block_ids[@]}"; do
lark-cli base +dashboard-block-get-data \
--base-token bascn***************CtadY \
--block-id "$block_id"
done

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Do not mask failed component reads.

Without set -e or explicit status handling, the loop continues after a failed +dashboard-block-get-data call and returns the status of the final iteration. A later success can therefore make the whole batch appear successful despite missing results.

Proposed fix
 ```bash
+set -euo pipefail
 block_ids=(cht_block_1 cht_block_2)
 for block_id in "${block_ids[@]}"; do
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```bash
block_ids=(cht_block_1 cht_block_2)
for block_id in "${block_ids[@]}"; do
lark-cli base +dashboard-block-get-data \
--base-token bascn***************CtadY \
--block-id "$block_id"
done
🤖 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-base/references/lark-base-dashboard-block-get-data.md` around
lines 76 - 82, Add strict Bash error handling before the block_ids loop in the
dashboard block retrieval example by enabling set -euo pipefail, so any failed
+dashboard-block-get-data invocation stops the batch and preserves the failure
status.

@github-actions

Copy link
Copy Markdown

🚀 PR Preview Install Guide

🧰 CLI update

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

🧩 Skill update

npx skills add yballul-bytedance/cli#auto-research-sync/01KYP0J73XH4GFGPXDPTZV1BGG/mr-1293-80299c24 -y -g

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain/base PR touches the base domain size/M Single-domain feat or fix with limited business impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant