# Aipanel Feishu Bitable

> Manage the AIPanel Feishu Bitable data source with natural language. Use when a user wants to query, add, edit, delete, reorder, or organize AIPanel bookmarks and categories stored in the Feishu Bitable backing the current AIPanel deployment. Also use when the user asks about AIPanel data, category order, placeholder records for new categories, or wants changes reflected in the panel UI.

- **Type:** Skill
- **Install:** `agentstack add skill-simmzl-aipanel-aipanel-feishu-bitable`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [simmzl](https://agentstack.voostack.com/s/simmzl)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [simmzl](https://github.com/simmzl)
- **Source:** https://github.com/simmzl/AIPanel/tree/main/skills/aipanel-feishu-bitable
- **Website:** https://aipanel-eta.vercel.app

## Install

```sh
agentstack add skill-simmzl-aipanel-aipanel-feishu-bitable
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# AIPanel Bitable

Operate the AIPanel data source in Feishu Bitable.

This skill is the **canonical editable template** for the AIPanel OpenClaw integration.
The checked-in copy under `skills/aipanel-feishu-bitable/` should be treated as a rendered mirror for local browsing or distribution, not as the source of truth.

## Data source configuration

Render or install this skill with the correct identifiers for your AIPanel deployment:

- app_token: `YOUR_FEISHU_BITABLE_APP_TOKEN`
- table_id: `YOUR_FEISHU_BITABLE_TABLE_ID`
- data source URL: `https://your-feishu-domain/base/YOUR_FEISHU_BITABLE_APP_TOKEN`

For the current release-candidate workflow, the installer can fill these from:

- `AIPANEL_SKILL_APP_TOKEN` or `FEISHU_BITABLE_APP_TOKEN`
- `AIPANEL_SKILL_TABLE_ID` or `FEISHU_BITABLE_TABLE_ID`
- `AIPANEL_SKILL_SOURCE_URL` or `FEISHU_BITABLE_SOURCE_URL`

## Table schema

Main fields in the AIPanel table:

- `标题` text
- `副标题` text
- `链接` url
- `图标` text
- `分类` single select
- `排序` number
- `分类排序` number
- `是否置顶` boolean (checkbox)

Interpretation:

- `排序`: order inside the same category
- `分类排序`: category order across the whole panel
- `是否置顶`: whether the bookmark is pinned to the top of its category

## Core tasks

### Read bookmarks

Use `feishu_bitable_app_table_record.list` with:

- `app_token="YOUR_FEISHU_BITABLE_APP_TOKEN"`
- `table_id="YOUR_FEISHU_BITABLE_TABLE_ID"`
- `field_names=["标题","副标题","链接","图标","分类","排序","分类排序","是否置顶"]`

When summarizing data for the user:

1. Group by `分类`
2. Sort groups by `分类排序` ascending
3. Sort items inside each group by `排序` ascending

### Add a bookmark

Use `feishu_bitable_app_table_record.create`.

Required fields to provide:

- `标题`
- `链接`
- `分类`

Usually also set:

- `副标题`
- `图标`
- `排序`
- `分类排序` if needed for consistency
- `是否置顶` — default `false`, set to `true` if the user wants it pinned

If the user gives only a category and no explicit in-category order, append to the end of that category by reading current records and setting `排序 = current max + 1`.

### Edit a bookmark

1. Find the target record with `list` and, if needed, a structured `filter`
2. Use `update` with the matching `record_id`
3. Preserve fields the user did not ask to change

### Delete a bookmark

1. Find the target record precisely
2. Confirm if the request is ambiguous or there are multiple matches
3. Use `delete` with the `record_id`

### Reorder categories

When the user asks to reorder AIPanel categories:

1. Read all records
2. Determine the desired category order
3. Batch update every record in each category so `分类排序` matches the new category position
4. Keep existing `排序` values unchanged

### Reorder bookmarks inside a category

When the user asks to reorder items inside one category:

1. Read all records in that category
2. Determine the target order
3. Batch update `排序` for those records only
4. Leave `分类排序` unchanged

### Pin or unpin a bookmark

When the user asks to pin or unpin a bookmark:

1. Find the target record with `list` and title/URL match
2. Use `update` with the matching `record_id`, setting `是否置顶` to `true` (pin) or `false` (unpin)
3. Preserve all other fields

Pinned bookmarks appear at the top of their category in the panel UI.

### Create a new category

When creating a category for AIPanel, do both actions:

1. Add the new option to the `分类` single-select field
2. Create one placeholder row so the category is visible in the UI immediately

Placeholder row values:

- `标题`: `—`
- `副标题`: `—`
- `链接`: `https://placeholder.local`
- `图标`: empty string
- `分类`: new category name
- `排序`: `0`
- `分类排序`: append at the end unless the user specified another position
- `是否置顶`: `false`

If the category already exists, do not create a duplicate option.

## Query patterns

### Find all bookmarks in a category

Use a structured filter on `分类 is `.

### Find one bookmark by title

Prefer exact title match first with `标题 is ...`.
If nothing matches, fall back to `contains` and report ambiguity if multiple results appear.

### Count bookmarks per category

Read all rows, group in memory, then summarize counts sorted by `分类排序`.

### Find broken or placeholder rows

Placeholder rows can be identified with one or more of:

- `标题 is "—"`
- `副标题 is "—"`
- `链接 is "https://placeholder.local"`

Use this when the user asks which categories are still empty or need real content.

## Response style

When answering users:

- Be concise
- Name the category and bookmark titles explicitly
- If multiple records might match, ask a narrowing question before writing
- After a successful write, summarize exactly what changed

## Safety

- Treat this as a live production data source for AIPanel
- Avoid destructive bulk deletes unless explicitly requested
- Prefer one batch write over many tiny writes when updating order
- If the request could affect many records, state what will change before doing it

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [simmzl](https://github.com/simmzl)
- **Source:** [simmzl/AIPanel](https://github.com/simmzl/AIPanel)
- **License:** MIT
- **Homepage:** https://aipanel-eta.vercel.app

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-simmzl-aipanel-aipanel-feishu-bitable
- Seller: https://agentstack.voostack.com/s/simmzl
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
