remote-viewing
Acerca de
Esta habilidad permite la exploración sistemática de bases de código o problemas desconocidos mediante la adaptación de un protocolo de investigación estructurado. Te guía a través de una recopilación de datos por etapas y una gestión de suposiciones para evitar conclusiones prematuras. Úsala al depurar sistemas complejos o al adentrarte en dominios desconocidos donde suposiciones previas te hayan llevado por mal camino.
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/remote-viewingCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Remote View
Approach unknown codebase/problem/system using CRV protocol adapted for AI investigation — gather raw obs before conclusions, manage premature labeling (AOL), build understanding via staged data collection.
Use When
- Investigate unfamiliar codebase, arch unknown
- Debug problem, root cause not obvious + premature hypotheses could mislead
- Explore domain/tech w/ limited ctx
- Prev attempts led astray by assumptions
- Any problem where "beginner's mind" > pattern matching
In
- Required: Target (codebase path, problem desc, system to understand)
- Required: Commitment to blind approach — resist conclusions til collection complete
- Optional: Specific questions about target (save Stage V)
- Optional: Prior meditation for assumption-clearing (see
meditate)
Do
Step 1: Cooldown — Clear Assumptions
Transition assumption-heavy → receptive obs. Non-negotiable.
- ID all preconceptions about target:
- "This is probably a React app" — declare
- "The bug is likely in the database layer" — declare
- "This follows MVC architecture" — declare
- Write each preconception explicit (in reasoning or output)
- For each: "This may or may not be true. I will verify, not assume."
- Release need to ID target quickly — goal = accurate description, not fast labeling
- When notice analytical mind reaching for framework/label, pause + redirect to raw obs
→ List of declared preconceptions + conscious shift "I think I know" → "I will observe what this actually is." Alert + receptive, not jumping conclusions.
If err: assumptions keep reasserting ("but it really IS a React app...") → extend cooldown. Write to "parking lot" + continue. Don't begin gathering while attached to specific hypothesis — colors everything.
Step 2: Ideogram — First Contact (Stage I)
Initial contact w/ target via most minimal obs possible.
- Use
Glob→ top-level structure only (e.g.*orpath/*) — no read files yet - Note immediate unfiltered impressions: file count, naming patterns, presence/absence of obvious markers
- Record raw obs w/ simple descriptors:
- "many small files" not "microservice architecture"
- "deeply nested directories" not "enterprise Java"
- "single large file" not "monolith"
- Decode initial impression into 2 components:
- A (activity): Active or dormant? Growing or stable? Simple or complex?
- B (feeling): Organized or chaotic? Dense or sparse? Familiar or alien?
- Write A + B assessments — first data points
→ Handful of raw low-level obs about target's surface. No names, labels, architectural patterns — just shapes, sizes, textures.
If err: immediately categorize ("oh, Next.js app") → declare AOL (Step 6), extract raw descriptors underneath label ("JavaScript files, nested pages directory, package.json present"), continue w/ raw.
Step 3: Sensory — Raw Data (Stage II)
Systematically collect raw data w/o interpretation.
Stage II Data Channels for Codebase Investigation:
┌──────────────────┬────────────────────────────────────────────────────┐
│ Channel │ What to Observe │
├──────────────────┼────────────────────────────────────────────────────┤
│ File patterns │ Extensions, naming conventions, file sizes │
│ │ (NOT frameworks — just patterns) │
├──────────────────┼────────────────────────────────────────────────────┤
│ Directory shape │ Depth, breadth, nesting patterns, symmetry │
├──────────────────┼────────────────────────────────────────────────────┤
│ Configuration │ What config files exist? How many? What formats? │
├──────────────────┼────────────────────────────────────────────────────┤
│ Dependencies │ Lock files present? How large? How many entries? │
├──────────────────┼────────────────────────────────────────────────────┤
│ Documentation │ README present? How long? Other docs? Comments? │
├──────────────────┼────────────────────────────────────────────────────┤
│ Test presence │ Test directories? Test files? Ratio to source? │
├──────────────────┼────────────────────────────────────────────────────┤
│ History signals │ Presence of .git/, CHANGELOG/RELEASE_NOTES, │
│ │ lockfile timestamps (via Glob/Read if accessible) │
├──────────────────┼────────────────────────────────────────────────────┤
│ Energy/activity │ Which areas changed recently? Which are dormant? │
└──────────────────┴────────────────────────────────────────────────────┘
- Probe each channel via
Glob,Grep, lightRead - Record one obs per channel — first impression, no deep-dive
- Use descriptive terms not labels: "73 .ts files" not "TypeScript project"
- Circle (mark) any obs feeling significant
- Channel produces nothing → record "nothing observed" + move on
- Aim 10-20 data points across channels
→ List of raw obs feeling discovered not assumed. Some significant, some noise. Low-level descriptions, not high-level categorizations.
If err: every obs becomes categorization → slipped into analysis. Stop, return ideogram, re-contact w/ fresh eyes. One channel dominates (all file obs, no history) → deliberately shift to underused.
Step 4: Dimensional — Structure (Stage III)
Move raw obs → spatial + structural understanding.
- Begin mapping target arch w/o labeling:
- What connects to what? (imports, refs, config pointers)
- Major "areas" + how relate?
- Hierarchy — flat, nested, mixed?
- Read few key files lightly — entry points, configs, README
- Note relationships: "directory A imports from directory B," "config file references paths in C"
- Sketch spatial layout: how does info flow through system?
- Record Aesthetic Impact (AI) — how does codebase feel? Well-maintained? Rushed? Experimental?
→ Rough structural map w/ relationship annotations. General scope (large/small, simple/complex, monolithic/modular) clearer. "Feeling" of codebase captured.
If err: map feels pure guesswork → simplify: note only verifiable connections (actual imports, actual config refs). No structural patterns emerge → return Stage II + collect more raw data — dimensional needs foundation.
Step 5: Interrogation — Directed Q (Stage V)
Classic CRV Stage IV → deeper analytical structure; for codebase investigation that work intentionally merged into earlier dimensional/structural stages above, so this proceeds to Stage V for directed q.
Now, only now, bring specific q to investigation.
- State each q explicit: "What is entry point?" "Where does data come from?" "Test coverage?"
- For each q, search via
Grep+Read— targeted not exploratory - Record first finding for each q
- Note confidence: high (direct evidence), medium (inferred), low (uncertain)
- Mark all Stage V data clearly — higher AOL risk because q prime expectations
→ Specific answers to directed q, grounded in raw + structural data already collected. Confidence levels honest.
If err: directed q produce only AOL (answering from assumption not evidence) → return earlier stages. Protocol sequential for reason — skipping obs + jumping q → unreliable answers.
Step 6: Manage AOL
AOL = primary source of error. Occurs when analytical mind prematurely labels target. Manage entire session.
AOL Types in Codebase Investigation:
┌──────────────────┬─────────────────────────────────────────────────┐
│ Type │ Description and Response │
├──────────────────┼─────────────────────────────────────────────────┤
│ AOL (labeling) │ "This is a Django app" — Declare: "AOL: Django"│
│ │ Extract raw descriptors: "Python files, urls.py,│
│ │ migrations directory, settings module." │
├──────────────────┼─────────────────────────────────────────────────┤
│ AOL Drive │ The label becomes insistent: "This HAS to be │
│ │ Django." Declare "AOL Drive" and pause. What │
│ │ evidence contradicts the label? Look for it. │
├──────────────────┼─────────────────────────────────────────────────┤
│ AOL Signal │ The label may contain valid information. After │
│ │ declaring, extract: "Django" → "URL routing, │
│ │ ORM pattern, middleware chain." These raw │
│ │ descriptors are valid data even if "Django" is │
│ │ wrong. │
├──────────────────┼─────────────────────────────────────────────────┤
│ AOL Peacocking │ An elaborate narrative: "This was built by a │
│ │ team that was migrating from Java and..." This │
│ │ is imagination, not signal. Declare "AOL/P" and │
│ │ return to raw observation. │
└──────────────────┴─────────────────────────────────────────────────┘
Discipline ≠ avoiding AOL → recognizing + declaring so no contaminate. Every investigation produces AOL. Skill = how fast you catch.
→ AOL recognized in moments, declared explicit, investigation continues w/ raw descriptors not labels.
If err: AOL has taken over (reasoning from label for several steps) → call "AOL Break". Return Stage II + collect new raw obs testing label. Heavily contaminated investigation noted as such in review.
Step 7: Close + Review
End investigation formally + synthesize findings.
- Review all data in order: first impressions, raw obs, structural data, directed answers, AOL declarations
- ID 5-10 obs w/ highest confidence
- Now — only now — form synthesis: what is this system? how works? key characteristics?
- Note which parts well-supported by evidence vs inferred
- Compare synthesis vs preconceptions declared Step 1 — confirmed? wrong?
- Document findings for user or own future ref
→ Grounded understanding built up from raw obs not assumed from pattern matching. Synthesis more accurate than quick categorization, confidence levels honest.
If err: synthesis feels thin → earlier stages may not collected enough. Don't dismiss partial findings — description of "73 TypeScript files, deeply nested component structure, active git history, thin test coverage" > wrong label. Accurate description = goal not identification.
Check
- Preconceptions declared before collection
- Stage I obs = raw descriptors not labels
- Stage II data collected across multi channels not just one
- All AOL declared at moment of recognition
- Stages progressed sequential (I → II → III → V), no jumping
- Target approached blind — no files read on assumptions
- Synthesis distinguishes evidence-supported from inferences
- Investigation record preserved for future ref
Traps
- Jump to ID: Searching "what framework?" before raw obs guarantees AOL contamination
- Suppress labels: Trying not to form hypotheses creates tension → declare them + extract raw signal underneath
- Skip cooldown: Start investigation while attached to hypothesis biases all obs
- Confirmation-only search: Once hypothesis forms, search only confirming + ignore contradictions
- Confuse speed w/ skill: Fast ID feels productive but often wrong. Thorough staged obs longer but more accurate
- Insufficient channel diversity: Investigating only one lens (only code, only structure) misses signals via other channels
→
remote-viewing-guidance— human-guidance variant where AI = CRV monitor/taskermeditate— mental stillness + assumption-clearing in meditation directly improves investigation qualityheal— when investigation reveals AI's own reasoning biases, self-healing addresses root cause
Repositorio GitHub
Habilidades relacionadas
evaluating-llms-harness
PruebasEsta Skill de Claude ejecuta el benchmark lm-evaluation-harness para evaluar modelos de lenguaje en más de 60 tareas académicas estandarizadas como MMLU y GSM8K. Está diseñada para que los desarrolladores comparen la calidad de los modelos, realicen seguimiento del progreso del entrenamiento o reporten resultados académicos. La herramienta admite varios backends, incluidos modelos de HuggingFace y vLLM.
cloudflare-cron-triggers
PruebasEsta habilidad proporciona conocimiento integral para implementar Cron Triggers de Cloudflare y programar Workers mediante expresiones cron. Cubre la configuración de tareas periódicas, trabajos de mantenimiento y flujos de trabajo automatizados, manejando problemas comunes como expresiones cron inválidas y inconvenientes de zonas horarias. Los desarrolladores pueden utilizarla para configurar manejadores programados, probar activadores cron e integrar con Workflows y Green Compute.
webapp-testing
PruebasEsta habilidad de Claude proporciona un kit de herramientas basado en Playwright para probar aplicaciones web locales mediante scripts de Python. Permite verificación de frontend, depuración de interfaz de usuario, captura de pantallas y visualización de registros, mientras gestiona los ciclos de vida del servidor. Úsela para tareas de automatización de navegadores, pero ejecute los scripts directamente en lugar de leer su código fuente para evitar contaminación del contexto.
finishing-a-development-branch
PruebasEsta habilidad ayuda a los desarrolladores a completar el trabajo terminado verificando que las pruebas pasen y luego presentando opciones estructuradas de integración. Guía el flujo de trabajo para fusionar, crear PRs o limpiar ramas después de que se completa la implementación. Úsala cuando tu código esté listo y probado para finalizar sistemáticamente el proceso de desarrollo.
