Conduct professional review of academic papers in Feishu cloud documents (docx), directly annotating revisions in the document body (highlighting, strikethrough, color changes, replacement suggestions), and add selected-text comments and overall review through the Feishu comment system. After the review is completed, the author can see all revision marks and comments by opening the document in Feishu.
Prerequisites
lark-cli(installed)- Need to first read lark-shared to understand authentication and permissions
- Operational dependencies:lark-doc(docs +fetch / +update)、lark-drive(drive +add-comment)
Workflow
Step 1: Confirm the document and obtain content
Confirm with the user the Feishu document URL or doc_id to be reviewed. Supports /docx/ and /wiki/ links.
lark-cli docs +fetch --doc "<文档URL或ID>"
Obtain the returned full Markdown text. If the document is long, you can use --offset and --limit for paginated retrieval.
If the user provides a /wiki/ link, first query the real document type:
lark-cli wiki spaces get_node --params '{"token":"<wiki_token>"}'
Confirm that obj_type is docx , then use obj_token for subsequent operations.
Step 2: Systematically review the paper
As asenior academic journal reviewer, conduct a comprehensive and systematic review of the paper. The review must be rigorous, professional, and constructive.
Review dimensions
Structural level:
- Whether the title accurately reflects the research content, and whether the subtitle is necessary
- Whether the abstract fully covers the research question, methods, core findings, and contributions
- Whether the introduction clearly establishes the academic legitimacy of the research question
- Whether the literature review demonstrates academic context and dialogical relationships (rather than simply listing)
- Whether the research methods are transparent and credible, and whether epistemology and methodology are consistent
- Whether the analysis and findings are supported by sufficient evidence, and whether the chain of argumentation is complete
- Whether the discussion and conclusion respond to the research question, and whether the theoretical contribution is specific
Language level:
- Whether concepts are used consistently and precisely (one concept, one term, unified throughout the text)
- Whether there is empty talk or clichés ("with the development of XX," "has important significance," "enriches XX research," etc.)
- Whether the argumentation follows a "claim-evidence-reasoning" structure
- Whether paragraphs have clear topic sentences
- Whether transitions are natural and logical progression is clear
Academic standards level:
- Whether citations are standardized and whether they return to the original literature
- Whether theory is used in depth (not label-style), and whether boundary conditions are explained
- Whether the statement of research contribution is specific rather than general
- Whether methodological reflexivity is sufficient (especially important for qualitative research)
Step 3: Generate a revision plan
Organize the review results into a structured revision list. Each revision must include a clear type, location information, and rationale.
Keep the total number of revisions within 15-30 itemsAppropriate: too few means the review is not in-depth enough, while too many leaves the author at a loss. Prioritize issues that affect the core quality of the paper.
Revision types (5 types)
For detailed syntax, see references/revision-marks.md。
| type | When to use | Body operation | Comment operation |
|---|---|---|---|
highlight |
Mark text that requires the author's attention | Yellow highlight | Select text and comment to explain the issue |
suggest_delete |
Suggest deleting redundant/inappropriate content | Red strikethrough | Select text and comment to explain the reason |
suggest_replace |
Suggest replacing with a better expression | Strikethrough + blue new text | Select text and comment to explain the reason |
comment_only |
Macro suggestions, without directly changing the body text | None | Select text and comment |
callout_insert |
Section-level review comments | Insert callout block | None |
Color conventions
| Color | Meaning | Markdown syntax |
|---|---|---|
| Yellow highlight | Issues requiring attention | <text background-color="yellow">文本</text> |
| Red text | Serious issues / suggested deletion | <text color="red">~~文本~~</text> |
| Blue bold | Suggested replacement new text | <text color="blue">**新文本**</text> |
| Green callout | Points worthy of recognition | <callout emoji="✅" background-color="light-green"> |
| Yellow callout | Review comments / revision suggestions | <callout emoji="📝" background-color="light-yellow"> |
| Red callout | Explanation of serious issues | <callout emoji="⚠️" background-color="light-red"> |
Step 4: Apply body revisions
Use docs +update to apply body formatting changes one by one.
Execution order:From the end of the document to the beginningExecute one by one, so that the positioning of unmodified text earlier is not affected.
Change only one place at a time, using replace_range mode together with --selection-with-ellipsis for precise positioning:
# highlight — 黄色高亮
lark-cli docs +update --doc "<doc_id>" \
--mode replace_range \
--selection-with-ellipsis "需要高亮的原文片段" \
--markdown '<text background-color="yellow">需要高亮的原文片段</text>'
# suggest_delete — 红色删除线
lark-cli docs +update --doc "<doc_id>" \
--mode replace_range \
--selection-with-ellipsis "建议删除的原文" \
--markdown '<text color="red">~~建议删除的原文~~</text>'
# suggest_replace — 删除线旧文 + 蓝色新文
lark-cli docs +update --doc "<doc_id>" \
--mode replace_range \
--selection-with-ellipsis "需要替换的旧文本" \
--markdown '<text color="red">~~需要替换的旧文本~~</text><text color="blue">**建议的新文本**</text>'
# callout_insert — 在指定位置后插入审阅意见块
lark-cli docs +update --doc "<doc_id>" \
--mode insert_after \
--selection-with-ellipsis "定位文本...该段结尾" \
--markdown '<callout emoji="📝" background-color="light-yellow">
**审阅意见**:此处需要补充方法论说明...
</callout>'
Positioning key points:
--selection-with-ellipsisUse 15-25 characters to ensure a unique match- If matching fails (returns an error), try expanding the positioning range or use
开头...结尾format - The positioning text must exactly match theplain text contentin the document (excluding Markdown markup)
- There is no need to re-fetch the document before modifying (positioning is internal to lark-cli)
Error handling:
- If a revision fails to be positioned, record it and continue executing subsequent revisions, then summarize and inform the user at the end
- If positioning fails multiple times, consider whether there is duplicate content in the original text, and expand the positioning context
Step 5: Add annotation comments
Add comments through drive +add-comment . Comments fall into two categories:
Selection annotations (local comments)
Add review comments for specific text passages. Corresponding to highlight、suggest_delete、suggest_replace、comment_only type revisions.
lark-cli drive +add-comment \
--doc "<doc_id>" \
--selection-with-ellipsis "目标文本片段" \
--content '[{"type":"text","text":"【审阅意见】此处论证逻辑存在跳跃,建议补充从A到B的推理过程。"}]'
Note:
- The positioning text for selection comments should be based on theafter modificationdocument content (if that position has already been given formatting marks, use the original plain text for positioning, and lark-cli will match it at the underlying level)
- The comment content starts with
【审阅意见】, making it clear to the author at a glance - Distinguish between “must modify” and “suggested modification” in comments:
【必改】— Key issues affecting paper quality【建议】— Suggestions that can improve but are not mandatory【肯定】— Writing highlights worth affirming
Overall review
After all local revisions are completed, add an overall review comment as the general review opinion.
lark-cli drive +add-comment \
--doc "<doc_id>" \
--full-comment \
--content '[{"type":"text","text":"【论文总评】\n\n一、总体评价\n...\n\n二、主要优点\n...\n\n三、主要问题\n...\n\n四、修改建议\n...\n\n五、综合判断\n..."}]'
Structure of the overall review:
- Overall evaluation: Summarize the paper's core contribution and overall level in one or two sentences
- Main strengths: 2-3 specific academic highlights (topic selection, methods, findings, etc.)
- Main problems: Arrange by severity, distinguishing mandatory revisions from suggested revisions
- Revision suggestions: Provide specific, actionable directions for improvement targeting the main problems
- Comprehensive judgment: Provide a review recommendation (e.g., re-review after major revision / accept after minor revision / recommend rejection)
Step 6: Report the review results
Report to the user:
- Review completed, document link
- Revision statistics: N revisions in total (M highlights, X deletion suggestions, Y replacement suggestions, Z comments, W review opinion blocks)
- Overall review has been added
- If there are revisions that failed to be located, list the items that could not be applied
- Prompt the author to open the Feishu document to view revisions and comments
Review principles
- Critical priority: Examine by the high standards of the academic community, and do not lower requirements because "it is already very good"
- Constructive expression: While pointing out problems, provide directions for improvement, rather than only criticizing without suggesting
- Distinguish severity: Strictly distinguish "must revise" from "suggested revision" to help the author focus on key points
- Specific and precise: Review opinions must point to specific paragraphs, sentences, or concepts, and avoid vague evaluations
- Disciplinary professionalism: The review language and standards should conform to the academic norms of the sociology discipline
- Respect the author: Review is an academic dialogue, not one-sided criticism; affirming strengths is as important as pointing out problems
Review depth options
The user can specify the review depth; the default is "Standard Review":
| Depth | Description | Revision volume | Applicable scenarios |
|---|---|---|---|
| Quick | Focus on structure and core argumentation | 8-15 items | Quick feedback on drafts |
| Standard | Structure + argumentation + language | 15-30 items | Formal review |
| Deep | Comprehensive and detailed review | 30-50 items | Final review before submission |
The user can also specify reviewing only a certain dimension (e.g., "only look at language issues") or a certain chapter (e.g., "focus on reviewing the methods section").
Wiki link handling
If what the user provides is a /wiki/ link:
- First parse the wiki token:
lark-cli wiki spaces get_node --params '{"token":"<wiki_token>"}' - Confirm that
obj_typeisdocx(other types do not support review) - All subsequent
docs +updateanddrive +add-commentuseobj_token(the real document token)
Notes
- Revise the main text fromthe end of the document to the beginningin that order to avoid location shifts that cause positioning failures
- Each
docs +updateonly changes one place; do not merge multiple changes drive +add-commentword-selection comments only supportdocxformat documents- If the document is read-only or you do not have edit permission, a permission error will be returned, and the user must be prompted to grant authorization
- After the revision is completedo notuse
overwritemode, otherwise added comments will be lost