Install
openclaw skills install feishu-paper-managerDesign or implement a paper-management workflow built on a Feishu bot plus OpenClaw. Use when the user wants to ingest papers from Feishu messages, save PDFs or source links into a Feishu cloud-docs paper folder, maintain a searchable multi-dimensional table of paper metadata and reusable tags, or evolve the tag taxonomy after every 50 newly added papers.
openclaw skills install feishu-paper-managerUse this skill when the task is to design, review, or implement a paper-management agent that runs through a Feishu bot and OpenClaw.
Build a workflow with three durable outputs:
paper folder that stores the paper asset or an index document for the source link.50, 100, 150, and so on.Follow this sequence:
paper folder.Treat these as valid paper inputs:
For every incoming item:
Deduplication priority:
If a duplicate exists, update missing fields instead of creating a new row.
Always separate binary storage from metadata storage:
paper folder is for the PDF file or a small link-index doc when the PDF is unavailable.When a PDF is available:
paper folderyear + first_author + short_titleWhen only a link is available:
paper folder containing the title, source link, access date, and capture notesCreate or expect these fields in the Feishu multi-dimensional table:
paper_id: stable unique IDtitle: paper titledoc_link: cloud-docs link to the stored PDF or link-index docsource_link: original paper URLsource_type: pdf, arxiv, openreview, publisher, project, othersummary_one_line: one-sentence summary in plain languagetags_topic: reusable topical tagstags_method: reusable method tagstags_task: reusable task tagstags_domain: reusable domain tagstags_stage: reusable maturity tags such as reading, worth-reproducing, survey-onlyauthors: normalized author stringvenue: venue or sourceyear: publication yearstatus: new, classified, taxonomy-reviewed, duplicate, errormessage_link: original Feishu message linkingested_at: ingestion timestamptaxonomy_version: taxonomy version used for the rowUse multi-select fields for all tags_* columns so users can filter and search by labels directly in Feishu.
A paper can have multiple tags, but tags must stay reusable. Do not create a new free-form label when an existing reusable label is close enough.
Use a layered taxonomy:
tags_topic: broad themes such as llm, multimodal, agent, retrieval, alignment, reasoningtags_method: technical mechanisms such as rag, rl, distillation, synthetic-data, moe, benchmarktags_task: applied tasks such as code-gen, translation, information-extraction, math, searchtags_domain: business or science domain such as biology, finance, education, roboticstags_stage: actionability and curation stateKeep tags short, lowercase, and singular where possible.
Prefer this decision rule:
See references/tag-taxonomy.md for the starter taxonomy and merge rules.
The summary_one_line field must answer:
Avoid hype, citation-style phrasing, and long clauses.
Whenever the table row count reaches a multiple of 50, run a taxonomy review pass.
The review pass must:
taxonomy_versionOptimization goals:
Do not relabel everything from scratch unless the old taxonomy is clearly broken. Prefer merge-and-backfill over wholesale replacement.
When asked to design the system, return:
When asked to implement or review code, anchor decisions to:
Default division of responsibility:
If the user has an existing architecture, preserve it and only adapt the workflow.
When the user wants implementation guidance, assume this integration shape unless the project already defines another one:
Design the integration around these engineering constraints:
Use references/api-contracts.md for payload shapes and responsibility boundaries.
Use references/event-flows.md for event sequences and retry behavior.
On the Feishu side, prefer these components:
The Feishu bot should emit one normalized payload per detected paper candidate, not one per message if a message contains multiple papers.
Before calling OpenClaw, the Feishu side should:
event_id and message_idOn the OpenClaw side, prefer these stages:
OpenClaw should treat the table as an upsert target, not append-only storage.
For duplicates:
message_link to notes or an audit field if the implementation supports itduplicate result instead of creating a new paper rowThe threshold is based on canonical non-duplicate paper rows, not raw messages.
Trigger a taxonomy review only when:
50Persist a review checkpoint such as last_review_count = 100 or taxonomy_version = v3 so retries do not rerun the same migration.
When implementing code, prefer returning these artifacts:
When reviewing code, check specifically for:
The default failure strategy is:
If partial writes are possible, require compensating logic or a resumable reconciliation job.
references/table-schema.mdreferences/tag-taxonomy.mdreferences/api-contracts.mdreferences/event-flows.md