360 Secure SkillHub
360 安全技能中心

答案之书.skill

该 Skill 将自然语言提问路由到电影、文学、音乐三本答案书,返回随机且带出处的答案;使用 SQLite 保存每个用户最近的问题、答案、书籍和时间戳,并支持重复问题拦截、上下文切换书籍与每日运势。项目包含 Python CLI、意图路由、存储和测试文件,未发现外部网络服务依赖。

shaozrrr
shaozrrr
热度 41.60
最近更新 2026-05-11 17:42:59
分类:生活依赖:代码执行 / 读写文件应用场景:推荐

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add book-of-answers-skill
Metadata
name
book-of-answers-skill
description
Route natural-language questions into a three-book answer experience and return one random cited answer with SQLite-backed minimal per-user memory, duplicate-question protection, contextual book switching, and daily fortune. Use when Codex needs to build, run, extend, or debug a pure text conversational skill based on movie, literature, and music quote libraries.

Book of Answers Skill

Core Workflow

  1. Normalize the user input and resolve intents in this order: welcome, fallback, disabled-history notice, daily fortune, contextual switch-book, duplicate check, normal question.
  2. Load per-user state from SQLite before generating any answer.
  3. Reuse last_question only when the input is a switch-book follow-up such as 那用电影版的再测一次.
  4. Block identical questions asked within 300 seconds unless the request is a switch-book follow-up.
  5. Persist only last_question, last_answer, last_book, and last_timestamp after each successful content response.
  6. Default to a random choice between 《电影答案之书》、《文学答案之书》 and 《音乐答案之书》 unless the user explicitly specifies a book.
  7. Render every answer with both正文 and 出处:....

Project Files

  • Use main.py as the runtime entry point and local CLI for manual testing.
  • Use service.py for intent orchestration and response composition.
  • Use router.py for three-book routing and switch-book detection.
  • Use storage.py for SQLite persistence and state recovery.
  • Use data/books.json as the built-in answer corpus for the three themed books.
  • Use skill.json and interaction_model.json as the portable metadata and utterance definitions.
  • Use README.md as the repository-level setup and usage guide.

Runtime Rules

  • Detect fallback input when the message contains no Chinese or alphabetic characters and is effectively digits or symbols only.
  • Prefer explicit book selection when the user names 电影、文学 or 音乐 in the same request.
  • Keep response formatting stable for normal answers:
我感受到了你的困惑。
正在为你翻开 [book_name]...

它给你的指引是:
「 [答案正文] 」
出处:[出处]

Validation

  • Run python3 main.py --user-id demo-user "明天会好吗" for a direct single-turn test.
  • Run python3 main.py --user-id demo-user --interactive for a local REPL.
  • Run python3 -m unittest discover -s tests to validate key intent and state flows.
  • Run python3 /Users/shaozhaoru/.codex/skills/.system/skill-creator/scripts/quick_validate.py /Users/shaozhaoru/Documents/book-of-answers-skill after editing skill metadata.