Understand the Pyre/Pysa architecture and locate key implementations quickly.
The material indicates a prompt/documentation-style architecture skill with no required secrets and no declared remote endpoints, and no evident data exfiltration or execution capability. Combined with the open-source source information, overall risk is low, though supply-chain confidence is limited by unclear repository fit, maintenance, and adoption signals.
The material explicitly states that no keys or environment variables are required, and there is no indication of requesting tokens, API keys, or other sensitive credentials, so credential leakage or misuse risk is low.
No remote endpoints are declared, and the content is an architecture description with no indication of sending user data to external services, so network egress risk is low.
The system flags this as prompt-only, and the README only provides Pyre/Pysa architecture guidance, with no sign of spawning local processes, executing scripts, or invoking system capabilities.
The material does not declare any capability to read, write, or enumerate local files or data; its purpose is to help understand codebase structure and does not itself imply data-access privileges.
The GitHub and open-source status are positive for auditability; however, the license is unspecified, community adoption is 0 stars, maintenance status is unknown, and the mapping between the skill name and the linked repository is not fully substantiated in the material, so additional verification of source integrity and maintenance is advisable.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "architecture" skill from askskill: 1. Download https://raw.githubusercontent.com/facebook/pyre-check/main/.llms/skills/architecture/SKILL.md 2. Save it as ~/.claude/skills/architecture/SKILL.md 3. Reload skills and tell me it's ready
Please outline the overall architecture of type checking in the Pyre codebase and identify the main modules and directories responsible for type inference, error reporting, and the core checking flow.
A structured explanation of the type checking flow, with relevant source directories and key files listed.
I am debugging unexpected taint analysis results in Pysa. Please show where taint sources, propagation rules, sink checks, and result generation are implemented, and explain how these modules interact.
A map of the core taint analysis modules and an explanation of how each stage connects.
Act as a code guide and help me quickly understand the source directory structure of the Pyre/Pysa repository. Explain the purpose of each major directory and point out entry files that new contributors should read first.
A directory-by-directory functional guide with a suggested reading list for getting started.
client/): Reads .pyre_configuration, determines flags, shells out to pyre.binsource/main.ml): Routes to Check, Analyze (Pysa), Infer, Server, CodeNavigation, or NoDaemonQuerysource/menhir_parser/, source/cpython_parser/): Python source -> AST (source/ast/)source/analysis/): Populates global type environment in parallel. All sources added at once (not recursively following imports). Builds a layered environment chain: UnannotatedGlobalEnvironment -> ClassHierarchyEnvironment -> TypeAliasEnvironment -> AnnotatedGlobalEnvironment -> FunctionDefinitionEnvironment -> ErrorsEnvironment -> TypeEnvironmentsource/analysis/typeCheck.ml): Each function checked in parallel via control flow graph. Propagates parameter types through function body, checks compatibility at each operation. Never goes beyond function call boundaries.source/interprocedural_analyses/taint/taintAnalysis.ml): Main entrypoint of the analysis, runs the different analysis stepssource/interprocedural/pyrePysaApi.ml): Provides an API to query a type checker (pyre or pyrefly)source/interprocedural/classHierarchyGraph.ml): Builds a class hierarchy graphsource/interprocedural/callablesSharedMemory.ml): Builds a mapping from callables (functions and methods) to their AST and signaturesource/interprocedural/callGraph.ml): Defines call graph data structuressource/interprocedural/callGraphBuilder.ml): Builds call graphs for all callablessource/interprocedural_analyses/taint/modelParser.ml): Parses .pysa model filessource/interprocedural_analyses/taint/forwardAnalysis.ml): Tracks taint from sourcessource/interprocedural_analyses/taint/backwardAnalysis.ml): Tracks taint to sinkssource/interprocedural_analyses/taint/taintConfiguration.ml): Defines rules connecting sources to sinkssource/interprocedural/fixpointAnalysis.ml): Implements a global fixpoint over callablessource/interprocedural_analyses/taint/model.ml): Defines a summary of the taint behavior of a function, inferred during analysissource/ast/: Python AST representation (Expression, Statement, Source, Location, Reference)source/analysis/: Core type checker: type representation (type.ml), CFG, fixpoint, preprocessing, environments, type order, class hierarchysource/interprocedural/: Interprocedural framework: call graph, dependency graph, override graph, fixpointsource/interprocedural_analyses/taint/: Pysa taint analysis: sources, sinks, domains, models, rules, reportingsource/interprocedural_analyses/type_inference/: Interprocedural type inferencesource/server/: Pyre daemon for incremental analysissource/code_navigation_server/: IDE code navigation serversource/command/: OCaml CLI command implementationssource/buck_command/: Buck-specific commandssource/buck_integration/: Buck build system integrationsource/service/: Shared memory management, schedulingsource/domains/: Abstract domain library (lattices for interprocedural analyses)source/hack_parallel/: Shared memory and multi-worker infrastructure (forked from Hack)source/saved_state/: Serialization for incremental analysisclient/: Python CLI (pyre command)client/commands/: All user-facing commands (check, analyze, start, stop, infer, query, etc.)client/configuration/: .pyre_configuration file parsing…
Run, debug, and update Pysa taint analysis end-to-end integration tests.
Apply the right commit prefix, reviewer, and test plan for code changes.
Debug Pysa false negatives by comparing outputs and locating lost taint flows.
Read, write, and debug Pysa JSON taint models and .models output.
Write and run Markdown-driven end-to-end tests for Relay apps.
Get idiomatic Relay guidance for React code, debugging, and code reviews.
Review code or branches for correctness, compatibility, architecture, tests, performance, and security.
Analyze software architecture through natural language exploration of components and data flows.
Analyze codebase architecture, inspect dependencies, and generate interactive visual diagrams.
Understand massive codebases with semantic search, dependency analysis, and impact tracing.
Understand multi-project codebases with knowledge graphs, search, tracing, and impact analysis.
Automatically save and restore AI sessions to preserve architecture context and decisions.