remote-viewing
À propos
Cette compétence de Claude propose une méthode structurée et sans présomption pour explorer des bases de code inconnues ou déboguer des problèmes complexes. Elle adapte un protocole d'investigation en plusieurs étapes pour recueillir des données brutes avant l'analyse, évitant ainsi des conclusions prématurées. Utilisez-la lorsqu'une exploration initiale de systèmes inconnus est nécessaire ou lorsque des tentatives précédentes ont été induites en erreur par des hypothèses incorrectes.
Installation rapide
Claude Code
Recommandé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/remote-viewingCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
Remote View
Approach an unknown codebase, problem, or system using the Coordinate Remote Viewing protocol adapted for AI investigation — gathering raw observations before forming conclusions, managing premature labeling (Analytical Overlay), and building understanding through staged data collection.
适用场景
- Investigating an unfamiliar codebase where the architecture is unknown
- Debugging a problem where the root cause is not obvious and premature hypotheses could mislead
- Exploring a domain or technology you have limited context about
- When previous investigation attempts have been led astray by assumptions
- Approaching any problem where "beginner's mind" would be more productive than pattern matching
输入
- 必需: A target to investigate (codebase path, problem description, system to understand)
- 必需: Commitment to blind approach — resist forming conclusions until data collection is complete
- 可选: Specific questions to answer about the target (save for Stage V)
- 可选: Prior meditation session for assumption-clearing (see
meditate)
步骤
第 1 步:Cooldown — Clear Assumptions
Transition from assumption-heavy mode into receptive observation. This step is non-negotiable.
- Identify all preconceptions about the target:
- "This is probably a React app" — declare it
- "The bug is likely in the database layer" — declare it
- "This follows MVC architecture" — declare it
- Write each preconception down explicitly (in your reasoning or output)
- For each one, note: "This may or may not be true. I will verify, not assume."
- Release the need to identify the target quickly — the goal is accurate description, not fast labeling
- When you notice the analytical mind reaching for a framework or label, pause and redirect to raw observation
预期结果: A list of declared preconceptions and a conscious shift from "I think I know what this is" to "I will observe what this actually is." Alert and receptive, not jumping to conclusions.
失败处理: If assumptions keep reasserting ("but it really IS a React app..."), extend the cooldown. Write the assumption on a "parking lot" list and continue. Do not begin data gathering while actively attached to a specific hypothesis — it will color everything you observe.
第 2 步:Ideogram — First Contact (Stage I)
Make initial contact with the target through the most minimal observation possible.
- Use
Globto see only the top-level structure (e.g.,*orpath/*) — do not read any files yet - Note your immediate, unfiltered impressions: file count, naming patterns, presence/absence of obvious markers
- Record raw observations using simple descriptors:
- "many small files" not "microservice architecture"
- "deeply nested directories" not "enterprise Java"
- "single large file" not "monolith"
- Decode the initial impression into two components:
- A (activity): Is this active or dormant? Growing or stable? Simple or complex?
- B (feeling): Does this feel organized or chaotic? Dense or sparse? Familiar or alien?
- Write the A and B assessments — these are your first data points
预期结果: A handful of raw, low-level observations about the target's surface characteristics. No names, no labels, no architectural patterns — just shapes, sizes, and textures.
失败处理: If you immediately categorize the project ("oh, this is a Next.js app"), declare it as AOL (Step 6), extract the raw descriptors underneath the label ("JavaScript files, nested pages directory, package.json present"), and continue with those raw observations.
第 3 步:Sensory Impressions — Raw Data (Stage II)
Systematically collect raw data about the target without 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 using
Glob,Grep, and lightReadoperations - Record one observation per channel — first impression, do not deep-dive
- Use descriptive terms, not labels: "73 .ts files" not "TypeScript project"
- Circle (mark) any observation that feels particularly significant
- If a channel produces nothing notable, record "nothing observed" and move on
- Aim for 10-20 data points across all channels
预期结果: A list of raw observations that feel discovered rather than assumed. Some will be significant, some noise. The data should be low-level descriptions, not high-level categorizations.
失败处理: If every observation turns into a categorization, you have slipped into analysis. Stop, return to the ideogram step, and re-contact the target with fresh eyes. If one channel dominates (all file observations, nothing about history), deliberately shift to underused channels.
第 4 步:Dimensional Data — Structure (Stage III)
Move from raw observations to spatial and structural understanding.
- Begin mapping the target's architecture without labeling it:
- What connects to what? (imports, references, config pointers)
- What are the major "areas" and how do they relate?
- What is the hierarchy — flat, nested, or mixed?
- Read a few key files lightly — entry points, config files, README
- Note relationships: "directory A imports from directory B," "config file references paths in C"
- Sketch the spatial layout: how does information flow through the system?
- Record Aesthetic Impact (AI) — how does this codebase feel? Well-maintained? Rushed? Experimental?
预期结果: A rough structural map with relationship annotations. The target's general scope (large/small, simple/complex, monolithic/modular) becomes clearer. The "feeling" of the codebase is captured.
失败处理: If the map feels like pure guesswork, simplify: note only the connections you can verify (actual import statements, actual config references). If no structural patterns emerge, return to Stage II and collect more raw data — dimensional understanding requires a foundation of observations.
第 5 步:Interrogation — Directed Questions (Stage V)
In classic CRV, Stage IV focuses on deeper analytical structure; for codebase investigation, that work is intentionally merged into the earlier dimensional/structural stages above, so this adapted protocol proceeds to Stage V for directed questioning.
Now, and only now, bring specific questions to the investigation.
- State each question explicitly: "What is the entry point?" "Where does data come from?" "What does the test coverage look like?"
- For each question, search for the answer using
GrepandRead— targeted, not exploratory - Record the first finding for each question
- Note confidence level: high (direct evidence), medium (inferred), low (uncertain)
- Mark all Stage V data clearly — it carries higher AOL risk because questions prime expectations
预期结果: Specific answers to directed questions, grounded in the raw and structural data already collected. Confidence levels are honest.
失败处理: If directed questions produce only AOL (you are answering from assumption rather than evidence), return to earlier stages. The CRV protocol is sequential for a reason — skipping the observation stages and jumping to questions produces unreliable answers.
第 6 步:Manage Analytical Overlay (AOL)
AOL is the primary source of error in investigation. It occurs when the analytical mind prematurely labels the target. Manage it throughout the 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. │
└──────────────────┴─────────────────────────────────────────────────┘
The discipline is not avoiding AOL — it is recognizing and declaring it so it does not contaminate the investigation. Every investigation produces AOL. Skill is in how fast you catch it.
预期结果: AOL is recognized within moments of arising, declared explicitly, and the investigation continues with raw descriptors rather than labels.
失败处理: If AOL has taken over (you realize you have been reasoning from a label for several steps), call an "AOL Break." Return to Stage II and collect new raw observations that test the label. A heavily contaminated investigation should be noted as such in the review.
第 7 步:Close and Review
End the investigation formally and synthesize findings.
- Review all collected data in order: first impressions, raw observations, structural data, directed answers, AOL declarations
- Identify the 5-10 observations with highest confidence
- Now — and only now — form a synthesis: what is this system? how does it work? what are its key characteristics?
- Note which parts of the synthesis are well-supported by evidence and which are inferred
- Compare the synthesis against the preconceptions declared in Step 1 — which were confirmed? which were wrong?
- Document the findings for the user or for your own future reference
预期结果: A grounded understanding of the target built up from raw observations rather than assumed from pattern matching. The synthesis is more accurate than a quick categorization would have been, and the confidence levels are honest.
失败处理: If the synthesis feels thin, the earlier stages may not have collected enough data. But do not dismiss partial findings — a description of "73 TypeScript files, deeply nested component structure, active git history, thin test coverage" is more useful than a wrong label. Accurate description is the goal, not identification.
验证清单
- Preconceptions were declared before data collection began
- Stage I observations were raw descriptors, not labels
- Stage II data was collected across multiple channels, not just one
- All AOL was declared at the moment of recognition
- Stages progressed sequentially (I → II → III → V), not jumping to conclusions
- The target was approached blind — no files were read based on assumptions about what they should contain
- The synthesis distinguishes evidence-supported findings from inferences
- The investigation record is preserved for future reference
常见问题
- Jumping to identification: Searching for "what framework is this?" before collecting raw observations guarantees AOL contamination
- Suppressing labels: Trying not to form hypotheses creates tension — instead, declare them and extract the raw signal underneath
- Skipping the cooldown: Starting investigation while attached to a hypothesis biases all subsequent observations
- Confirmation-only search: Once a hypothesis forms, searching only for confirming evidence while ignoring contradictions
- Confusing speed with skill: Fast identification feels productive but is often wrong. Thorough staged observation takes longer but produces more accurate understanding
- Insufficient channel diversity: Investigating only through one lens (only reading code, only checking structure) misses signals visible through other channels
相关技能
remote-viewing-guidance— the human-guidance variant where AI acts as CRV monitor/taskermeditate— the mental stillness and assumption-clearing developed in meditation directly improves investigation qualityheal— when investigation reveals the AI's own reasoning biases, self-healing addresses the root cause
Dépôt GitHub
Compétences associées
evaluating-llms-harness
TestsCette compétence Claude exécute le lm-evaluation-harness pour évaluer les modèles de langage sur plus de 60 tâches académiques standardisées telles que MMLU et GSM8K. Elle est conçue pour permettre aux développeurs de comparer la qualité des modèles, de suivre les progrès de l'entraînement ou de rapporter des résultats académiques. L'outil prend en charge différents backends, incluant les modèles HuggingFace et vLLM.
cloudflare-cron-triggers
TestsCette compétence fournit une connaissance complète pour la mise en œuvre de Déclencheurs Cron Cloudflare afin de planifier des Workers à l'aide d'expressions cron. Elle couvre la configuration de tâches périodiques, de travaux de maintenance et de flux de travail automatisés, tout en traitant des problèmes courants tels que les expressions cron non valides et les problèmes de fuseau horaire. Les développeurs peuvent l'utiliser pour configurer des gestionnaires planifiés, tester des déclencheurs cron et intégrer avec Workflows et Green Compute.
webapp-testing
TestsCette Compétence Claude fournit une boîte à outils basée sur Playwright pour tester des applications web locales via des scripts Python. Elle permet la vérification frontend, le débogage d'interface utilisateur, la capture d'écrans et la consultation des journaux, tout en gérant les cycles de vie du serveur. Utilisez-la pour les tâches d'automatisation de navigateur, mais exécutez les scripts directement plutôt que de lire leur code source pour éviter la pollution du contexte.
finishing-a-development-branch
TestsCette compétence aide les développeurs à finaliser leur travail en vérifiant que les tests passent, puis en présentant des options d'intégration structurées. Elle guide le processus de fusion, de création de PRs ou de nettoyage des branches une fois l'implémentation terminée. Utilisez-la lorsque votre code est prêt et testé pour finaliser systématiquement le cycle de développement.
