Borrowing it
Nothing to install: this file belongs to deephaven/deephaven-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/deephaven/deephaven-mcp/main/.agents/skills/ref-project-reference/SKILL.mdgit clone --depth 1 https://github.com/deephaven/deephaven-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/deephaven/deephaven-mcp/ref-project-reference)<a href="https://agentmods.dev/skills/deephaven/deephaven-mcp/ref-project-reference"><img src="https://agentmods.dev/badge/skills/deephaven/deephaven-mcp/ref-project-reference/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/deephaven/deephaven-mcp/ref-project-reference"><img src="https://agentmods.dev/badge/skills/deephaven/deephaven-mcp/ref-project-reference.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 17 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium MCP Rug Pull · line 140 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.04551 |
| Opus 5.5 | $0.00017 | $0.01820 |
| Sonnet 5.5 | $0.00009 | $0.00910 |
| Haiku 4.5 | $0.00004 | $0.00455 |
Grade A, and why
ref-project-reference scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deephaven MCP Repository Reference
Architecture and Key Files
src/deephaven_mcp/mcp_systems_server/server.py— Multiplexed systems server entry point (main()); CLI parsing, transport selection, PSK resolution.src/deephaven_mcp/mcp_systems_server/_lifespan.py— FastMCP lifespan factory: buildsMultiSystemRegistryfromConfigTree, starts oneEvictorper child registry.src/deephaven_mcp/auth/middleware/_psk.py—PSKMiddleware: Starlette middleware gating inbound HTTP requests on a single shared PSK (X-Deephaven-PSKheader). Mounted by the systems server's HTTP transport; reusable by other MCP servers.src/deephaven_mcp/auth/credentials/— Outbound credential dataclasses passed toCorePlusSessionFactory.from_credentials.src/deephaven_mcp/mcp_systems_server/_tools/— MCP tool modules. All registered on the single multiplexed server:session,table,script,session_community,session_enterprise,catalog,pq. Shared helpers inshared.py. Tools that name a system take asystemargument; tools that take anid(<type>:<system>:<name>) parse the system out of it. There is nomcp_reloadtool — config changes require a restart.src/deephaven_mcp/mcp_docs_server/— Docs MCP server for documentation Q&A.src/deephaven_mcp/config/— General-purpose config primitives reusable by any MCP server:_file_loader.py(async JSON5 reader +ConfigurationErrorwrapping),_templating.py(${env:VAR}/${env:VAR:-default}/${file:PATH}placeholder engine),_data_root.py(resolve_data_root— the sole reader ofDH_AI_DATA_DIR, keyed onsys.platformfor the per-OS default),_config_dir.py(theconfig/subdir under that root),_store.py(ConfigStore— file-level read/modify/write that thedhcli configauthoring verbs go through, so they never need a full-tree load),_dir_permissions.py(verify_config_directory_permissions— the startup policy: existence/is-dir checks, refuse-to-start, and aggregation of audit violations into oneConfigurationError; the per-OS audit mechanics are delegated to_platform.dir_permissions.audit_tree).src/deephaven_mcp/_platform/— OS abstraction layer (HAL): the single home for code that branches onos.name._os_support.py(leaf module —SUPPORTED_OS_NAMES = frozenset({"posix", "nt"})plusunsupported_os_error(component), the one dispatch-error factory every site uses),fsutil.py(advisory file locking, atomic private writes, Windows-retry filesystem helpers),spawn.py(spawn_detacheddetached-process launcher —start_new_sessionon POSIX,creationflagson Windows, fail-fastInternalErrorotherwise),dir_permissions.py(harden_private_dir+audit_tree, with per-OS_harden_*/_audit_*impls). The package__init__.pyis docstring-only and imports no submodules (cycle-safety); submodules import the contract from the leaf._os_support. Note:sys.platform-keyed path/venv resolution (config/_data_root.py,resource_manager/_launcher.py) is a different axis and intentionally stays in its domain modules.src/deephaven_mcp/config/schema/— Pydantic section schemas for the whole product (consumed by both the systems server and thedhcliCLI): the per-section schema/loader modules_server.py(ServerConfig+DaemonProcessConfig),_cli.py(CliConfigand the nested groups it composes —OutputConfig,DaemonControlConfig,RequestConfig,DocsConfig,ContextConfig, plus their timeout and policy types),_community.py,_enterprise.py(each owns its umbrella schema andload_<section>function), plus the tool-tunable schemas_response_limits.py(ResponseLimits) and_pq_config.py(PqToolsConfig) embedded by the community/enterprise schemas.src/deephaven_mcp/config/tree.py—ConfigTree(mirrors the on-disk layoutserver.json,cli.json,community/,enterprise/one-for-one; the canonical aggregator type) andConfigTreeLoader(walks the configuration directory and produces a validatedConfigTree). Lives at the top of theconfigpackage so bothcliandmcp_systems_serverdepend on it without depending on each other;config/__init__.pystays primitives-only soimport deephaven_mcp.configdoes not pull in the schema graph.src/deephaven_mcp/resource_manager/_registry_multi.py—MultiSystemRegistry: composite registry over one community child + one enterprise child per configured system; routes session-id reads to the correct child.src/deephaven_mcp/cli/— ThedhcliCLI (click + Pattern B)._main.py(root group),_commands/{daemon,tool,session,system,table,catalog,pq,docs,config,context,agents,self_cmd}.py(noun groups;daemonfor daemon lifecycle,toolis the raw MCP escape hatch,configreads and authors the local config tree, the runtime nounssession/system/table/catalog/pqwrap specific MCP tools,docsconnects directly to the docs MCP server (no daemon),contextmanages the sticky default id,agentsemits machine-readable CLI metadata,self_cmdis theselfnoun group for tool self-management — today thecompletionverb printing shell tab-completion scripts),_async.py(run_asyncasync-to-sync adapter),_errors.py(CliError+ErrorCoderegistry),_help.py(HelpSpechelp vocabulary,build_helprendering, and theHelpfulMetametadata base),_command.py(HelpfulCommand/HelpfulGroup, carrying the runtime-load hook and the--agentsinjection),_manifest.py(the agents manifest builders:build_manifest/build_summary_tree/describe_command),_params.py(the CLI-wide blank-value guard andNonBlankPath),_format.py(human/json/json-pretty/yaml renderers),_echo.py(printing a payload in the active output mode —echo_payload(runtime, ...)readsruntime.config.cli.output.format;echo_payload_no_runtime(ctx, ...)reads the root-ofor callers that run before the config load, i.e.needs_runtime=Falseverbs and the eager--agentscallback),_runtime.py(resolvedRuntimecontext onctx.obj),_context.py(ContextStorepersisting the sticky default id to<runtime_dir>/context.json, plus theresolve_context_value/require_context_value/require_context_targetresolution helpers and the single-sourcedCONTEXT_HINT/CONTEXT_RISK_*help strings),_daemon/(daemon-lifecycle package:_lifecycle.pyorchestration coreget_or_start_daemon(ctx, ...) -> DaemonRegistryEntry/stop_daemon(directory, *, kill_after_seconds); commands build theDaemonContextfrom aRuntimeviaDaemonContext.from_runtime(runtime)and read tunables fromruntime.config.cli.daemon; the OS-specific spawn mechanic is delegated to_platform.spawn.spawn_detached),_mcp_client.py(loopback HTTP client). Async handlers must be wrapped with@run_async— seeref-python-coding-practicesrule 15 and thecli-command-addskill.src/deephaven_mcp/daemon_registry.py— Shared wire contract between the CLI and a local daemon process.DaemonRegistryEntry(Pydantic model fordaemon.jsonwith field-level invariants —Literal["127.0.0.1"]host, port range,AwareDatetimestarted_at, etc.; the recorded(pid, create_time_ns, process_name)triple is exposed as aProcessIdentityvia the.identityproperty, andDaemonRegistryEntry.is_live()is the single PID-reuse-safe liveness predicate shared by the CLI lifecycle and the server's registry-publish refusal),DaemonDirectory(typed handle to<runtime_dir>/daemon/exposingregistry_path/lock_path/log_pathand atomic registry CRUD viatempfile.mkstemp),RegistryCorruptError, and filename constants. Imported by bothmcp_systems_server(daemon entry point writes the registry) andcli(spawn/poll/stop reads it; reachable viaruntime.daemon_dir).src/deephaven_mcp/_processes.py— Portable process primitives (noos.namebranch; stays top-level rather than under_platform).ProcessIdentityvalue object: a frozen(pid, create_time_ns)pair that anchors all PID-reuse-safe operations on a process. Providesis_alive(),send_signal_safely(sig) -> SignalOutcome(DELIVERED/GONE/DENIED/RECYCLED), andcapture(pid, process_name)for first-publish capture. The recordedcreate_time_nsis compared by integer equality (no float drift). Replaces the_capture_create_time/_send_sigterm/_force_kill/_process_still_runninghelpers that previously had to trade a raw(pid, create_time)tuple by hand at every call site. The OS-dispatched detached-process launcher that used to live here moved to_platform.spawn.spawn_detached.src/deephaven_mcp/mcp_systems_server/_idle.py— Generic idle-shutdown machinery:IdleTimer(monotonic-clock data),ActivityMiddleware(Starlette middleware bumping the timer),idle_watcher(lifespan coroutine that calls a suppliedexit_fnon expiry). Opted into viamake_lifespan(..., idle=IdleWatcher(...)); daemon mode always sets it.scripts/— Test clients and utilities.tests/— Comprehensive test suite with high line coverage onsrc/deephaven_mcp/(runtests-runfor the current count and report).pyproject.toml— Project configuration and dependencies, including the supported Python floor (requires-python). The rule for consuming it isref-python-coding-practicesrule 16 (Python version floor).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 170 lines · 43 tokens per session scan A aa68295f0a7b
ref-project-reference is a skill published in the GitHub repository deephaven/deephaven-mcp (5 stars, last pushed 2d ago), licensed Apache-2.0. It adds 43 tokens to every session and 4,551 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…