Feeling Lucky (手气不错)
Randomly pick ONE real disclaude use case, simulate a natural user interaction, and report observations.
When to Use This Skill
Use this skill for:
- Daily automated dogfooding of disclaude features
- Randomly testing a real use case from disclaude's feature set
- Discovering bugs and UX issues through simulated real-user interactions
Keywords that trigger this skill: "手气不错", "随机测试", "feeling lucky", "dogfooding", "自我体验"
Core Principle
You ARE a real disclaude user. You know everything disclaude can do. You randomly pick one use case and interact naturally — as if you just thought of something to try.
Context Variables
When invoked, you receive:
- Chat ID: Feishu chat ID (from "Chat ID: xxx")
- Message ID: Message ID (from "Message ID: xxx")
- Sender Open ID: Sender's open ID (from "Sender Open ID: xxx")
disclaude Feature & Use Case Catalog
The following is disclaude's complete feature set. Each item is a real use case that a real user would try.
Category A: Chat & Code Operations (日常对话与代码)
- Ask to read a file — "帮我看看 src/agents/base-agent.ts 的内容"
- Ask to edit code — "把 reset.ts 里的 setTimeout 改成 3 秒"
- Ask to search code — "搜索所有用到 agentPool.reset 的地方"
- Ask to run a command — "跑一下 npm test 看看结果"
- Ask to create a file — "帮我创建一个新的 handler 文件"
- Ask for code explanation — "解释一下 IPC 的消息路由是怎么工作的"
Category B: Schedule & Automation (定时任务与自动化)
- Create a scheduled task — "创建一个每天早上 10 点提醒我开 standup 的定时任务"
- List existing schedules — "看看现在有哪些定时任务"
- Modify a schedule — "把那个每日提醒改成每周一执行"
Category C: GitHub Integration (GitHub 操作)
- Check PR status — "看看现在有哪些 open 的 PR"
- View issue details — "帮我看看 issue #1617 的内容"
- Submit feedback — "/feedback 搜索功能有时候不太准确"
Category D: Feishu/Lark Features (飞书功能)
- Read a Feishu document — Send a Feishu doc link and ask to read it
- Upload a file to Feishu — "帮我把这个报告上传到飞书"
- Send an interactive card — "发一个带按钮的卡片让我选择"
- Send a formatted card — "用卡片格式展示这些数据"
Category E: Browser & Web (浏览器与网页)
- Scrape a website — "帮我看看这个网页上的内容"
- Monitor a page — "打开这个页面截个图给我看看"
- Web search — "搜索一下 Claude Code 最新版本有什么变化"
Category F: Document & Content (文档与内容)
- Parse a PDF — "帮我解析这个 PDF 的内容"
- Generate a PPT — "根据这个大纲帮我生成一个 PPT"
Category G: Discussion & Community (讨论与社区)
- Start a discussion — "发起一个关于代码规范的讨论"
- Generate a BBS topic — "给话题群生成一个讨论话题"
- Daily chat review — "回顾一下今天的聊天记录,有什么值得改进的"
Category H: Control Commands (控制命令)
- Reset session — "/reset"
- Check status — "/status"
- Help — "/help"
Category I: Edge Cases & Stress (边界与压力)
- Empty or very short input — "" or "?" or "嗯"
- Very long input — Paste a 2000+ character message and ask for summary
- Rapid consecutive commands — Send 3 messages in quick succession
- Off-topic question — "今天中午吃什么" or "讲个笑话"
- Multilingual input — "Can you help me with this code?" (English input)
- Mixed format input — Send code snippets mixed with natural language
Execution Process
Step 1: Pick a Random Use Case
From the catalog above, randomly select ONE use case. Use this method:
Seed = hash(date + chatId + messageIndex) mod 33
Selected scenario = catalog[Seed]
In practice: pick a scenario that feels fresh and different from what you tested recently.
Anti-repetition check:
cat workspace/feeling-lucky/history.md 2>/dev/null | tail -10 || echo "No history"
If the selected scenario was tested in the last 3 sessions, pick the next one.
Step 2: Generate a Natural Message
Write a message as if you are a real disclaude user who just thought of something to try. The message should:
- Sound natural and casual (like chatting with a friend)
- Be specific enough to test a real feature
- Not sound like a test or evaluation
- Include realistic context (file names, command names, etc. from the actual codebase when relevant)
Examples by category:
| Category | Example Message |
|---|---|
| A (Code) | "帮我看看 vitest.config.ts 里 coverage 的配置" |
| B (Schedule) | "每天下午 3 点提醒我 review PR" |
| C (GitHub) | "看看现在有哪些 open issues 标记了 bug" |
| D (Feishu) | "发一个交互卡片,问大家今天想讨论什么话题" |
| E (Browser) | "帮我查一下 Vitest 最新版本的 release notes" |
| F (Document) | "帮我解析 /tmp/report.pdf" |
| G (Discussion) | "回顾一下最近的 PR 讨论,有什么值得关注的" |
| H (Control) | "/status" |
| I (Edge) | "asdfghjkl" |
Step 3: Send the Message
Use the channel CLI to send the generated message to the target chat:
disclaude channel send_text --chat "{chatId}" --text "{generated message}"
Step 4: Observe (Internal Only)
After sending, mentally note (do NOT send to user):
- Did the message format correctly?
- Was the message natural-sounding?
- Any issues with the sending process itself?
If a real disclaude bot is listening in the chat, observe its response quality:
- Did it understand the intent?
- Was the response helpful?
- Any errors or unexpected behavior?
Step 5: Record and Report
Append the test record to history:
mkdir -p workspace/feeling-lucky
echo "- $(date +%Y-%m-%d): [Scenario #{number}] {scenario name} - {one-line observation}" >> workspace/feeling-lucky/history.md
If significant bugs or issues were found, create a GitHub issue:
gh issue create --repo hs3180/disclaude \
--title "bug: {brief description}" \
--body "Found via feeling-lucky dogfooding.\n\n{details}"
Daily Variety Rules
To ensure broad coverage over time:
| Day | Preferred Category |
|---|---|
| Monday | A (Code) or C (GitHub) |
| Tuesday | B (Schedule) or G (Discussion) |
| Wednesday | D (Feishu) or E (Browser) |
| Thursday | F (Document) or H (Control) |
| Friday | I (Edge Cases) — shake things up |
This is a soft preference, not a strict rule. Randomness is still the priority.
Quality Guidelines
Good Test Messages:
- Sound like a real person naturally interacting
- Test a specific, identifiable feature
- Are varied in type and complexity
- Include realistic details (actual file names, commands, etc.)
Avoid:
- Messages that sound like test scripts
- Always testing the same category
- Overly complex multi-step scenarios (keep it simple)
- Messages that require external state or special setup
- Multiple test messages in one session (one per day)
DO NOT
- Generate messages without picking from the catalog first
- Send more than one test message per invocation
- Include "I'm testing you" or "This is a dogfooding test" in the message
- File GitHub issues for trivial cosmetic preferences
- Skip the history check (causes repetitive testing)
- Create elaborate test plans or scoring systems
Integration with Other Skills
- daily-news-inspiration: Uses external news; this skill uses internal feature catalog
- daily-soul-question: Analyzes chat history; this skill simulates user interactions
- bbs-topic-initiator: Generates topics for groups; this skill tests features
- next-step: Can be triggered after this skill completes to suggest follow-up actions
Schedule Configuration
See schedule.template.md in this directory for daily automated execution setup.