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/observeClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Observe
Conduct structured observation session — frame target, witness with sustained neutral attention, record patterns without interpretation, categorize findings, generate hypotheses from patterns, archive observations for future reference.
When Use
- System behavior unclear, action without observation premature
- Debugging unknown cause — observation before intervention prevents masking symptoms
- Codebase or system changed, effects need witnessing before more changes
- Understanding user behavior patterns over conversation to improve future interactions
- Auditing own reasoning patterns for biases, habits, recurring errors
- After
learnbuilt model needing validation through observation
Inputs
- Required: Observation target — system, codebase, behavior pattern, user interaction, or reasoning process to observe
- Optional: Observation duration/scope — how long or deep before concluding
- Optional: Specific question or hypothesis to guide focus
- Optional: Prior observations to compare against (detect change over time)
Steps
Step 1: Frame — Set Observation Focus
Define what observed, why, from what 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 observation target, name explicitly
- Define boundary: what included, what out of scope
- State stance: "I observe, not intervene"
- If guiding question, state it — hold lightly; willing to notice things outside scope
- Choose categories from matrix above
Got: Clear frame directing attention without constraining it. Observer knows where to look and what categories to sort observations into, stays open to unexpected.
If fail: Target too broad ("observe everything")? Narrow to one subsystem or behavior pattern. Too narrow ("observe this one variable")? Zoom out — interesting patterns often at edges.
Step 2: Witness — Sustained Neutral Attention
Hold attention on target without interpreting, judging, intervening.
- Begin systematic observation: read files, trace paths, review history — whatever target requires
- Record what seen, not what means — description before interpretation
- Resist urge to fix problems during observation — note them, continue
- Resist urge to explain patterns before enough observations accumulate
- Attention drifts to different target? Note drift (may be meaningful), return to frame
- Maintain observation defined period: at least 3-5 distinct data points before categorizing
Got: Collection of raw observations — specific, concrete, free from interpretation. Reads like field notes: "File X imports Y but does not use function Z. File A has 300 lines; file B has 30 lines, similar functionality."
If fail: Observation immediately triggers analysis ("this wrong because...")? Analytical habit overriding observational stance. Separate phases: write observation as fact, write interpretation as separate note labeled "hypothesis." Neutrality impossible (strong reaction)? Note reaction itself as data: "Strong concern when observing X — may indicate significant issue or my bias."
Step 3: Record — Capture Raw Patterns
Transcribe observations into structured format while fresh.
- List each observation as single statement of fact (what seen, where, when)
- Group similar observations naturally — don't force, but notice when they cluster
- Note frequency: pattern appear once, occasionally, pervasively?
- Note contrasts: where pattern broke? Exceptions often more informative than rules
- Note temporal patterns: observation change over time, or static?
- Capture exact evidence: file paths, line numbers, specific words, concrete examples
Got: Structured record of 5-15 discrete observations, each with specific evidence. Detailed enough another observer could verify each independently.
If fail: Observations too abstract ("code seems messy")? Need grounding in specifics — which files, which patterns, what makes it messy? Too granular ("line 47 has space before brace")? Zoom out to pattern level — one-off or systemic?
Step 4: Categorize — Organize Findings
Sort observations into meaningful categories without explaining yet.
- Review all observations, look for natural groupings
- Assign each to category from Step 1 matrix, or create new categories if needed
- Within each category, rank by frequency and significance
- Identify which categories have many observations (well-documented) and which few (potential blind spots)
- Look for cross-category patterns: same underlying pattern manifesting differently in different categories?
- Note observations not fitting any category — outliers often most interesting
Got: Categorized observation map with clear groupings. Each category has specific supporting observations. Map shows both patterns and gaps.
If fail: Categorization feels forced? Observations may not have natural groupings — collection of unrelated findings is itself a finding (system may lack coherent structure). Everything fits one category? Scope too narrow — zoom out.
Step 5: Theorize — Generate Hypotheses from Patterns
Now — only now — begin interpreting observations.
- For each major pattern, propose hypothesis: "This pattern exists because..."
- For each hypothesis, identify supporting evidence from observations
- For each, identify what counter-evidence would disprove it
- Rank by explanatory power: which explains most observations?
- Generate at least one contrarian hypothesis: "Obvious explanation is X, but could also be Y because..."
- Identify which testable, which speculative
Got: 2-4 hypotheses explaining major patterns, each supported by specific observations. At least one surprising or contrarian. Distinction between observation and interpretation maintained — clear which parts are data, which theory.
If fail: No hypotheses form? Observations may need more time to accumulate — return to Step 2. Too many hypotheses ("everything is maybe")? Select 2-3 with strongest evidence, set rest aside. Only obvious hypotheses? Force contrarian view: "What if opposite were true?"
Step 6: Archive — Store Pattern Library
Preserve observations and hypotheses for future reference.
- Summarize key findings: 3-5 patterns with evidence
- State leading hypotheses and confidence levels
- Note what was not observed (potential blind spots)
- Identify follow-up observations that would strengthen or weaken hypotheses
- Patterns durable (relevant across sessions)? Consider updating MEMORY.md
- Tag observations with context: when made, what prompted, scope covered
Got: Archive future observation sessions can build on. Distinguishes clearly between observations (data) and hypotheses (interpretation). Honest about confidence levels and gaps.
If fail: Observations don't feel worth archiving? May have been too shallow — or genuinely routine (not every session produces insights). Archive even negative results: "Observed X, no anomalies" is useful future context.
Checks
- Frame set before any observation began (not free-form wandering)
- Raw observations recorded as facts before any interpretation
- At least 5 discrete observations captured with specific evidence
- Interpretation (hypotheses) clearly separated from observation (data)
- At least one surprising or contrarian finding generated
- Archived record specific enough for another observer to verify
Pitfalls
- Premature intervention: Seeing problem and fixing immediately, losing chance to understand broader pattern it belongs to
- Observation bias: Seeing what expected rather than what present. Expectations filter perception — clearing in Step 1 mitigates but doesn't eliminate
- Analysis paralysis: Observing endlessly without ever moving to action. Set time or data-point limit, commit to concluding
- Narrative imposition: Constructing story connecting observations even when connections weak. Not all observations form coherent narrative — disconnected findings valid
- Confusing familiarity with understanding: "Seen this before" ≠ "understand why this here." Prior exposure can create false confidence
- Ignoring own reactions: Observer's emotional or cognitive reactions to observations are data. Sense of confusion, boredom, alarm about system often contains real signal
See Also
observe-guidance— human-guidance variant for coaching person in systematic observationlearn— observation feeds learning by providing raw data for model-buildinglisten— outward-focused attention toward user signals; observation broader-scope attention toward any systemremote-viewing— intuitive exploration that can be validated through systematic observationmeditate— develops sustained attention capacity observation requiresawareness— threat-focused situational awareness; observation curiosity-driven rather than defense-driven
GitHub 저장소
연관 스킬
content-collections
메타이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.
polymarket
메타이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.
creating-opencode-plugins
메타이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.
sglang
메타SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.
