---
name: wechat2rss-feishu
description: 'Sync Wechat2RSS public WeChat Official Account feeds into a Feishu Base. Use when the user asks to initialize the Feishu Base, synchronize the official Wechat2RSS account list, scan enabled feeds, archive new articles, or analyze stored WeChat article data.'
compatibility: Requires lark-cli configured by the user; Node.js runtime.
metadata:
  icon: ':simple-icons:wechat'
  title: Wechat2RSS Feishu
---

# Wechat2RSS Feishu

## Use

Use this skill for the local Feishu Base workflow around the public
Wechat2RSS service:

- initialize a Feishu Wiki child Base for this workflow
- synchronize the official Wechat2RSS account list into the `公众号` table
- scan enabled accounts and insert newly discovered articles into the `文章`
  table
- read stored article data for downstream analysis

This skill assumes `lark-cli` is already configured by the user. If
`lark-cli` or the required profile is missing, guide the user to configure
`lark-cli`; do not create env/json config files and do not document lark-cli
setup internals here.

Do not search local files, shell history, browser tabs, prior chats, or other
places for a missing Wiki URL, Base token, or table ID. If a required runtime
input is not provided, stop and ask the user for it. For initialization, ask
for the parent Wiki URL. For sync or scan, ask for the `base_token` and table
IDs. If the user cannot provide them, explain which value is missing and guide
them to find or create the target Base.

Use this short user-facing wording when the target data table is unknown:

> 我需要知道 Wechat2RSS 数据表放在哪里。已经创建过的话，请给我对应的飞书多维表格链接，或初始化输出的 token 和表 ID；还没创建的话，请给我一个飞书 Wiki 父页面链接，我会在下面新建。这是为了定位 `公众号` 表和 `文章` 表，后续同步列表、扫描文章、查询文章都要用到它们。

## Data Model

Read [references/data-model.md](references/data-model.md) before changing
tables, fields, deduplication keys, or analysis assumptions.

## Scripts

Run scripts with Node.js from this skill directory. Always pass runtime inputs
as command-line arguments; do not create persistent config files.

Initialize a Base under a Wiki node:

```bash
node scripts/init-base.mjs \
  --profile oomol \
  --wiki-url "https://oomol-studio.feishu.cn/wiki/..." \
  --title "Wechat2RSS"
```

Synchronize the official account list:

```bash
node scripts/sync-official-list.mjs \
  --profile oomol \
  --base-token "<base_token>" \
  --accounts-table "<table_id_or_name>"
```

Scan enabled feeds and archive new articles:

```bash
node scripts/scan-enabled-feeds.mjs \
  --profile oomol \
  --base-token "<base_token>" \
  --accounts-table "<table_id_or_name>" \
  --articles-table "<table_id_or_name>"
```

Read [references/workflows.md](references/workflows.md) for execution modes,
required arguments, expected output, and failure handling.

## Analysis

For analysis requests, read existing `文章` records and use the data model as
the contract. Do not alter Base schema unless the user explicitly asks.
Remember that `正文` is plain text and may be truncated; check `正文是否截断`
and `正文长度` when precision matters.

When presenting article references to the user, always render each article as a
Markdown hyperlink using its title and URL, for example `[标题](URL)`. Do not
show a referenced article as plain title text when a URL is available.
