ezcater-research
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 selectionreferences/atlassian-cli-guide.md- Complete atl CLI command referencereferences/github-git-analysis.md- Advanced gh CLI and git history techniquesreferences/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 chosenexamples/code-evolution.md- Tracing feature implementation over timeexamples/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.
More from dhughes/claude-marketplace
ci-monitor
This skill should be used when the user asks to "monitor the PR", "watch the CI", "check if CI passes", "let me know when CI finishes", "watch the checks", "monitor CI status", "tell me when the build completes", or any variation requesting to track GitHub PR check status until completion. Also use this skill proactively after creating or updating a PR when the user would benefit from knowing the CI result.
9whats-new
This skill should be used when the user asks about new features, recent changes, or updates in Claude Code — for example "what's new in Claude Code?", "Claude Code changelog", "what did I miss in Claude?", "any recent updates?", "tell me about new Claude features", or "what's changed since version 1.0.30?". It fetches the official changelog, filters for notable features (excluding bug fixes), researches each feature for deeper context on Anthropic's website, and presents mini-article summaries. Supports both automatic tracking (since last check) and explicit version queries.
5configure
Use when user asks "what statusline components are available", "list statusline components", "show statusline components", "which statusline components", "configure statusline", "enable/disable statusline components", "change statusline order", or wants to manage statusline component configuration globally or per-project
5atlassian-usage
This skill should be used when the user asks to "search jira", "find tickets", "look up an issue", "search confluence", "find pages", "read a document", "create a ticket", "update an issue", "add a comment", mentions JQL, CQL, Atlassian, Jira issues, Confluence pages, or provides an Atlassian URL (*.atlassian.net). Provides guidance for using the atl CLI to interact with Atlassian products.
5gcb-monitor
This skill should be used when the user asks about build status in GCP, Google Cloud Build, or gcloud builds. Trigger phrases include "monitor the build", "watch the build", "check build status", "build in test environment", "build in staging", "build in production", "status of the build", "gcloud builds", "Cloud Build", "GCP build", "what happened with the build", "why did the build fail", "analyze the build failure", "did the build succeed", "check the deploy", "monitor the deploy", "anything weird with the build", or when user mentions checking CI/CD status in Google Cloud. Also use when user wants to use gcloud CLI to check build results or logs. Use proactively after merging a PR when build monitoring would be helpful.
5pr-creation
This skill should be used when you need to create, open, or edit a pull request (PR), or the user asks to "create a PR", "open a PR", "submit a PR", "raise a PR", "file a PR", "make a PR", "create a pull request", "open a pull request", "new PR", or any variation requesting GitHub pull request creation.
5