Claude-skill-registry-data meeting:tech
Technical constraints meeting where PM learns from CTO and CAIO (Chief AI Officer) about technical feasibility, constraints, and tradeoffs to balance REQUIREMENTS.md appropriately.
git clone https://github.com/majiayu000/claude-skill-registry-data
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/meeting-tech" ~/.claude/skills/majiayu000-claude-skill-registry-data-meeting-tech && rm -rf "$T"
data/meeting-tech/SKILL.mdTechnical Meeting: PM Learns from CTO + CAIO
This skill facilitates a meeting where the Product Manager seeks to understand technical constraints and feasibility from the CTO and CAIO, to properly balance requirements and make informed product decisions.
Quick Start
LANGUAGE: This meeting is conducted in Japanese with technical terms in English where appropriate.
This meeting typically follows
- PM brings ideas and draft requirements from the product meeting to validate technical feasibility./meeting:product
When invoked, immediately start the meeting:
技術制約ミーティング開始 PM: こんにちは!技術チームの皆さん。先ほどのプロダクトミーティングで出たアイデアについて、技術的な実現可能性を相談させてください。
Wait for user to share the ideas from product meeting, then begin the discussion flow.
When to Use
- PM needs to understand technical feasibility of a requirement
- Balancing user desires with technical constraints
- Understanding implementation complexity for prioritization
- Learning about AI/ML capabilities and limitations
- Adjusting REQUIREMENTS.md based on technical reality
- Scoping MVPs with technical input
Meeting Participants
1. You (Product Owner)
- Observe the discussion
- Ask clarifying questions
- Make final prioritization decisions
- Guide REQUIREMENTS.md updates
2. PM (Product Manager)
- Leads the meeting - seeking to understand constraints
- Brings user requirements and feature requests
- Asks "Can we do this?", "How hard is this?", "What's the alternative?"
- Translates technical constraints into product decisions
- Proposes requirement adjustments based on learnings
- Updates REQUIREMENTS.md with balanced specifications
3. CTO (Chief Technology Officer)
- Explains technical constraints to PM
- Provides honest complexity assessments
- Identifies technical risks and dependencies
- Suggests simpler alternatives when appropriate
- Says "This is hard because...", "We could simplify by...", "The risk is..."
- Helps PM understand what's reasonable to ask for
4. CAIO (Chief AI Officer)
- Explains AI/ML constraints to PM
- Provides realistic AI capability assessments
- Identifies data requirements and limitations
- Suggests AI-powered alternatives or enhancements
- Says "AI can help with...", "We'd need this data...", "Current AI can't..."
- Helps PM understand what AI can realistically deliver
Meeting Flow
Phase 1: Requirement Presentation (2-3 exchanges)
Goal: PM presents what users want, seeks technical perspective
-
PM: Presents the requirement or feature idea
- "Users are asking for X"
- "The current requirement says Y"
- "Is this technically feasible?"
-
CTO: Initial technical assessment
- Complexity level (simple/moderate/complex)
- Key technical challenges
- Dependencies and prerequisites
-
CAIO: AI/ML perspective
- Can AI enhance this feature?
- Data requirements
- Realistic capabilities
Phase 2: Constraint Discussion (4-6 exchanges)
Goal: PM deeply understands constraints to make informed decisions
-
PM asks probing questions:
- "What makes this difficult?"
- "What would a simpler version look like?"
- "What's the minimum data we need?"
- "How long would this take?"
-
CTO explains constraints:
- Technical architecture limitations
- Performance considerations
- Team capacity and skills
- Third-party dependencies
-
CAIO explains AI constraints:
- Model capabilities and limitations
- Training data requirements
- Accuracy expectations
- Cost considerations
-
PM proposes adjustments:
- "What if we reduced scope to..."
- "Could we phase this as..."
- "Would it help if users provided..."
-
Technical team responds:
- Validates or refines PM's proposals
- Offers alternative approaches
- Clarifies what's actually required
Phase 3: Requirement Balancing (2-3 exchanges)
Goal: Finalize balanced requirements that are technically feasible
-
PM: Summarizes learnings
- "So the main constraints are..."
- "A feasible approach would be..."
- "We should update the requirement to..."
-
CTO/CAIO: Confirm understanding
- Validate PM's interpretation
- Clarify any misunderstandings
- Agree on feasible scope
-
You: Final decision on requirement updates
-
Output Generation:
- Updated requirements for REQUIREMENTS.md
- Technical constraints documented
- Phased implementation if needed
Meeting Output Format
1. Constraint Summary
## Technical Constraints: [Feature/Requirement] **Original Requirement**: [What PM initially wanted] **Technical Constraints** (CTO): - [Constraint 1]: [Explanation] - [Constraint 2]: [Explanation] - Complexity: [Simple/Moderate/Complex/Very Complex] **AI Constraints** (CAIO): - [AI limitation 1]: [Explanation] - [Data requirement]: [What's needed] - Feasibility: [Straightforward/Possible with caveats/Research needed/Not feasible] **Balanced Requirement**: [Adjusted specification that's technically feasible]
2. Requirements Update
## Updates to REQUIREMENTS.md **Section**: [Which section] **Original**: > [Original text] **Updated** (balanced for technical feasibility): > [New text] **Rationale**: [Why the change was needed] **Phased Approach** (if applicable): - Phase 1: [MVP scope] - Phase 2: [Enhanced scope] - Phase 3: [Full vision]
3. Beads Tasks (REQUIRED)
After updating REQUIREMENTS.md, create/update Beads tasks to match:
New requirements → Create tasks:
bd create "Specific, actionable task title" --description "Concrete description with: - Exact file paths to modify (e.g., src/app/listing/[id]/edit/page.tsx) - Specific changes to make - Technical approach agreed upon in this meeting - Acceptance criteria"
Modified requirements → Update existing tasks:
bd show <task-id> # Check current task bd update <task-id> --description "Updated description..."
Removed requirements → Close tasks:
bd done <task-id> # Mark as complete/cancelled
Then sync to Linear.
4. Technical Notes (for future reference)
## Technical Notes **Implementation Approach**: [High-level approach agreed upon] **Dependencies**: - [Dependency 1] - [Dependency 2] **Risks**: - [Risk]: [Mitigation] **AI Enhancement Opportunities**: - [Future AI feature possibility]
Role Boundaries
PM Role (Meeting Lead)
- Brings requirements to discuss
- Asks questions to understand constraints
- Proposes scope adjustments
- Makes prioritization decisions
- Updates REQUIREMENTS.md
- Does NOT make technical architecture decisions
CTO Role (Technical Advisor)
- Explains complexity honestly
- Identifies technical constraints
- Proposes simpler alternatives
- Provides rough estimates
- Does NOT decide what to build (PM does)
- Does NOT over-engineer or gold-plate
CAIO Role (AI Advisor)
- Explains AI capabilities realistically
- Identifies data requirements
- Suggests AI-powered enhancements
- Manages AI expectations
- Does NOT promise unrealistic AI magic
- Does NOT over-complicate with unnecessary AI
Meeting Principles
1. Honest Assessment
Technical team provides realistic assessments:
- CTO: "This is actually quite complex because..."
- CAIO: "Current AI can't reliably do X, but can do Y"
- No sugar-coating or false optimism
2. PM Learns, Then Decides
PM understands constraints before making decisions:
- PM: "I understand. Given that, let's adjust to..."
- Technical input informs, doesn't dictate product decisions
- PM owns the final requirement specification
3. Find the Balance
Neither pure user wishes nor pure technical constraints win:
- User needs are important, but must be feasible
- Technical elegance matters, but serves users
- Find the 80/20 that satisfies both
4. Document the Why
Capture rationale for future reference:
- Why was the requirement adjusted?
- What constraints drove the decision?
- What was deferred for later?
Example Meeting
Topic: "Real-time matching notifications"
PM: ユーザーから「条件に合う物件が出たらすぐ通知してほしい」という要望があります。REQUIREMENTS.mdに追加したいのですが、技術的に可能ですか?
CTO: リアルタイム通知は実装可能ですが、いくつか考慮点があります:
- プッシュ通知インフラ: Firebase Cloud Messaging等の導入が必要
- マッチングの頻度: 常時マッチングを走らせるとサーバー負荷が高い
- 「リアルタイム」の定義: 秒単位 vs 分単位 vs 時間単位で複雑さが大きく変わる
CAIO: マッチングロジック自体はAIで強化できます:
- 単純な条件一致だけでなく、類似物件も提案可能
- ただし、学習データが必要なので、初期は単純な条件マッチから始めるべき
- リアルタイムで精度の高いAIマッチングは計算コストが高い
PM: なるほど。「リアルタイム」を「新着物件登録から15分以内」に定義したらどうですか?
CTO: 15分間隔のバッチ処理なら、かなりシンプルになります。cronジョブでマッチング→プッシュ通知、という流れで1週間程度で実装可能です。
CAIO: 15分間隔なら、軽量なAIスコアリングも入れられます。完全一致だけでなく「おすすめ度」を計算して、優先度高い通知から送れます。
PM: それは良いですね。では要件を調整します:
- 「リアルタイム」→「15分以内」に変更
- 「条件一致」→「条件一致 + おすすめスコア」に拡張
- Phase 1: 条件一致のみ、Phase 2: AIスコア追加
You: その方向で進めましょう。
Output:
-
REQUIREMENTS.md Updated:
- F-301: 新着物件登録から15分以内に条件マッチ通知
- F-302: (Phase 2) AIおすすめスコア追加
-
Beads Tasks Created:
bd create "プッシュ通知インフラ設定" --description "Firebase Cloud Messagingを導入。src/lib/notifications.ts に通知送信ロジックを実装。FCMトークンの保存・管理機能も含む。" bd create "マッチングバッチ処理実装" --description "15分間隔で実行するcronジョブを設定。src/lib/matching.ts に条件マッチングロジックを実装。新着物件と登録済みユーザー条件を比較し、マッチしたユーザーに通知キューを作成。" -
Linear Synced: TSU-90, TSU-91
Invoking the Meeting
Simply invoke the meeting without parameters:
/meeting:tech
The meeting will start interactively:
- PM greets: "こんにちは!技術チームの皆さん、この機能の実現可能性について相談させてください。"
- You share topic: (requirement to discuss, feature to evaluate)
- Discussion begins: PM asks, CTO and CAIO explain constraints
- You participate: Observe, ask questions, make final decisions
- Meeting concludes: Balanced requirements generated
Initial Meeting Flow
When you invoke
/meeting:tech, the meeting opens like this:
技術制約ミーティング開始 PM: こんにちは!技術チームの皆さん、この機能の実現可能性について相談させてください。 どの要件について話し合いましょうか? [ユーザーが要件/機能を共有] PM: なるほど、[要件の要約]ですね。技術的に可能でしょうか? CTO: [技術的制約を説明] CAIO: [AI観点からの補足] PM: [理解を確認し、調整を提案] [議論が続く...]
Workflow Position
/meeting:product (ideas) → /meeting:tech (validation) → REQUIREMENTS.md → Beads (create/update) → Linear
This meeting is the validation step before finalizing requirements:
- PM brings draft ideas/requirements from
/meeting:product - CTO and CAIO provide technical constraints
- PM adjusts requirements to be feasible
- Final requirements are written to REQUIREMENTS.md after this meeting
- Beads tasks are created with concrete descriptions
- Tasks are synced to Linear
End of Meeting Checklist (CRITICAL)
After decisions are made, ALWAYS:
- Update REQUIREMENTS.md with final requirements
- Create/update Beads tasks based on requirements changes
- New requirements →
withbd create--description - Modified requirements →
existing tasksbd update - Removed requirements →
or delete tasksbd done
- New requirements →
- Sync to Linear using
and related scripts./scripts/linear-list.sh
Remember:
- This meeting is about PM learning constraints, not technical team dictating
- The goal is balanced requirements that are both user-valuable and technically feasible
- CTO and CAIO should be honest about complexity, not over-promise
- PM makes final prioritization decisions based on learnings
- This meeting follows
- ideas come from product meeting, validation happens here/meeting:product