[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6QDY18SH3V952RRJ0PDXDWN":3,"skill-same:01M6QDY18SH3V952RRJ0PDXDWN":91},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":62,"commitSha":63,"skillDirectory":64,"forksCount":14,"repositoryHtmlUrl":65,"repositoryHomepageUrl":66,"ownerHtmlUrl":67,"ownerBlogUrl":68,"ownerDescription":69,"updatedAt":70,"install":71,"resources":84},"01M6QDY18SH3V952RRJ0PDXDWN","adaptyv",null,"How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI\u002FSPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.","Tashima-Tarsh\u002FDisha6.6","Tashima-Tarsh","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F269906498?v=4","01M6PBH98X03XERH0HFT4PFB1P","NITISH KUMAR","01M6PBH9DA0M6KM3Z12P848F0K",0,"MIT","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-adaptyv\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"experiment","imports","for","screening","how to","drug-discovery","submit","protein engineering","references","uv","design","install","python sdk","how","discovery","api","code","experiment design","experiments","2026-11-10 10:12:30",false,"---\nname: adaptyv\ndescription: How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI\u002FSPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.\nlicense: MIT\ncompatibility: Requires Python 3.10+, an Adaptyv Foundry account, and an API key from foundry.adaptyvbio.com. Install adaptyv-sdk from GitHub with uv pip install.\nmetadata:\n  version: '1.3'\n  category: chemistry-and-drug-discovery\n  maintainer: Kalaris Labs\n  tags: protein engineering, binding assays, protein screening, lab automation, drug discovery\n---\n\n# Adaptyv Bio Foundry API\n\nAdaptyv Bio is a cloud lab that turns protein sequences into experimental data. Users submit amino acid sequences via API or UI; Adaptyv's automated lab runs assays (binding, thermostability, expression, fluorescence) and delivers results in ~21 days.\n\n**Official docs:** [docs.adaptyvbio.com\u002Fapi-reference](https:\u002F\u002Fdocs.adaptyvbio.com\u002Fapi-reference) · [llms.txt index](https:\u002F\u002Fdocs.adaptyvbio.com\u002Fllms.txt) · [OpenAPI spec](https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\u002Fopenapi.json)\n\n## Quick Start\n\n**Base URL:** `https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1`\n\n**Authentication:** Bearer token in the `Authorization` header. Tokens are obtained from [foundry.adaptyvbio.com](https:\u002F\u002Ffoundry.adaptyvbio.com\u002F) sidebar.\n\nWhen writing code, always read the API key from the environment variable `ADAPTYV_API_KEY` or from a `.env` file — never hardcode tokens. Check for a `.env` file in the project root first; if one exists, use a library like `python-dotenv` to load it.\n\nThe [official API docs](https:\u002F\u002Fdocs.adaptyvbio.com\u002Fapi-reference\u002Fapi-introduction) use `FOUNDRY_API_TOKEN` in curl examples; that is the same bearer token — prefer `ADAPTYV_API_KEY` in Python and new shell scripts for consistency with the SDK.\n\n```bash\nexport ADAPTYV_API_KEY=\"abs0_...\"\ncurl https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\u002Ftargets?limit=3 \\\n  -H \"Authorization: Bearer $ADAPTYV_API_KEY\"\n```\n\nEvery request except `GET \u002Fopenapi.json` requires authentication. Store tokens in environment variables or `.env` files — never commit them to source control.\n\n## Python SDK\n\n**Version note:** `adaptyv-sdk` **0.1.0** (beta) is not yet on PyPI — install from GitHub:\n\n```bash\nuv pip install \"git+https:\u002F\u002Fgithub.com\u002Fadaptyvbio\u002Fadaptyv-sdk.git\"\n```\n\nIn a project with `pyproject.toml`:\n\n```bash\nuv add \"adaptyv-sdk @ git+https:\u002F\u002Fgithub.com\u002Fadaptyvbio\u002Fadaptyv-sdk.git\"\n```\n\n**Environment variables** (set in shell or `.env` file):\n\n```bash\nADAPTYV_API_KEY=your_api_key\nADAPTYV_API_URL=https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\nADAPTYV_ORGANIZATION_ID=your_org_id  # optional\n```\n\nThe `@lab.experiment` decorator and `FoundryClient` both read `ADAPTYV_API_KEY` and `ADAPTYV_API_URL` from the environment when not passed explicitly.\n\n### Decorator Pattern\n\n```python\nfrom adaptyv import lab\n\n@lab.experiment(target=\"PD-L1\", experiment_type=\"screening\", method=\"bli\")\ndef design_binders():\n    return {\"design_a\": \"MVKVGVNG...\", \"design_b\": \"MKVLVAG...\"}\n\nresult = design_binders()\nprint(f\"Experiment: {result.experiment_url}\")\n```\n\n### Client Pattern\n\n```python\nimport os\nfrom adaptyv import FoundryClient\n\nclient = FoundryClient(\n    api_key=os.environ[\"ADAPTYV_API_KEY\"],\n    base_url=os.environ.get(\n        \"ADAPTYV_API_URL\",\n        \"https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\",\n    ),\n)\n\n# Browse targets\ntargets = client.targets.list(search=\"EGFR\", selfservice_only=True)\n\n# Estimate cost\nestimate = client.experiments.cost_estimate({\n    \"experiment_spec\": {\n        \"experiment_type\": \"screening\",\n        \"method\": \"bli\",\n        \"target_id\": \"target-uuid\",\n        \"sequences\": {\"seq1\": \"EVQLVESGGGLVQ...\"},\n        \"n_replicates\": 3\n    }\n})\n\n# Create and submit\nexp = client.experiments.create({...})\nclient.experiments.submit(exp.experiment_id)\n\n# Later: retrieve results\nresults = client.experiments.get_results(exp.experiment_id)\n```\n\n## Experiment Types\n\n| Type | Method | Measures | Requires Target |\n|---|---|---|---|\n| `affinity` | `bli` or `spr` | KD, kon, koff kinetics | Yes |\n| `screening` | `bli` or `spr` | Yes\u002Fno binding | Yes |\n| `thermostability` | — | Melting temperature (Tm) | No |\n| `expression` | — | Expression yield | No |\n| `fluorescence` | — | Fluorescence intensity | No |\n\n## Experiment Lifecycle\n\n```\nDraft → WaitingForConfirmation → QuoteSent → WaitingForMaterials → InQueue → InProduction → DataAnalysis → InReview → Done\n```\n\n| Status | Who Acts | Description |\n|---|---|---|\n| `Draft` | You | Editable, no cost commitment |\n| `WaitingForConfirmation` | Adaptyv | Under review, quote being prepared |\n| `QuoteSent` | You | Review and confirm the quote |\n| `WaitingForMaterials` | Adaptyv | Gene fragments and target ordered |\n| `InQueue` | Adaptyv | Materials arrived, queued for lab |\n| `InProduction` | Adaptyv | Assay running |\n| `DataAnalysis` | Adaptyv | Raw data processing and QC |\n| `InReview` | Adaptyv | Final validation |\n| `Done` | You | Results available |\n| `Canceled` | Either | Experiment canceled |\n\nThe `results_status` field on an experiment tracks: `none`, `partial`, or `all`.\n\n## Common Workflows\n\n### 1. Submit a Binding Screen (Step by Step)\n\n```python\n# 1. Find a target\ntargets = client.targets.list(search=\"EGFR\", selfservice_only=True)\ntarget_id = targets.items[0].id\n\n# 2. Preview cost\nestimate = client.experiments.cost_estimate({\n    \"experiment_spec\": {\n        \"experiment_type\": \"screening\",\n        \"method\": \"bli\",\n        \"target_id\": target_id,\n        \"sequences\": {\"seq1\": \"EVQLVESGGGLVQ...\", \"seq2\": \"MKVLVAG...\"},\n        \"n_replicates\": 3\n    }\n})\n\n# 3. Create experiment (starts as Draft)\nexp = client.experiments.create({\n    \"name\": \"EGFR binder screen batch 1\",\n    \"experiment_spec\": {\n        \"experiment_type\": \"screening\",\n        \"method\": \"bli\",\n        \"target_id\": target_id,\n        \"sequences\": {\"seq1\": \"EVQLVESGGGLVQ...\", \"seq2\": \"MKVLVAG...\"},\n        \"n_replicates\": 3\n    }\n})\n\n# 4. Submit for review\nclient.experiments.submit(exp.experiment_id)\n\n# 5. Poll or use webhooks until Done\n# 6. Retrieve results\nresults = client.experiments.get_results(exp.experiment_id)\n```\n\n### 2. Automated Pipeline (Skip Draft + Auto-Accept Quote)\n\n```python\nexp = client.experiments.create({\n    \"name\": \"Auto pipeline run\",\n    \"experiment_spec\": {...},\n    \"skip_draft\": True,\n    \"auto_accept_quote\": True,\n    \"webhook_url\": \"https:\u002F\u002Fmy-server.com\u002Fwebhook\"\n})\n# Webhook fires on each status transition; poll or wait for Done\n```\n\n### 3. Using Webhooks\n\nPass `webhook_url` when creating an experiment. Adaptyv POSTs to that URL on every status transition with the experiment ID, previous status, and new status.\n\n## Sequences\n\n- Simple format: `{\"seq1\": \"EVQLVESGGGLVQPGGSLRLSCAAS\"}`\n- Rich format: `{\"seq1\": {\"aa_string\": \"EVQLVESGGGLVQ...\", \"control\": false, \"metadata\": {\"type\": \"scfv\"}}}`\n- Multi-chain: use colon separator — `\"MVLS:EVQL\"`\n- Valid amino acids: A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y (case-insensitive, stored uppercase)\n- Sequences can only be added to experiments in `Draft` status\n\n## Filtering, Sorting, and Pagination\n\nAll list endpoints support pagination (`limit` 1-100, default 50; `offset`), search (free-text on name fields), and sorting.\n\n**Filtering** uses s-expression syntax via the `filter` query parameter:\n- Comparison: `eq(field,value)`, `neq`, `gt`, `gte`, `lt`, `lte`, `contains(field,substring)`\n- Range\u002Fset: `between(field,lo,hi)`, `in(field,v1,v2,...)`\n- Logic: `and(expr1,expr2,...)`, `or(...)`, `not(expr)`\n- Null: `is_null(field)`, `is_not_null(field)`\n- JSONB: `at(field,key)` — e.g., `eq(at(metadata,score),42)`\n- Cast: `float()`, `int()`, `text()`, `timestamp()`, `date()`\n\n**Sorting** uses `asc(field)` or `desc(field)`, comma-separated (max 8):\n```\nsort=desc(created_at),asc(name)\n```\n\n**Example:** `filter=and(gte(created_at,2026-01-01),eq(status,done))`\n\n## Error Handling\n\nAll errors return:\n```json\n{\n  \"error\": \"Human-readable description\",\n  \"request_id\": \"req_019462a4-b1c2-7def-8901-23456789abcd\"\n}\n```\nThe `request_id` is also in the `x-request-id` response header — include it when contacting support.\n\n## Token Management\n\nTokens use Biscuit-based cryptographic attenuation. You can create restricted tokens scoped by organization, resource type, actions (read\u002Fcreate\u002Fupdate), and expiry via `POST \u002Ftokens\u002Fattenuate`. Revoking a token (`POST \u002Ftokens\u002Frevoke`) revokes it and all its descendants.\n\n## Detailed API Reference\n\nFor the full list of all 32 endpoints with request\u002Fresponse schemas, read `references\u002Fapi-endpoints.md`.\n\n## Agent operating procedure\n\n1. **Check the environment.** Confirm toolkit versions and input formats (SMILES, SDF, PDB, CIF), and sanitize molecules before computing.\n2. **Pin down the inputs.** Confirm formats, identifiers and parameters from the data or the user. Ask rather than guess any value that changes the result.\n3. **Run a small version first.** Process a few molecules or one target first and inspect the outputs.\n4. **Execute the full task** using the instructions and references above.\n5. **Validate the result.** Check for invalid structures, unit consistency, and applicability domain of predictive models.\n6. **Report.** State what was run (versions, commands, parameters), what was checked, and what is still uncertain.\n\n| If this happens | Do this |\n|---|---|\n| Molecules fail to parse or sanitize | Report and skip them with reasons; never silently drop or alter structures. |\n| A function, flag or endpoint in these instructions is missing in the installed version | Check the installed version's own documentation (`help()`, `--help`, official docs), adapt, and tell the user. Never invent an API. |\n| A required input, identifier or parameter is ambiguous | Ask the user, or state the assumption explicitly before running. |\n\n**Integrity rules**\n\n- Never fabricate results, parameters, identifiers, citations or statistics. If something cannot be run or verified, say so plainly.\n- Computational predictions are hypotheses, not experimental results; label them as such.\n- Treat version-specific details here as possibly outdated: confirm them against the official documentation for the installed version.\n- Ask before actions that cost money, consume shared GPUs or cloud quota, touch personal or patient data, or cannot be undone.\n\n## Related skills\n\n- `tamarind`: Access a collection of open-source molecular design and structural biology tools on the Tamarind Bio platform, via its REST API or MCP serv…\n- `ginkgo-cloud-lab`: Submit and manage protocols on Ginkgo Bioworks Cloud Lab (cloud.ginkgo.bio), a web-based interface for autonomous lab execution on Reconfig…\n- `esm`: Covers the EvolutionaryScale\u002FBiohub `esm` Python SDK: ESM3 generative protein design (sequence, structure and function tracks, chain-of-tho…\n","# Adaptyv Bio Foundry API\n\nAdaptyv Bio is a cloud lab that turns protein sequences into experimental data. Users submit amino acid sequences via API or UI; Adaptyv's automated lab runs assays (binding, thermostability, expression, fluorescence) and delivers results in ~21 days.\n\n**Official docs:** [docs.adaptyvbio.com\u002Fapi-reference](https:\u002F\u002Fdocs.adaptyvbio.com\u002Fapi-reference) · [llms.txt index](https:\u002F\u002Fdocs.adaptyvbio.com\u002Fllms.txt) · [OpenAPI spec](https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\u002Fopenapi.json)\n\n## Quick Start\n\n**Base URL:** `https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1`\n\n**Authentication:** Bearer token in the `Authorization` header. Tokens are obtained from [foundry.adaptyvbio.com](https:\u002F\u002Ffoundry.adaptyvbio.com\u002F) sidebar.\n\nWhen writing code, always read the API key from the environment variable `ADAPTYV_API_KEY` or from a `.env` file — never hardcode tokens. Check for a `.env` file in the project root first; if one exists, use a library like `python-dotenv` to load it.\n\nThe [official API docs](https:\u002F\u002Fdocs.adaptyvbio.com\u002Fapi-reference\u002Fapi-introduction) use `FOUNDRY_API_TOKEN` in curl examples; that is the same bearer token — prefer `ADAPTYV_API_KEY` in Python and new shell scripts for consistency with the SDK.\n\n```bash\nexport ADAPTYV_API_KEY=\"abs0_...\"\ncurl https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\u002Ftargets?limit=3 \\\n  -H \"Authorization: Bearer $ADAPTYV_API_KEY\"\n```\n\nEvery request except `GET \u002Fopenapi.json` requires authentication. Store tokens in environment variables or `.env` files — never commit them to source control.\n\n## Python SDK\n\n**Version note:** `adaptyv-sdk` **0.1.0** (beta) is not yet on PyPI — install from GitHub:\n\n```bash\nuv pip install \"git+https:\u002F\u002Fgithub.com\u002Fadaptyvbio\u002Fadaptyv-sdk.git\"\n```\n\nIn a project with `pyproject.toml`:\n\n```bash\nuv add \"adaptyv-sdk @ git+https:\u002F\u002Fgithub.com\u002Fadaptyvbio\u002Fadaptyv-sdk.git\"\n```\n\n**Environment variables** (set in shell or `.env` file):\n\n```bash\nADAPTYV_API_KEY=your_api_key\nADAPTYV_API_URL=https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\nADAPTYV_ORGANIZATION_ID=your_org_id  # optional\n```\n\nThe `@lab.experiment` decorator and `FoundryClient` both read `ADAPTYV_API_KEY` and `ADAPTYV_API_URL` from the environment when not passed explicitly.\n\n### Decorator Pattern\n\n```python\nfrom adaptyv import lab\n\n@lab.experiment(target=\"PD-L1\", experiment_type=\"screening\", method=\"bli\")\ndef design_binders():\n    return {\"design_a\": \"MVKVGVNG...\", \"design_b\": \"MKVLVAG...\"}\n\nresult = design_binders()\nprint(f\"Experiment: {result.experiment_url}\")\n```\n\n### Client Pattern\n\n```python\nimport os\nfrom adaptyv import FoundryClient\n\nclient = FoundryClient(\n    api_key=os.environ[\"ADAPTYV_API_KEY\"],\n    base_url=os.environ.get(\n        \"ADAPTYV_API_URL\",\n        \"https:\u002F\u002Ffoundry-api-public.adaptyvbio.com\u002Fapi\u002Fv1\",\n    ),\n)\n\n# Browse targets\ntargets = client.targets.list(search=\"EGFR\", selfservice_only=True)\n\n# Estimate cost\nestimate = client.experiments.cost_estimate({\n    \"experiment_spec\": {\n        \"experiment_type\": \"screening\",\n        \"method\": \"bli\",\n        \"target_id\": \"target-uuid\",\n        \"sequences\": {\"seq1\": \"EVQLVESGGGLVQ...\"},\n        \"n_replicates\": 3\n    }\n})\n\n# Create and submit\nexp = client.experiments.create({...})\nclient.experiments.submit(exp.experiment_id)\n\n# Later: retrieve results\nresults = client.experiments.get_results(exp.experiment_id)\n```\n\n## Experiment Types\n\n| Type | Method | Measures | Requires Target |\n|---|---|---|---|\n| `affinity` | `bli` or `spr` | KD, kon, koff kinetics | Yes |\n| `screening` | `bli` or `spr` | Yes\u002Fno binding | Yes |\n| `thermostability` | — | Melting temperature (Tm) | No |\n| `expression` | — | Expression yield | No |\n| `fluorescence` | — | Fluorescence intensity | No |\n\n## Experiment Lifecycle\n\n```\nDraft → WaitingForConfirmation → QuoteSent → WaitingForMaterials → InQueue → InProduction → DataAnalysis → InReview → Done\n```\n\n| Status | Who Acts | Description |\n|---|---|---|\n| `Draft` | You | Editable, no cost commitment |\n| `WaitingForConfirmation` | Adaptyv | Under review, quote being prepared |\n| `QuoteSent` | You | Review and confirm the quote |\n| `WaitingForMaterials` | Adaptyv | Gene fragments and target ordered |\n| `InQueue` | Adaptyv | Materials arrived, queued for lab |\n| `InProduction` | Adaptyv | Assay running |\n| `DataAnalysis` | Adaptyv | Raw data processing and QC |\n| `InReview` | Adaptyv | Final validation |\n| `Done` | You | Results available |\n| `Canceled` | Either | Experiment canceled |\n\nThe `results_status` field on an experiment tracks: `none`, `partial`, or `all`.\n\n## Common Workflows\n\n### 1. Submit a Binding Screen (Step by Step)\n\n```python\n# 1. Find a target\ntargets = client.targets.list(search=\"EGFR\", selfservice_only=True)\ntarget_id = targets.items[0].id\n\n# 2. Preview cost\nestimate = client.experiments.cost_estimate({\n    \"experiment_spec\": {\n        \"experiment_type\": \"screening\",\n        \"method\": \"bli\",\n        \"target_id\": target_id,\n        \"sequences\": {\"seq1\": \"EVQLVESGGGLVQ...\", \"seq2\": \"MKVLVAG...\"},\n        \"n_replicates\": 3\n    }\n})\n\n# 3. Create experiment (starts as Draft)\nexp = client.experiments.create({\n    \"name\": \"EGFR binder screen batch 1\",\n    \"experiment_spec\": {\n        \"experiment_type\": \"screening\",\n        \"method\": \"bli\",\n        \"target_id\": target_id,\n        \"sequences\": {\"seq1\": \"EVQLVESGGGLVQ...\", \"seq2\": \"MKVLVAG...\"},\n        \"n_replicates\": 3\n    }\n})\n\n# 4. Submit for review\nclient.experiments.submit(exp.experiment_id)\n\n# 5. Poll or use webhooks until Done\n# 6. Retrieve results\nresults = client.experiments.get_results(exp.experiment_id)\n```\n\n### 2. Automated Pipeline (Skip Draft + Auto-Accept Quote)\n\n```python\nexp = client.experiments.create({\n    \"name\": \"Auto pipeline run\",\n    \"experiment_spec\": {...},\n    \"skip_draft\": True,\n    \"auto_accept_quote\": True,\n    \"webhook_url\": \"https:\u002F\u002Fmy-server.com\u002Fwebhook\"\n})\n# Webhook fires on each status transition; poll or wait for Done\n```\n\n### 3. Using Webhooks\n\nPass `webhook_url` when creating an experiment. Adaptyv POSTs to that URL on every status transition with the experiment ID, previous status, and new status.\n\n## Sequences\n\n- Simple format: `{\"seq1\": \"EVQLVESGGGLVQPGGSLRLSCAAS\"}`\n- Rich format: `{\"seq1\": {\"aa_string\": \"EVQLVESGGGLVQ...\", \"control\": false, \"metadata\": {\"type\": \"scfv\"}}}`\n- Multi-chain: use colon separator — `\"MVLS:EVQL\"`\n- Valid amino acids: A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y (case-insensitive, stored uppercase)\n- Sequences can only be added to experiments in `Draft` status\n\n## Filtering, Sorting, and Pagination\n\nAll list endpoints support pagination (`limit` 1-100, default 50; `offset`), search (free-text on name fields), and sorting.\n\n**Filtering** uses s-expression syntax via the `filter` query parameter:\n- Comparison: `eq(field,value)`, `neq`, `gt`, `gte`, `lt`, `lte`, `contains(field,substring)`\n- Range\u002Fset: `between(field,lo,hi)`, `in(field,v1,v2,...)`\n- Logic: `and(expr1,expr2,...)`, `or(...)`, `not(expr)`\n- Null: `is_null(field)`, `is_not_null(field)`\n- JSONB: `at(field,key)` — e.g., `eq(at(metadata,score),42)`\n- Cast: `float()`, `int()`, `text()`, `timestamp()`, `date()`\n\n**Sorting** uses `asc(field)` or `desc(field)`, comma-separated (max 8):\n```\nsort=desc(created_at),asc(name)\n```\n\n**Example:** `filter=and(gte(created_at,2026-01-01),eq(status,done))`\n\n## Error Handling\n\nAll errors return:\n```json\n{\n  \"error\": \"Human-readable description\",\n  \"request_id\": \"req_019462a4-b1c2-7def-8901-23456789abcd\"\n}\n```\nThe `request_id` is also in the `x-request-id` response header — include it when contacting support.\n\n## Token Management\n\nTokens use Biscuit-based cryptographic attenuation. You can create restricted tokens scoped by organization, resource type, actions (read\u002Fcreate\u002Fupdate), and expiry via `POST \u002Ftokens\u002Fattenuate`. Revoking a token (`POST \u002Ftokens\u002Frevoke`) revokes it and all its descendants.\n\n## Detailed API Reference\n\nFor the full list of all 32 endpoints with request\u002Fresponse schemas, read `references\u002Fapi-endpoints.md`.\n\n## Agent operating procedure\n\n1. **Check the environment.** Confirm toolkit versions and input formats (SMILES, SDF, PDB, CIF), and sanitize molecules before computing.\n2. **Pin down the inputs.** Confirm formats, identifiers and parameters from the data or the user. Ask rather than guess any value that changes the result.\n3. **Run a small version first.** Process a few molecules or one target first and inspect the outputs.\n4. **Execute the full task** using the instructions and references above.\n5. **Validate the result.** Check for invalid structures, unit consistency, and applicability domain of predictive models.\n6. **Report.** State what was run (versions, commands, parameters), what was checked, and what is still uncertain.\n\n| If this happens | Do this |\n|---|---|\n| Molecules fail to parse or sanitize | Report and skip them with reasons; never silently drop or alter structures. |\n| A function, flag or endpoint in these instructions is missing in the installed version | Check the installed version's own documentation (`help()`, `--help`, official docs), adapt, and tell the user. Never invent an API. |\n| A required input, identifier or parameter is ambiguous | Ask the user, or state the assumption explicitly before running. |\n\n**Integrity rules**\n\n- Never fabricate results, parameters, identifiers, citations or statistics. If something cannot be run or verified, say so plainly.\n- Computational predictions are hypotheses, not experimental results; label them as such.\n- Treat version-specific details here as possibly outdated: confirm them against the official documentation for the installed version.\n- Ask before actions that cost money, consume shared GPUs or cloud quota, touch personal or patient data, or cannot be undone.\n\n## Related skills\n\n- `tamarind`: Access a collection of open-source molecular design and structural biology tools on the Tamarind Bio platform, via its REST API or MCP serv…\n- `ginkgo-cloud-lab`: Submit and manage protocols on Ginkgo Bioworks Cloud Lab (cloud.ginkgo.bio), a web-based interface for autonomous lab execution on Reconfig…\n- `esm`: Covers the EvolutionaryScale\u002FBiohub `esm` Python SDK: ESM3 generative protein design (sequence, structure and function tracks, chain-of-tho…\n",{"name":5,"license":15,"metadata":56,"description":7,"compatibility":61},{"tags":57,"version":58,"category":59,"maintainer":60},"protein engineering, binding assays, protein screening, lab automation, drug discovery","1.3","chemistry-and-drug-discovery","Kalaris Labs","Requires Python 3.10+, an Adaptyv Foundry account, and an API key from foundry.adaptyvbio.com. Install adaptyv-sdk from GitHub with uv pip install.","main","0da4485785ee599388900be50db1635489d53056",".agents\u002Fskills\u002Fkal-adaptyv","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6","https:\u002F\u002Fdisha6.6.thenitishkr.in\u002F","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh","www.thenitishkr","thenitishkr | AI • Cyber-security • Research\r\n","2026-11-08 03:33:25",{"source":8,"skillName":5,"commands":72,"prompt":82,"zipAvailable":83},[73,76,79],{"tool":74,"command":75},"npx","npx skills add Tashima-Tarsh\u002FDisha6.6 --skill adaptyv",{"tool":77,"command":78},"bunx","bunx skills add Tashima-Tarsh\u002FDisha6.6 --skill adaptyv",{"tool":80,"command":81},"pnpm","pnpm dlx skills add Tashima-Tarsh\u002FDisha6.6 --skill adaptyv","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-adaptyv\u002FSKILL.md",true,[85],{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fapi-endpoints.md","REFERENCE","参考文档",20101,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-adaptyv\u002Freferences\u002Fapi-endpoints.md",[92,121,146,171,196,218],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":101,"publishedAt":51},"01M6QRD07D4TGNDK6VJ4EHF8BV","youtube-full","Use when the user needs YouTube transcripts, video search, channel browsing, playlist extraction, or content monitoring. Trigger phrases: 'get the transcript for', 'search YouTube for', 'what are the latest videos on', 'list this playlist', 'monitor this channel', or any request involving a YouTube URL, video ID, or @handle. Do NOT use for downloading video or audio files, YouTube engagement data (likes, comments), or private\u002Fage-restricted videos.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fyoutube-full\u002FSKILL.md",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,34,118,119,120],"youtube full","youtube","full","transcript","search","monitoring","data","Video","Audio","list","files","do","get","age","trigger","URL","browsing","request","youtube transcripts",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":51},"01M6QRCJ3112VYPA97YG7KGMC2","x-twitter-growth","X\u002FTwitter growth engine for building audience, crafting viral content, and analyzing engagement. Use when the user wants to grow on X\u002FTwitter, write tweets or threads, analyze their X profile, research competitors on X, plan a posting strategy, or optimize engagement. Complements social-content (generic multi-platform) with X-specific depth: algorithm mechanics, thread engineering, reply strategy, profile optimization, and competitive intelligence via web search.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fx-twitter-growth\u002FSKILL.md",[],[128,129,130,131,106,132,133,134,135,136,137,138,139,140,141,142,143,144,145,34],"twitter","x twitter growth","growth","research","content","engineering","plan","web search","competitors","analyze","engine","write","strategy","use","platform","grow","posting","competitive",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":51},"01M6QRBN3EHQNJY42RERP7A149","write-a-skill","Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, build, or author a new skill.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwrite-a-skill\u002FSKILL.md",[152],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[154,139,155,156,157,158,159,160,141,161,162,62,163,164,165,166,167,168,169,170],"write a skill","github","create","https","productivity","matt pocock","direct","example","build","new skill","structure","new agent","resources","with","tree","progressive disclosure","author",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":51},"01M6QRB6G8P33PNGAF9Y69EJ9T","wrap-up","Close out a launched Claude Managed Agent — recap every primitive the founder now owns, regenerate the single-file overview page, and suggest the next 1-2 upgrades. Use when the user says \"wrap up\", \"close this out\", \"what do I own now\", \"give me the summary\", \"recap the agent\", or when the orchestrator routes phase=wrap-up. primitives_inventory.py tables everything owned (agent, environment, session, memory, outcome, deployment); overview_page.py regenerates a self-contained .\u002Fmy-agent\u002Fagent-overview.html; upgrade_suggester.py ranks the next moves from recorded deferrals plus standing hardening steps. Companion to run-without-you; the last stop before phase=done.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwrap-up\u002FSKILL.md",[],[178,179,180,181,182,183,184,185,186,141,187,113,188,189,190,191,192,193,194,195],"wrap up","up","wrap","gemini","deployment","run","file","hardening","closeout","stop","upgrade","founder","close","companion","you","tables","directions","phase",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":203,"publishedAt":51},"01M6QRA5AYC1RBFZ39GTWGS3N8","workflow-builder","Design and write deterministic multi-agent workflow scripts (.js files in .claude\u002Fworkflows\u002F) for Claude Code's Workflow tool. Use when a user wants to build, create, author, scaffold, or run a custom Claude Code workflow, orchestrate sub-agents (fan-out, pipeline, loop, judge-panel), or automate a repeatable multi-step task across fresh-context agents.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fworkflow-builder\u002FSKILL.md",[202],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[204,205,206,42,207,156,183,48,208,209,210,211,139,212,112,213,214,215,216,217],"workflow","workflow builder","builder","workflows","orchestrate","pipeline","loop","multi-agent","context","across","fresh","scripts","judge","claude code workflow",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":224,"publishedAt":51},"01M6QR7QMCZESKQA0ERW1E657M","weekly-review","Use when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says \"\u002Fcs:weekly-review\". Walks David Allen's three-phase loop — GET CLEAR, GET CURRENT, GET CREATIVE — with deterministic scripts that inventory open loops, gate the checklist with named gaps, and score commitment health 0-100.","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fweekly-review\u002FSKILL.md",[],[225,226,227,228,229,230,231,232,233,210,234,235,236,237,238,239,114,240,241,195],"review","weekly review","weekly","deterministic scripts","reflect","feeds","inventory","open","team","projects","project-management","scanner","conversation","back","project","sprint","cadence"]