Project Search Skill
When to use this Skill
Activate when the user:
-
Asks to find or locate project content
-
Uses keywords: "find", "search", "where is", "locate", "show me"
-
Asks questions about project history or decisions
-
Needs to find meetings, sprints, or documentation
-
Wants to search by person, date, topic, or milestone
-
References specific content they can't locate
Workflow
Phase 1: Query Analysis
Objective: Understand what the user is searching for and determine search strategy.
Steps:
Parse search query from user message:
-
Extract search terms
-
Identify search type (content, person, date, milestone, etc.)
-
Detect filters (date range, file type, status)
Categorize search intent:
-
Content search: "Find decisions about database"
-
Person search: "What has @alice worked on"
-
Date search: "Meetings from last week"
-
Milestone search: "What's in beta release milestone"
-
Sprint search: "Show sprint 5 stories"
-
Topic search: "Anything about authentication"
-
Status search: "Show blocked items"
Extract search parameters:
-
Keywords: Main search terms
-
Person: @mentions or names
-
Date range: "last week", "Q1", "after Jan 1", specific dates
-
Content type: meetings, sprints, docs, decisions, all
-
Status: completed, in-progress, blocked, planned
-
Milestone/Sprint: Specific milestone or sprint number
Determine search scope:
-
Project root only
-
Specific subdirectory (meetings/, sprints/, etc.)
-
Across entire workspace
Example Analysis:
User: "Find all meetings where we discussed the API design"
Parsed:
- Intent: Content search
- Keywords: ["API design"]
- Content type: meetings
- Date range: all time
- Search scope: meetings/
Strategy: README index → Content search in meetings/
Phase 2: Strategy Selection
Objective: Choose optimal search strategy based on query type.
Search strategies (in order of preference):
Strategy 1: README.md Index Search (Fastest)
Use when:
-
Searching by file name, title, or general topic
-
Need list of files in category
-
Recent content (README indexes are up-to-date)
Process:
-
Read appropriate README.md file:
-
meetings/README.md for meeting search
-
sprints/README.md for sprint search
-
Project README.md for overview
-
Parse index entries
-
Filter by search criteria
-
Return matching entries with descriptions
Example:
Search: "Find sprint 5" → Read sprints/README.md → Find entry: "Sprint 5: Authentication Features" → Return: sprints/sprint-05/sprint-plan.md
Strategy 2: YAML/Structured Data Search (Fast)
Use when:
-
Searching milestones (milestones.yaml)
-
Searching by metadata (dates, owners, status)
-
Need exact matches on structured fields
Process:
-
Read relevant YAML file (milestones.yaml)
-
Parse structure
-
Filter by criteria
-
Return matching entries
Example:
Search: "Show milestones owned by @alice" → Read milestones.yaml → Filter: owner == "@alice" → Return: List of alice's milestones
Strategy 3: Pattern Matching (Fast)
Use when:
-
Searching by filename patterns
-
Date-based filename search
-
Type-based search (all *.md in sprints/)
Process:
-
Use Glob tool with pattern:
-
meetings/**/2025-11.md for November meetings
-
sprints/*/sprint-plan.md for all sprint plans
-
docs/**/*.md for all documentation
-
Filter results by additional criteria
-
Return matching files
Example:
Search: "Meetings from November" → Glob: meetings/**/2025-11.md → Return: List of November meeting files
Strategy 4: Full-Text Content Search (Slower)
Use when:
-
Searching for specific terms in content
-
Need to find mentions of topics, names, or concepts
-
Other strategies insufficient
Process:
-
Use Grep tool with search terms
-
Specify scope (meetings/, sprints/, all project)
-
Extract context around matches
-
Rank results by relevance
-
Return matches with snippets
Example:
Search: "Find discussions about OAuth implementation" → Grep: pattern="OAuth" path=meetings/ → Find matches in 3 meeting files → Return: Files with context snippets
Strategy 5: Cross-Reference Search (Comprehensive)
Use when:
-
Need to find all related content
-
Following links and references
-
Building complete picture
Process:
-
Start with initial search (using above strategies)
-
Read found documents
-
Extract cross-references (links, mentions, related items)
-
Follow links recursively (limited depth)
-
Build relationship map
-
Return full result set with connections
Example:
Search: "Everything about beta release milestone" → Find milestone in milestones.yaml → Follow related_sprints links → Find meetings mentioning beta release → Find docs created for beta → Return: Complete set with relationships
Phase 3: Execute Search
Objective: Run selected search strategy and gather results.
Steps:
Execute primary search strategy
Collect results:
-
File paths
-
Titles/descriptions
-
Relevant metadata (dates, owners, status)
-
Content snippets (for full-text search)
Apply filters:
-
Date range filter
-
Person filter (@mentions)
-
Status filter
-
Content type filter
Check governance (if applicable):
-
Read RULE.md for access restrictions
-
Filter out restricted content
Rank results by:
-
Relevance: Match quality to query
-
Recency: Newer content ranked higher
-
Location: Closer to project root ranked higher
-
Completeness: Fully completed items vs drafts
If no results from primary strategy:
-
Fall back to next strategy
-
Broaden search criteria
-
Suggest related searches
Phase 4: Format and Present Results
Objective: Present search results in clear, actionable format.
Steps:
Group results by category:
-
Meetings
-
Sprints/Iterations
-
Milestones
-
Documentation
-
Decisions
Format result entries:
📄 [Category] Title Path: path/to/file.md Date: YYYY-MM-DD [Relevant metadata: Owner, Status, etc.] [If content search: Context snippet with highlights]
Include result count and search details:
🔍 Search Results for "{query}"
Found {count} results in {categories} Search scope: {scope} Filters applied: {filters if any}
Present results:
Format:
🔍 Search Results: "{query}"
Found {total} results across {categories}
📋 Meetings ({count})
-
2025-11-13: Sprint 5 Planning "Discussed API design for authentication endpoints..."
-
2025-11-06: Architecture Review "@alice presented OAuth 2.0 implementation options..."
🏃 Sprints ({count})
- Sprint 5: Authentication Features Status: Active | Stories: 8 | Owner: @bob
🎯 Milestones ({count})
- Beta Release Target: 2025-03-31 | Status: In Progress | Progress: 75%
📚 Documentation ({count})
- API Design Document Owner: @alice | Updated: 2025-11-10
🔗 Cross-References ({count}) [If cross-reference search performed]
-
Sprint 5 → Beta Release Milestone
-
API Design Doc → Sprint 5 Stories
-
Sprint Planning → Architecture Review Meeting
Offer refinement options:
💡 Refine your search:
-
"Show only completed"
-
"Find from last month"
-
"Search only in sprints"
-
"Show details for [specific result]"
If too many results:
ℹ️ Showing top {limit} results. {remaining} more found.
Narrow your search:
-
Add date range: "from last week"
-
Specify type: "only meetings"
-
Add filters: "owned by @name"
If no results:
🔍 No results found for "{query}"
Suggestions:
- Check spelling
- Try broader terms
- Search related terms: "{suggestions}"
- Search in different location
Recent content: [Show recently added/updated files as alternatives]
Phase 5: Detailed View (Optional)
Objective: If user wants details on specific result, provide full context.
Steps:
If user selects specific result:
User: "Show me the sprint 5 details"
Read full document:
Read sprints/sprint-05/sprint-plan.md
Present complete information:
📄 Sprint 5: Authentication Features
Status: Active (Day 8 of 14) Goal: Complete user authentication and profile management Dates: 2025-11-01 to 2025-11-14
Progress:
- Completed: 3/8 stories (18/45 points) - 40%
- In Progress: 2 stories
- Blocked: 1 story (OAuth config)
Team:
- @alice: 2 stories
- @bob: 3 stories
- @carol: 2 stories
- @david: 1 story
Related:
- Milestone: Beta Release (contributes to)
- Meetings: Sprint 5 Planning, Daily Standups
- Docs: Auth Design
📄 Full document: sprints/sprint-05/sprint-plan.md
💡 Actions:
- "Update sprint 5 progress"
- "Show sprint 5 meetings"
- "Mark story complete in sprint 5"
Special Cases
Case 1: Person-specific search
User: "What has @alice been working on?"
Process:
- Search all content for @alice mentions
- Filter by recency (last sprint/month)
- Categorize:
- Assigned stories/tasks
- Meeting attendances
- Owned milestones
- Created documents
Result: 📊 @alice's Recent Activity
Current Work (Sprint 5):
- Story: OAuth Integration (8sp) - In Progress
- Story: Profile Edit Page (3sp) - Completed ✅
Meetings (Last 2 weeks):
- Sprint 5 Planning (2025-11-01)
- Architecture Review (2025-11-06)
- Daily Standups (10 attendances)
Milestones:
- Owner: Security Audit (Target: 2025-03-20)
Documents:
- Created: API Design Doc (2025-11-10)
- Updated: Auth Spec (2025-11-08)
Case 2: Timeline/Date-based search
User: "What happened in the project last week?"
Process:
- Calculate date range (last week)
- Search all content within range
- Sort chronologically
- Group by day
Result: 📅 Project Activity: Nov 6 - Nov 13, 2025
Monday, Nov 6
- Meeting: Sprint 4 Retrospective
- Sprint 4 completed (38/40 points)
- Milestone updated: Beta Release (60% → 75%)
Tuesday, Nov 7
- Sprint 5 started
- Stories assigned to team
Wednesday, Nov 8
- Daily standup recorded
- Decision: Use PostgreSQL for auth
[Continue for each day]
📊 Week Summary:
- Meetings: 8
- Stories completed: 5
- Documents updated: 3
- Milestones progressed: 1
Case 3: Topic/Theme search
User: "Find everything about database decisions"
Process:
- Full-text search for "database"
- Focus on decisions/ directory
- Also search meetings and docs
- Cross-reference related content
Result: 🔍 Search: "database"
📋 Decisions (3):
-
001: Database Selection PostgreSQL chosen for auth system (2025-10-15)
-
005: Caching Strategy Redis for session caching (2025-10-20)
-
012: Migration Approach Flyway for schema versioning (2025-11-01)
📋 Meetings discussing database (4):
- Architecture Review (2025-10-15)
- Sprint 3 Planning (2025-10-16)
- Tech Spike Results (2025-10-19)
- Database Design Session (2025-10-22)
📚 Related Documentation (2):
- Database Schema (docs/database-schema.md)
- Migration Guide (docs/migration-guide.md)
🏃 Related Sprints:
- Sprint 3: Database setup and migration
🔗 Cross-references: All database decisions link to Sprint 3 and Beta Release milestone
Case 4: Status-based search
User: "Show me all blocked items"
Process:
- Search sprints for status: blocked
- Search milestones for status: delayed
- Search meetings for blocker discussions
Result: ⚠️ Blocked Items
🏃 Sprints:
- Sprint 5, Story: OAuth Integration Blocked: Waiting for third-party API credentials Owner: @alice Blocked since: 2025-11-10
📋 Meetings mentioning blockers:
- Daily Standup (2025-11-10)
- Daily Standup (2025-11-11)
- Daily Standup (2025-11-13)
💡 Action needed:
- @alice: Follow up on API credentials
- Consider workaround or mock implementation
Error Handling
Error: No RULE.md found
⚠️ No RULE.md found.
Search will proceed with default project structure.
Note: For best results, initialize project governance: "Initialize project"
Proceed with search using standard directories.
Error: No results found
🔍 No results found for "{query}"
Checked:
- ✓ Meetings
- ✓ Sprints
- ✓ Milestones
- ✓ Documentation
- ✓ Decisions
Suggestions:
- Check spelling: "{query}"
- Try broader terms
- Try related searches:
- "{suggestion 1}"
- "{suggestion 2}"
📋 Recent project activity: [Show last 5 updates as alternatives]
Error: Search too broad
ℹ️ Your search "{query}" returned {count} results.
This may be too many to review effectively.
Suggestions to narrow:
- Add date range: "from last month"
- Specify type: "only in meetings"
- Add person filter: "by @name"
- Add status: "completed only"
Or continue with: "Show top 10 results"
Error: Invalid date range
⚠️ Could not parse date: "{date_input}"
Supported formats:
- Specific: "2025-11-13" or "November 13, 2025"
- Relative: "last week", "last month", "yesterday"
- Range: "from Nov 1 to Nov 15"
- Quarter: "Q1", "Q2 2025"
Please rephrase your date filter.
Integration with Other Skills
With AkashicRecords search-content
Both Skills can search same project:
-
AkashicRecords: Knowledge base, articles, general content
-
ProjectMaster: Project-specific content (meetings, sprints, milestones)
If both exist, search both and merge results.
With track-meeting Skill
Found meetings can be:
-
Viewed in detail
-
Updated
-
Linked to other content
With manage-sprint Skill
Found sprints can be:
-
Updated with progress
-
Viewed in detail
-
Cross-referenced with milestones
With track-milestone Skill
Found milestones can be:
-
Updated with status
-
Viewed with full dependencies
-
Linked to contributing sprints
Best Practices
- Start with README indexes
Fastest search method. Always try first.
- Use specific search terms
Specific terms yield better results than generic ones.
- Add filters to narrow results
Date ranges, content types, and person filters improve relevance.
- Follow cross-references
Related content often provides fuller picture.
- Search by person for team insights
Find what specific team members are working on or have created.
- Use date-based search for retrospectives
"What did we do last sprint?" captures recent history.
- Search by milestone for big picture
See all content contributing to major goals.
- Combine search strategies
If one strategy fails, automatically try next.
Notes
-
Multi-strategy search ensures comprehensive results.
-
README index search is fast and accurate for well-maintained projects.
-
Full-text search is powerful but slower - use as fallback.
-
Cross-reference search builds complete context around topics.
-
Search results link to Skills that can act on found content.
-
Person-based and date-based searches provide valuable team insights.
Effective search transforms project content into accessible knowledge. This Skill makes finding information fast and intuitive.