← スキル一覧に戻る

offline-impact-evaluator
by bnayae
⭐ 0🍴 0📅 2026年1月18日
SKILL.md
name: offline-impact-evaluator description: Validate proposed stack against offline requirements. Use after initial stack proposal to identify gaps, assess complexity, and recommend adjustments.
Offline Impact Evaluator
Validate the proposed stack against the offline requirement captured in architecture-refinement. Identify gaps, assess if the solution is over-engineered, and recommend stack adjustments when needed.
Standalone Usage
Can be invoked directly:
- "Does this stack support session-durable offline?"
- "Evaluate offline capability of Next.js + Supabase"
- "Is this architecture over-engineered for transient offline?"
Prerequisites
Requires:
- Architecture brief with
offline_requirement.level - Stack candidates from candidate-generator
Evaluation Process
Step 1: Map Required vs. Actual Capability
| Required Level | Minimum Actual Capability |
|---|---|
none | No offline logic needed |
transient | In-memory buffering, retry logic, graceful degradation |
session_durable | IndexedDB/SQLite, background sync, service worker |
strong_offline_first | CRDT/event sourcing, conflict resolution, guaranteed sync |
Step 2: Assess Each Stack Component
For each candidate, evaluate:
| Component | Offline Consideration |
|---|---|
| Frontend | Service worker support, offline detection, UI graceful degradation |
| Data Layer | Local storage technology, query capability offline |
| Sync | Background sync API, conflict resolution strategy |
| Auth | Token caching, session persistence, refresh handling |
Step 3: Gap Analysis
Identify:
- Under-delivery: Required capability not met
- Over-engineering: Unnecessary complexity for the requirement
- Risk areas: Components with weak offline story
Step 4: Recommendations
If gaps exist:
- Recommend component swaps or additions
- Estimate implementation complexity delta
- Flag if cost re-evaluation is needed
Offline Technology Reference
| Strategy | Persistence | Sync | Complexity | Use Case |
|---|---|---|---|---|
| Cache-only | None | None | Low | Static assets, read-only data |
| IndexedDB | Session+ | Manual/BG | Medium | Transactional local data |
| SQLite (WASM) | Session+ | Manual | Medium-High | Complex queries offline |
| Event Queue | Durable | BG Sync | Medium | Action buffering |
| CRDT | Durable | Automatic | High | Real-time collaboration, conflict-free |
Output Contract
offline_impact_evaluation:
stack_id: "<reference>"
requirement:
level: "<none|transient|session_durable|strong_offline_first>"
session_close_behavior: "<loses_data|persists_locally>"
sync_strategy: "<none|background_sync|manual_sync|crdt>"
assessment:
actual_level: "<none|transient|session_durable|strong_offline_first>"
components:
frontend:
capability: "<level>"
notes: "<details>"
data_layer:
capability: "<level>"
technology: "<what provides offline>"
sync:
capability: "<level>"
strategy: "<how sync works>"
gap_analysis:
has_gap: true|false
gap_description: "<what's missing>"
over_engineered: true|false
over_engineering_notes: "<why it's excessive>"
risks:
- risk: "<risk description>"
severity: "<low|medium|high>"
mitigation: "<how to address>"
recommendations:
- action: "<what to change>"
component: "<which component>"
impact:
cost: "<increase|decrease|same>"
complexity: "<increase|decrease|same>"
timeline: "<increase|decrease|same>"
verdict:
stack_viable: true|false
requires_stack_change: true|false
requires_cost_reevaluation: true|false
Example: Gap Analysis
offline_impact_evaluation:
stack_id: "next-vercel-supabase"
requirement:
level: "session_durable"
session_close_behavior: "persists_locally"
sync_strategy: "background_sync"
assessment:
actual_level: "transient"
components:
frontend:
capability: "transient"
notes: "No service worker configured by default"
data_layer:
capability: "none"
technology: "Server-side only"
sync:
capability: "none"
strategy: "N/A"
gap_analysis:
has_gap: true
gap_description: "Stack lacks local persistence and background sync"
over_engineered: false
risks:
- risk: "Data loss on network interruption"
severity: "high"
mitigation: "Add IndexedDB layer with sync"
recommendations:
- action: "Add @tanstack/query with offline persistence"
component: "data_layer"
impact:
cost: "same"
complexity: "increase"
timeline: "increase"
- action: "Implement service worker for caching"
component: "frontend"
impact:
cost: "same"
complexity: "increase"
timeline: "increase"
verdict:
stack_viable: true
requires_stack_change: false
requires_cost_reevaluation: false
Integration Points
- Invoked by: stack-evaluation (after candidate-generator)
- May trigger: Cost re-evaluation if
requires_cost_reevaluation: true - Feeds into: implementation-plan (offline phase planning)
スコア
総合スコア
45/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
○言語
プログラミング言語が設定されている
0/5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です