AgentSkillsCN

routing-initiatives

主动将会议议题路由至对应的项目CLAUDE.md文件。 动态发现项目,按置信度匹配议题,处理未匹配的内容。 结合“分析会议”与“总结会议”的技能,高效运作。

SKILL.md
--- frontmatter
name: routing-initiatives
description: |
  PROACTIVELY used for routing meeting items to initiative CLAUDE.md files.
  Discovers initiatives dynamically, matches items by confidence, handles unmatched content.
  Works with analyzing-meetings and summarizing-meetings skills.

Routing Initiatives Skill

Purpose

Route meeting items to appropriate initiative CLAUDE.md files:

  1. Discover initiatives dynamically from Initiatives/ folder
  2. Match items using keyword and semantic scoring
  3. Handle unmatched content with user prompts (one at a time)

For product-specific context, see CLAUDE.local.md.


Initiative Discovery Protocol

Step 1: Scan Initiatives Folder

CRITICAL: Never hardcode initiative names. Always discover dynamically.

code
1. List all subdirectories in /Initiatives/
2. For each subdirectory:
   a. Check if CLAUDE.md exists
   b. If yes, read and parse the file
   c. Extract keywords and context for matching
3. Build initiative registry with:
   - Initiative name (folder name)
   - Core objective (from CLAUDE.md)
   - Key terms (extracted from all sections)
   - Status (Active/Paused/Completed)

Step 2: Extract Keywords

From each initiative's CLAUDE.md, extract:

SectionWhat to Extract
Core ObjectiveMain nouns, verbs, product names
Key DecisionsDecision topics, technical terms
DocumentsDocument names, feature names
StakeholdersTeam names, product areas
Open QuestionsProblem domains, blockers

Step 3: Build Matching Index

code
Initiative: "[initiative-name]"
Keywords: [relevant terms extracted]
Core Theme: "[one-line description]"
Status: Active

Matching Framework

Confidence Levels

LevelThresholdAction
High>= 0.8Auto-route to initiative
Medium0.6 - 0.8Route with [Review] flag
Low0.4 - 0.6Flag as potential, ask user
None< 0.4Mark as unmatched

Matching Algorithm

For each meeting item:

  1. Keyword Match Score (0-0.5):

    • Count keyword overlaps with initiative keywords
    • Weight Core Objective keywords 2x
    • Normalize by total keywords
  2. Semantic Match Score (0-0.5):

    • Compare item theme to initiative Core Objective
    • Consider context (what problem is being solved?)
    • Factor in stakeholder mentions
  3. Combined Score: Keyword + Semantic

Multi-Initiative Matching

Items CAN match multiple initiatives if:

  • Score >= threshold for multiple initiatives
  • Item explicitly mentions multiple workstreams
  • Action item affects multiple teams

Item Segmentation

Extract discrete items from meeting content:

Item TypeHow to Identify
Decision"We decided...", "Let's go with...", "The approach is..."
Action Item"I'll...", "Can you...", "[Name] will...", "TODO:"
Discussion PointTopic shifts, extended back-and-forth
Blocker"We can't proceed...", "Waiting on...", "Blocked by..."
Open Question"We need to figure out...", "TBD:", "?"
Status Update"Update on...", "Progress:", metrics discussion

Routing Protocol

Step 1: Match Each Item

code
For each item:
  1. Run matching algorithm
  2. If High confidence (>= 0.8) → Route to initiative
  3. If Medium confidence (0.6-0.8) → Route with [Review] flag
  4. If Low confidence (0.4-0.6) → Add to potential matches
  5. If No match (< 0.4) → Add to unmatched list

Step 2: Handle Multi-Initiative Items

If item matches multiple initiatives:

  1. Route to ALL matching initiatives
  2. Note cross-initiative dependency
  3. Flag in both initiative summaries

Unmatched Content Handling

Sequential Questioning Protocol

CRITICAL: Ask ONE question at a time. Do not overwhelm the user.

Step 1: Announce count

code
I found [N] items that don't clearly match any existing initiative.
Let me walk through each one with you.

Step 2: Present FIRST item only

code
**Item 1 of [N]**: [Brief summary]

**Type**: [Decision/Action/Discussion/Blocker/Question]
**Content**: [Full item - 1-2 sentences]
**Context**: [Why this came up]
**Potential match**: [Initiative] (low confidence) OR "No matching initiative"

What would you like to do?
a) Assign to [initiative 1]
b) Assign to [initiative 2]
c) Create a new initiative
d) Leave in temp folder
e) Discard (not relevant)

Step 3: Wait for response before continuing

Step 4: Proceed to next item

code
Got it - [acknowledge choice].
**Item 2 of [N]**: [Next summary]...

New Initiative Creation (Guided)

If user chooses to create new initiative:

Step 1: "What should this initiative be called? (Suggested: '[name]')" → Wait for response

Step 2: "In one sentence, what's the core objective?" → Wait for response

Step 3: Create folder, generate CLAUDE.md, route item, confirm


Example Input

code
Items to route:
1. Decision: "Use React for dashboard migration"
2. Action: "Update API documentation before launch"
3. Discussion: "Potential partnership with external vendor"

Example Output

markdown
## Routing Results

### High Confidence Routes
- **Decision: React migration** → frontend-modernization (0.92)

### Medium Confidence Routes  
- **Action: API documentation** → api-platform (0.71) [Review]

### Unmatched Items
1 item requires user input:

**Item 1 of 1**: Partnership discussion
**Type**: Discussion Point
**Content**: Potential collaboration with external vendor
**Potential match**: No matching initiative

What would you like to do?
a) Assign to frontend-modernization
b) Assign to api-platform
c) Create a new initiative
d) Leave in temp folder
e) Discard

Quality Gates

  • Initiatives discovered dynamically (not hardcoded)
  • Each item categorized by type
  • Matching algorithm applied consistently
  • Multi-initiative items flagged
  • Confidence levels logged
  • Unmatched items presented one at a time

Anti-Patterns

  • ❌ Hardcoding initiative names
  • ❌ Force-matching items to initiatives
  • ❌ Auto-routing low-confidence matches
  • ❌ Presenting all unmatched items at once
  • ❌ Proceeding before user responds
  • ✅ Always scan Initiatives/ folder fresh
  • ✅ Ask ONE question at a time
  • ✅ Wait for explicit confirmation

Success Criteria

  1. All initiatives discovered dynamically
  2. Items routed with appropriate confidence
  3. Multi-initiative dependencies flagged
  4. Unmatched items handled with user input
  5. Ready for summarizing-meetings skill