try
指定されたライブラリやツール、GitHubリポジトリなどを、実際に動かせる環境で試用・評価し、基本的な機能や組み合わせ方を検証、正直な結果をまとめたチュートリアルを作成することで、本格導入前に実用性を見極められるように支援するSkill。
📜 元の英語説明(参考)
Systematically explore and evaluate a library, tool, or GitHub repo in an isolated scratch environment. Use this skill whenever the user asks to "try", "evaluate", "explore", or "kick the tires" on a library/repo/tool, especially when they provide a GitHub URL, npm/pip package name, or repo shorthand like "owner/repo". Use it when they want real primitives, failure modes, and composability beyond quickstarts before deciding on integration. Produces runnable scratch/ scripts demonstrating key primitives, a composition script, and a Tutorial.md with honest findings. This is NOT for full integration into an existing codebase.
🇯🇵 日本人クリエイター向け解説
指定されたライブラリやツール、GitHubリポジトリなどを、実際に動かせる環境で試用・評価し、基本的な機能や組み合わせ方を検証、正直な結果をまとめたチュートリアルを作成することで、本格導入前に実用性を見極められるように支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o try.zip https://jpskill.com/download/8877.zip && unzip -o try.zip && rm try.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8877.zip -OutFile "$d\try.zip"; Expand-Archive "$d\try.zip" -DestinationPath $d -Force; ri "$d\try.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
try.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
tryフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Try: 構造化されたライブラリ探索
あなたは、ユーザーが評価したいと考えているライブラリを探索しています。あなたの仕事は、単純すぎるクイックスタートと完全なコードベースの統合との間のギャップを埋めることです。あなたは以下を行います。
- 隔離されたワークスペースをセットアップする
- ライブラリの実際の API サーフェスを発見する(README に書かれていることだけではありません)
- それぞれが 1 つのプリミティブが動作することを証明する、小さく実行可能なスクリプトを作成する
- プリミティブを連携させる構成スクリプトを作成する
- すべてを Tutorial.md に正直な評価とともに文書化する
これを使い捨ての探索のみに限定してください。このスキルを使用している間は、対象のライブラリをリファクタリングしたり、ユーザーのプロダクションリポジトリに統合したりしないでください。
呼び出しパターン
ユーザーは次のように言うでしょう。
/try ComposioHQ/agent-orchestrator/try https://github.com/some/repo — help me build Xexplore langgraph, I want to understand the state machine primitiveskick the tires on better-auth
彼らはオプションで以下を提供するかもしれません。
- 何を構築したいかについてのスクリーンショットまたはコンテキスト
- 特定の視点(「ストリーミング API に焦点を当てる」)
- 制約(「これを Bun で動作させる必要がある」)
フェーズ 0: セットアップ
ワークスペースのセットアップ
───────────────
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ ユーザーが │ │ リポジトリを │ │ scratch/ │
│ "/try X" │────>│ /tmp/try-X/ │────>│ ワークスペースを作成 │
│ と言う │ │ にクローンする │ │ │
└──────────────┘ └──────────────┘ └──────────────┘
- ターゲットを決定する: リポジトリの URL、パッケージ名、または省略形を解析します。
- 隔離されたディレクトリにクローンまたはインストールする:
- GitHub リポジトリ →
/tmp/try-<name>/にgit clone --depth 1 - npm パッケージ →
mkdir /tmp/try-<name> && cd $_ && npm init -y && npm i <pkg> - pip パッケージ →
mkdir /tmp/try-<name> && cd $_ && python -m venv .venv && source .venv/bin/activate && pip install <pkg>
- GitHub リポジトリ →
- クローン内にスクラッチワークスペースを作成する:
/tmp/try-<name>/ ├── scratch/ ← ここにスクリプトを記述します │ ├── 01-<primitive>.{ts,py,js} │ ├── 02-<primitive>.{ts,py,js} │ ├── ... │ └── 99-compose.{ts,py,js} └── Tutorial.md ← あなたのレポート
try CLI (github.com/tobi/try) がインストールされていて、ユーザーがファイルシステムの分離を求めている場合は、それを使用してください。それ以外の場合は、/tmp/ で問題ありません — これは使い捨ての探索です。
フェーズ 1: 偵察
目標: ライブラリの実際のサーフェス領域を理解する。まだコードを書き始めないでください。
偵察シーケンス
──────────────
README → package.json/pyproject.toml → src/ tree → exports → examples/ → tests/
この順序で読みます。各ステップで停止し、以下を抽出します。
- README / docs/: ライブラリは何をすると主張していますか?メンタルモデルは何ですか?
- パッケージマニフェスト: 依存関係は何ですか?実際に何をエクスポートしますか?
- ソースツリー:
find src/ -name "*.ts" -o -name "*.py" | head -40— 形状を取得します。 - パブリック API: メインのエントリポイント (index.ts, init.py, mod.rs) を読みます。 すべてのパブリック関数/クラス/型を抽出します。これは README の厳選されたバージョンではなく、実際の API です。
- Examples/: 存在する場合は、それらを読みます。何をカバーし、何をスキップしているかに注意してください。
- Tests/: 2〜3 個のテストファイルを読みます。テストは、ドキュメントよりもエッジケース、予想される失敗、およびライブラリ作成者の実際のメンタルモデルを明らかにします。
偵察後、メンタルインベントリを作成します(まだファイルに書き込まず、保持してください)。
識別されたプリミティブ
─────────────────────
1. <PrimitiveName> — 何をするか、一行で
2. <PrimitiveName> — 何をするか、一行で
...
N. <Composition> — それらがどのように連携するか
ユーザーが特定の視点(「エージェントオーケストレーターの構築を手伝ってほしい」)を与えた場合は、関連するプリミティブにフィルタリングします。そうでない場合は、最も重要な 5〜8 個をカバーします。
フェーズ 2: プリミティブスクリプト
目標: プリミティブごとに 1 つのスクリプト。各スクリプトは自己完結型で実行可能です。
スクリプト構造
────────────────
┌─ scratch/01-<name>.ts ──────────────────────────┐
│ │
│ // PRIMITIVE: <Name> │
│ // WHAT: <一行の説明> │
│ // EXPECT: <実行時に何が起こるべきか> │
│ │
│ <最小限のセットアップ> │
│ <プリミティブを実行する> │
│ <結果を出力/アサートする> │
│ │
│ // FINDINGS: │
│ // - <学んだこと> │
│ // - <落とし穴、もしあれば> │
│ // - <ドキュメントに記載されていなかったこと> │
│ │
└───────────────────────────────────────────────────┘
プリミティブスクリプトのルール:
- ファイルごとに 1 つの概念。1 つのスクリプトで複数のプリミティブを実行しないでください。
- 各スクリプトを実際に実行する、記述した後。stdout/stderr をキャプチャします。
- 失敗した場合、デバッグします。失敗自体が貴重な情報です — FINDINGS にそれを記録します。
- ドキュメントが間違っている場合、それを記録します。これは /try の主な価値の 1 つです。
- ライブラリのネイティブパターンを使用する、ラッパーではなく。生の API を感じたいのです。
- 読み取り順序のために数値プレフィックスでファイルに名前を付ける: 01-, 02-, 03- など。
- ライブラリの言語に合わせる。TS ライブラリの場合は、TS を記述します。Python の場合は、Python を記述します。
各スクリプトの実行後、メンタルモデルを更新します。予期しないことが見つかった場合は、残りのスクリプトの計画を調整します。
フェーズ 3: 構成スクリプト
目標: 2〜4 個のプリミティブを連携させて、実際のユースケースに似たものにします。
scratch/99-compose.ts
─────────────────────
// COMPOSITION: <これが何を示すか>
// PRIMITIVES USED: 01, 03, 05
// SCENARIO: <現実的なユースケース>
これは、ライブラリのプリミティブが実際にうまく構成されるかどうか、またはインピーダンスのミスマッチがあるかどうかを確認する場所です。構成スクリプトは以下を行う必要があります。
- フェーズ 2 で動作することが証明されたプリミティブを使用する
- シミュル
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Try: Structured Library Exploration
You are exploring a library the user wants to evaluate. Your job is to bridge the gap between a too-simple quickstart and full codebase integration. You will:
- Set up an isolated workspace
- Discover the library's real API surface (not just what the README shows)
- Write small, runnable scripts that each prove ONE primitive works
- Write a composition script that wires primitives together
- Document everything in Tutorial.md with an honest verdict
Keep this scoped to disposable exploration only. Do not refactor or integrate the target library into the user's production repository during this skill.
Invocation Patterns
The user will say something like:
/try ComposioHQ/agent-orchestrator/try https://github.com/some/repo — help me build Xexplore langgraph, I want to understand the state machine primitiveskick the tires on better-auth
They may optionally provide:
- A screenshot or context about what they want to build
- A specific angle ("focus on the streaming API")
- A constraint ("I need this to work with Bun")
Phase 0: Setup
WORKSPACE SETUP
───────────────
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ User says │ │ Clone repo │ │ Create │
│ "/try X" │────>│ into │────>│ scratch/ │
│ │ │ /tmp/try-X/ │ │ workspace │
└──────────────┘ └──────────────┘ └──────────────┘
- Determine the target: Parse the repo URL, package name, or shorthand.
- Clone or install into an isolated directory:
- GitHub repo →
git clone --depth 1into/tmp/try-<name>/ - npm package →
mkdir /tmp/try-<name> && cd $_ && npm init -y && npm i <pkg> - pip package →
mkdir /tmp/try-<name> && cd $_ && python -m venv .venv && source .venv/bin/activate && pip install <pkg>
- GitHub repo →
- Create the scratch workspace inside the clone:
/tmp/try-<name>/ ├── scratch/ ← your scripts go here │ ├── 01-<primitive>.{ts,py,js} │ ├── 02-<primitive>.{ts,py,js} │ ├── ... │ └── 99-compose.{ts,py,js} └── Tutorial.md ← your writeup
If try CLI (github.com/tobi/try) is installed and the user wants filesystem
isolation, use it. Otherwise, /tmp/ is fine — this is disposable exploration.
Phase 1: Recon
Goal: Understand the library's actual surface area. Do NOT start writing code yet.
RECON SEQUENCE
──────────────
README → package.json/pyproject.toml → src/ tree → exports → examples/ → tests/
Read in this order. Stop at each step and extract:
- README / docs/: What does the library claim to do? What's the mental model?
- Package manifest: What are the dependencies? What does it actually export?
- Source tree:
find src/ -name "*.ts" -o -name "*.py" | head -40— get the shape. - Public API: Read the main entry point (index.ts, init.py, mod.rs). Extract every public function/class/type. This is the REAL API, not the README's cherry-picked version.
- Examples/: If they exist, read them. Note what they cover and what they skip.
- Tests/: Read 2-3 test files. Tests reveal edge cases, expected failures, and the library author's actual mental model better than docs do.
After recon, produce a mental inventory (don't write this to a file yet, just hold it):
PRIMITIVES IDENTIFIED
─────────────────────
1. <PrimitiveName> — what it does, one line
2. <PrimitiveName> — what it does, one line
...
N. <Composition> — how they wire together
If the user gave a specific angle ("help me build an agent orchestrator"), filter primitives to what's relevant. If not, cover the top 5-8 most important ones.
Phase 2: Primitive Scripts
Goal: One script per primitive. Each script is self-contained and runnable.
SCRIPT STRUCTURE
────────────────
┌─ scratch/01-<name>.ts ──────────────────────────┐
│ │
│ // PRIMITIVE: <Name> │
│ // WHAT: <one-line description> │
│ // EXPECT: <what should happen when you run it> │
│ │
│ <minimal setup> │
│ <exercise the primitive> │
│ <print/assert the result> │
│ │
│ // FINDINGS: │
│ // - <what you learned> │
│ // - <gotchas, if any> │
│ // - <what the docs didn't mention> │
│ │
└───────────────────────────────────────────────────┘
Rules for primitive scripts:
- One concept per file. No script should exercise more than one primitive.
- Actually run each script after writing it. Capture stdout/stderr.
- If it fails, debug it. The failure itself is valuable intel — note it in FINDINGS.
- If the docs are wrong, note it. This is one of the main values of /try.
- Use the library's native patterns, not wrappers. You want to feel the raw API.
- Name files with numeric prefix for reading order: 01-, 02-, 03-, etc.
- Match the library's language. If it's a TS library, write TS. If Python, write Python.
After each script runs, update your mental model. Adjust the plan for remaining scripts if you discover something unexpected.
Phase 3: Composition Script
Goal: Wire 2-4 primitives together into something that resembles a real use case.
scratch/99-compose.ts
─────────────────────
// COMPOSITION: <what this demonstrates>
// PRIMITIVES USED: 01, 03, 05
// SCENARIO: <realistic-ish use case>
This is where you find out if the library's primitives actually compose well or if there are impedance mismatches. The composition script should:
- Use the primitives you proved work in Phase 2
- Simulate a realistic (but minimal) workflow
- Handle at least one error case
- Print clear output showing what happened at each step
If the user provided a screenshot or description of what they want to build, the composition should approximate that.
Phase 4: Tutorial.md
Write Tutorial.md in the repo root. Structure:
# Trying: <library-name>
> <one-line verdict: would you use this in production?>
## What It Is
<2-3 sentences. What problem does it solve? What's the mental model?>
## Key Primitives
### 1. <Primitive Name>
<What it does. What surprised you. Link to scratch/01-*.>
### 2. <Primitive Name>
...
## Composition
<How the primitives wire together. What worked. What was awkward.
Link to scratch/99-compose.>
## Gotchas
<Bulleted list. Things the docs don't tell you. Failure modes.
Missing features. Version issues.>
## Verdict
<Honest assessment:>
<- Maturity (alpha/beta/production)>
<- API ergonomics (1-5)>
<- Docs quality (1-5)>
<- Would I build on this? Why/why not?>
<- What I'd want to see before committing>
Execution Discipline
Throughout all phases, follow this cadence:
LOOP (per script)
─────────────────
WRITE ──> RUN ──> OBSERVE ──> NOTE FINDINGS
^ │
└─────── ADJUST PLAN ─────────────┘
- Write small, run often. Don't write 5 scripts then run them all.
- Capture real output. Include actual stdout in Tutorial.md findings, trimmed.
- If something takes >2 minutes to debug, note it as a complexity signal and move on.
- Don't fake it. If a primitive doesn't work, say so. The user is evaluating whether to invest time in this library. Honest signal > polished demo.
Output Checklist
Before declaring done, verify:
✓ scratch/ contains 3-8 numbered primitive scripts
✓ scratch/99-compose.{ts,py} exists and runs
✓ Every script in scratch/ was actually executed
✓ Tutorial.md exists with all sections filled
✓ Tutorial.md verdict is honest, not promotional
✓ All gotchas from debugging are captured
Edge Cases
- Repo requires API keys: Note it, mock if possible, skip if not. Don't ask the user for keys unless they offered.
- Repo is huge (monorepo): Focus on the specific package the user mentioned.
Use
findandgrepto navigate, don't try to read everything. - Repo is broken / won't install: That IS the finding. Write a short Tutorial.md noting what failed and bail. This saves the user hours.
- Library is for a different runtime (e.g., user wants Bun but lib is Node-only): Try it anyway, note compatibility issues.
- User provides a screenshot: Use the screenshot as context for what the composition script should approximate.
Update Check
On first use in a session, silently check for a newer version:
- Fetch
https://raw.githubusercontent.com/abpai/skills/main/versions.json. - Compare the version for
tryagainst this file'smetadata.version. - If the remote version is newer, pause before the main task and ask:
try update available (local {X.Y} → remote {A.B}). Would you like me to update it for you first? I can run
npx skills update tryfor you. - If the user says yes, run the update before continuing.
- If the user says no, continue with the current local version.
- If the fetch fails or web access is unavailable, skip silently.