### Setup Completion Report Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md A confirmation message detailing the Stack-chan integration setup, including connection details, hardware, TTS, UI link, and log file location. Provides instructions to start and stop the service. ```bash xangi-stackchan integration complete (Mode D) Connected xangi: http://127.0.0.1:18888 Hardware: TTS: Settings UI: http://127.0.0.1:7897/ Log: tail -f /tmp/xangi-stackchan.log First test: Talk to xangi -> Stack-chan speaks the response To stop: pkill -f xangi-stackchan ``` -------------------------------- ### Install gogcli by downloading binary Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Manually install gogcli by downloading the binary from the releases page and extracting it to a directory in your PATH. ```bash # バイナリ直接ダウンロード(リリースページ: https://github.com/steipete/gogcli/releases) mkdir -p ~/bin curl -L https://github.com/steipete/gogcli/releases/latest/download/gogcli___.tar.gz | tar xz -C ~/bin gog ``` -------------------------------- ### Greeting Message Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/BOOTSTRAP.md Display a friendly greeting to the user to start the setup process. ```text はじめまして!あなた専用のAIアシスタントを作りましょう。 いくつか質問させてください。3分くらいで終わります。 ``` -------------------------------- ### Setup Completion Message Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/BOOTSTRAP.md Display a confirmation message upon successful setup, including the AI's name and suggested next actions. ```text セットアップ完了! [AIの名前]として、これからよろしくお願いします。 次回からは自動的にあなたの設定を読み込みます。 まずは何か試してみませんか? - 「今日の日記を書いて」 - 「最新のテックニュースを教えて」 - 「スライドを作って」 ``` -------------------------------- ### Enable and Start Xangi Systemd Service Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Enables the Xangi systemd service to start on boot and starts it immediately. ```bash sudo systemctl enable --now xangi.service ``` -------------------------------- ### Check Prerequisites Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md Verify that Docker, Git, and sufficient disk space are available before proceeding with the setup. ```bash docker --version && docker compose version git --version df -h ~ | tail -1 # 空きが 10GB 以上 ``` -------------------------------- ### Install gogcli using Homebrew Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Install the gogcli tool on macOS or Linux using the Homebrew package manager. ```bash # macOS / Linux (Homebrew) brew install gogcli ``` -------------------------------- ### Install gogcli on Arch Linux Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Install the gogcli tool on Arch Linux using the yay AUR helper. ```bash # Arch Linux yay -S gogcli ``` -------------------------------- ### Setup xangi-stackchan Bridge and TTS Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md Set up the xangi-stackchan bridge on your PC using uv and install the piper-plus TTS engine with the Tsukuyomi-chan model. This enables text-to-speech capabilities for Stack-chan. ```bash cd xangi-stackchan uv sync ./scripts/setup_piper.sh ``` -------------------------------- ### Caddyfile Example for Reverse Proxy with Basic Auth Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md An example Caddyfile configuration to set up a reverse proxy for Xangi, including SSL termination and basic authentication for access control. ```caddy # Caddyfile 例 xangi.example.com { basicauth { user $2a$14$... } reverse_proxy 127.0.0.1:18888 } ``` -------------------------------- ### Example Meal and Exercise Inputs Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/health-advisor/SKILL.md Examples of user inputs that trigger meal and exercise logging, including text descriptions and commands. ```text 昼はカレーうどん食べた 散歩してきた、5000歩 サウナ行ってきた、2セット 週次ヘルスレポート 健康チェック ``` -------------------------------- ### Set up Notion API Key Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/notion-manager/SKILL.md Configure the Notion API key by creating a directory and echoing the API key into a file. This is a one-time setup step. ```bash mkdir -p ~/.config/notion echo "ntn_xxxxx" > ~/.config/notion/api_key ``` -------------------------------- ### Setup Completion Report Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md A confirmation message indicating that Xangi has been successfully started in Discord mode, including connection details and next steps. ```text xangi 起動完了(Discord モード) 接続先: Discord サーバー <名前> Bot: Web UI (任意): http://localhost:18888 ワークスペース: ~/xangi/xangi/ai-assistant-workspace 最初に試して: Bot に DM またはメンションで「こんにちは」 停止: docker compose down ``` -------------------------------- ### Add Custom RSS Feed Example Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/tech-news-curation/SKILL.md Example command to fetch content from a custom RSS feed. Add your preferred feeds here for customized news curation. ```bash # 追加例 curl -s "https://example.com/feed.xml" | head -200 ``` -------------------------------- ### Clone Xangi and Copy Environment File Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md Clone the Xangi repository and copy the example environment file to create a new configuration file. ```bash mkdir -p ~/xangi && cd ~/xangi git clone https://github.com/karaage0703/xangi.git cd xangi cp .env.example .env ``` -------------------------------- ### SKILL.md Front Matter Example Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/README.md Example of the required YAML front matter for a `SKILL.md` file, specifying the skill's name and a brief description used for AI selection. ```markdown --- name: skill-name description: 何をするスキルか。「呼び出しフレーズ」で使用。 --- # スキル名 ## 手順 ### Step 1: ... ``` -------------------------------- ### Clone Repository and Prepare .env File Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Clones the Xangi repository into a production directory, copies the example environment file, and sets restrictive permissions. ```bash mkdir -p ~/xangi-prod && cd ~/xangi-prod git clone https://github.com/karaage0703/xangi.git cd xangi cp .env.example .env chmod 600 .env # 権限を絞る ``` -------------------------------- ### Enable Docker Daemon Auto-Start Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Configures the Docker daemon to start automatically when the system boots up. ```bash sudo systemctl enable docker ``` -------------------------------- ### Check Prerequisites with Docker and Git Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Verify that Docker, Docker Compose, and Git are installed and accessible. Also checks for sufficient disk space and GPU availability. ```bash docker --version && docker compose version git --version df -h ~ | tail -1 # 20GB+ 推奨 nvidia-smi 2>/dev/null || echo "GPU なし" ufw status 2>/dev/null # ファイアウォール状況 ``` -------------------------------- ### Start, Monitor, and Stop Xangi Services Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Commands to start Xangi in detached mode, check the status of running services, and follow the logs of the Xangi container. ```bash docker compose up -d docker compose ps docker compose logs -f xangi ``` -------------------------------- ### Marp CLI Conversion Commands Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/marp-slides/SKILL.md Provides commands for installing the Marp CLI and converting Markdown slides to PDF, PPTX, and HTML formats. ```bash # Marp CLIのインストール(初回のみ) npm install -g @marp-team/marp-cli # PDFに変換 marp スライド.md --pdf # PPTXに変換 marp スライド.md --pptx # HTMLに変換 marp スライド.md --html ``` -------------------------------- ### Example Usage of the Bridge Ideas Skill Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/bridge-ideas/SKILL.md Demonstrates various ways to invoke the 'xs:bridge-ideas' skill for idea generation and knowledge connection. ```text アイデア出して ``` ```text 自分の知識をつないで企画を考えて ``` ```text 一見関係ないものをつないで新しい案を出して ``` ```text みんなで考えて、実装したくなる案にして ``` -------------------------------- ### Start Xangi Bot Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md Launch the Xangi bot in detached mode using Docker Compose and monitor the connection logs. ```bash docker compose up -d docker compose logs -f xangi # 接続ログを確認 ``` -------------------------------- ### Get Video Metadata Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/youtube-notes/SKILL.md Use yt-dlp to fetch metadata for a YouTube video. Replace '[YouTube URL]' with the actual video URL. ```bash # 動画メタデータ取得 yt-dlp -J "[YouTube URL]" ``` -------------------------------- ### SKILL.md Front Matter Example Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/skill-creator/SKILL.md The front matter for a SKILL.md file must include the 'name' and 'description' fields. The description should be between 50 and 200 characters, outlining the skill's function, usage context, and trigger phrases. ```yaml --- name: xs: description: [50-200文字。何をするか+いつ使うか+トリガーフレーズ] --- ``` -------------------------------- ### Switch to Claude Code Backend Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md Install the Claude Code backend on your host and update the AGENT_BACKEND setting in your .env file. Rebuild and restart the Docker Compose services. ```bash curl -fsSL https://claude.ai/install.sh | bash # ホストにインストール # .env で AGENT_BACKEND=claude-code docker compose up -d --build ``` -------------------------------- ### Configure Systemd Service for Xangi Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Sets up a systemd service unit to manage the Xangi Docker Compose stack, enabling automatic start and stop. ```ini # /etc/systemd/system/xangi.service [Unit] Description=xangi (docker compose) Requires=docker.service After=docker.service [Service] Type=oneshot RemainAfterExit=true WorkingDirectory=/home//xangi-prod/xangi ExecStart=/usr/bin/docker compose up -d ExecStop=/usr/bin/docker compose down [Install] WantedBy=multi-user.target ``` -------------------------------- ### Spontaneous Talk State Update Example Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/spontaneous-talk/SKILL.md Update the state file after speaking to record the last spoken time, topic, and total speak count. ```json // [WORKSPACE]/memory/spontaneous-talk-state.json { "lastSpoke": "2026-02-09T15:30:00+09:00", "lastTopic": "会話の続き", "speakCount": 42 } ``` -------------------------------- ### Set up gogcli Environment Variables Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/SKILL.md Before using any gogcli commands, set the PATH to include gogcli and the GOG_KEYRING_PASSWORD. Adjust the password to your specific needs. ```bash export PATH="$HOME/bin:$PATH" export GOG_KEYRING_PASSWORD= ``` -------------------------------- ### Authenticate gogcli in a headless environment (Step 1) Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Begin the gogcli authentication process in a headless environment (like a server). This step generates a URL that needs to be opened in a browser. ```bash # ヘッドレス環境(サーバー等) gog auth add --services gmail,drive,calendar --remote --step 1 ``` -------------------------------- ### Example of a Bad Spontaneous Talk Response (Insincere Flattery) Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/spontaneous-talk/SKILL.md An example of insincere flattery that can come across as unnatural and is not recommended. ```text あなたの著書は素晴らしい本ですね! → 唐突なヨイショ。気持ち悪い ``` -------------------------------- ### Create Skill Directory Structure Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/skill-creator/SKILL.md Use this command to create the necessary directory structure for a new skill. Ensure the skill name is in kebab-case. Subdirectories for scripts, references, and assets can also be created as needed. ```bash mkdir -p [WORKSPACE]/skills/ # 必要に応じてサブディレクトリ作成 mkdir -p [WORKSPACE]/skills//scripts mkdir -p [WORKSPACE]/skills//references mkdir -p [WORKSPACE]/skills//assets ``` -------------------------------- ### Example of a Good Spontaneous Talk Response Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/spontaneous-talk/SKILL.md A concise and engaging response that ends with a question to encourage conversation. ```text お、今日のブログ記事よかったね。あの話、反応どうだった? ``` -------------------------------- ### Example of a Bad Spontaneous Talk Response (Robotic) Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/spontaneous-talk/SKILL.md An overly formal and robotic greeting that is discouraged for spontaneous talk. ```text こんにちは!今日も一日頑張りましょう!何かお手伝いできることはありますか? → ロボット感満載。こういうのダメ ``` -------------------------------- ### MermaidコードをDocker mermaid-cliで画像化 Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/diagram-generator/SKILL.md Mermaidコードがある場合に、Dockerコンテナを使用して画像ファイルを生成します。パーミッション問題を回避するためにユーザーIDとグループIDを指定し、スライドに適した白い背景で出力します。 ```bash # 1. Mermaidファイルを作成 cat > /tmp/diagram.mmd << 'EOF' flowchart TB A[開始] --> B[処理] B --> C{判断} C -->|Yes| D[完了] C -->|No| B EOF # 2. Docker版 mermaid-cli で画像生成 docker run --rm -u $(id -u):$(id -g) \ -v /tmp:/data \ minlag/mermaid-cli \ -i /data/diagram.mmd -o /data/diagram.png -b white ``` ```bash for f in /tmp/*.mmd; do docker run --rm -u $(id -u):$(id -g) \ -v /tmp:/data \ minlag/mermaid-cli \ -i /data/$(basename "$f") -o /data/$(basename "$f" .mmd).png -b white done ``` -------------------------------- ### Another Good Spontaneous Talk Response Example Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/spontaneous-talk/SKILL.md A follow-up question that refers to a previous topic, promoting continuity in conversation. ```text さっきの話の続きだけど、あれってどうなった? ``` -------------------------------- ### Authenticate gogcli in a headless environment (Step 2) Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Complete the gogcli authentication in a headless environment by providing the redirect URL obtained after authorizing the application in a browser. ```bash # → 表示されたURLをブラウザで開いて認証 # → リダイレクトURLをコピー gog auth add --services gmail,drive,calendar --remote --step 2 --auth-url "<リダイレクトURL>" ``` -------------------------------- ### Troubleshooting: USB Permissions Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md If you encounter a '/dev/stackchan: Permission denied' error, add your user to the 'dialout' group and log out/in. ```bash sudo usermod -aG dialout $USER Log out and log back in. ``` -------------------------------- ### Clone and Build Stack-chan Firmware Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md Clone the xangi-stackchan repository and build the firmware for your M5Stack device using PlatformIO. This step is crucial for enabling communication between the M5Stack and the PC bridge. ```bash git clone https://github.com/karaage0703/xangi-stackchan.git cd xangi-stackchan # For K151 / K151-R / CoreS3 pio run -d examples/XangiBridge -t upload # For AtomS3R + Voice/Echo Base pio run -d examples/AtomVoiceBridge -t upload ``` -------------------------------- ### List files in Google Drive with gogcli Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Display a list of files and folders within a Google Drive account. ```bash # Drive: ファイル一覧 gog -a drive list ``` -------------------------------- ### Health Check for Xangi Service Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Performs a simple HTTP GET request to check if the Xangi web chat service is responding correctly. ```bash curl -sI http://127.0.0.1:18888/ | head -1 # 200 OK か ``` -------------------------------- ### Get Video Transcript Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/youtube-notes/SKILL.md Use youtube_transcript_api to retrieve transcripts for a given video ID in specified languages. The VIDEO_ID should be extracted from the YouTube URL. ```bash # VIDEO_IDはURLから抽出(v=以降、またはyoutu.be/以降) youtube_transcript_api [VIDEO_ID] --languages ja en --format text ``` -------------------------------- ### Authenticate gogcli in a browser environment Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Add a Google account for gogcli authentication in an environment with a web browser. This command initiates the OAuth flow. ```bash # ブラウザがある環境(PC等) gog auth add --services gmail,drive,calendar ``` -------------------------------- ### Get Individual Block ID Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/notion-manager/SKILL.md Retrieve the ID of a specific block within a Notion page. This is a prerequisite for updating or deleting individual blocks. ```bash # 1. ブロックIDを調べる(read --with-ids でページ内の全ブロックIDを表示) uv run python notion_tool.py read --with-ids ``` -------------------------------- ### Troubleshooting: Firmware Flashing Failure Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md If firmware flashing fails, try again by putting the M5Stack into bootloader mode (hold BtnA while connecting USB). ```bash Enter bootloader mode (hold BtnA while connecting USB) and retry flashing. ``` -------------------------------- ### Confirm Current Settings Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-settings/SKILL.md View current .env configurations, excluding sensitive tokens and comments. Ensure you use the correct .env file path identified in the previous step. ```bash # 現在の設定を確認(トークン等はマスク)— パスはStep 0で特定したものを使う cat /path/to/xangi/.env | grep -v TOKEN | grep -v "^#" | grep -v "^$" ``` -------------------------------- ### Troubleshooting: TTS Playback Issues Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md If TTS audio is not playing, confirm that --tts piper is specified, setup_piper.sh completed successfully, and the tools/piper executable exists. ```bash Verify --tts piper is set, setup_piper.sh ran, and tools/piper exists. ``` -------------------------------- ### Get Single Block Content Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/notion-manager/SKILL.md Retrieve the content of a single block using its block ID. The '--json' flag provides the output in JSON format. ```bash # 2. 単一ブロックの取得 uv run python notion_tool.py get-block ``` ```bash uv run python notion_tool.py get-block --json ``` -------------------------------- ### Add a New Google Account (Browser Flow) Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/SKILL.md Add a new Google account directly through your browser for authentication. This is the standard method when a graphical environment is available. ```bash GOG_KEYRING_PASSWORD= gog auth add --services gmail,drive,calendar ``` -------------------------------- ### Get Notion Page ID from URL Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/notion-manager/SKILL.md Extract the Page ID from a Notion page URL. The Page ID is the 32-character string at the end of the URL, excluding hyphens. ```text NotionのページURL末尾の32文字(ハイフンなし)がPage ID。 `https://notion.so/Page-Title-abc123def456...` の `abc123def456...` 部分。 ``` -------------------------------- ### Fetch Hacker News RSS Feed Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/tech-news-curation/SKILL.md Retrieves the latest articles from Hacker News, filtered for those with at least 100 points. Use this to get general tech news. ```bash # Hacker News(テック全般) curl -s "https://hnrss.org/newest?points=100" | head -200 ``` -------------------------------- ### Access Stack-chan Configuration UI Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md Access the web-based configuration UI for Stack-chan at http://127.0.0.1:7897. This UI allows tuning various parameters including TTS, facial expressions, and head movements. ```bash http://127.0.0.1:7897/ ``` -------------------------------- ### Using Triggers Standalone Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/triggers/README.md Demonstrates how to execute trigger handler scripts directly from the command line, outside of the xangi framework. This is useful for testing or integrating with other systems. ```bash ./triggers/weather/handler.sh 名古屋 ./triggers/rag/handler.sh "AI開発ワークフロー" ``` -------------------------------- ### Get Discord Chat History Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-kaizen/SKILL.md Retrieves chat history from Discord. Use `--count` to specify the number of messages. Specify `--channel` to target a specific channel. ```bash xangi-cmd discord_history --count 30 ``` ```bash xangi-cmd discord_history --channel --count 50 ``` -------------------------------- ### Create New Notion Page Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/notion-manager/SKILL.md Create a new page in Notion, specifying the parent page or database ID, title, and optional content. ```bash uv run python notion_tool.py create "タイトル" ``` ```bash uv run python notion_tool.py create "タイトル" -c "本文" ``` ```bash uv run python notion_tool.py create "タイトル" --database # DB内に作成 ``` -------------------------------- ### Search Gmail with Custom Queries Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/SKILL.md Perform advanced searches in Gmail using specific queries. This command retrieves up to 20 matching messages. Examples include searching by sender, subject, or date. ```bash gog -a gmail search "" --max 20 ``` -------------------------------- ### Creating a New Trigger Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/triggers/README.md Steps to create a new trigger, including making a directory, writing the trigger.yaml configuration, and creating the handler.sh script. Remember to make the handler script executable and restart the xangi service to load the new trigger. ```bash # 1. ディレクトリを作る mkdir triggers/myhello # 2. trigger.yaml を書く cat > triggers/myhello/trigger.yaml <<'EOF' name: myhello description: "挨拶を返す" handler: handler.sh EOF # 3. handler.sh を書く cat > triggers/myhello/handler.sh <<'EOF' #!/bin/bash echo "こんにちは ${1:-世界} さん" EOF chmod +x triggers/myhello/handler.sh # 4. xangi を再起動(新トリガーは起動時に読み込まれる) xangi-cmd system_restart ``` -------------------------------- ### Trigger YAML Configuration Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/triggers/README.md Defines the metadata for a trigger, including its name, a description for LLM decision-making, and the handler script path. The description should include concrete examples to improve LLM's judgment accuracy. ```yaml name: weather description: "天気予報を取得する(例: weather 名古屋)" handler: handler.sh ``` -------------------------------- ### Create a Diary Entry with Images Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/notion-manager/SKILL.md Create a diary entry in Notion, optionally including a title, content, and multiple images. Images are uploaded as part of the diary entry. ```bash # シンプルな日記 uv run python notion_tool.py diary ``` ```bash # タイトル・内容・画像付き uv run python notion_tool.py diary \ -t "2026-01-30 日記" \ -c "今日の出来事" \ -i photo1.jpg photo2.jpg ``` -------------------------------- ### Get Specific Section from Paper LaTeX Source Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/arxiv/SKILL.md Extracts the content of a specific section from a paper's LaTeX source. Useful for quickly accessing detailed information on a particular topic within the paper. ```bash cd [SKILL_DIR]/scripts && uv run python arxiv_tool.py latex {論文ID} --section "2.1" ``` -------------------------------- ### Set environment variables for gogcli usage Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Before using gogcli commands, ensure the PATH is set correctly and the GOG_KEYRING_PASSWORD is exported. These are necessary for the CLI to function and access credentials. ```bash # 環境変数を設定(毎回必要) export PATH="$HOME/bin:$PATH" export GOG_KEYRING_PASSWORD= ``` -------------------------------- ### Configure Discord Bot and Backend Settings Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md Edit the .env file to set your Discord token, allowed user ID, and backend configurations for the AI model. ```bash # Discord DISCORD_TOKEN= DISCORD_ALLOWED_USER= # Backend AGENT_BACKEND=local-llm # 後で claude-code に切り替え可 LOCAL_LLM_MODEL=gemma4:e4b LOCAL_LLM_NUM_CTX=8000 # Workspace WORKSPACE_PATH=./ai-assistant-workspace # Web チャットも併用したいなら(任意) WEB_CHAT_ENABLED=true WEB_CHAT_PORT=18888 ``` -------------------------------- ### Analyze Existing Skill SKILL.md Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/skill-creator/SKILL.md To improve an existing skill, first read its SKILL.md file and check the line count. This provides a baseline for analysis. ```bash # 対象スキルを読む cat [WORKSPACE]/skills//SKILL.md # 行数を確認 wc -l [WORKSPACE]/skills//SKILL.md ``` -------------------------------- ### List All xangi-kaizen Notes Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-kaizen/SKILL.md Lists all notes tagged with '#xangi-kaizen' in the specified directory, sorted alphabetically. This is useful for quickly accessing past incident analyses. ```bash grep -rl '#xangi-kaizen' [NOTES_DIR] | sort ``` -------------------------------- ### Add a New Google Account (Remote Flow) Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/SKILL.md Add a new Google account using the remote authentication flow, suitable for headless environments. This involves two steps: initiating the flow and completing it with a redirect URL. ```bash GOG_KEYRING_PASSWORD= gog auth add --services gmail,drive,calendar --remote --step 1 GOG_KEYRING_PASSWORD= gog auth add --services gmail,drive,calendar --remote --step 2 --auth-url "<リダイレクトURL>" ``` -------------------------------- ### Symbolic Links for AI Tool Skills Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/README.md Demonstrates the use of symbolic links to manage and provide access to skills stored in the central `skills/` directory for different AI tools like Claude, Codex, and Gemini. ```bash .claude/skills → ../skills # Claude Code 用 .agents/skills → ../skills # Codex CLI 用 .gemini/skills → ../skills # Gemini CLI 用 ``` -------------------------------- ### Notionにページを作成 Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/cat-diary/SKILL.md Notionに新しい猫日記のページを作成します。DB IDとキャプションを指定して実行します。 ```bash cd [WORKSPACE]/skills/notion-manager uv run python notion_tool.py create "YYYYMMDD_キャプション" --database ``` -------------------------------- ### Transcribe Audio with transcriber_tool (Foreground) Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/transcriber/SKILL.md Use this command for transcribing short audio files (under 10 minutes) that can be processed in the foreground. Ensure the audio file path and output path are correctly specified. ```bash uvx transcriber_tool transcribe "[音声ファイルパス]" --model-size [モデル] --output "[出力パス].txt" ``` -------------------------------- ### Search Past xangi-kaizen Notes Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-kaizen/SKILL.md Searches for past xangi-kaizen incident notes. Use `grep -rl '#xangi-kaizen' [NOTES_DIR]` to list all notes tagged with xangi-kaizen. Further refine by skill name or keywords. ```bash # xangi-kaizen タグの全事例 grep -rl '#xangi-kaizen' [NOTES_DIR] | sort ``` ```bash # 対象スキル名・キーワードで絞り込み grep -rl '#<対象スキル名>' [NOTES_DIR] ``` ```bash grep -rl 'state\|cron\|<キーワード>' [NOTES_DIR]/*xangi-kaizen* 2>/dev/null ``` -------------------------------- ### Notionに画像をアップロード Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/cat-diary/SKILL.md 作成したNotionページに画像をアップロードし、キャプションを追加します。ページIDと画像パスを指定して実行します。 ```bash cd [WORKSPACE]/skills/notion-manager uv run python notion_tool.py upload <画像パス> <ページID> -c "キャプション" ``` -------------------------------- ### List Registered Google Accounts Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/SKILL.md Use this command to view all the Google accounts that have been registered with gogcli. ```bash gog auth list ``` -------------------------------- ### List Memory Files Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/health-advisor/SKILL.md Lists memory files from the past 7 days to collect data for the weekly report. Ensure the workspace path is correctly set. ```bash # 過去7日分のメモリファイルを確認 ls [WORKSPACE]/memory/ ``` -------------------------------- ### Troubleshooting: Slow Responses Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md For slow responses, consider increasing LOCAL_LLM_NUM_CTX, using a lighter model, or switching to the Claude Code backend. ```bash LOCAL_LLM_NUM_CTX=8000 Claude Code バックエンド ``` -------------------------------- ### List Runtime State Files Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-kaizen/SKILL.md Lists files that are typically considered runtime state, such as state, cache, or cookie files. These should generally not be managed by Git. ```bash git ls-files | grep -iE "state\|cache\|last_check\|cookie\|credential|\.pid$" ``` -------------------------------- ### Identify xangi Instance Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-settings/SKILL.md Before changing settings, identify the correct xangi instance. This involves checking process IDs, listing .env files, and verifying WORKSPACE_PATH. ```bash # 1. 自分のプロセスのセッションIDを確認 ps aux | grep claude | grep "$(cat /proc/self/ppid 2>/dev/null || echo $$)" | head -3 # 2. xangi関連の.envファイルを一覧 ls ~/xangi*/.env 2>/dev/null # 3. 各.envのWORKSPACE_PATHを確認して、自分のワークスペースと一致するものを特定 grep WORKSPACE_PATH ~/xangi*/.env ``` -------------------------------- ### Fetch Transcription from LISTEN Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/podcast/SKILL.md Use this command to directly fetch transcriptions from LISTEN pages. Replace `[番組]` and `[エピソードID]` with the actual podcast and episode identifiers. ```bash # LISTENページから文字起こしを取得 # web_fetch https://listen.style/p/[番組]/[エピソードID] ``` -------------------------------- ### Troubleshooting: Bridge Connection Issues Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-d-stackchan.md If the bridge fails to connect to xangi, ensure XANGI_EVENTS_ENABLED=true is set in the .env file and restart xangi. ```bash Ensure XANGI_EVENTS_ENABLED=true in .env, then restart xangi. ``` -------------------------------- ### Troubleshooting: Bot Not Coming Online Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md If the bot does not go online, check the Docker Compose logs for Xangi to identify issues with the token or missing Intents. ```bash docker compose logs xangi ``` -------------------------------- ### Configure Xangi Backend and Web Chat Settings Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-c-docker.md Sets the AI backend (e.g., claude-code or local-llm), Discord integration tokens and allowed users/channels, and web chat port and binding address. ```dotenv # ===== .env ===== # --- Backend --- AGENT_BACKEND=claude-code # 品質重視なら claude-code # AGENT_BACKEND=local-llm # LOCAL_LLM_MODEL=gemma4:26b # LOCAL_LLM_NUM_CTX=16000 # --- Discord(使う場合) --- DISCORD_TOKEN=... DISCORD_ALLOWED_USER=111111111111,222222222222 # カンマ区切り複数可 DISCORD_ALLOWED_CHANNELS=... # --- Web チャット --- WEB_CHAT_ENABLED=true WEB_CHAT_PORT=18888 WEB_CHAT_BIND=127.0.0.1 # 外に出さない(reverse proxy 前提) # --- Workspace --- WORKSPACE_PATH=./ai-assistant-workspace # --- ログ・タイムアウト --- LOG_LEVEL=info RESPONSE_TIMEOUT=300 ``` -------------------------------- ### Set gogcli keyring password Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/google-workspace/README.md Set the GOG_KEYRING_PASSWORD environment variable. This password is used to encrypt authentication credentials. ```bash # キーリングパスワードを設定(認証情報の暗号化に使用) export GOG_KEYRING_PASSWORD=<任意のパスワード> ``` -------------------------------- ### Clone AI Assistant Workspace Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-onboarding/references/mode-b-discord.md Clone the AI assistant workspace repository to provide the necessary files for the Xangi bot. ```bash git clone https://github.com/karaage0703/ai-assistant-workspace.git # あるいは quickstart.sh と同じ要領で展開 ``` -------------------------------- ### Upload Files to Notion Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/notion-manager/SKILL.md Upload various file types (images, videos, documents) to a Notion page. Files are added as specific block types (image, video, file). Use '--as-file' for generic file uploads. ```bash # 画像をアップロード(imageブロックとして追加) uv run python notion_tool.py upload photo.jpg ``` ```bash # 動画をアップロード(videoブロックとして追加) uv run python notion_tool.py upload video.mp4 ``` ```bash # ファイルをアップロード(fileブロックとして追加) uv run python notion_tool.py upload document.pptx --as-file ``` ```bash # キャプション付き uv run python notion_tool.py upload photo.jpg -c "東京の風景" ``` -------------------------------- ### List Files by Size Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/xangi-kaizen/SKILL.md Lists tracked files sorted by size in descending order. Useful for identifying large files that might be consuming excessive resources or causing repository bloat. ```bash git ls-files | xargs -I {} stat -c "%s %n" {} 2>/dev/null | sort -rn | head -20 ``` -------------------------------- ### Synchronize Diary Files Source: https://github.com/karaage0703/ai-assistant-workspace/blob/main/skills/diary/SKILL.md Stage, commit, and push local diary files to the remote repository. Adjust the commit message with the correct date. ```bash git add notes/ memory/ && git commit -m "日記 YYYYMMDD" && git push ```