observe
について
`observe`スキルは、即時の介入を行わずにパターンを特定するための、体系的な受動的システム監視を可能にします。これは自然観察研究の方法論(観察、記録、仮説構築)を適用し、不明確な動作や根本原因を理解するために用いられます。不明な問題のデバッグ、コード変更の評価、または行動前の自身の推論に潜むバイアスの監査に活用してください。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/observeこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
Observe
Frame → witness → record → categorize → theorize → archive.
Use When
- Behavior unclear → action premature
- Debug unknown cause → observe before intervene → no symptom mask
- Post-change → witness effects before more changes
- User patterns over conv → improve future
- Audit own reasoning → biases, habits, errors
- After
learn→ validate model
In
- Required: Target — system, codebase, behavior, user, reasoning
- Optional: Duration/scope
- Optional: Guiding question/hypothesis
- Optional: Prior obs to compare (delta)
Do
Step 1: Frame
Define what + why + perspective.
Observation Protocol by System Type:
┌──────────────────┬──────────────────────────┬──────────────────────────┐
│ System Type │ What to Observe │ Categories to Watch │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ Codebase │ File structure, naming │ Patterns, anti-patterns, │
│ │ conventions, dependency │ consistency, dead code, │
│ │ flow, test coverage, │ documentation quality, │
│ │ error handling patterns │ coupling between modules │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ User behavior │ Question patterns, │ Expertise signals, pain │
│ │ vocabulary evolution, │ points, unstated needs, │
│ │ repeated requests, │ learning trajectory, │
│ │ emotional signals │ communication style │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ Tool / API │ Response patterns, error │ Rate limits, edge cases, │
│ │ conditions, latency, │ undocumented behavior, │
│ │ output format variations │ state dependencies │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ Own reasoning │ Decision patterns, tool │ Biases, habits, blind │
│ │ selection habits, error │ spots, strengths, │
│ │ recovery approaches, │ recurring failure modes, │
│ │ communication patterns │ over/under-confidence │
└──────────────────┴──────────────────────────┴──────────────────────────┘
- Pick target, name explicitly
- Define boundary: in/out scope
- Stance: "observing, not intervening"
- Guiding Q? state but hold lightly → notice outside scope too
- Pick categories from matrix
→ Clear frame: directs attention, doesn't constrain. Observer knows where + categories, stays open.
If err: too broad ("observe everything") → narrow to one subsystem/behavior. Too narrow ("one variable") → zoom out → patterns at edges.
Step 2: Witness
Hold attention, no interpret/judge/intervene.
- Begin systematic obs: read files, trace exec, review history — whatever target needs
- Record what seen, not meaning → desc before interpretation
- Resist fixing problems → note + continue
- Resist explaining patterns → wait for accumulation
- Drift to other target → note drift (may be meaningful), return frame
- Maintain ≥3-5 distinct points before categorize
→ Raw obs collection — specific, concrete, no interpretation. Reads like field notes: "File X imports Y but does not use function Z. File A 300 lines; B 30 lines, similar."
If err: instant analysis ("wrong because...") → analytical habit overrides. Separate phases: obs as fact, then interpretation as separate "hypothesis" note. Strong reaction → note reaction itself as data: "Strong concern when observing X — significant issue or my bias."
Step 3: Record
Transcribe while fresh.
- Each obs = single fact statement (what/where/when)
- Group naturally similar — don't force, notice clusters
- Frequency: once / occasional / pervasive?
- Contrasts: where pattern broke? Exceptions > rules
- Temporal: changed over time or static?
- Exact evidence: paths, line numbers, words, examples
→ Structured 5-15 discrete obs, specific evidence. Detailed enough another observer can verify.
If err: too abstract ("code messy") → ground in specifics → which files, what makes messy? Too granular ("line 47 space before brace") → zoom to pattern level → one-off or systemic?
Step 4: Categorize
Sort, no explain yet.
- Review all → look for natural groupings
- Assign to Step 1 category, or new
- Within category: rank by frequency + significance
- Identify well-documented (many obs) vs blind spots (few)
- Cross-category patterns: same underlying manifests differently?
- Note outliers — most interesting data
→ Categorized map w/ clear groupings. Each category = specific obs supporting. Map shows patterns + gaps.
If err: forced cat → may lack natural grouping (itself a finding — system lacks coherent structure). All in one cat → scope too narrow → zoom out.
Step 5: Theorize
Now — only now — interpret.
- Each major pattern → hypothesis: "exists because..."
- Each hypothesis → supporting evidence
- Each → counter-evidence that disproves
- Rank by explanatory power
- ≥1 contrarian: "obvious = X, could also be Y because..."
- Testable vs speculative
→ 2-4 hypotheses explain major patterns, each w/ specific obs support. ≥1 surprising/contrarian. Obs vs interpretation distinction maintained.
If err: no hypotheses → more obs needed → Step 2. Too many ("everything maybe") → keep 2-3 strongest, set aside. Only obvious → force contrarian: "what if opposite?"
Step 6: Archive
Preserve.
- Summarize: 3-5 patterns w/ evidence
- Leading hypotheses + confidence
- What NOT observed (blind spots)
- Follow-ups to strengthen/weaken
- Durable patterns → MEMORY.md
- Tag context: when, what prompted, scope
→ Archive future sessions can build on. Distinguishes obs (data) from hypotheses (interpretation). Honest about confidence + gaps.
If err: not worth archiving → too shallow OR genuinely routine. Archive negatives too: "Observed X, no anomalies" = useful future context.
Check
- Frame set before obs began (not wandering)
- Raw obs recorded as facts before interpretation
- ≥5 discrete obs w/ specific evidence
- Interpretation separated from obs
- ≥1 surprising/contrarian finding
- Archive specific enough another observer can verify
Traps
- Premature intervention: see + fix immediately → lose broader pattern
- Obs bias: see expected, not present. Expectations filter → frame mitigates not eliminates
- Analysis paralysis: obs endlessly → no action. Set time/data limit, commit to conclude
- Narrative imposition: connecting obs even when connections weak. Not all coherent — disconnected = valid
- Familiarity ≠ understanding: "seen before" ≠ "know why". False confidence
- Ignore own reactions: emotional/cognitive reactions = data. Confusion/boredom/alarm = signal
→
observe-guidance— human-guidance variantlearn— obs feeds learning w/ raw datalisten— outward to user; obs broader to any systemremote-viewing— intuitive, validatable through obsmeditate— sustained attention capacityawareness— threat-focused; obs curiosity-driven
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
