skills/chat-timeout/SKILL.md
Temporary session timeout detection and group dissolution. Detects expired active chats, dissolves groups via lark-cli (when no user response), marks as expired, and cleans up old expired files. Use when user says keywords like "会话超时", "解散群组", "清理过期会话", "chat timeout", "session cleanup".
npx skillsauth add hs3180/disclaude chat-timeoutInstall 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.
Detect expired active temporary chats, dissolve groups, and clean up expired files.
now >= expiresAt)chats-activation schedule)chat skill)This skill is primarily triggered by the chat-timeout Schedule (every 5 minutes).
npx tsx skills/chat-timeout/chat-timeout.ts
| Variable | Default | Description |
|----------|---------|-------------|
| CHAT_MAX_PER_RUN | 10 | Max chats to process per execution |
| CHAT_EXPIRED_RETENTION_HOURS | 1 | Hours to retain expired files before cleanup |
Step 1: Scan workspace/chats/ for active chats
Step 2: Check if expiresAt has passed (now >= expiresAt)
Step 3: For each expired active chat:
├─ Check if user has responded (response field)
├─ No response → lark-cli api DELETE /open-apis/im/v1/chats/{chatId}
├─ Has response → skip group dissolution
└─ Update status to expired, set expiredAt timestamp
Step 4: Clean up expired files past retention period (default: 1 hour)
| Current Status | Condition | Action | New Status |
|----------------|-----------|--------|------------|
| active | expiresAt passed, no response | Dissolve group + mark expired | expired |
| active | expiresAt passed, has response | Mark expired only | expired |
| expired | Past retention period | Delete file | (removed) |
fs.flock for file-level locking (Node 20.12+)| Component | Role |
|-----------|------|
| chat skill | Creates/manages chat lifecycle (pending → active) |
| chats-activation schedule | Activates pending chats (creates groups) |
| chats-cleanup schedule | Cleans up orphaned .lock files |
| This skill | Expires active chats (dissolves groups + cleanup) |
tools
--- name: issue-solver description: Issue Solver - creates a scheduled task to scan a GitHub repo for open issues, pick the best candidate, and submit a fix PR. Use when user wants to set up automated issue resolution. Keywords: "Issue Solver", "自动修 Bug", "solve issues", "issue solver", "issue solver 安装". allowed-tools: Read, Write, Edit, Bash, Glob, Grep --- # Issue Solver — Schedule 安装器 为指定 GitHub 仓库创建 Issue 扫描定时任务。将 schedule 模板实例化为可执行的 SCHEDULE.md。 **适用于**: 安装/配置 Issue Solver 定时任务 | **不适用于
testing
Dissolve a Feishu group chat and clean up associated resources. Use when a PR is merged/closed, a discussion is finished, or a group needs to be removed. Keywords: "解散群", "dissolve group", "删除群", "close group", "清理群".
data-ai
手气不错 — disclaude dogfooding skill. Randomly selects a real use case from disclaude's feature set, simulates a natural user interaction, and reports observations. Use when user says keywords like "手气不错", "随机测试", "feeling lucky", "dogfooding", "自我体验", "feeling-lucky".
tools
Feishu/Lark document operations via lark-cli. Read, upload, import, export, and manage Feishu docs. Keywords: '飞书文档', '上传文档', '读飞书文档', 'lark cli', '导入文档', '导出文档', 'upload to feishu', 'feishu doc', 'lark doc', 'lark-cli', 'feishu.cn', '读文档'.