Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计异常

instrument-experiment仪器实验

Agent Skill

instrument-experiment 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

196

周安装

8

GitHub Stars

公开资料未说明

下载量

63
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:instrument-experiment(仪器实验)
来源仓库:https://github.com/numerataz/instrument-experiment
仓库路径:skills/instrument-experiment
安装命令:
npx skills add https://github.com/numerataz/instrument-experiment --skill instrument-experiment
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/numerataz/instrument-experiment --skill instrument-experiment

简介

instrument-experiment 用于查找、检索和筛选相关信息,适合快速定位候选结果。

  • 适用于需要根据关键词或任务场景从来源线索中筛选信息的场景。
  • 通过关键词、任务场景或来源线索进行信息检索和筛选。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Guidelines to aid LLMs use p95 to instrument Python training programs.

p95 is a small Python library that helps users run ML experiments and track their results. It supports a local mode (file-based, zero config) and a remote mode (cloud-backed, requires login).

1. Check cloud authentication first

Before doing anything else, run:

pnf cloud status

Parse the output:

  • Logged in — output contains Linked to … as … and a Default team: <team> line.

- Extract <team> (e.g. acme). - Default to remote mode for all runs. Use <team>/<project-name> as the project. - The SDK will automatically pick up the API key and URL from the credentials file — no env vars needed.

  • Not logged in — output is No credentials found. Run 'pnf cloud login' to authenticate.

- Ask the user: do they want to log in to the cloud, or continue in local mode? - If they want to log in, follow the Login flow below. - If they prefer local mode, skip to step 2 and use a plain project name (no /).

Login flow

  1. Run pnf cloud login with run_in_background=True — the CLI will open the browser automatically and print the settings URL as a fallback. Note the URL from its output in case the browser didn't open for the user.
  2. Use AskUserQuestion: "Your browser should have opened to generate an API key. If not, open <URL from step 1>. Once you've generated a key, paste it here."
  3. Verify with pnf cloud status — it should now show the logged-in user and default team.
  4. Continue with remote mode using the default team, which can also be retrieved with pnf cloud status

2. Install p95

  • Make sure p95 is installed. Add it using pip install p95 or uv add p95, can be checked in the requirements.txt file or pyproject.toml dependencies.
  • pnf (the CLI) is installed automatically alongside p95. If you install it with uv, you run it with uv run pnf, with pip you run it with pnf directly.

3. Instrument with p95

Use the project format that matches the mode:

  • Remote mode (logged in): project="<team>/<project-name>" — e.g. project="acme/resnet-cifar"
  • Local mode: project="<project-name>" — e.g. project="resnet-cifar"

With a context manager:

from p95 import Run

with Run(project="acme/resnet-cifar", name="experiment-1", share=True) as run:
    run.log_config({"learning_rate": 0.001, "epochs": 10})

    for epoch in range(10):
        loss = train_one_epoch()
        run.log_metrics({"loss": loss}, step=epoch)

# → p95: Share your run at https://p95.run/aB12cD34

Without a context manager:

run = Run(project="acme/resnet-cifar", share=True)
run.log_metrics({"loss": 0.5}, step=1)
run.complete()

# If you want, you can make it fail with run.fail("error message")

4. Seeing the results

Remote mode — runs are visible at https://p.ninetyfive.gg/<team>/<project-name>. If share=True was passed, use the share link printed after the run completes.

Local mode — use the pnf CLI:

  • pnf ls --project <project-name> --logdir <logdir> to see runs and their IDs.
  • pnf show <run-id> --logdir <logdir> for a run summary.
  • To inspect raw data under {logdir}/{project}/{run_name}/:

- meta.json — run status, timestamps, git and system info - config.json — hyperparameters logged via log_config - run.db — all metrics in a SQLite table named metrics (columns: name, step, value, time); query with sqlite3 run.db "SELECT name, step, value FROM metrics ORDER BY name, step"

5. Fetching results from the cloud (remote projects)

When the user has a remote project and wants to inspect runs or sweeps, fetch data directly from the API using WebFetch. The base URL is https://p.ninetyfive.gg/api/v1.

Authentication requires a Bearer token. Use the API key from pnf cloud status (ask the user for it if not already known, or ask them to run pnf cloud login). Otherwise, use the API key from P95_API_KEY.

Useful endpoints:

WhatRequest
List runsGET /api/v1/teams/{team}/apps/{app}/runs
Get run detailsGET /api/v1/runs/{run_id}
List metric namesGET /api/v1/runs/{run_id}/metrics
Metrics summary (min/max/mean)GET /api/v1/runs/{run_id}/metrics/summary
Latest metric valuesGET /api/v1/runs/{run_id}/metrics/latest
Full metric time seriesGET /api/v1/runs/{run_id}/metrics/{metric_name}
List sweepsGET /api/v1/teams/{team}/apps/{app}/sweeps
Get sweep detailsGET /api/v1/sweeps/{sweep_id}

