
Customer Workspace
- 51 installs
- 23 repo stars
- Updated August 4, 2026
- aktsmm/agent-skills
customer-workspace is a Claude skill that initializes per-customer workspaces with an inbox, meeting-minutes management and handoff-ready summaries.
About
Initializes per-customer workspaces with an inbox for accumulating information, meeting-minutes management, and handoff-ready summaries. A developer runs a PowerShell script to scaffold folders for inbox, questions, customer profile, meeting notes and next-action homework, with auto-classification rules that route pasted chat or email to the right file. It converts Teams AI notes to templates and produces handoff summaries with source file paths.
- Scaffolds per-customer workspaces with inbox, meeting notes and next-action folders
- Auto-routing rules classify pasted chat/email into inbox, meeting notes or questions
- Handoff-ready workspace summary with related source file paths
Customer Workspace by the numbers
- 51 all-time installs (skills.sh)
- Ranked #1,611 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
customer-workspace capabilities & compatibility
Free; uses PowerShell or manual folder setup
- Capabilities
- biz ops setup · meeting notes · workspace scaffolding
- Works with
- teams · outlook
- Use cases
- project management · documentation
- Platforms
- Windows
- Pricing
- Free
What customer-workspace says it does
Customer workspace initialization skill. Provides inbox (information accumulation), meeting minutes management, and auto-classification rules.
Initialize customer-specific workspaces with information accumulation, meeting notes management, and handoff-ready summaries.
npx skills add https://github.com/aktsmm/agent-skills --skill customer-workspaceAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 51 |
|---|---|
| repo stars | ★ 23 |
| Last updated | August 4, 2026 |
| Repository | aktsmm/agent-skills ↗ |
What it does
Set up a per-customer workspace with an inbox, meeting-notes management and a handoff-ready summary.
Who is it for?
Setting up per-customer workspaces with inbox, meeting notes and handoff summaries
Skip if: Whole business-ops reporting environment setup (use biz-ops-setup)
When should I use this skill?
Setting up a per-customer workspace or adding an inbox / meeting-minutes feature
What you get
A structured customer workspace with auto-routed inbox and handoff-ready summary
- Per-customer workspace folders
- Inbox and meeting-notes structure
- Handoff-ready workspace summary
By the numbers
- 11 default tags
- 7-item auto-routing pattern table
Files
Customer Workspace Skill
Initialize customer-specific workspaces with information accumulation, meeting notes management, and handoff-ready summaries.
When to Use
- Customer workspace, inbox, meeting notes, workspace summary, handoff
- Setting up per-customer workspaces
- Adding inbox or meeting minutes management
- Creating handoff-ready workspace summaries with source file paths
- Implementing auto-classification rules for customer information
Features
| Feature | Description |
|---|---|
| Inbox | Paste chat/email for auto-classification |
| Meeting Notes | Convert Teams AI notes to template format |
| Questions | Extract questions/actions from meeting log |
| Auto-Routing | Route input based on pattern detection |
| Customer Profile | Centralized customer information |
| Workspace Summary | Handoff summary with related file paths |
| Next Actions | Per-MTG homework workspace with bidirectional links |
| Material Split | Optional split for customer originals, working copies, and customer-facing files |
---
Quick Start
# Basic
.\scripts\Initialize-CustomerWorkspace.ps1 -CustomerName "Contoso Inc"
# Full options
.\scripts\Initialize-CustomerWorkspace.ps1 `
-CustomerName "Contoso Inc" `
-ContractType "MACC" `
-ContractPeriod "2025/04 - 2028/03" `
-KeyContacts "John Doe (Infra Lead)"If PowerShell is unavailable, manually create the same folders, copy the prompt/template files from assets/, and create README.md plus workspace-summary.md from the workspace root templates.
Generated Structure
{workspace}/
├── README.md ← Start here / workspace overview
├── workspace-summary.md ← Handoff-ready summary
├── .github/
│ ├── copilot-instructions.md ← Auto-routing rules
│ └── prompts/ ← Inbox, meeting notes, questions
├── _inbox/{YYYY-MM}.md ← Inbox files
├── _questions/{YYYY-MM}.md ← Accumulated questions (optional)
├── _customer/profile.md ← Customer profile
├── _templates/ ← Templates
├── meeting-notes/ ← Meeting minutes (one file per MTG)
└── next-actions/ ← Per-MTG homework workspace
├── to-YYYY-MM-DD/ ← Tasks for the next MTG
│ ├── README.md ← Progress board
│ ├── homework/ ← Customer-agreed homework
│ ├── proposals/ ← Self-initiated proposal prep
│ └── research/ ← Supplementary research/validation
└── ongoing/ ← Continuing items without a deadlineOptional Material Folders
When customer-shared diagrams, decks, tables, or schedules start to accumulate, split by lifecycle first and scope second.
_received/ ← customer originals only
overall-architecture/ ← cross-meeting baseline material
mtg-YYYY-MM-DD-name/ ← meeting-specific material
_working/ ← internal edited / annotated / draft copies
overall-architecture/
mtg-YYYY-MM-DD-name/
_provided/ ← customer-facing copies, send-out decks, projection versions
overall-architecture/
mtg-YYYY-MM-DD-name/- Use
_received/for customer originals and avoid editing files in place. - Use
_working/for annotated copies, extracted pages, redlines, and draft comparisons. - Use
_provided/only for versions safe to show or send to the customer. - Use
overall-architecture/when the material stays relevant across multiple meetings. - Use
mtg-YYYY-MM-DD-name/only when the material is truly scoped to one meeting.
---
Auto-Routing Patterns
| Pattern | Action |
|---|---|
| "Generated by AI" | → Meeting notes |
| Meeting memo with agenda / tasks / next meeting | → Meeting notes + Questions |
| Name + datetime + short text | → Inbox |
Contains From: Date: | → Inbox |
| Bullet points / short memo | → Inbox |
| Question format | → Normal response |
Default Tags
#network #cost #contract #proposal #ai #container #meeting #support #organization #deadline #internal
Next Actions (per-MTG homework workspace)
Carve homework, proposal prep, and supplementary research out of meeting notes into a date-scoped next-actions/to-YYYY-MM-DD/ folder.
- Folders:
homework/(customer-agreed),proposals/(self-initiated),research/(supplementary) - Bidirectional links:
- In meeting notes, every decision/homework row links to the corresponding
next-actions/to-YYYY-MM-DD/.../xxx.md. - In each task file, the header records
出どころ:pointing back to the meeting note (or自主提案/自主検証). - Progress states:
not-started/in-progress/blocked/done/dropped. Only the state table lives into-YYYY-MM-DD/README.md; details stay in each task file. - Why split by type: mixing
proposalsinto homework breaks the link to meeting notes and turns self-initiated ideas into apparent customer commitments. - Full rules and templates: see
Next Actions Workspacesection in assets/copilot-instructions.md.
---
Done Criteria
- [ ] Workspace folder created
- [ ]
README.mdexists at workspace root - [ ]
workspace-summary.mdexists at workspace root - [ ]
_inbox/{YYYY-MM}.mdexists - [ ]
_questions/{YYYY-MM}.mdexists - [ ]
_customer/profile.mdconfigured - [ ] Auto-routing rules working
Key References
- Inbox Rules
- Meeting Minutes Rules
- Workspace Summary Rules
Assets
assets/_templates/- Template filesassets/_templates/next-actions-readme.md- Per-MTG progress board templateassets/_templates/next-actions-task.md- Single task file template (homework / proposal / research)assets/inbox.prompt.md- Inbox promptassets/convert-meeting-minutes.prompt.md- Meeting notes promptassets/extract-questions.prompt.md- Question extraction promptassets/copilot-instructions.md- Auto-routing rules
顧客プロファイル
基本情報
| 項目 | 内容 |
|---|---|
| 顧客名 | {{CUSTOMER_NAME}} |
| 契約形態 | {{CONTRACT_TYPE}} |
| 契約期間 | {{CONTRACT_PERIOD}} |
| 担当開始 | {{START_DATE}} |
---
📇 主要連絡先
| 名前 | 役割 | 連絡先 | 備考 |
|---|---|---|---|
| {{KEY_CONTACTS}} |
---
🛠️ 利用中技術・サービス
Azure
| サービス | 用途 | 備考 |
|---|---|---|
その他 Microsoft
| サービス | 用途 | 備考 |
|---|---|---|
---
🎯 注目点・課題
インボックスや会話から自動追記されます
現在の課題
-
注目している技術・領域
- ***
📅 重要イベント
| 日付 | イベント | 備考 |
|---|---|---|
---
📝 更新履歴
| 日付 | 内容 | 出典 |
|---|---|---|
| {{TODAY}} | プロファイル作成 | セットアップ |
内部メモ - ミーティング準備
基本情報
| 項目 | 内容 |
|---|---|
| 対象ミーティング | {{CUSTOMER_NAME}} |
| 日時 | {{YEAR}}/MM/DD |
| 作成日 | {{YEAR}}/MM/DD |
| 作成者 |
---
📋 ミーティング前 準備チェックリスト
資料準備
- [ ] 前回持ち帰り事項の対応状況確認
- [ ] 共有資料の準備
- [ ] SR 状況確認(該当あれば)
確認事項
- [ ] 前回議事録を確認
- [ ] 持ち帰り事項の進捗を整理
- [ ] お客様からの事前連絡を確認
---
🔄 前回からの持ち帰り事項(対応状況)
自社 持ち帰り
| # | 内容 | 状況 | 対応内容・メモ |
|---|---|---|---|
| 1 | ⬜ 未着手 / 🔄 対応中 / ✅ 完了 | ||
| 2 |
補足調査メモ
(持ち帰り事項に対する調査メモ)
持ち帰り #1: [タイトル]
調査結果:
参考リンク:
- 回答案:
***
📌 今回のアジェンダ案
1. 前回持ち帰り事項の回答 2. 3.
---
🎫 SR 状況
| SR # | タイトル | 状況 | 最終更新 | メモ |
|---|---|---|---|---|
---
💡 ディスカッションポイント
(ミーティングで確認・議論したいこと)
1. 2.
{{MEETING_TYPE}} 議事録
基本情報
| 項目 | 内容 |
|---|---|
| 日時 | {{YEAR}}/MM/DD HH:MM - HH:MM |
| 場所 | Teams / 対面 |
| お客様出席者 | |
| 自社出席者 | |
| 次回予定 | {{YEAR}}/MM/DD HH:MM |
---
📋 アジェンダ
1. 前回持ち帰り事項の確認 2. トピック1 3. トピック2 4. 次回に向けて
---
🔄 前回持ち帰り事項の確認
自社 持ち帰り
| # | 内容 | 担当 | 状況 | 備考 |
|---|---|---|---|---|
| 1 | ⬜ 未着手 / 🔄 対応中 / ✅ 完了 | |||
| 2 |
お客様 持ち帰り
| # | 内容 | 担当 | 状況 | 備考 |
|---|---|---|---|---|
| 1 | ⬜ 未着手 / 🔄 対応中 / ✅ 完了 | |||
| 2 |
---
📝 議事内容
トピック1: [タイトル]
概要:
ディスカッション:
- 決定事項:
- ***
トピック2: [タイトル]
概要:
ディスカッション:
- 決定事項:
- ***
🚀 今回の持ち帰り事項(NEW)
自社 持ち帰り
| # | 内容 | 担当 | 期限 |
|---|---|---|---|
| 1 | 次回まで / YYYY/MM/DD | ||
| 2 |
お客様 持ち帰り
| # | 内容 | 担当 | 期限 |
|---|---|---|---|
| 1 | 次回まで / YYYY/MM/DD | ||
| 2 |
---
📌 次回に向けて
次回アジェンダ(予定)
1. 2. 3.
準備事項
- [ ]
- [ ]
---
💡 メモ・気づき
(内部用メモ。議事録には含めない情報)
-
to-{{NEXT_MEETING_DATE}} 進捗ボード
次回 MTG: {{NEXT_MEETING_DATETIME}}
出どころとなる主なミーティング: meeting-notes/{{SOURCE_MEETING_FILE}}
関連メモ: {{RELATED_MEMO_LINKS}}
このフォルダは、{{NEXT_MEETING_DATE}} の MTG までに片付ける作業の置き場です。長期継続案件は next-actions/ongoing/ に置きます。
---
進捗一覧
homework: 顧客と合意した宿題
| 状態 | 内容 | 担当 | リンク |
|---|---|---|---|
| not-started | {{HOMEWORK_TITLE_1}} | {{OWNER}} | homework/01_xxx.md |
proposals: こちらから持っていく追加提案準備
| 状態 | 内容 | 担当 | リンク |
|---|---|---|---|
| not-started | {{PROPOSAL_TITLE_1}} | {{OWNER}} | proposals/01_xxx.md |
research: 調査・検証(補足扱い)
| 状態 | 内容 | 担当 | リンク |
|---|---|---|---|
| not-started | {{RESEARCH_TITLE_1}} | {{OWNER}} | research/01_xxx.md |
---
状態の凡例
not-started: 未着手in-progress: 着手中blocked: 詰まっている(理由を該当ファイルに書く)done: 完了dropped: 次回までにやらない判断をしたもの(理由を該当ファイルに書く)
更新ルール
- 各タスクの詳細・メモ・成果物は各タスクファイルに書く。
- この README は状態と担当の一覧のみ更新する。
- 完了したら該当行を
doneにし、議事録側のリンクも残したまま保つ(履歴として)。
{{TASK_TITLE}}
- 出どころ: {{SOURCE}} <!-- 例: meeting-notes/YYYY-MM-DD_xxx.md の宿題 / 自主提案(YYYY-MM-DD 着想) / 自主検証 -->
- 期限: {{DUE_DATE}}
- 担当: {{OWNER}}
- 状態: not-started
ゴール
- {{GOAL}}
参考
- {{REFERENCES}}
作業メモ
(着手時に追記)
完了条件
- [ ] {{DONE_CRITERION_1}}
- [ ] {{DONE_CRITERION_2}}
{{CUSTOMER_NAME}} Workspace
Start Here
- Read
workspace-summary.mdfor the current handoff snapshot. - Update
_customer/profile.mdwhen core customer information changes. - Add raw notes to
_inbox/{{YEAR_MONTH}}.mdand extract actions into_questions/{{YEAR_MONTH}}.md.
Workspace Guide
README.md: this overview and entry pointworkspace-summary.md: handoff-ready summary and source-of-truth map.github/prompts/: prompts for inbox, meeting notes, and question extraction_templates/: reusable document templates- Optional material folders:
_received/,_working/,_provided/for customer originals, internal edits, and customer-facing copies
First Checks
- Confirm current contract, contacts, and priorities.
- Confirm where active working files live versus reference-only materials.
- If customer-shared files are part of the work, keep lifecycle split first (
_received//_working//_provided/) and then chooseoverall-architecture/ormtg-YYYY-MM-DD-name/as the second axis. - Record any immediate open actions in the current month question log.
{{CUSTOMER_NAME}} Workspace Summary
Last reviewed: {{TODAY}} Primary month: {{YEAR_MONTH}}
関連ファイルパス
- Active inbox:
_inbox/{{YEAR_MONTH}}.md - Active questions:
_questions/{{YEAR_MONTH}}.md - Customer profile:
_customer/profile.md - Material folders when used:
_received/,_working/,_provided/ - Important working files:
Source of Truth
| Topic | Source file | Notes |
|---|---|---|
| Customer profile | _customer/profile.md | Contract, contacts, account context |
| Current month intake | _inbox/{{YEAR_MONTH}}.md | Raw notes and imported material |
| Open questions/actions | _questions/{{YEAR_MONTH}}.md | Track follow-up items |
Bring-Along vs Reference-Only
Bring-Along
- Files the next owner must open first
- Current working notes for {{YEAR_MONTH}}
- Current material ledgers when customer-shared files are part of active work
- Pending actions and deadlines
Reference-Only
- Historical notes kept for background
- Archived proposals, decks, or emails
- Material useful for context but not needed for daily operation
Teams AI議事録 → 議事録変換
概要
Teams会議のAI生成議事録を、議事録テンプレートに沿ったMarkdownに変換します。 日付フォルダがない場合は自動作成します。
---
🔄 処理フロー
graph TD
A[ユーザー入力] --> B{日付指定あり?}
B -->|あり| C[指定日付を使用]
B -->|なし| D[今日の日付を取得]
C --> E{フォルダ存在?}
D --> E
E -->|なし| F[フォルダ作成 + テンプレート配置]
E -->|あり| G[既存フォルダを使用]
F --> G
G --> H[Teams AI議事録をパース]
H --> I[テンプレート形式に変換]
I --> J[議事録ファイル保存]---
📋 実行手順
Step 1: 日付の決定
1. ユーザーが日付を指定した場合 → その日付を使用 2. 日付指定がない場合 → 今日の日付 Get-Date -Format "yyyyMMdd" を使用
Step 1.5: ファイル確認と連携判定
1. 現在開いているファイルを確認 (editorContext) 2. ファイル名から日付を抽出(例: 20260204_議事録.md → 20260204) 3. 入力データの日付と比較:
- 一致: 通常の変換処理(Step 2 へ)
- 不一致(入力が過去): 「前回持ち帰りを次回に反映」と判断
- 入力データから「フォローアップ タスク」を抽出
- 現在開いているファイルの「🔄 前回持ち帰り事項の確認」に反映
- ユーザーに確認: 「入力は{入力日付}のメモですが、開いているファイルは{ファイル日付}です。前回持ち帰りとして反映しますか?」
Step 2: フォルダ作成
日付フォルダがなければ作成:
{日付}/
├── {日付}_議事録.md ← _templates/meeting-minutes.md からコピー
└── {日付}_内部メモ.md ← _templates/internal-memo.md からコピーStep 3: 議事録変換
Teams AI議事録を以下のルールで変換:
| Teams AI形式 | テンプレート |
|---|---|
| 会議のメモ: [トピック] | 📝 議事内容 → トピックN |
| トピック詳細(インデント) | ディスカッション |
| フォローアップ タスク | 🚀 今回の持ち帰り事項(NEW) |
| 担当者が自社名 | 自社 持ち帰り |
| 担当者がお客様名 | お客様 持ち帰り |
Step 4: ファイル保存
変換結果を {日付}/{日付}_議事録.md に保存。
---
🎯 使用例
例1: 日付指定なし(今日の日付を使用)
# 以下をペースト:
AI によって生成されます。必ず精度を確認してください。
会議のメモ:
コストアセスメントの実施方針...例2: 日付指定あり
日付: 20260204
# 以下をペースト:
AI によって生成されます。必ず精度を確認してください。
...---
📝 変換ルール詳細
1. 基本情報
- 日時: 日付フォルダから
2026/01/21形式に変換 - 出席者: 議事録内の名前から推定
2. 議事内容
- Teams AIの「会議のメモ:」の各トピック(コロン前)を
### トピックN: [タイトル]として展開 - トピック概要を
**概要:**に - 詳細項目を
**ディスカッション:**に箇条書き - 決定事項を推定して
**決定事項:**に記載
3. 持ち帰り事項
「フォローアップ タスク:」を振り分け:
| 担当者キーワード | 分類 |
|---|---|
| 自社メンバー名 | 自社 持ち帰り |
| その他 | お客様 持ち帰り |
Copilot Instructions
このワークスペースでの共通ルールです。
---
顧客情報
⚠️ セットアップ時に自動入力されます
| 項目 | 内容 |
|---|---|
| 顧客名 | {{CUSTOMER_NAME}} |
| 契約形態 | {{CONTRACT_TYPE}} |
| 契約期間 | {{CONTRACT_PERIOD}} |
| 主要連絡先 | {{KEY_CONTACTS}} |
---
入力自動判定ルール
ユーザーの入力が明確なコマンドや質問でない場合、以下の順で判定し自動処理します。
判定フロー
graph TD
A[ユーザー入力] --> B{明確なコマンド/質問?}
B -->|Yes| C[通常応答]
B -->|No| D{Teams AI議事録?}
D -->|Yes| E[議事録変換 + フォルダ作成]
D -->|No| F{会議メモ/議事録素材?}
F -->|Yes| G[meeting-notes 作成 + 質問抽出]
F -->|No| H{情報の断片?}
H -->|Yes| I[inbox に追記]
H -->|No| C判定基準
| パターン | 判定 | 処理 |
|---|---|---|
| 「AI によって生成されます」で始まる | Teams AI議事録 | convert-meeting-minutes |
| 「会議のメモ:」「フォローアップ タスク:」を含む | Teams AI議事録 | convert-meeting-minutes |
| 「今日のミーティングのメモ」「議題」「課題」「宿題」「次回打ち合わせ」など会議メモの見出しが複数ある | 会議メモ | meeting-notes 作成 + extract-questions |
| 名前 + 日時 + 短文(Teamsチャット風) | インボックス | inbox に追記 |
From: Date: を含む(メール風) | インボックス | inbox に追記 |
[#channel] を含む(Slack風) | インボックス | inbox に追記 |
箇条書きのみ(- で始まる行が主) | インボックス | inbox に追記 |
| 文脈なしの短文メモ | インボックス | inbox に追記 |
| 質問形式(「?」「教えて」「どうすれば」等) | 質問 | 通常応答 |
| 「質問を抽出」「質問事項を」「宿題を抜き出し」 | 質問抽出 | extract-questions |
インボックス追記時の動作
1. _inbox/{現在の年月}.md を確認(なければ作成) 2. 日時・送信元・タグを自動付与 3. ファイル末尾に追記 4. 確認メッセージ: 「📥 インボックスに追記しました: {タグ}」
議事録検出時の動作
1. 日付を抽出(入力から or 今日の日付) 2. 日付フォルダを作成(なければ)
{日付}/{日付}/{日付}_議事録.md{日付}/{日付}_内部メモ.md
3. Teams AI議事録をテンプレート形式に変換 4. 確認メッセージ: 「📝 議事録を作成しました: {日付}」
会議メモ検出時の動作
1. 日付を抽出(入力から or 今日の日付) 2. meeting-notes/ 形式の議事メモを作成または更新する 3. 同じ入力から宿題・確認事項・アクションを抽出し、_questions/{YYYY-MM}.md に追記する 4. inbox 追記は補助記録として必要な場合だけ行い、meeting-notes / questions の代替にしない 5. 確認メッセージ: 「📝 会議メモと質問事項を反映しました: {日付}」
顧客プロファイル更新の提案
以下を検出したら _customer/profile.md への追記を提案:
- 契約情報(期間、金額、形態の変更)
- 組織情報(担当者異動、新規連絡先)
- 技術スタック(新規導入、廃止)
確認が必要なケース
以下の場合はユーザーに確認:
- 長文で判定が曖昧
- 複数パターンに該当
- ファイルパスや日付の指定がある
---
関連プロンプト
inbox.prompt.md- インボックス追記の詳細ルールconvert-meeting-minutes.prompt.md- 議事録変換extract-questions.prompt.md- 質問事項抽出
---
次回までの宿題ワークスペース運用ルール
ミーティング後に発生した作業は next-actions/ 配下に切り出し、ミーティングノート自体は決定事項と宿題の発生記録までで止める。
フォルダ構成
next-actions/
to-YYYY-MM-DD/ ← 次回 MTG までの作業(日付は次回日)
README.md ← 進捗ボード(一覧と状態のみ)
homework/ ← 顧客と合意した宿題(議事録由来)
proposals/ ← こちらから持っていく追加提案準備
research/ ← 調査・検証(補足扱い)
ongoing/ ← 期日に縛られない継続案件双方向リンクの必須ルール
- ミーティングノート側の「決定事項」「宿題」テーブルには、対応する
next-actions/to-YYYY-MM-DD/.../xxx.mdへの相対パスリンクを必ず併記する。 - 作業ファイル側の冒頭メタには
出どころ: meeting-notes/YYYY-MM-DD_xxx.md の宿題または自主提案を必ず書く。 - これにより、議事録 → 宿題、宿題 → 議事録、どちらからでも辿れる状態を維持する。
出どころのタイプ分け
| タイプ | 出どころの書き方 |
|---|---|
| homework | 出どころ: meeting-notes/YYYY-MM-DD_xxx.md の宿題 |
| proposal | 出どころ: 自主提案(YYYY-MM-DD 着想) または 元ネタ demo-plans/xxx.md |
| research | 出どころ: meeting-notes/YYYY-MM-DD_xxx.md の補足検証 または 自主検証 |
進捗管理
- 各タスクの状態は
not-started/in-progress/blocked/done/dropped。 - 状態と担当は
next-actions/to-YYYY-MM-DD/README.mdに一覧化する。 - 詳細メモ・成果物・判断理由は各タスクファイルに書く。
ミーティングノートを汚さないために
- 議事録に詳細手順・調査メモ・成果物本文を書かない。すべて作業ファイル側に置き、リンクで参照する。
- 議事録の宿題テーブルには「内容・担当・期限・作業先(パス)」の最小情報のみ書く。
- 完了後も議事録のリンクは残し、履歴として保つ。
事後フォロー(Teams / メール送付)の記録
MTG 直後〜次回 MTG 前に、Teams やメールで顧客へ送る補足連絡(追加情報、参考記事、宿題再確認、提案の先出しなど)は、口頭やり取りとは別に必ず記録する。記録しないと、次回 MTG で重複説明したり、外形上 not-started のままのタスクが実は外部送付済みだった、という乖離が起きる。
- 議事録ファイルの末尾に
## 事後フォロー(Teams 送付)節を作り、各送付ごとに「日付 / 宛先 / チャネル / メッセージリンク / 要点 / 連動タスクへの相対パス」を書く。 - その送付が既存の next-actions タスクに直結する場合は、同じターンで以下も更新する。
1. 該当タスクファイルの「作業メモ」に日付見出しで送付内容と Teams リンクを追記。 2. タスクの状態を not-started → in-progress に上げる(実態に合わせる)。 3. next-actions/to-YYYY-MM-DD/README.md の状態列を同期し、必要なら「Teams で第一報送付済み」など短い注記を内容列に添える。
- 送付内容がどのタスクにも紐付かない純粋な共有なら、議事録の事後フォロー節だけで止めてよい。新規 next-actions タスクを安易に増やさない。
質問事項抽出(会議ログ → Questions)
概要
会議ログ(議事録 / Teams AI メモ / 手書きメモ)から質問・確認事項・宿題を抽出し、指定した保存モードで書き出す。
---
保存モード
ユーザーが明示しなければ質問する:
| モード | 保存先 | 用途 |
|---|---|---|
| per-meeting | {日付}/{日付}_質問事項.md | 会議ごとに分けて管理したい |
| accumulate | _questions/{YYYY-MM}.md | 月単位で一括蓄積したい |
---
処理フロー
Step 1: 保存モードの決定
1. ユーザーが「会議ごと」「分けて」→ per-meeting 2. ユーザーが「一つに」「まとめて」「蓄積」→ accumulate 3. 明示なし → 質問して確認
Step 2: 日付の決定
- 議事録ファイルが開いている → ファイル名から日付抽出
- 日付が見つからない → 今日の日付を使用
Step 3: 質問事項の抽出
以下を「質問事項」として抽出:
| パターン | 例 |
|---|---|
| 疑問文(?で終わる) | 「〜は可能ですか?」 |
| 確認依頼 | 「〜を確認してください」「〜の確認をお願い」 |
| 宿題・持ち帰り | 「持ち帰り」「宿題」「次回までに」 |
| 要回答 | 「回答をお願い」「ご教示ください」 |
| TODO / Action Item | 「TODO:」「AI:」「Action:」 |
| フォローアップ タスク | Teams AI の「フォローアップ タスク」セクション |
Step 4: 分類
抽出した項目を以下に分類:
| 分類 | 説明 |
|---|---|
| 📌 未回答 | まだ回答されていない質問 |
| ✅ 回答済み | 同じ会議内で回答が出た質問 |
| 🔄 持ち帰り | 次回以降に回答予定 |
Step 5: 保存
per-meeting モード
# 質問事項: {日付}
## 📌 未回答
- [ ] 質問内容(担当: xxx)
## ✅ 回答済み
- [x] 質問内容 → 回答内容
## 🔄 持ち帰り
- [ ] 質問内容(担当: xxx、期限: 次回)accumulate モード
_questions/{YYYY-MM}.md の末尾に追記:
---
### {日付} 会議
- [ ] 質問内容(担当: xxx)
- [x] 質問内容 → 回答内容Step 6: 確認メッセージ
📋 質問事項を抽出しました: {件数}件(未回答: {n}件、回答済み: {n}件、持ち帰り: {n}件)
保存先: {ファイルパス}---
使用例
この議事録から質問事項を抽出して、会議ごとに分けて保存して今日の会議メモから質問を抜き出して、一つのファイルにまとめてインボックス追記
顧客に関する情報を _inbox/{YYYY-MM}.md に蓄積する。
処理フロー
1. 形式判定: Teams / メール / Slack / メモ を自動判別 2. 情報抽出: 日時・送信者・ソースを抽出 3. タグ推定: キーワードからタグ付与(該当なしは新規タグ生成) 4. 追記: 月別ファイルに正規化フォーマットで追記
形式判定
| 判定条件 | 形式 |
|---|---|
From: + Date: + Subject: | メール |
| 名前 + 改行 + 日時パターン | Teams |
[#channel] パターン | Slack |
- で始まる行が複数 | メモ |
出力形式
---
## {日時} {タグ}
**From**: {送信者}({Source})
{本文}デフォルトタグ
#network #cost #contract #proposal #ai #container #meeting #support #organization #deadline #internal
該当なし → 内容から適切なタグを推定して新規作成(例: #data-factory)
完了メッセージ
📥 インボックスに追記しました: {タグ}# Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
## English
Copyright (c) 2026 yamapan (aktsmm)
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0
International License.
You are free to:
- **Share** — copy and redistribute the material in any medium or format
- **Adapt** — remix, transform, and build upon the material
Under the following terms:
- **Attribution** — You must give appropriate credit, provide a link to the
license, and indicate if changes were made. You may do so in any reasonable manner,
but not in any way that suggests the licensor endorses you or your use.
- **NonCommercial** — You may not use the material for commercial purposes.
*(Please contact the author if you wish to use this material for commercial purposes.)*
- **ShareAlike** — If you remix, transform, or build upon the material, you must
distribute your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological
measures that legally restrict others from doing anything the license permits.
**AI/ML Training Restriction** — Use of this content for AI/ML training, data
mining, or other analytical purposes is prohibited without explicit permission.
Full license text: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
---
## 日本語
Copyright (c) 2026 yamapan (aktsmm)
この作品はクリエイティブ・コモンズ 表示-非営利-継承 4.0 国際ライセンスの下に提供されています。
あなたは以下の条件に従う限り、自由に:
- **共有** — どのようなメディアやフォーマットでも資料を複製・再配布できます
- **翻案** — 資料をリミックス、変形、および加工することができます
以下の条件に従ってください:
- **表示** — あなたは適切なクレジットを表示し、ライセンスへのリンクを提供し、
変更があったらその旨を示さなければなりません。これらは合理的であればどのような方法で
行っても構いませんが、許諾者があなたやあなたの利用行為を支持していると示唆するような
方法は除きます。
- **非営利** — あなたは営利目的でこの資料を利用してはなりません。
(※商用利用をご希望の場合は、別途ご連絡ください。)
- **継承** — もしあなたがこの資料をリミックス、変形、または加工した場合、
あなたはあなたの貢献部分を元の作品と同じライセンスの下で配布しなければなりません。
追加的な制約は課せません — あなたは、このライセンスが他の者に許諾することを法的に
制限するような法的条項や技術的手段を適用してはなりません。
**AI/MLトレーニング制限** — 本コンテンツをAI/MLモデルのトレーニング、データマイニング、
その他の解析目的での使用は明示的な許可なく禁止されています。
ライセンス全文: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.ja
---
## Special Permission for Microsoft Employees / Microsoft 社員向け特別許諾
### English
Microsoft Corporation employees are granted permission to use, copy, modify, and
distribute this material for any purpose within the scope of their employment
duties at Microsoft, including internal business use and customer-facing
activities, without the NonCommercial restriction of this license.
This special permission applies only to work performed as part of official
Microsoft business activities.
### 日本語
Microsoft Corporation の社員は、Microsoft での業務の範疇において、本資料を社内業務
および顧客対応を含むあらゆる目的で使用、複製、改変、配布することが許諾されます。
この場合、本ライセンスの「非営利」制限は適用されません。
この特別許諾は、Microsoft の公式な業務活動の一環として行われる作業にのみ適用されます。
---
## Disclaimer / 免責事項
### English
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR
A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
### 日本語
本ソフトウェアは「現状のまま」で提供され、明示または黙示を問わず、商品性、
特定目的への適合性、および権利非侵害についての保証を含むがこれに限定されない、
いかなる種類の保証も伴いません。作者または著作権者は、契約行為、不法行為、
またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの
使用またはその他の扱いによって生じる一切の請求、損害、その他の責任について
責任を負いません。
インボックス詳細ルール
このファイルはインボックス機能の詳細な処理ルールを記載しています。
概要は SKILL.md を参照してください。
対応パターン
パターン1: Teamsチャット(コピペ)
山田 太郎
1月21日 14:32
VPN経由の通信が遅いんですけど...パターン2: メール転送
From: yamada@example.com
Date: 2026-01-15 10:15
Subject: コストアセスメントの件
4月のコストアセスメント、別担当に引き継ぐかも。パターン3: 自分のメモ(メタデータなし)
山田さんから電話あり。
FWの件、NAT Gateway試してみるとのこと。パターン4: Slack
[#proj-abc] 山田太郎 14:32
明日の定例、15分遅れますパターン5: 箇条書きメモ
- AI情報は分けて配布希望
- AKSは優先度低い
- 担当変更の可能性あり---
処理フロー
graph TD
A[ユーザー入力] --> B{形式判定}
B -->|Teams| C[名前・日時抽出]
B -->|メール| D[From・Date・Subject抽出]
B -->|メモ| E[日時=now, From=自分]
B -->|Slack| F[チャンネル・名前・時刻抽出]
B -->|箇条書き| G[そのまま保持]
C --> H[タグ推定]
D --> H
E --> H
F --> H
G --> H
H --> I[正規化フォーマット]
I --> J[_inbox/YYYY-MM.md に追記]---
実行手順
Step 1: 月ファイルの確認
1. 現在の年月を取得: Get-Date -Format "yyyy-MM" 2. _inbox/{年月}.md が存在するか確認 3. なければ新規作成:
# {年月} インボックス
> 💡 `/prompt inbox` で追記。タグで検索可能。
---Step 2: 入力の解析
| 判定条件 | 形式 |
|---|---|
From: + Date: + Subject: | メール |
| 名前 + 改行 + 日時パターン | Teams |
[#channel] パターン | Slack |
- で始まる行が複数 | 箇条書きメモ |
| 上記以外 | 自由形式メモ |
Step 3: 情報抽出
| 項目 | 抽出ルール |
|---|---|
| 日時 | 入力から抽出 or 現在時刻 Get-Date -Format "yyyy-MM-dd HH:mm" |
| From | 送信者名 or 「(自分メモ)」 |
| Source | Teams / メール / Slack / 口頭 / メモ |
| タグ | 内容から自動推定 |
Step 4: タグ推定
| キーワード | タグ |
|---|---|
| Firewall, FW, NAT, VPN, ネットワーク, 通信, 遅延 | #network |
| コスト, 費用, 予算, 消費 | #cost |
| 契約, リニューアル, 更新, EA, CSP, サブスクリプション | #contract |
| 提案, 案件, 商談, 見積, PoC, パイロット | #proposal |
| AI, OpenAI, Copilot, GPT, 機械学習 | #ai |
| AKS, コンテナ, Kubernetes, Docker | #container |
| 定例, ミーティング, 会議, MTG | #meeting |
| SR, サポート, 問い合わせ, トラブル | #support |
| 人事, 異動, 担当, 引き継ぎ | #organization |
| 期限, 締切, いつまで, 急ぎ | #deadline |
| 社内, 内部, チーム, 上司, 部長 | #internal |
タグ付与ルール:
- 複数該当 → 全て付与
- 該当なし → 内容から適切なタグを推定して新規作成
- 新規タグは小文字英字、ハイフン区切り
- よく使われる新規タグは顧客プロファイルに追記を提案
Step 5: 追記
_inbox/{年月}.md の末尾に追記:
---
## {日時} {タグ}
**From**: {送信者}({Source})
{本文}---
使用例
例1: Teamsチャット
入力:
山田 太郎
1月21日 14:32
VPN経由の通信が遅いんですけど、オンプレProxy経由だと速いんですよね出力:
## 2026-01-21 14:32 #network
**From**: 山田 太郎(Teams)
VPN経由の通信が遅いんですけど、オンプレProxy経由だと速いんですよね---
検索方法
Select-String -Path "_inbox/*.md" -Pattern "#network"議事録変換ルール
このファイルは議事録変換の詳細ルールを記載しています。
処理フロー
graph TD
A[ユーザー入力] --> B{日付指定あり?}
B -->|あり| C[指定日付を使用]
B -->|なし| D[今日の日付を取得]
C --> E{フォルダ存在?}
D --> E
E -->|なし| F[フォルダ作成 + テンプレート配置]
E -->|あり| G[既存フォルダを使用]
F --> G
G --> H[Teams AI議事録をパース]
H --> I[テンプレート形式に変換]
I --> J[議事録ファイル保存]検出パターン
以下を検出したらTeams AI議事録と判定:
- 「AI によって生成されます」で始まる
- 「会議のメモ:」を含む
- 「フォローアップ タスク:」を含む
以下を検出したら自由形式の会議メモと判定:
- 「今日のミーティングのメモ」「今日のやつです」など会議メモ開始を示す文
- 「議題」「課題」「宿題」「決定事項」「次回打ち合わせ」などの見出しが複数ある
- 会議本文と次回予定が同居している
変換ルール
| Teams AI形式 | テンプレート |
|---|---|
| 会議のメモ: [トピック] | 📝 議事内容 → トピックN |
| トピック詳細(インデント) | ディスカッション |
| フォローアップ タスク | 🚀 今回の持ち帰り事項(NEW) |
| 担当者が自社名 | 自社 持ち帰り |
| 担当者がお客様名 | お客様 持ち帰り |
自由形式の会議メモは以下で整形:
| 自由形式メモ | 出力先 |
|---|---|
| 会議の背景や一言メモ | meeting-notes の冒頭メモ |
| 「議題」「課題」配下の本文 | 議題ごとの箇条書き |
| 「宿題」「持ち帰り」「次回までに」 | 宿題テーブルと _questions/{YYYY-MM}.md |
| 「次回打ち合わせ」 | 次回予定 |
自由形式の会議メモを扱うときは、議事メモ作成だけで止めず、同じ入力から質問・宿題・確認事項を抽出して questions にも反映する。
ファイル確認と連携判定
1. 現在開いているファイルを確認(editorContext) 2. ファイル名から日付を抽出(例: 20260204_議事録.md → 20260204) 3. 入力データの日付と比較:
- 一致: 通常の変換処理
- 不一致(入力が過去): 前回持ち帰りを次回に反映と判断
- ユーザーに確認してから処理
フォルダ作成
日付フォルダがなければ作成:
{日付}/
├── {日付}_議事録.md ← _templates/meeting-minutes.md
└── {日付}_内部メモ.md ← _templates/internal-memo.mdWorkspace Summary Rules
This file describes reusable rules for customer workspace summaries and handoff notes.
Overview is in SKILL.md.
When to Use
- Creating a new customer workspace and leaving a starting summary
- Preparing a handoff note for another person
- Writing a workspace summary that should work as a navigation entry point
Required Sections
Related File Paths
- Include a
関連ファイルパスor equivalent section. - Use workspace-relative paths.
- Add one short line for each file's role.
Source of Truth
- Mark the latest authoritative file as
正本or確認先when applicable. - Don't force readers to infer which file is current.
Bring-Along vs Reference-Only
- Separate files to carry into the new workspace from files kept only for reference.
- Use this split when preparing a portable customer workspace package.
Material-Heavy Workspaces
- If customer-shared files such as diagrams, decks, schedules, or comparison tables are part of the ongoing work, split folders by lifecycle first:
_received/,_working/,_provided/. - Within those folders, use
overall-architecture/for cross-meeting baseline material andmtg-YYYY-MM-DD-name/only for truly meeting-scoped material. - In summaries, link the ledger README or index file rather than only a deep file path when the material set is still growing.
Writing Rules
- Don't write only generic labels such as
日報,準備メモ, orタスク. - Point to the actual file path that contains the information.
- Keep the summary short and use linked source files as the drill-down path.
- If a summary mentions a task, meeting, or report, include the file that backs it up.
Minimal Template
## 関連ファイルパス
- Customers/contoso/workspace-summary.md
- 起点メモ。最初に読むファイル
- Customers/contoso/profile.md
- 顧客の基本情報。正本
- Customers/contoso/\_meetings/2026-05-20.md
- 直近会議の要点と宿題
- Tasks/active.md
- 全体タスクの確認先。必要なら顧客該当箇所を抜粋<#
.SYNOPSIS
顧客ワークスペースを初期化するスクリプト
.DESCRIPTION
customer-workspaceスキルのセットアップを自動化します。
- フォルダ構造の作成
- テンプレートファイルのコピー
- 顧客プロファイルの初期化
.PARAMETER CustomerName
顧客名(必須)
.PARAMETER ContractType
契約形態(EA/CSP/MACC)
.PARAMETER ContractPeriod
契約期間(例: 2025/04 - 2028/03)
.PARAMETER WorkspacePath
ワークスペースのパス(デフォルト: カレントディレクトリ)
.EXAMPLE
.\Initialize-CustomerWorkspace.ps1 -CustomerName "ABC株式会社様"
.EXAMPLE
.\Initialize-CustomerWorkspace.ps1 -CustomerName "ABC株式会社様" -ContractType "MACC" -ContractPeriod "2025/04 - 2028/03"
#>
param(
[Parameter(Mandatory = $true)]
[string]$CustomerName,
[Parameter(Mandatory = $false)]
[ValidateSet("EA", "CSP", "MACC", "")]
[string]$ContractType = "",
[Parameter(Mandatory = $false)]
[string]$ContractPeriod = "",
[Parameter(Mandatory = $false)]
[string]$KeyContacts = "",
[Parameter(Mandatory = $false)]
[string]$WorkspacePath = (Get-Location).Path
)
$ErrorActionPreference = "Stop"
# スキルのルートパスを取得
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$SkillRoot = Split-Path -Parent $ScriptDir
$AssetsPath = Join-Path $SkillRoot "assets"
$TemplatesPath = Join-Path $AssetsPath "_templates"
function Expand-TemplateContent {
param(
[Parameter(Mandatory = $true)]
[string]$TemplatePath
)
$content = Get-Content $TemplatePath -Raw
$content = $content -replace '\{\{CUSTOMER_NAME\}\}', $CustomerName
$content = $content -replace '\{\{CONTRACT_TYPE\}\}', $(if ($ContractType) { $ContractType } else { "未設定" })
$content = $content -replace '\{\{CONTRACT_PERIOD\}\}', $(if ($ContractPeriod) { $ContractPeriod } else { "未設定" })
$content = $content -replace '\{\{KEY_CONTACTS\}\}', $(if ($KeyContacts) { $KeyContacts } else { "" })
$content = $content -replace '\{\{YEAR\}\}', (Get-Date -Format "yyyy")
$content = $content -replace '\{\{YEAR_MONTH\}\}', (Get-Date -Format "yyyy-MM")
$content = $content -replace '\{\{START_DATE\}\}', (Get-Date -Format "yyyy-MM-dd")
$content = $content -replace '\{\{TODAY\}\}', (Get-Date -Format "yyyy-MM-dd")
return $content
}
Write-Host "🚀 顧客ワークスペース初期化を開始します..." -ForegroundColor Cyan
Write-Host " 顧客名: $CustomerName" -ForegroundColor Gray
Write-Host " ワークスペース: $WorkspacePath" -ForegroundColor Gray
# フォルダ構造の作成
$folders = @(
".github",
".github\prompts",
"_inbox",
"_questions",
"_customer",
"_templates"
)
foreach ($folder in $folders) {
$path = Join-Path $WorkspacePath $folder
if (-not (Test-Path $path)) {
New-Item -ItemType Directory -Path $path -Force | Out-Null
Write-Host " 📁 作成: $folder" -ForegroundColor Green
}
}
# 現在の年月を取得
$currentYearMonth = Get-Date -Format "yyyy-MM"
# copilot-instructions.md の処理
$copilotInstructionsPath = Join-Path $WorkspacePath ".github\copilot-instructions.md"
$copilotInstructionsAsset = Join-Path $AssetsPath "copilot-instructions.md"
if (Test-Path $copilotInstructionsPath) {
# 既存ファイルに追記
$existingContent = Get-Content $copilotInstructionsPath -Raw
$newContent = Get-Content $copilotInstructionsAsset -Raw
# 顧客情報を置換
$newContent = $newContent -replace '\{\{CUSTOMER_NAME\}\}', $CustomerName
$newContent = $newContent -replace '\{\{CONTRACT_TYPE\}\}', $(if ($ContractType) { $ContractType } else { "未設定" })
$newContent = $newContent -replace '\{\{CONTRACT_PERIOD\}\}', $(if ($ContractPeriod) { $ContractPeriod } else { "未設定" })
$newContent = $newContent -replace '\{\{KEY_CONTACTS\}\}', $(if ($KeyContacts) { $KeyContacts } else { "未設定" })
$combinedContent = $existingContent + "`n`n---`n`n" + $newContent
Set-Content -Path $copilotInstructionsPath -Value $combinedContent -Encoding UTF8
Write-Host " 📝 追記: .github/copilot-instructions.md" -ForegroundColor Yellow
} else {
# 新規作成
$content = Get-Content $copilotInstructionsAsset -Raw
$content = $content -replace '\{\{CUSTOMER_NAME\}\}', $CustomerName
$content = $content -replace '\{\{CONTRACT_TYPE\}\}', $(if ($ContractType) { $ContractType } else { "未設定" })
$content = $content -replace '\{\{CONTRACT_PERIOD\}\}', $(if ($ContractPeriod) { $ContractPeriod } else { "未設定" })
$content = $content -replace '\{\{KEY_CONTACTS\}\}', $(if ($KeyContacts) { $KeyContacts } else { "未設定" })
Set-Content -Path $copilotInstructionsPath -Value $content -Encoding UTF8
Write-Host " 📝 作成: .github/copilot-instructions.md" -ForegroundColor Green
}
# プロンプトファイルのコピー
$prompts = @("inbox.prompt.md", "convert-meeting-minutes.prompt.md", "extract-questions.prompt.md")
foreach ($prompt in $prompts) {
$src = Join-Path $AssetsPath $prompt
$dst = Join-Path $WorkspacePath ".github\prompts\$prompt"
if (Test-Path $src) {
Copy-Item $src $dst -Force
Write-Host " 📝 作成: .github/prompts/$prompt" -ForegroundColor Green
}
}
# テンプレートのコピー
$templates = @("meeting-minutes.md", "internal-memo.md", "customer-profile.md")
foreach ($template in $templates) {
$src = Join-Path $TemplatesPath $template
$dst = Join-Path $WorkspacePath "_templates\$template"
if (Test-Path $src) {
$content = Expand-TemplateContent -TemplatePath $src
Set-Content -Path $dst -Value $content -Encoding UTF8
Write-Host " 📝 作成: _templates/$template" -ForegroundColor Green
}
}
# ルートドキュメントの作成
$workspaceReadmePath = Join-Path $WorkspacePath "README.md"
if (-not (Test-Path $workspaceReadmePath)) {
$workspaceReadmeTemplate = Join-Path $TemplatesPath "workspace-readme.md"
if (Test-Path $workspaceReadmeTemplate) {
$content = Expand-TemplateContent -TemplatePath $workspaceReadmeTemplate
Set-Content -Path $workspaceReadmePath -Value $content -Encoding UTF8
Write-Host " 📝 作成: README.md" -ForegroundColor Green
}
}
$workspaceSummaryPath = Join-Path $WorkspacePath "workspace-summary.md"
if (-not (Test-Path $workspaceSummaryPath)) {
$workspaceSummaryTemplate = Join-Path $TemplatesPath "workspace-summary.md"
if (Test-Path $workspaceSummaryTemplate) {
$content = Expand-TemplateContent -TemplatePath $workspaceSummaryTemplate
Set-Content -Path $workspaceSummaryPath -Value $content -Encoding UTF8
Write-Host " 📝 作成: workspace-summary.md" -ForegroundColor Green
}
}
# インボックス初期ファイル作成
$inboxPath = Join-Path $WorkspacePath "_inbox\$currentYearMonth.md"
if (-not (Test-Path $inboxPath)) {
$inboxContent = @"
# $currentYearMonth インボックス
> 💡 ``/prompt inbox`` で追記。タグで検索可能。
---
"@
Set-Content -Path $inboxPath -Value $inboxContent -Encoding UTF8
Write-Host " 📝 作成: _inbox/$currentYearMonth.md" -ForegroundColor Green
}
# 質問一覧初期ファイル作成
$questionsPath = Join-Path $WorkspacePath "_questions\$currentYearMonth.md"
if (-not (Test-Path $questionsPath)) {
$questionsContent = @"
# $currentYearMonth 質問・アクション
> 💡 ``/prompt extract-questions`` で会議ログから抽出して追記。
---
"@
Set-Content -Path $questionsPath -Value $questionsContent -Encoding UTF8
Write-Host " 📝 作成: _questions/$currentYearMonth.md" -ForegroundColor Green
}
# 顧客プロファイル作成
$profilePath = Join-Path $WorkspacePath "_customer\profile.md"
if (-not (Test-Path $profilePath)) {
$profileTemplate = Join-Path $TemplatesPath "customer-profile.md"
if (Test-Path $profileTemplate) {
$content = Expand-TemplateContent -TemplatePath $profileTemplate
Set-Content -Path $profilePath -Value $content -Encoding UTF8
Write-Host " 📝 作成: _customer/profile.md" -ForegroundColor Green
}
}
Write-Host ""
Write-Host "✅ ワークスペースセットアップ完了!" -ForegroundColor Green
Write-Host ""
Write-Host "📁 作成されたファイル:" -ForegroundColor Cyan
Write-Host " - .github/copilot-instructions.md(自動判定ルール)"
Write-Host " - .github/prompts/inbox.prompt.md(インボックス)"
Write-Host " - .github/prompts/convert-meeting-minutes.prompt.md(議事録変換)"
Write-Host " - .github/prompts/extract-questions.prompt.md(質問抽出)"
Write-Host " - README.md(開始案内)"
Write-Host " - workspace-summary.md(引き継ぎサマリ)"
Write-Host " - _inbox/$currentYearMonth.md(インボックス)"
Write-Host " - _questions/$currentYearMonth.md(質問・アクション)"
Write-Host " - _customer/profile.md(顧客プロファイル)"
Write-Host " - _templates/(テンプレート)"
Write-Host ""
Write-Host "🎯 使い方:" -ForegroundColor Cyan
Write-Host " 1. 情報を貼るだけ → 自動でインボックスに蓄積"
Write-Host " 2. Teams AI議事録を貼る → 自動で議事録変換"
Write-Host " 3. /prompt inbox で明示的にインボックス追記"
Related skills
FAQ
How is pasted input routed?
By pattern: AI-generated notes and meeting memos go to meeting notes/questions, while From:/Date: text or short memos go to the inbox.
What if PowerShell is unavailable?
You manually create the same folders, copy prompt/template files from assets/, and create README.md and workspace-summary.md from the root templates.