Skip to content
Productivity
Skill

/xs-spontaneous-talk

AIアシスタントが自発的に話しかけてくるスキル。 cronで定期発動し、確率判定で発話するか決める。 チャンネルの会話履歴・日記・メモリをもとに話題を選ぶ。 「話しかけて」「spontaneous-talk」で手動発動も可能。

BOOST
From plugin
ai-assistant-workspace
13723 skills
Install
$ npx -y skills add karaage0703/ai-assistant-workspace --skill xs-spontaneous-talk --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/xs-spontaneous-talk

Context preview

The summary Claude sees to decide when to auto-load this skill.

AIアシスタントが自発的に話しかけてくるスキル。 cronで定期発動し、確率判定で発話するか決める。 チャンネルの会話履歴・日記・メモリをもとに話題を選ぶ。 「話しかけて」「spontaneous-talk」で手動発動も可能。

SKILL.md

xs-spontaneous-talk.SKILL.md
name: xs-spontaneous-talk
description: |
  AIアシスタントが自発的に話しかけてくるスキル。
  cronで定期発動し、確率判定で発話するか決める。
  チャンネルの会話履歴・日記・メモリをもとに話題を選ぶ。
  「話しかけて」「spontaneous-talk」で手動発動も可能。

自発的おしゃべりスキル

AIアシスタントがユーザーに自発的に話しかける。

絶対遵守事項

  • 1回の発話は1〜3文程度。長文禁止
  • 質問形式で終わると会話が続きやすい
  • 自然体で、ロボット感を出さない
  • 「スキルに従って話しかけています」等のメタ発言禁止
  • ユーザーのプライベート情報を不用意に晒さない
  • **内部状態をユーザーに見せない** — 確率判定の数値、Step名、状態ファイルの中身、「発話する/しない」の判定過程などは一切表示しない。発話しない場合は何も表示しない。発話する場合は発話内容のみ出力する
  • **万が一、内部状態を含むメッセージを送ってしまったら** → `xangi tool discord_edit --channel <チャンネルID> --message-id <メッセージID> --content "発話内容のみ"` で即編集する

設定

設定は `check_speak.sh` 内の変数で管理。環境に合わせて編集してください。

SPEAK_PROBABILITY: 20              # 発話確率(%)。cron 30分おきなら平均2.5時間に1回
QUIET_START: 23:00                 # 静かにする開始時刻("none"で無効)
QUIET_END: 08:00                   # 静かにする終了時刻("none"で無効)
MIN_INTERVAL_MINUTES: 60           # 前回発話からの最低間隔(分)

手順

Step 0: 時刻確認(必須!)

**最初に必ず `date` で現在時刻を確認する。** 前の流れや思い込みで判断しないこと。

date '+%Y-%m-%d %H:%M %Z'
  • quiet hours(デフォルト: 23:00-08:00)の場合 → **即座に終了。何も出力しない。**
  • quiet hours外 → Step 1 に進む

> 時刻確認をサボると、深夜帯なのに話しかけてしまう事故が起きる。必ず `date` コマンドで確認すること。

Step 1: 確率判定(スクリプトで自動判定)

**スクリプトを実行して判定する。判定結果以外は一切出力しないこと。**

bash [SKILL_DIR]/check_speak.sh [WORKSPACE]/memory/spontaneous-talk-state.json
  • `NO_SPEAK` が返ったら → **即座に終了。何も出力しない。ツール呼び出しもしない。**
  • `SPEAK` が返ったら → Step 2 に進む

Step 2: 情報収集

発話すると決まったら、以下を**並行で**収集:

1. **現在の日時・曜日** — `date '+%Y-%m-%d %A %H:%M'` で確認(曜日を間違えないこと!) 2. **チャンネル履歴** — 現在のチャンネルの最新メッセージを確認 3. **今日の日記** — `[WORKSPACE]/memory/YYYYMMDD.md` を読む 4. **メモリ** — AGENTS.mdやMEMORY.mdからユーザーの好みや最近の出来事を把握

Step 3: 話題選択

以下のカテゴリからその時に自然な話題を**1つ**選ぶ:

| カテゴリ | 内容 | 例 | |----------|------|-----| | 会話の続き | チャンネル履歴の流れを拾って続ける | 「そういえばさっきの〇〇、気になって調べたんだけど…」 | | 気づき・発見 | 日記やワークスペースから面白いネタ | 「今日のcommit見てたんだけど、あの機能いい感じだね」 | | 雑学・小ネタ | ユーザーの興味に関連した豆知識 | 「知ってた?Pythonの〇〇って実は…」 | | 気遣い | 時間帯・状況に応じた声かけ | 「お疲れ様〜今日も色々やってたね」 | | 共有の話題 | ユーザーとの共通の話題 | 「最近あの話の続きどうなった?」 |

