📖 Context Slice

Project Thread Detection

Strategies for identifying and connecting project-related communications across platforms

Methods for discovering projects and linking related communications.

Project Identification Strategies

Keyword Clustering:

  • Extract frequent noun phrases from calendar events
  • Find recurring terms in email subjects
  • Identify Slack channel names and topics
  • Group by co-occurrence (terms appearing together)

Common Patterns:

  • Project code names (alpha, beta, launch-2025)
  • Feature names (new-dashboard, api-v2)
  • Client/customer names
  • Initiative names (redesign, migration, optimization)

Signal Strength:

  • Calendar event title: High signal
  • Email subject: Medium-high signal
  • Slack channel name: High signal
  • Message content: Lower signal (noisy)

Cross-Platform Mapping

Calendar → Project:

  • Event title contains project keyword
  • Recurring meetings suggest ongoing project
  • Attendee overlap indicates project team

Email → Project:

  • Subject line keywords
  • Thread participants (team members)
  • Date ranges align with project timeline
  • Attachment names/types

Slack → Project:

  • Channel name matches project
  • Channel purpose/topic mentions project
  • Message keywords and frequency
  • Pinned messages with project info

Thread Association Rules

Strong Association (confidence >80%):

  • Exact keyword match in title/subject
  • Same participant set (>70% overlap)
  • Temporal clustering (same week)
  • Direct reference to other threads

Moderate Association (confidence 50-80%):

  • Partial keyword match
  • Some participant overlap (40-70%)
  • Related time period (same month)
  • Similar topics/tags

Weak Association (confidence 20-50%):

  • Fuzzy keyword similarity
  • Minimal participant overlap
  • Loose temporal connection
  • Suggested by user or context

Project Metadata Extraction

Timeline Construction:

project_timeline:

start_date: earliest event/message date
last_activity: most recent event/message
duration_days: calculated
activity_frequency: messages per week
phases: detected from calendar/keywords

Team Identification:

team_members:
  • name: Person A

role: inferred from messages/title
participation: message count

  • name: Person B

# ...

Status Inference:

  • Active: Recent activity (<7 days)
  • In Progress: Activity within 30 days
  • Completed: No activity >60 days + completion keywords
  • Paused: Gap in activity >30 days then resumed

Completion Keywords: "done", "completed", "shipped", "launched", "closed", "final"

Project Directory Structure

projects/

[project-slug]/
README.md # Project overview and status
timeline.md # Chronological activity
team.md # Team members and roles
links.md # References to emails/slack/calendar
notes.md # User notes and context

README.md Template:

---

project: Project Name
status: active|paused|completed
start_date: YYYY-MM-DD
last_activity: YYYY-MM-DD
team_size: 5
platforms: [calendar, gmail, slack]
keywords: [keyword1, keyword2]
---

Overview

Brief description inferred from context

Recent Activity

  • Latest calendar event
  • Latest email thread
  • Latest slack discussion

Key Milestones

Detected from calendar and messages

Next Steps

Inferred from recent communications

Grouping Heuristics

Participant-Based:

  • Messages with same 3+ participants likely related
  • Calendar invites with overlapping attendees
  • Slack threads in project-specific channels

Temporal-Based:

  • Activity bursts indicate project phases
  • Regular cadence (weekly standups) = active project
  • Long gaps = project transitions or pauses

Keyword-Based:

  • Co-occurring terms across platforms
  • Consistent terminology usage
  • Related technical terms or jargon

Auto-Detection vs User Input

Auto-Detect When:

  • Strong keyword signals across 2+ platforms
  • Clear participant clustering
  • Obvious calendar event patterns
  • Confidence score >70%

Prompt User When:

  • Ambiguous groupings (confidence 50-70%)
  • Multiple possible project names
  • Overlapping teams (could be 2 projects)
  • User can provide context/names

Output Format

links.md Structure:

# Project Links

Calendar Events

Email Threads

Slack Discussions

Maintenance Strategy

Incremental Updates:

  • Add new threads to existing projects
  • Update last_activity dates
  • Append to timeline
  • Preserve manual edits to README

Archival:

  • Move completed projects to archive/
  • Keep metadata but trim old links
  • Maintain searchable index