Problem
Workflow commands make repeated API calls to external systems (Jira, Linear, GitHub Issues, Confluence, etc.) during each session. This causes:
- Slow context gathering (19,307 Read operations in usage data, many for external content)
- Session failures when APIs are slow or unavailable
- Redundant fetching of unchanged data
Proposal
Implement a generalized local cache system that works with any supported ticketing/documentation backend:
Cache Structure
.claude/cache/
├── tickets/
│ ├── index.json # Ticket metadata + relationships
│ └── {ticket-key}.json # Individual ticket details
├── docs/
│ └── {doc-id}.json # Cached documentation pages
└── sync-state.json # Last sync timestamps per source
Behavior
- On first run: Fetch all relevant data, populate cache
- On subsequent runs: Read from cache first, sync only changes
- Manual refresh:
/sync-cache command to force full refresh
- Automatic expiry: Configurable TTL per data type
Backend Abstraction
Cache system should be backend-agnostic:
- Jira adapter: Maps Epic Link relationships
- Linear adapter: Maps project/issue hierarchies
- GitHub adapter: Maps labels/milestones
- Confluence adapter: Maps space/page structure
Benefits
- Eliminates API as workflow bottleneck
- Enables offline/degraded-mode operation
- Faster epic planning (query local JSON vs. API round-trips)
Relates To
Problem
Workflow commands make repeated API calls to external systems (Jira, Linear, GitHub Issues, Confluence, etc.) during each session. This causes:
Proposal
Implement a generalized local cache system that works with any supported ticketing/documentation backend:
Cache Structure
Behavior
/sync-cachecommand to force full refreshBackend Abstraction
Cache system should be backend-agnostic:
Benefits
Relates To