スキル一覧に戻る
bnayae

offline-impact-evaluator

by bnayae

0🍴 0📅 2026年1月18日
GitHubで見るManusで実行

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 LevelMinimum Actual Capability
noneNo offline logic needed
transientIn-memory buffering, retry logic, graceful degradation
session_durableIndexedDB/SQLite, background sync, service worker
strong_offline_firstCRDT/event sourcing, conflict resolution, guaranteed sync

Step 2: Assess Each Stack Component

For each candidate, evaluate:

ComponentOffline Consideration
FrontendService worker support, offline detection, UI graceful degradation
Data LayerLocal storage technology, query capability offline
SyncBackground sync API, conflict resolution strategy
AuthToken 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:

  1. Recommend component swaps or additions
  2. Estimate implementation complexity delta
  3. Flag if cost re-evaluation is needed

Offline Technology Reference

StrategyPersistenceSyncComplexityUse Case
Cache-onlyNoneNoneLowStatic assets, read-only data
IndexedDBSession+Manual/BGMediumTransactional local data
SQLite (WASM)Session+ManualMedium-HighComplex queries offline
Event QueueDurableBG SyncMediumAction buffering
CRDTDurableAutomaticHighReal-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

レビュー

💬

レビュー機能は近日公開予定です