Example workflow to answer "which run had the best val_loss?":

  1. GET /api/v1/teams/{team}/apps/{app}/runs — get run list with IDs
  2. For each run: GET /api/v1/runs/{run_id}/metrics/summary — find the minimum val_loss
  3. Report the best run ID, its config, and the metric value to the user

6. Show the user the CLI cheatsheet

After instrumenting, always show the user the following so they can explore results themselves:


Using the pnf CLI

If you installed with uv, prefix commands with uv run (e.g. uv run pnf ls). With pip, run pnf directly.
CommandWhat it does
pnf cloud statusShow current login status and default team
pnf cloud loginLog in to the cloud and save API key
pnf lsList all runs across all projects
pnf ls --project <name>List runs for a specific project
pnf ls --logdir <path>Use a custom log directory (default: ./logs)
pnf show <run-id>Show summary for a run (config + metric stats)
pnf show <run-id> --logdir <path>Same, with a custom log directory
pnf tuiOpen the interactive TUI to explore all runs and metrics
pnf serveLaunch a local web UI to explore runs and metrics in the browser

Example workflow after a training run:

# Check login status
pnf cloud status

# List runs in your project
pnf ls --project my-project

# Show summary of a specific run (use the short id from ls)
pnf show abc123

# Explore runs and metrics interactively (pick one)
pnf tui       # terminal UI
pnf serve     # web UI in your browser

7. Hyperparameter Sweeps

Use p95.sweep + p95.agent to search over hyperparameters automatically.

import p95
from p95.sweep import SweepConfig, ParameterSpec

# 1. Create the sweep (returns a sweep_id)
sweep_id = p95.sweep(
    project="acme/resnet-cifar",   # or plain "resnet-cifar" in local mode
    config=SweepConfig(
        method="random",        # "random" or "grid"
        metric="val_loss",      # metric to optimize
        goal="minimize",        # "minimize" or "maximize"
        parameters=[
            ParameterSpec("lr", "log_uniform", min=1e-5, max=0.1),
            ParameterSpec("batch_size", "categorical", values=[16, 32, 64]),
            ParameterSpec("epochs", "int", min=5, max=50),
            ParameterSpec("dropout", "uniform", min=0.0, max=0.5),
        ],
        max_runs=20,
        # Optional: stop poor runs early
        early_stopping={"method": "median", "min_steps": 5, "warmup": 3},
    ),
)

# 2. Define a training function — any Run created inside is auto-linked to the sweep
def train(params):
    with p95.Run(project="acme/resnet-cifar") as run:
        run.log_config(params)
        for epoch in range(int(params["epochs"])):
            loss = train_epoch(lr=params["lr"], batch_size=params["batch_size"])
            run.log_metrics({"val_loss": loss}, step=epoch)

            # Optional: prune poorly performing runs early
            if p95.should_prune(run, "val_loss", loss, epoch):
                print("Pruning run")
                break

# 3. Run the agent — it loops until the sweep is complete
p95.agent(sweep_id, train)

ParameterSpec types

typerequired fieldsdescription
"uniform"min, maxUniform float sample
"log_uniform"min, maxLog-uniform float sample (good for learning rates)
"int"min, maxUniform integer sample
"categorical"valuesRandom choice from a list

Viewing sweeps

For remote projects, sweeps are visible at:

https://p.ninetyfive.gg/<team>/<project-name>/sweeps

For local projects, use the pnf CLI — sweep runs appear alongside regular runs:

pnf ls --project my-project
pnf tui    # or pnf serve for the browser UI

Notes

  • p95.sweep returns a sweep ID. For local projects (no / in name), it starts with local:.
  • p95.agent runs continuously until max_runs is hit or all grid combinations are exhausted.
  • Pass count=N to p95.agent to limit how many runs this agent executes (useful for distributed sweeps).
  • p95.should_prune(run, metric_name, value, step) returns True when a run is performing below the median of completed runs at that step. Only effective when early_stopping is configured.
  • A static config shared across all runs can be passed via SweepConfig(config={...}).

8. Sharing runs

Always pass share=True to Run — it is the default. After the run finishes, capture the printed share link and surface it to the user.

  • Remote mode only. share=True is ignored (with a warning) in local mode — the project must be in team/app format with credentials configured.
  • The share link is public and requires no login to view.
  • If the API call fails, a warning is printed but the run itself is unaffected.
  • To keep a run private, pass share=False to Run. Do this when the user mentions the run or its results should not be publicly accessible.

Best practices

  • Prefer using the context manager, it will automatically close the run when the code exits.
  • Use descriptive and short names for the project and run, this will help you find them later.
  • Always check pnf cloud status before instrumenting — it determines the project format and whether runs go to the cloud.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.47%
按下载量换算24

Claude

26.78%
按下载量换算17

Cursor

16.68%
按下载量换算11

Gemini CLI

9.84%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills