implement-tool

A guided workflow for adding a new bioinformatics tool wrapper to the proto-tools project. A wrapper connects the project to an external program used to process biological data.

In plain words
What is it for?
It helps research the external tool, define its input and output contract, implement the wrapper, test real temporary workloads, audit configuration fields, verify documentation and licenses, and prepare the change for release.
Why use it?
It breaks the work into research, implementation, parallel review, testing, documentation checks, and final review so important integration problems are less likely to be missed.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/evo-design/proto-tools/implement-tool
Any agent
npx skills add evo-design/proto-tools --skill implement-tool
Clone the repo
git clone --depth 1 https://github.com/evo-design/proto-tools

Made for: Claude Code, Codex.

Per session 93 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 14,576 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00093 $0.14576
Opus 5 $0.00046 $0.07288
Sonnet 5 $0.00019 $0.02915
Haiku 4.5 $0.00009 $0.01458

Measured 2d ago against content hash ed8e78fa1acf, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

implement-tool scanned grade A with 1 finding 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 2d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

wget -q -O "$WEIGHTS_DIR/model.pt" "https://example.com/model.pt"
.claude/skills/implement-tool/SKILL.md · 996 lines

How it starts

The opening of the file, as written. The whole thing — 996 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Implement a New Tool — Orchestrator Pipeline

You are implementing a new bioinformatics tool in the proto-tools codebase. This skill orchestrates the full lifecycle using parallel subagents for speed.

Pipeline overview:

Phase 1: Research → Phase 2: Contract → Phase 3: Fan-out (5 parallel agents) → Phase 4: Verify → Phase 4.5: Config Field Audit → Phase 4.6: Temp Integration & Stress → Phase 4.7: Docs Verification → Phase 4.8: Self-Audit & Full PR Review → Phase 5: Ship

The Phase 4.x gates are decisive and non-negotiable — they catch the failure modes that the fast fan-out reliably misses (invented config parameters, untested real workloads, hallucinated citations/licenses, missing license.yaml/links.yaml). Do not skip them to ship faster. Ground every decision in upstream source or a credible reference — never assume.

Key principle: The core tool file (Input/Config/Output + @tool() + run_*()) is the contract everything else depends on. Write it first (sequential), then fan out to subagents (parallel).

CRITICAL: Standalone scripts run in isolated environments and MUST NOT import from proto_tools:

  • from proto_tools.utils import ... — will fail at runtime
  • from proto_tools.entities import ... — will fail at runtime
  • from standalone_helpers import get_subprocess_device_env — published on PYTHONPATH (OK)
  • Standard library imports: import json, import subprocess, etc. (OK)
  • Dependencies from requirements.txt: import torch, import numpy, etc. (OK)
  • NEVER install proto_tools in standalone environments (creates circular dependency, breaks isolation)

Phase 0: Parse Input

The user provides EITHER:

  • A GitHub issue URL/number (e.g., #<issue-number> or https://github.com/evo-design/proto-tools/issues/<issue-number>)
  • A tool name + source repo (e.g., "ESM-IF from https://github.com/facebookresearch/esm")

If a GitHub issue is provided:

  1. Fetch the issue with gh issue view <number> --json title,body,labels
  2. Extract from the issue body: tool name, source repo URLs, paper links, category, operations
  3. Present the extracted info to the user for confirmation

Read the full file on GitHub · 996 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

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.

  1. 2d ago First seen · 996 lines · 93 tokens per session scan A ed8e78fa1acf

Subscribe to this mod's changes

implement-tool is a skill published in the GitHub repository evo-design/proto-tools (125 stars, last pushed 5d ago), licensed MIT. It adds 93 tokens to every session and 14,576 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

cellxgene-census-query

Query CZ CELLxGENE Census (61M+ cells). Filter by cell type/tissue/disease, retrieve expression data, and integrate with scanpy/PyTorch for population-scale single-cell analysis. Use this skill when: (1) Querying single-cell expression data by cell type, tissue, or disease, (2) Exploring available single-cell datasets…

PharMolix/OpenBioMed · 105 tokens

functional-analysis

Understand the biological meaning of gene sets through pathway and functional enrichment analysis. Use when user has gene lists (DEGs, markers, SVGs) and wants to know what pathways or functions they represent. Triggers: "pathway analysis", "enrichment", "GSEA", "GO terms", "what pathways", "biological function"…

cafferychen777/ChatSpatial · 87 tokens

troubleshoot

Diagnose and resolve common issues in spatial transcriptomics analysis. Use when analysis fails, produces unexpected results, or user encounters errors. Triggers: "error", "failed", "not working", "issue", "problem", "help", "unexpected result", "debug", "fix", "wrong output".

cafferychen777/ChatSpatial · 65 tokens

cell-composition

Determine cell type composition at each spatial location through deconvolution or annotation. Use when user wants to know what cell types exist, their proportions, or where specific cells are located. Triggers: "cell type composition", "deconvolution", "what cells are here", "cell type proportions", "estimate cell…

cafferychen777/ChatSpatial · 78 tokens

cell-dynamics

Understand cellular differentiation, state transitions, and dynamic processes through trajectory and velocity analysis. Use when user wants to study development, differentiation, cell fate decisions, or temporal dynamics. Triggers: "trajectory", "pseudotime", "RNA velocity", "differentiation", "cell fate", "how do…

cafferychen777/ChatSpatial · 86 tokens

differential-analysis

Find differentially expressed genes between conditions, regions, or cell types. Use when user wants to compare gene expression, find markers, or identify condition-specific changes. Triggers: "differential expression", "DEG", "marker genes", "compare conditions", "what genes differ", "find markers", "condition…

cafferychen777/ChatSpatial · 74 tokens