skills/feishu-user-auth/SKILL.md
Use when 用户提到“飞书授权”“OAuth”“Device Flow”“open_id”“重复弹授权窗”“复用 token”“补授权 scope”“飞书 token 存哪儿了”这类场景,需要复用本地已有用户 token、只补缺失 scopes,或排查 token 的实际存储位置。
npx skillsauth add shuliuzhenhua-sys/shuliu-skills feishu-user-authInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
这个 skill 只负责两件事:
当用户有这些诉求时直接用:
默认情况下,本 skill 会把 token 存到用户目录下:
~/.feishu-auth/tokens/<appId>.json如果你在 config.json 里显式配置了 storeDir,就会改为:
<storeDir>/tokens/<appId>.jsonstoreDir 支持绝对路径,也支持写成 ~/.feishu-auth 这种用户目录路径。
旧版如果还把 token 放在 legacy 目录下,脚本会从这两种位置尝试迁移:
<legacyStoreDir>/tokens/<appId>.json<legacyStoreDir>/<appId>__<openId>.json脚本会默认把这个旧目录当作迁移来源,在新目录为空时自动尝试迁移。
先找到安装后的 skill 目录,再维护其中的 config.json。
常见安装位置:
./.agents/skills/feishu-user-auth/config.jsonnpx skills add ... -g):~/.agents/skills/feishu-user-auth/config.json如果你不想改 skill 目录,也可以自己准备一个配置文件,后面通过 --config 传入。
格式如下:
{
"appId": "cli_xxx",
"appSecret": "replace-with-app-secret",
"brand": "feishu"
}
说明:
appId、appSecret 必填brand 可选,默认 feishustoreDir 可选;如果不填,默认就是 ~/.feishu-authstoreDir,可以写绝对路径,也可以写 ~/.feishu-authlegacyStoreDir 可选,默认指向 skill 自己的 state/这套脚本不再依赖系统里的 FEISHU_APP_ID、FEISHU_APP_SECRET、FEISHU_BRAND、FEISHU_AUTH_* 环境变量。
安装后,默认不会自动把 feishu-auth 加进 PATH。
最稳妥的调用方式是直接执行安装目录里的 bin:
./.agents/skills/feishu-user-auth/bin/feishu-auth.js auth
如果你是全局安装,可以从任意目录执行:
~/.agents/skills/feishu-user-auth/bin/feishu-auth.js auth
如果你想直接用 feishu-auth 命令名,可以自己加一个链接:
mkdir -p ~/.local/bin
ln -sf ~/.agents/skills/feishu-user-auth/bin/feishu-auth.js ~/.local/bin/feishu-auth
然后确保 ~/.local/bin 在 PATH 中,就可以直接执行:
feishu-auth auth
可用命令:
<skill-dir>/bin/feishu-auth.js auth [--batch-size 60] [--open-id ou_xxx]
<skill-dir>/bin/feishu-auth.js user-auth [--batch-size 60] [--open-id ou_xxx]
<skill-dir>/bin/feishu-auth.js auth --scope "scope1 scope2"
<skill-dir>/bin/feishu-auth.js refresh-token [--open-id ou_xxx]
<skill-dir>/bin/feishu-auth.js refresh-token [--open-id ou_xxx] --force
<skill-dir>/bin/feishu-auth.js show-token
<skill-dir>/bin/feishu-auth.js show-token --open-id ou_xxx
<skill-dir>/bin/feishu-auth.js remove-token --open-id ou_xxx
<skill-dir>/bin/feishu-auth.js system-token
<skill-dir>/bin/feishu-auth.js system-auth
<skill-dir>/bin/feishu-auth.js --config /path/to/config.json auth
<skill-dir>/bin/feishu-auth.js --help
如果你是在仓库里本地开发,这时才适合在仓库根目录执行源码入口:
node skills/feishu-user-auth/scripts/run-auth.js auth
按这个顺序做:
--open-id,自动挑选最适合复用的用户记录如果用户说“明明授权过还是弹窗”,先检查这几项:
config.json 里的 appId 是否和旧 token 对应的是同一个 appstoreDir/tokens/ 里是否确实有该 app 的记录expired,或者只剩 needs_refresh告诉用户这些关键信息:
open_idstoreDir/tokens/<appId>.json 文件里content-media
小红书创作平台“文字配图”自动化技能。用户只要提到小红书创作平台、文字配图、科技主题、换配色、9444 端口、CDP、自动生成图片、自动下载图片、基于已有预览图换主题/换颜色,或者想先看看各个主题长什么样子,都应该使用这个技能。它会连接已登录的浏览器会话,生成图片,默认下载当前图片,支持继续切主题或换配色,也支持直接给出已经整理好的主题预览总览图和单张样例。
development
抓取和拆解微信公众号文章页。只要用户提到“微信公众号网页”“公众号文章”“mp.weixin.qq.com/s/”“抓 HTML”“导出素材”“分析公众号动画/实现方式/图片资源”这类场景,就应该使用这个 skill。它适用于公开可访问的公众号文章页,负责抓原始 HTML、提取资源、下载素材、整理动画线索,并生成结构化报告。
development
Generate videos using Sora via lnapi.com.
data-ai
Generate images via geekai.co image endpoints. Use when the user wants text-to-image generation through GeekAI, needs to choose between nano-banana-2 and gemini-3-pro-image-preview, or wants batch image generation with aspect ratio and size control.