ezCater Research Methodology
Investigate ezCater codebases, architectural decisions, and project histories using multiple data sources including Glean, Atlassian (Jira/Confluence), GitHub, and Git.
Overview
ezCater research requires synthesizing information from multiple internal sources. This skill provides proven methodologies for:
- •Finding why architectural decisions were made
- •Understanding code evolution over time
- •Discovering historical context for current implementations
- •Researching multi-system interactions and workflows
When to use this skill vs deep research agent:
- •Use this skill: Straightforward investigations, specific PR/ticket lookups, single-source searches
- •Use deep research agent: Complex multi-source synthesis, historical timelines, architectural decision investigations requiring extensive context
CRITICAL: Access Requirements
Cannot access resources directly. Must use appropriate tools:
Google Docs / Google Drive
- •❌ CANNOT access Google Docs URLs directly
- •✅ MUST use Glean MCP tools (
mcp__glean__company_search,mcp__glean__chat) - •Glean indexes Google Docs and retrieves content
Atlassian (Jira / Confluence)
- •❌ CANNOT access ezcater.atlassian.net URLs directly
- •✅ MUST use
atlCLI for all Jira and Confluence access - •Commands:
atl jira issue view FX-123,atl confluence search "keywords"
GitHub
- •✅ Use
ghCLI for PR/issue searches - •✅ Use git commands for repository analysis
- •✅ Use Read tool for files in checked out repositories
Research Strategy by Question Type
Architectural Decisions
"Why was X chosen over Y?"
- •Search Glean for design docs, RFCs, ADRs using keywords like:
- •"[feature] decision", "[component] architecture", "why [technology]"
- •Find epics/tickets using
atl jira search "project = <PROJECT> AND text ~ 'keywords'" - •Locate PRs with
gh pr list --search "keywords" --repo owner/repo - •Review git history for implementation context using
git log --grep="pattern"
See references/glean-search-guide.md for detailed Glean querying strategies.
See examples/architectural-decision.md for a complete walkthrough.
Code Evolution
"How did feature X evolve over time?"
- •Trace file history with
git log --follow -p -- <file> - •Find related PRs using
gh pr list --search "feature-name" - •Search Glean for discussions using feature name keywords
- •Check Jira for feature requests:
atl jira search "project = FX AND summary ~ 'feature'"
See references/github-git-analysis.md for git history techniques.
See examples/code-evolution.md for a complete example.
Process Understanding
"How do I get an order to state X?" or "What triggers workflow Y?"
- •Search Glean for process documentation using keywords like "order lifecycle", "state machine"
- •Find relevant code using Grep for state transitions, workflow definitions
- •Check Confluence using
atl confluence search "order process"for diagrams and specs - •Locate test fixtures that demonstrate the process
See references/atlassian-cli-guide.md for atl CLI patterns.
See examples/process-understanding.md for a workflow investigation example.
Multi-System Interactions
"How does system A interact with system B?"
- •Search Glean for integration documentation
- •Find API contracts in code using Grep for client/service definitions
- •Check Confluence for architecture diagrams:
atl confluence search "architecture" - •Review recent PRs affecting both systems using
gh pr list --search "systemA systemB"
Tool Usage Patterns
Glean Search
Use Glean MCP for internal information:
Query: "order management migration decision" Datasources: ["confluence", "slack", "gdrive"]
Effective queries:
- •Be specific: "feature flag eppo provider" not just "feature flags"
- •Include context: "liberty authentication refactor" not just "authentication"
- •Try variations: "DM rails seeders", "delivery management backfills"
See references/glean-search-guide.md for complete search strategies.
Atlassian CLI
Search Jira tickets:
atl jira search "project = FX AND text ~ 'delivery tracking'" atl jira issue view FX-4623
Search Confluence:
atl confluence search "order state machine" atl confluence page view 12345678
See references/atlassian-cli-guide.md for full command reference and examples.
GitHub CLI
Search PRs:
gh pr list --repo ezcater/ez-rails --search "authentication" --limit 20 gh pr view 1234 --repo ezcater/ez-rails --json title,body,comments
Search issues:
gh issue list --repo ezcater/delivery-management-rails --search "seeder"
Git History
File evolution:
git log --follow -p -- path/to/file.rb git blame path/to/file.rb
Commit searches:
git log --grep="feature flag" git log --all --grep="migration"
See references/github-git-analysis.md for advanced git techniques.
Information Synthesis
After gathering information from multiple sources:
- •Create timeline - Order findings chronologically to show evolution
- •Identify stakeholders - Note who made decisions and why
- •Understand business context - Connect technical decisions to business needs
- •Recognize trade-offs - Explain what was gained and what was sacrificed
- •Cross-reference sources - Confirm findings across Glean, Jira, GitHub, git
See references/synthesis-reporting.md for detailed synthesis techniques.
Response Format
Structure research findings clearly:
Executive Summary: Direct answer (2-3 sentences)
Key Findings:
- •Finding 1 with evidence
- •Finding 2 with evidence
- •Finding 3 with evidence
Historical Context (if relevant):
- •Timeline of decisions and changes
- •Stakeholders involved
- •Business drivers
References:
- •Jira: FX-1234
- •PR: ezcater/ez-rails#5678
- •Commit: abc123def
- •Confluence: Title
Quality Standards
- •Be specific: Include ticket numbers, PR links, commit SHAs, dates
- •Cite sources: Always reference where information was found
- •Acknowledge gaps: State explicitly what couldn't be found
- •Distinguish facts from speculation: Make clear what's confirmed vs. inferred
- •Anticipate follow-ups: Address obvious related questions
Common Research Scenarios
Finding Original Implementation
- •Use
gh pr list --search "initial [feature]"to find first PR - •Check PR description for original requirements
- •Find linked Jira ticket for business context
- •Review commit messages for implementation decisions
Understanding Recent Changes
- •Use
git log --since="1 month ago" --grep="[feature]" - •Check recent PRs with
gh pr list --search "is:merged [feature]" - •Search Glean for Slack discussions in recent timeframe
- •Check Jira for recent bugs or improvements
Investigating Production Issues
- •Search Jira for related tickets:
atl jira search "project = FX AND text ~ 'error'" - •Find relevant code with Grep
- •Check git blame for recent changes
- •Search Glean for related incidents or postmortems
Special Considerations
EngPortal Documentation
EngPortal content comes from GitHub files:
- •URL:
https://engportal.ezcater.com/docs/.../component/repo-name/path - •Source:
https://github.com/ezcater/repo-name/blob/main/path.md
Access via:
- •Read file directly if repo checked out under
/Users/doughughes/code/ezcater - •Ask Glean for engportal content
- •Use
ghCLI to read from GitHub
Checked Out Repositories
If repository exists under /Users/doughughes/code/ezcater:
- •Read files directly with Read tool
- •Run git commands in repository directory
- •Use grep/glob for code searches
Multiple Projects
ezCater has many interconnected projects:
- •ez-rails: Main monolith
- •delivery-management-rails: Delivery tracking
- •omnichannel-rails: Multi-channel features
- •liberty: Mobile app backend
When researching cross-project features, check all relevant repositories.
Additional Resources
Reference Files
For detailed techniques and patterns, consult:
- •
references/glean-search-guide.md- Glean search strategies and datasource selection - •
references/atlassian-cli-guide.md- Complete atl CLI command reference - •
references/github-git-analysis.md- Advanced gh CLI and git history techniques - •
references/synthesis-reporting.md- Connecting dots and reporting findings
Example Files
Working examples of research investigations in examples/:
- •
examples/architectural-decision.md- Researching why a technology was chosen - •
examples/code-evolution.md- Tracing feature implementation over time - •
examples/process-understanding.md- Understanding workflows and state transitions
When to Escalate to Deep Research Agent
Use the deep research agent (by saying "do deep research" or "deep research needed") when:
- •Investigation requires synthesizing 5+ sources
- •Need comprehensive historical timeline
- •Architectural decision investigation spanning multiple systems
- •Research involves connecting dots across quarters/years
- •Question requires extensive Opus-level reasoning
For straightforward searches, PR lookups, or single-system investigations, this skill provides efficient guidance without the overhead of the autonomous agent.