observe
Acerca de
La habilidad `observe` permite el reconocimiento sistemático y neutral de patrones para depuración y análisis, modelada a partir de estudios de campo naturalistas. Se utiliza cuando el comportamiento del sistema no es claro o antes de tomar una acción, permitiendo a los desarrolladores observar efectos, generar hipótesis y archivar hallazgos. Sus capacidades clave incluyen atención sostenida, registro de patrones y auditoría del razonamiento para detectar sesgos o errores.
Instalación rápida
Claude Code
Recomendadonpx 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/observeCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
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
Repositorio GitHub
Habilidades relacionadas
content-collections
MetaEsta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
polymarket
MetaEsta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
creating-opencode-plugins
MetaEsta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
sglang
MetaSGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