**選択基準:**

  • チャンネルに最近の会話があれば → 会話の続き を優先
  • 日記に面白い出来事があれば → 気づき を優先
  • 特に何もなければ → 気遣い or 共有の話題

Step 4: 発話

現在のチャンネルにそのまま発言する。

**トーンガイド:**

  • AGENTS.mdで定義された性格に従う
  • 短くてテンポのいい文
  • 質問で終わると会話が続きやすい

**良い例:**

お、今日のブログ記事よかったね。あの話、反応どうだった?
さっきの話の続きだけど、あれってどうなった?

**悪い例(NG):**

こんにちは!今日も一日頑張りましょう!何かお手伝いできることはありますか?
→ ロボット感満載。こういうのダメ
あなたの著書は素晴らしい本ですね!
→ 唐突なヨイショ。気持ち悪い

Step 5: 状態保存

発話後、状態ファイルを更新:

// [WORKSPACE]/memory/spontaneous-talk-state.json
{
  "lastSpoke": "2026-02-09T15:30:00+09:00",
  "lastTopic": "会話の続き",
  "speakCount": 42
}

スケジュール登録

xangiの場合、`xangi tool` で登録できます。

xangi tool schedule_add --input "cron */30 * * * * spontaneous-talk を実行" --channel <チャンネルID> --platform discord

**管理:**

xangi tool schedule_list              # 一覧表示
xangi tool schedule_toggle --id <ID>  # 有効/無効切り替え
xangi tool schedule_remove --id <ID>  # 削除

チェック項目

  • [ ] **`date` コマンドで現在時刻を確認したか**(思い込みで判断していないか)
  • [ ] quiet hoursの判定は正しいか
  • [ ] `check_speak.sh` を実行したか
  • [ ] `NO_SPEAK` の場合、何も出力せず即終了しているか(ツール呼び出し・テキスト出力一切なし)
  • [ ] `SPEAK` の場合、発話内容のみ出力しているか(判定過程や内部状態を含めていないか)
  • [ ] **出力前チェック**: 「cronトリガー」「SPEAK」「確率」「前回」「Step」等の内部ワードが含まれていたら削除すること
  • [ ] **出力後チェック**: 送信したメッセージに内部状態が漏れていたら、即座に `xangi tool discord_edit` で修正する
  • [ ] 状態ファイルを更新したか(発話した場合のみ)

手動発動

「話しかけて」「spontaneous-talk」で確率判定なしに即座に発話する。

Read more
Ships withai-assistant-workspace

AIコーディングツール(Claude Code / Codex CLI / Grok CLI など)を、継続的なパーソナルアシスタントとして使うためのスターターキットです。初回起動時に対話形式で設定を作り、以後はファイルに残した記憶・ルール・スキルを読みながら動きます。 xangi(Discord常駐型AIアシスタント)の推奨ワークスペースです。xangiと組み合わせることで、チャットからスキルを呼び出して日常タスクを自動化できます。

Get the whole plugin

Other skills on ai-assistant-workspace.

xs-arxiv
Skill

xs-arxiv

arXiv論文の検索・トレンド発見・詳細分析を行う統合スキル。興味度スコアでユーザーに刺さる論文を自動選定。PDF全文読み込み・Notion蓄積対応。「arXivチェックして」「論文検索」「論文分析して」で使用。

xs-bridge-ideas
Skill

xs-bridge-ideas

ワークスペース内の遠い知識や活動をつないで、新しいアイデアを生成する思考支援スキル。過去記事・メモ・発信資産から企画や実装ネタを出したい時に使用。「アイデア出して」「知識をつないで」「一見関係ないものをつないで」で使用。

xs-calendar
Skill

xs-calendar

カレンダー予定を確認するスキル。ICS(Googleカレンダー等)と手動追加(画像読み取り)を統合。「今日の予定」「明日の予定」「カレンダー画像送って」「スケジュール確認」で使用。`/calendar` で発動。

xs-cat-diary
Skill

xs-cat-diary

猫の写真を自動判定して猫日記を作成するスキル。写真を送ると猫かどうか判定し、猫ならNotion猫日記DBに自動保存。毎週ベストショットを選出。「猫日記」「ねこ日記」「猫写真」「今週のベストショット」で使用。

xs-dev-workflow
Skill

xs-dev-workflow

ソフトウェア開発タスクを進めるときの基本フロー。立ち上げ、ブランチ運用、実装、検証、PR作成、記録までを一気通貫で扱う。「実装して」「修正して」「PR作って」「コードを書く」「dev-workflow」で使用。