[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6QFJ7DFN3RT7FVGST44WF55":3,"skill-same:01M6QFJ7DFN3RT7FVGST44WF55":110},{"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":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":14,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":67,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6QFJ7DFN3RT7FVGST44WF55","polars-bio",null,"Python library polars-bio for genomic interval operations and bioinformatics file I\u002FO on Polars DataFrames, built on Arrow and DataFusion. Covers overlap, nearest, merge, cluster, coverage, complement, subtract, count_overlaps, per-base pileup depth, and read\u002Fscan\u002Fwrite of BED, VCF, BAM, CRAM, SAM, GFF\u002FGTF, FASTA, FASTQ, plus SQL queries over those files. Use when intersecting or merging genomic intervals in Polars. Use when reading or streaming large BED, VCF, or BAM files, including from S3, GCS, or Azure. Use when computing read depth from BAM or CRAM. Use when running SQL on genomic files. Use when migrating bioframe code to a faster alternative. Not for pandas-only workflows that do not use Polars or DataFusion.","Tashima-Tarsh\u002FDisha6.6","Tashima-Tarsh","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F269906498?v=4","01M6PBH98X03XERH0HFT4PFB1P","NITISH KUMAR","01M6PBH9DA0M6KM3Z12P848F0K",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"polars","polars bio","for","workflows","formats","reading","paths","vcf","bed","scan","do","files","sql queries","uv","edit","write","read","library","datafusion","streaming","2026-11-10 10:12:30",false,"---\nname: polars-bio\ndescription: Python library polars-bio for genomic interval operations and bioinformatics file I\u002FO on Polars DataFrames, built on Arrow and DataFusion. Covers overlap, nearest, merge, cluster, coverage, complement, subtract, count_overlaps, per-base pileup depth, and read\u002Fscan\u002Fwrite of BED, VCF, BAM, CRAM, SAM, GFF\u002FGTF, FASTA, FASTQ, plus SQL queries over those files. Use when intersecting or merging genomic intervals in Polars. Use when reading or streaming large BED, VCF, or BAM files, including from S3, GCS, or Azure. Use when computing read depth from BAM or CRAM. Use when running SQL on genomic files. Use when migrating bioframe code to a faster alternative. Not for pandas-only workflows that do not use Polars or DataFusion.\nlicense: Apache-2.0\ncompatibility: Requires Python 3.11–3.14 and polars-bio (uv pip install). Cloud I\u002FO uses standard AWS\u002FGCS\u002FAzure SDK env vars when paths use s3:\u002F\u002F, gs:\u002F\u002F, or az:\u002F\u002F URIs.\nallowed-tools: Read Write Edit Bash\nmetadata:\n  version: '1.1'\n  category: life-sciences\n  maintainer: Kalaris Labs\n  tags: genomic intervals, bioinformatics, Polars, genomics file formats\n---\n\n# polars-bio\n\n## Overview\n\npolars-bio is a high-performance Python library for genomic interval operations and bioinformatics file I\u002FO, built on Polars, Apache Arrow, and Apache DataFusion. It provides a familiar DataFrame-centric API for interval arithmetic (overlap, nearest, merge, coverage, complement, subtract) and reading\u002Fwriting common bioinformatics formats (BED, VCF, BAM, CRAM, GFF\u002FGTF, FASTA, FASTQ).\n\nKey value propositions:\n- **6-38x faster** than bioframe on real-world genomic benchmarks\n- **Streaming\u002Fout-of-core** support for large genomes via DataFusion\n- **Cloud-native** file I\u002FO (S3, GCS, Azure) with predicate pushdown\n- **Two API styles**: functional (`pb.overlap(df1, df2)`) and method-chaining (`df1.lazy().pb.overlap(df2)`)\n- **SQL interface** for genomic data via DataFusion SQL engine\n\n## When to Use This Skill\n\nUse this skill when:\n- Performing genomic interval operations (overlap, nearest, merge, coverage, complement, subtract)\n- Reading\u002Fwriting bioinformatics file formats (BED, VCF, BAM, CRAM, GFF\u002FGTF, FASTA, FASTQ)\n- Processing large genomic datasets that don't fit in memory (streaming mode)\n- Running SQL queries on genomic data files\n- Migrating from bioframe to a faster alternative\n- Computing read depth\u002Fpileup from BAM\u002FCRAM files\n- Working with Polars DataFrames containing genomic intervals\n\n## Quick Start\n\n### Installation\n\nRequires Python 3.11–3.14 (see [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002Fpolars-bio\u002F)).\n\n```bash\nuv pip install \"polars-bio==0.31.0\"\n```\n\nFor pandas compatibility (pandas ≥3.0):\n\n```bash\nuv pip install \"polars-bio[pandas]==0.31.0\"\n```\n\n### Basic Overlap Example\n\n```python\nimport polars as pl\nimport polars_bio as pb\n\n# Create two interval DataFrames\ndf1 = pl.DataFrame({\n    \"chrom\": [\"chr1\", \"chr1\", \"chr1\"],\n    \"start\": [1, 5, 22],\n    \"end\":   [6, 9, 30],\n})\n\ndf2 = pl.DataFrame({\n    \"chrom\": [\"chr1\", \"chr1\"],\n    \"start\": [3, 25],\n    \"end\":   [8, 28],\n})\n\n# Functional API (returns LazyFrame by default)\nresult = pb.overlap(df1, df2)\nresult_df = result.collect()\n\n# Get a DataFrame directly\nresult_df = pb.overlap(df1, df2, output_type=\"polars.DataFrame\")\n\n# Method-chaining API (via .pb accessor on LazyFrame)\nresult = df1.lazy().pb.overlap(df2)\nresult_df = result.collect()\n```\n\n### Reading a BED File\n\n```python\nimport polars_bio as pb\n\n# Eager read (loads entire file)\ndf = pb.read_bed(\"regions.bed\")\n\n# Lazy scan (streaming, for large files)\nlf = pb.scan_bed(\"regions.bed\")\nresult = lf.collect()\n```\n\n## Core Capabilities\n\n### 1. Genomic Interval Operations\n\npolars-bio provides 8 core interval operations for genomic range arithmetic. All operations accept Polars DataFrames with `chrom`, `start`, `end` columns (configurable). All operations return a `LazyFrame` by default (use `output_type=\"polars.DataFrame\"` for eager results).\n\n**Operations:**\n- `overlap` \u002F `count_overlaps` - Find or count overlapping intervals between two sets (`overlap_output=\"left\"` returns df1-only hits since 0.30.0)\n- `nearest` - Find nearest intervals (with configurable `k`, `overlap`, `distance` params)\n- `merge` - Merge overlapping\u002Fbookended intervals within a set\n- `cluster` - Assign cluster IDs to overlapping intervals\n- `coverage` - Compute per-interval coverage counts (two-input operation)\n- `complement` - Find gaps between intervals within a genome\n- `subtract` - Remove portions of intervals that overlap another set\n\n**Example:**\n```python\nimport polars_bio as pb\n\n# Find overlapping intervals (returns LazyFrame)\nresult = pb.overlap(df1, df2, suffixes=(\"_1\", \"_2\"))\n\n# Count overlaps per interval\ncounts = pb.count_overlaps(df1, df2)\n\n# Merge overlapping intervals\nmerged = pb.merge(df1)\n\n# Find nearest intervals\nnearest = pb.nearest(df1, df2)\n\n# Collect any LazyFrame result to DataFrame\nresult_df = result.collect()\n```\n\n**Reference:** See `references\u002Finterval_operations.md` for detailed documentation on all operations, parameters, output schemas, and performance considerations.\n\n### 2. Bioinformatics File I\u002FO\n\nRead and write common bioinformatics formats with `read_*`, `scan_*`, `write_*`, and `sink_*` functions. Supports cloud storage (S3, GCS, Azure) and compression (GZIP, BGZF).\n\n**Supported formats:**\n- **BED** - Genomic intervals (`read_bed`, `scan_bed`, `write_*` via generic)\n- **VCF** - Genetic variants (`read_vcf`, `scan_vcf`, `write_vcf`, `sink_vcf`)\n- **VCF Zarr** - Analysis-ready Zarr stores (`read_vcf_zarr`, `scan_vcf_zarr`; local directory paths)\n- **BAM** - Aligned reads (`read_bam`, `scan_bam`, `write_bam`, `sink_bam`)\n- **CRAM** - Compressed alignments (`read_cram`, `scan_cram`, `write_cram`, `sink_cram`)\n- **GFF** - Gene annotations (`read_gff`, `scan_gff`)\n- **GTF** - Gene annotations (`read_gtf`, `scan_gtf`)\n- **FASTA** - Reference sequences (`read_fasta`, `scan_fasta`, `write_fasta`, `sink_fasta`)\n- **FASTQ** - Sequencing reads (`read_fastq`, `scan_fastq`, `write_fastq`, `sink_fastq`)\n- **SAM** - Text alignments (`read_sam`, `scan_sam`, `write_sam`, `sink_sam`)\n- **Hi-C pairs** - Chromatin contacts (`read_pairs`, `scan_pairs`)\n\n**Example:**\n```python\nimport polars_bio as pb\n\n# Read VCF file\nvariants = pb.read_vcf(\"samples.vcf.gz\")\n\n# Lazy scan BAM file (streaming)\nalignments = pb.scan_bam(\"aligned.bam\")\n\n# Read GFF annotations\ngenes = pb.read_gff(\"annotations.gff3\")\n\n# Cloud storage (individual params, not a dict)\ndf = pb.read_bed(\"s3:\u002F\u002Fbucket\u002Fregions.bed\",\n                 allow_anonymous=True)\n```\n\n**Reference:** See `references\u002Ffile_io.md` for per-format column schemas, parameters, cloud storage options, and compression support.\n\n### 3. SQL Data Processing\n\nRegister bioinformatics files as tables and query them using DataFusion SQL. Combines the power of SQL with polars-bio's genomic-aware readers.\n\n```python\nimport polars as pl\nimport polars_bio as pb\n\n# Register files as SQL tables (path first, name= keyword)\npb.register_vcf(\"samples.vcf.gz\", name=\"variants\")\npb.register_bed(\"target_regions.bed\", name=\"regions\")\n\n# Query with SQL (returns LazyFrame)\nresult = pb.sql(\"SELECT chrom, start, end, ref, alt FROM variants WHERE qual > 30\")\nresult_df = result.collect()\n\n# Register a Polars DataFrame as a SQL table\npb.from_polars(\"my_intervals\", df)\nresult = pb.sql(\"SELECT * FROM my_intervals WHERE chrom = 'chr1'\").collect()\n```\n\n**Reference:** See `references\u002Fsql_processing.md` for register functions, SQL syntax, and examples.\n\n### 4. Pileup Operations\n\nCompute per-base read depth from BAM\u002FCRAM files with CIGAR-aware depth calculation.\n\n```python\nimport polars_bio as pb\n\n# Compute depth across a BAM file\ndepth_lf = pb.depth(\"aligned.bam\")\ndepth_df = depth_lf.collect()\n\n# With quality filter\ndepth_lf = pb.depth(\"aligned.bam\", min_mapping_quality=20)\n```\n\n**Reference:** See `references\u002Fpileup_operations.md` for parameters and integration patterns.\n\n## Key Concepts\n\n### Coordinate Systems\n\npolars-bio defaults to **1-based** coordinates (genomic convention). This can be changed globally:\n\n```python\nimport polars_bio as pb\n\n# Switch to 0-based half-open coordinates (default is 1-based \u002F False)\npb.set_option(\"datafusion.bio.coordinate_system_zero_based\", True)\n\n# Switch back to 1-based (default)\npb.set_option(\"datafusion.bio.coordinate_system_zero_based\", False)\n```\n\nI\u002FO functions also accept `use_zero_based` to set coordinate metadata on the resulting DataFrame:\n\n```python\n# Read BED with explicit 0-based metadata\ndf = pb.read_bed(\"regions.bed\", use_zero_based=True)\n```\n\n**Important:** BED files are always 0-based half-open in the file format. polars-bio handles the conversion automatically when reading BED files. Coordinate metadata is attached to DataFrames by I\u002FO functions and propagated through operations.\n\n### Two API Styles\n\n**Functional API** - standalone functions, explicit inputs:\n```python\nresult = pb.overlap(df1, df2, suffixes=(\"_1\", \"_2\"))\nmerged = pb.merge(df)\n```\n\n**Method-chaining API** - via `.pb` accessor on **LazyFrames** (not DataFrames):\n```python\nresult = df1.lazy().pb.overlap(df2)\nmerged = df.lazy().pb.merge()\n```\n\n**Important:** The `.pb` accessor for interval operations is only available on `LazyFrame`. On `DataFrame`, `.pb` provides write operations only (`write_bam`, `write_vcf`, etc.).\n\nMethod-chaining enables fluent pipelines:\n```python\n# Chain interval operations (note: overlap outputs suffixed columns,\n# so rename before merge which expects chrom\u002Fstart\u002Fend)\nresult = (\n    df1.lazy()\n    .pb.overlap(df2)\n    .filter(pl.col(\"start_2\") > 1000)\n    .select(\n        pl.col(\"chrom_1\").alias(\"chrom\"),\n        pl.col(\"start_1\").alias(\"start\"),\n        pl.col(\"end_1\").alias(\"end\"),\n    )\n    .pb.merge()\n    .collect()\n)\n```\n\n### Probe-Build Architecture\n\nFor two-input operations (overlap, nearest, count_overlaps, coverage), polars-bio uses a probe-build join strategy:\n- The **first** DataFrame is the **probe** (iterated over)\n- The **second** DataFrame is the **build** (indexed for lookup)\n\nFor best performance, pass the larger DataFrame as the first argument (probe) and the smaller one as the second (build).\n\n### Column Conventions\n\nBy default, polars-bio expects columns named `chrom`, `start`, `end`. Custom column names can be specified via lists:\n\n```python\nresult = pb.overlap(\n    df1, df2,\n    cols1=[\"chromosome\", \"begin\", \"finish\"],\n    cols2=[\"chr\", \"pos_start\", \"pos_end\"],\n)\n```\n\n### Return Types and Collecting Results\n\nAll interval operations and `pb.sql()` return a **LazyFrame** by default. Use `.collect()` to materialize results, or pass `output_type=\"polars.DataFrame\"` for eager evaluation:\n\n```python\n# Lazy (default) - collect when needed\nresult_lf = pb.overlap(df1, df2)\nresult_df = result_lf.collect()\n\n# Eager - get DataFrame directly\nresult_df = pb.overlap(df1, df2, output_type=\"polars.DataFrame\")\n```\n\n### Streaming and Out-of-Core Processing\n\nFor datasets larger than available RAM, use `scan_*` functions and streaming execution:\n\n```python\n# Scan files lazily\nlf = pb.scan_bed(\"large_intervals.bed\")\n\n# Process with Polars streaming (requires polars ≥1.37, bundled with polars-bio)\nresult = lf.collect(engine=\"streaming\")\n```\n\nDataFusion streaming is enabled by default for interval operations, processing data in batches without loading the full dataset into memory.\n\n## Common Pitfalls\n\n1. **`.pb` accessor on DataFrame vs LazyFrame:** Interval operations (overlap, merge, etc.) are only on `LazyFrame.pb`. `DataFrame.pb` only has write methods. Use `.lazy()` to convert before chaining interval ops.\n\n2. **LazyFrame returns:** All interval operations and `pb.sql()` return `LazyFrame` by default. Don't forget `.collect()` or use `output_type=\"polars.DataFrame\"`.\n\n3. **Column name mismatches:** polars-bio expects `chrom`, `start`, `end` by default. Use `cols1`\u002F`cols2` parameters (as lists) if your columns have different names.\n\n4. **Coordinate system metadata:** Interval operations read coordinate metadata from I\u002FO functions or DataFrame `config_meta`. For manually built DataFrames, set `df.config_meta.set(coordinate_system_zero_based=True)` (0-based) or `False` (1-based). If metadata is missing, polars-bio falls back to the global `datafusion.bio.coordinate_system_zero_based` setting (with a warning). Set `pb.set_option(\"datafusion.bio.coordinate_system_check\", True)` to raise `MissingCoordinateSystemError` instead. Mismatched systems between inputs raise `CoordinateSystemMismatchError`.\n\n5. **Probe-build order matters:** For overlap, nearest, and coverage, the first DataFrame is probed against the second. Swapping arguments changes which intervals appear in the left vs right output columns, and can affect performance.\n\n6. **INT32 position limit:** Genomic positions are stored as 32-bit integers, limiting coordinates to ~2.1 billion. This is sufficient for all known genomes but may be an issue with custom coordinate spaces.\n\n7. **BAM index requirements:** `read_bam` and `scan_bam` require a `.bai` index file alongside the BAM. Create one with `samtools index` if missing.\n\n8. **Parallel execution disabled by default:** DataFusion parallelism defaults to 1 partition. Enable for large datasets:\n   ```python\n   pb.set_option(\"datafusion.execution.target_partitions\", 8)\n   ```\n\n9. **CRAM has separate functions:** Use `read_cram`\u002F`scan_cram`\u002F`register_cram` for CRAM files (not `read_bam`). CRAM functions require a `reference_path` parameter.\n\n## Best Practices\n\n1. **Use `scan_*` for large files:** Prefer `scan_bed`, `scan_vcf`, etc. over `read_*` for files larger than available RAM. Scan functions enable streaming and predicate pushdown.\n\n2. **Configure parallelism for large datasets:**\n   ```python\n   import os\n   pb.set_option(\"datafusion.execution.target_partitions\", os.cpu_count())\n   ```\n\n3. **Use BGZF compression:** BGZF-compressed files (`.bed.gz`, `.vcf.gz`) support parallel block decompression, significantly faster than plain GZIP.\n\n4. **Select columns early:** When only specific columns are needed, select them early to reduce memory usage:\n   ```python\n   df = pb.read_vcf(\"large.vcf.gz\").select(\"chrom\", \"start\", \"end\", \"ref\", \"alt\")\n   ```\n\n5. **Use cloud paths directly:** Pass S3\u002FGCS\u002FAzure URIs directly to read\u002Fscan\u002Fregister functions instead of downloading files first. Authenticated access uses your cloud SDK credentials (`AWS_ACCESS_KEY_ID`\u002F`AWS_SECRET_ACCESS_KEY`, `GOOGLE_APPLICATION_CREDENTIALS`, Azure defaults) only when those cloud paths are accessed:\n   ```python\n   df = pb.read_bed(\"s3:\u002F\u002Fmy-bucket\u002Fregions.bed\", allow_anonymous=True)\n   ```\n\n6. **Prefer functional API for single operations, method-chaining for pipelines:** Use `pb.overlap()` for one-off operations and `.lazy().pb.overlap()` when building multi-step pipelines.\n\n## Resources\n\n### references\u002F\n\nDetailed documentation for each major capability:\n\n- **interval_operations.md** - All 8 interval operations with parameters, examples, output schemas, and performance tips. Core reference for genomic range arithmetic.\n\n- **file_io.md** - Supported formats table, per-format column schemas, cloud storage configuration, compression support, and common parameters.\n\n- **sql_processing.md** - Register functions, DataFusion SQL syntax, combining SQL with interval operations, and example queries.\n\n- **pileup_operations.md** - Per-base read depth computation from BAM\u002FCRAM files, parameters, and integration with interval operations.\n\n- **configuration.md** - Global settings (parallelism, coordinate systems, streaming modes), logging, and metadata management.\n\n- **bioframe_migration.md** - Operation mapping table, API differences, performance comparison, migration code examples, and pandas compatibility mode.\n\n## Agent operating procedure\n\n1. **Check the environment.** Confirm tool versions, the reference genome\u002Fannotation build and the input formats (FASTQ, BAM, VCF, h5ad).\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.** Run the pipeline on a small subset (one sample, one chromosome, a few thousand cells) first.\n4. **Execute the full task** using the instructions and references above.\n5. **Validate the result.** Check QC metrics, sample identities, genome build consistency and batch effects before interpreting results.\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| Genome builds or identifiers do not match between inputs | Stop and harmonize (liftover, ID mapping) before continuing. |\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- Do not interpret biological significance beyond what the statistics support; report multiple-testing correction.\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- `pysam`: Python\u002FHTSlib workflows for genomic files.\n- `gtars`: Inspects and plans work with Gtars, the Rust\u002FPython\u002FCLI toolkit for genomic intervals: BED RegionSet set algebra (reduce, setdiff, intersec…\n- `genomic-coordinates`: Convert genomic intervals between coordinate conventions, normalise and compare variant representations, and detect assembly or contig-nami…\n","# polars-bio\n\n## Overview\n\npolars-bio is a high-performance Python library for genomic interval operations and bioinformatics file I\u002FO, built on Polars, Apache Arrow, and Apache DataFusion. It provides a familiar DataFrame-centric API for interval arithmetic (overlap, nearest, merge, coverage, complement, subtract) and reading\u002Fwriting common bioinformatics formats (BED, VCF, BAM, CRAM, GFF\u002FGTF, FASTA, FASTQ).\n\nKey value propositions:\n- **6-38x faster** than bioframe on real-world genomic benchmarks\n- **Streaming\u002Fout-of-core** support for large genomes via DataFusion\n- **Cloud-native** file I\u002FO (S3, GCS, Azure) with predicate pushdown\n- **Two API styles**: functional (`pb.overlap(df1, df2)`) and method-chaining (`df1.lazy().pb.overlap(df2)`)\n- **SQL interface** for genomic data via DataFusion SQL engine\n\n## When to Use This Skill\n\nUse this skill when:\n- Performing genomic interval operations (overlap, nearest, merge, coverage, complement, subtract)\n- Reading\u002Fwriting bioinformatics file formats (BED, VCF, BAM, CRAM, GFF\u002FGTF, FASTA, FASTQ)\n- Processing large genomic datasets that don't fit in memory (streaming mode)\n- Running SQL queries on genomic data files\n- Migrating from bioframe to a faster alternative\n- Computing read depth\u002Fpileup from BAM\u002FCRAM files\n- Working with Polars DataFrames containing genomic intervals\n\n## Quick Start\n\n### Installation\n\nRequires Python 3.11–3.14 (see [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002Fpolars-bio\u002F)).\n\n```bash\nuv pip install \"polars-bio==0.31.0\"\n```\n\nFor pandas compatibility (pandas ≥3.0):\n\n```bash\nuv pip install \"polars-bio[pandas]==0.31.0\"\n```\n\n### Basic Overlap Example\n\n```python\nimport polars as pl\nimport polars_bio as pb\n\n# Create two interval DataFrames\ndf1 = pl.DataFrame({\n    \"chrom\": [\"chr1\", \"chr1\", \"chr1\"],\n    \"start\": [1, 5, 22],\n    \"end\":   [6, 9, 30],\n})\n\ndf2 = pl.DataFrame({\n    \"chrom\": [\"chr1\", \"chr1\"],\n    \"start\": [3, 25],\n    \"end\":   [8, 28],\n})\n\n# Functional API (returns LazyFrame by default)\nresult = pb.overlap(df1, df2)\nresult_df = result.collect()\n\n# Get a DataFrame directly\nresult_df = pb.overlap(df1, df2, output_type=\"polars.DataFrame\")\n\n# Method-chaining API (via .pb accessor on LazyFrame)\nresult = df1.lazy().pb.overlap(df2)\nresult_df = result.collect()\n```\n\n### Reading a BED File\n\n```python\nimport polars_bio as pb\n\n# Eager read (loads entire file)\ndf = pb.read_bed(\"regions.bed\")\n\n# Lazy scan (streaming, for large files)\nlf = pb.scan_bed(\"regions.bed\")\nresult = lf.collect()\n```\n\n## Core Capabilities\n\n### 1. Genomic Interval Operations\n\npolars-bio provides 8 core interval operations for genomic range arithmetic. All operations accept Polars DataFrames with `chrom`, `start`, `end` columns (configurable). All operations return a `LazyFrame` by default (use `output_type=\"polars.DataFrame\"` for eager results).\n\n**Operations:**\n- `overlap` \u002F `count_overlaps` - Find or count overlapping intervals between two sets (`overlap_output=\"left\"` returns df1-only hits since 0.30.0)\n- `nearest` - Find nearest intervals (with configurable `k`, `overlap`, `distance` params)\n- `merge` - Merge overlapping\u002Fbookended intervals within a set\n- `cluster` - Assign cluster IDs to overlapping intervals\n- `coverage` - Compute per-interval coverage counts (two-input operation)\n- `complement` - Find gaps between intervals within a genome\n- `subtract` - Remove portions of intervals that overlap another set\n\n**Example:**\n```python\nimport polars_bio as pb\n\n# Find overlapping intervals (returns LazyFrame)\nresult = pb.overlap(df1, df2, suffixes=(\"_1\", \"_2\"))\n\n# Count overlaps per interval\ncounts = pb.count_overlaps(df1, df2)\n\n# Merge overlapping intervals\nmerged = pb.merge(df1)\n\n# Find nearest intervals\nnearest = pb.nearest(df1, df2)\n\n# Collect any LazyFrame result to DataFrame\nresult_df = result.collect()\n```\n\n**Reference:** See `references\u002Finterval_operations.md` for detailed documentation on all operations, parameters, output schemas, and performance considerations.\n\n### 2. Bioinformatics File I\u002FO\n\nRead and write common bioinformatics formats with `read_*`, `scan_*`, `write_*`, and `sink_*` functions. Supports cloud storage (S3, GCS, Azure) and compression (GZIP, BGZF).\n\n**Supported formats:**\n- **BED** - Genomic intervals (`read_bed`, `scan_bed`, `write_*` via generic)\n- **VCF** - Genetic variants (`read_vcf`, `scan_vcf`, `write_vcf`, `sink_vcf`)\n- **VCF Zarr** - Analysis-ready Zarr stores (`read_vcf_zarr`, `scan_vcf_zarr`; local directory paths)\n- **BAM** - Aligned reads (`read_bam`, `scan_bam`, `write_bam`, `sink_bam`)\n- **CRAM** - Compressed alignments (`read_cram`, `scan_cram`, `write_cram`, `sink_cram`)\n- **GFF** - Gene annotations (`read_gff`, `scan_gff`)\n- **GTF** - Gene annotations (`read_gtf`, `scan_gtf`)\n- **FASTA** - Reference sequences (`read_fasta`, `scan_fasta`, `write_fasta`, `sink_fasta`)\n- **FASTQ** - Sequencing reads (`read_fastq`, `scan_fastq`, `write_fastq`, `sink_fastq`)\n- **SAM** - Text alignments (`read_sam`, `scan_sam`, `write_sam`, `sink_sam`)\n- **Hi-C pairs** - Chromatin contacts (`read_pairs`, `scan_pairs`)\n\n**Example:**\n```python\nimport polars_bio as pb\n\n# Read VCF file\nvariants = pb.read_vcf(\"samples.vcf.gz\")\n\n# Lazy scan BAM file (streaming)\nalignments = pb.scan_bam(\"aligned.bam\")\n\n# Read GFF annotations\ngenes = pb.read_gff(\"annotations.gff3\")\n\n# Cloud storage (individual params, not a dict)\ndf = pb.read_bed(\"s3:\u002F\u002Fbucket\u002Fregions.bed\",\n                 allow_anonymous=True)\n```\n\n**Reference:** See `references\u002Ffile_io.md` for per-format column schemas, parameters, cloud storage options, and compression support.\n\n### 3. SQL Data Processing\n\nRegister bioinformatics files as tables and query them using DataFusion SQL. Combines the power of SQL with polars-bio's genomic-aware readers.\n\n```python\nimport polars as pl\nimport polars_bio as pb\n\n# Register files as SQL tables (path first, name= keyword)\npb.register_vcf(\"samples.vcf.gz\", name=\"variants\")\npb.register_bed(\"target_regions.bed\", name=\"regions\")\n\n# Query with SQL (returns LazyFrame)\nresult = pb.sql(\"SELECT chrom, start, end, ref, alt FROM variants WHERE qual > 30\")\nresult_df = result.collect()\n\n# Register a Polars DataFrame as a SQL table\npb.from_polars(\"my_intervals\", df)\nresult = pb.sql(\"SELECT * FROM my_intervals WHERE chrom = 'chr1'\").collect()\n```\n\n**Reference:** See `references\u002Fsql_processing.md` for register functions, SQL syntax, and examples.\n\n### 4. Pileup Operations\n\nCompute per-base read depth from BAM\u002FCRAM files with CIGAR-aware depth calculation.\n\n```python\nimport polars_bio as pb\n\n# Compute depth across a BAM file\ndepth_lf = pb.depth(\"aligned.bam\")\ndepth_df = depth_lf.collect()\n\n# With quality filter\ndepth_lf = pb.depth(\"aligned.bam\", min_mapping_quality=20)\n```\n\n**Reference:** See `references\u002Fpileup_operations.md` for parameters and integration patterns.\n\n## Key Concepts\n\n### Coordinate Systems\n\npolars-bio defaults to **1-based** coordinates (genomic convention). This can be changed globally:\n\n```python\nimport polars_bio as pb\n\n# Switch to 0-based half-open coordinates (default is 1-based \u002F False)\npb.set_option(\"datafusion.bio.coordinate_system_zero_based\", True)\n\n# Switch back to 1-based (default)\npb.set_option(\"datafusion.bio.coordinate_system_zero_based\", False)\n```\n\nI\u002FO functions also accept `use_zero_based` to set coordinate metadata on the resulting DataFrame:\n\n```python\n# Read BED with explicit 0-based metadata\ndf = pb.read_bed(\"regions.bed\", use_zero_based=True)\n```\n\n**Important:** BED files are always 0-based half-open in the file format. polars-bio handles the conversion automatically when reading BED files. Coordinate metadata is attached to DataFrames by I\u002FO functions and propagated through operations.\n\n### Two API Styles\n\n**Functional API** - standalone functions, explicit inputs:\n```python\nresult = pb.overlap(df1, df2, suffixes=(\"_1\", \"_2\"))\nmerged = pb.merge(df)\n```\n\n**Method-chaining API** - via `.pb` accessor on **LazyFrames** (not DataFrames):\n```python\nresult = df1.lazy().pb.overlap(df2)\nmerged = df.lazy().pb.merge()\n```\n\n**Important:** The `.pb` accessor for interval operations is only available on `LazyFrame`. On `DataFrame`, `.pb` provides write operations only (`write_bam`, `write_vcf`, etc.).\n\nMethod-chaining enables fluent pipelines:\n```python\n# Chain interval operations (note: overlap outputs suffixed columns,\n# so rename before merge which expects chrom\u002Fstart\u002Fend)\nresult = (\n    df1.lazy()\n    .pb.overlap(df2)\n    .filter(pl.col(\"start_2\") > 1000)\n    .select(\n        pl.col(\"chrom_1\").alias(\"chrom\"),\n        pl.col(\"start_1\").alias(\"start\"),\n        pl.col(\"end_1\").alias(\"end\"),\n    )\n    .pb.merge()\n    .collect()\n)\n```\n\n### Probe-Build Architecture\n\nFor two-input operations (overlap, nearest, count_overlaps, coverage), polars-bio uses a probe-build join strategy:\n- The **first** DataFrame is the **probe** (iterated over)\n- The **second** DataFrame is the **build** (indexed for lookup)\n\nFor best performance, pass the larger DataFrame as the first argument (probe) and the smaller one as the second (build).\n\n### Column Conventions\n\nBy default, polars-bio expects columns named `chrom`, `start`, `end`. Custom column names can be specified via lists:\n\n```python\nresult = pb.overlap(\n    df1, df2,\n    cols1=[\"chromosome\", \"begin\", \"finish\"],\n    cols2=[\"chr\", \"pos_start\", \"pos_end\"],\n)\n```\n\n### Return Types and Collecting Results\n\nAll interval operations and `pb.sql()` return a **LazyFrame** by default. Use `.collect()` to materialize results, or pass `output_type=\"polars.DataFrame\"` for eager evaluation:\n\n```python\n# Lazy (default) - collect when needed\nresult_lf = pb.overlap(df1, df2)\nresult_df = result_lf.collect()\n\n# Eager - get DataFrame directly\nresult_df = pb.overlap(df1, df2, output_type=\"polars.DataFrame\")\n```\n\n### Streaming and Out-of-Core Processing\n\nFor datasets larger than available RAM, use `scan_*` functions and streaming execution:\n\n```python\n# Scan files lazily\nlf = pb.scan_bed(\"large_intervals.bed\")\n\n# Process with Polars streaming (requires polars ≥1.37, bundled with polars-bio)\nresult = lf.collect(engine=\"streaming\")\n```\n\nDataFusion streaming is enabled by default for interval operations, processing data in batches without loading the full dataset into memory.\n\n## Common Pitfalls\n\n1. **`.pb` accessor on DataFrame vs LazyFrame:** Interval operations (overlap, merge, etc.) are only on `LazyFrame.pb`. `DataFrame.pb` only has write methods. Use `.lazy()` to convert before chaining interval ops.\n\n2. **LazyFrame returns:** All interval operations and `pb.sql()` return `LazyFrame` by default. Don't forget `.collect()` or use `output_type=\"polars.DataFrame\"`.\n\n3. **Column name mismatches:** polars-bio expects `chrom`, `start`, `end` by default. Use `cols1`\u002F`cols2` parameters (as lists) if your columns have different names.\n\n4. **Coordinate system metadata:** Interval operations read coordinate metadata from I\u002FO functions or DataFrame `config_meta`. For manually built DataFrames, set `df.config_meta.set(coordinate_system_zero_based=True)` (0-based) or `False` (1-based). If metadata is missing, polars-bio falls back to the global `datafusion.bio.coordinate_system_zero_based` setting (with a warning). Set `pb.set_option(\"datafusion.bio.coordinate_system_check\", True)` to raise `MissingCoordinateSystemError` instead. Mismatched systems between inputs raise `CoordinateSystemMismatchError`.\n\n5. **Probe-build order matters:** For overlap, nearest, and coverage, the first DataFrame is probed against the second. Swapping arguments changes which intervals appear in the left vs right output columns, and can affect performance.\n\n6. **INT32 position limit:** Genomic positions are stored as 32-bit integers, limiting coordinates to ~2.1 billion. This is sufficient for all known genomes but may be an issue with custom coordinate spaces.\n\n7. **BAM index requirements:** `read_bam` and `scan_bam` require a `.bai` index file alongside the BAM. Create one with `samtools index` if missing.\n\n8. **Parallel execution disabled by default:** DataFusion parallelism defaults to 1 partition. Enable for large datasets:\n   ```python\n   pb.set_option(\"datafusion.execution.target_partitions\", 8)\n   ```\n\n9. **CRAM has separate functions:** Use `read_cram`\u002F`scan_cram`\u002F`register_cram` for CRAM files (not `read_bam`). CRAM functions require a `reference_path` parameter.\n\n## Best Practices\n\n1. **Use `scan_*` for large files:** Prefer `scan_bed`, `scan_vcf`, etc. over `read_*` for files larger than available RAM. Scan functions enable streaming and predicate pushdown.\n\n2. **Configure parallelism for large datasets:**\n   ```python\n   import os\n   pb.set_option(\"datafusion.execution.target_partitions\", os.cpu_count())\n   ```\n\n3. **Use BGZF compression:** BGZF-compressed files (`.bed.gz`, `.vcf.gz`) support parallel block decompression, significantly faster than plain GZIP.\n\n4. **Select columns early:** When only specific columns are needed, select them early to reduce memory usage:\n   ```python\n   df = pb.read_vcf(\"large.vcf.gz\").select(\"chrom\", \"start\", \"end\", \"ref\", \"alt\")\n   ```\n\n5. **Use cloud paths directly:** Pass S3\u002FGCS\u002FAzure URIs directly to read\u002Fscan\u002Fregister functions instead of downloading files first. Authenticated access uses your cloud SDK credentials (`AWS_ACCESS_KEY_ID`\u002F`AWS_SECRET_ACCESS_KEY`, `GOOGLE_APPLICATION_CREDENTIALS`, Azure defaults) only when those cloud paths are accessed:\n   ```python\n   df = pb.read_bed(\"s3:\u002F\u002Fmy-bucket\u002Fregions.bed\", allow_anonymous=True)\n   ```\n\n6. **Prefer functional API for single operations, method-chaining for pipelines:** Use `pb.overlap()` for one-off operations and `.lazy().pb.overlap()` when building multi-step pipelines.\n\n## Resources\n\n### references\u002F\n\nDetailed documentation for each major capability:\n\n- **interval_operations.md** - All 8 interval operations with parameters, examples, output schemas, and performance tips. Core reference for genomic range arithmetic.\n\n- **file_io.md** - Supported formats table, per-format column schemas, cloud storage configuration, compression support, and common parameters.\n\n- **sql_processing.md** - Register functions, DataFusion SQL syntax, combining SQL with interval operations, and example queries.\n\n- **pileup_operations.md** - Per-base read depth computation from BAM\u002FCRAM files, parameters, and integration with interval operations.\n\n- **configuration.md** - Global settings (parallelism, coordinate systems, streaming modes), logging, and metadata management.\n\n- **bioframe_migration.md** - Operation mapping table, API differences, performance comparison, migration code examples, and pandas compatibility mode.\n\n## Agent operating procedure\n\n1. **Check the environment.** Confirm tool versions, the reference genome\u002Fannotation build and the input formats (FASTQ, BAM, VCF, h5ad).\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.** Run the pipeline on a small subset (one sample, one chromosome, a few thousand cells) first.\n4. **Execute the full task** using the instructions and references above.\n5. **Validate the result.** Check QC metrics, sample identities, genome build consistency and batch effects before interpreting results.\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| Genome builds or identifiers do not match between inputs | Stop and harmonize (liftover, ID mapping) before continuing. |\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- Do not interpret biological significance beyond what the statistics support; report multiple-testing correction.\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- `pysam`: Python\u002FHTSlib workflows for genomic files.\n- `gtars`: Inspects and plans work with Gtars, the Rust\u002FPython\u002FCLI toolkit for genomic intervals: BED RegionSet set algebra (reduce, setdiff, intersec…\n- `genomic-coordinates`: Convert genomic intervals between coordinate conventions, normalise and compare variant representations, and detect assembly or contig-nami…\n",{"name":5,"license":15,"metadata":54,"description":7,"allowed-tools":59,"compatibility":60},{"tags":55,"version":56,"category":57,"maintainer":58},"genomic intervals, bioinformatics, Polars, genomics file formats","1.1","life-sciences","Kalaris Labs","Read Write Edit Bash","Requires Python 3.11–3.14 and polars-bio (uv pip install). Cloud I\u002FO uses standard AWS\u002FGCS\u002FAzure SDK env vars when paths use s3:\u002F\u002F, gs:\u002F\u002F, or az:\u002F\u002F URIs.","main","0da4485785ee599388900be50db1635489d53056",".agents\u002Fskills\u002Fkal-polars-bio","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":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add Tashima-Tarsh\u002FDisha6.6 --skill polars-bio",{"tool":76,"command":77},"bunx","bunx skills add Tashima-Tarsh\u002FDisha6.6 --skill polars-bio",{"tool":79,"command":80},"pnpm","pnpm dlx skills add Tashima-Tarsh\u002FDisha6.6 --skill polars-bio","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002FSKILL.md",true,[84,90,94,98,102,106],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fbioframe_migration.md","REFERENCE","参考文档",7355,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002Freferences\u002Fbioframe_migration.md",{"path":91,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fconfiguration.md",5810,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002Freferences\u002Fconfiguration.md",{"path":95,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Ffile_io.md",14517,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002Freferences\u002Ffile_io.md",{"path":99,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Finterval_operations.md",12928,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002Freferences\u002Finterval_operations.md",{"path":103,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fpileup_operations.md",4922,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002Freferences\u002Fpileup_operations.md",{"path":107,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fsql_processing.md",6131,"https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fkal-polars-bio\u002Freferences\u002Fsql_processing.md",[111,139,163,190,215,238],{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":115,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":121,"publishedAt":49},"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.","MIT","https:\u002F\u002Fgithub.com\u002FTashima-Tarsh\u002FDisha6.6\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fyoutube-full\u002FSKILL.md",[118],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[122,123,124,125,126,127,128,129,130,131,40,39,132,133,134,135,31,136,137,138],"youtube full","youtube","full","transcript","search","monitoring","data","Video","Audio","list","get","age","trigger","URL","browsing","request","youtube transcripts",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":115,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":49},"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",[],[146,147,148,149,126,150,151,152,153,154,155,156,44,157,158,159,160,161,162,31],"twitter","x twitter growth","growth","research","content","engineering","plan","web search","competitors","analyze","engine","strategy","use","platform","grow","posting","competitive",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":115,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":172,"publishedAt":49},"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",[169],{"categoryNo":170,"categoryName":171,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[173,44,174,175,176,177,178,179,158,180,181,61,182,183,184,185,186,187,188,189],"write a skill","github","create","https","productivity","matt pocock","direct","example","build","new skill","structure","new agent","resources","with","tree","progressive disclosure","author",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":115,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":49},"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",[],[197,198,199,200,201,202,203,204,205,158,206,39,207,208,209,210,211,212,213,214],"wrap up","up","wrap","gemini","deployment","run","file","hardening","closeout","stop","upgrade","founder","close","companion","you","tables","directions","phase",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":115,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":222,"publishedAt":49},"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",[221],{"categoryNo":170,"categoryName":171,"taxonomyType":21,"taxonomyTypeDesc":22},[223,224,225,226,32,175,202,227,228,229,230,231,44,232,40,233,234,235,236,237],"workflow","workflow builder","builder","design","code","orchestrate","pipeline","loop","multi-agent","context","across","fresh","scripts","judge","claude code workflow",{"skillNo":239,"name":240,"nameZh":6,"description":241,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":115,"licenseFileUrl":6,"sourceHtmlUrl":242,"categories":243,"keywords":244,"publishedAt":49},"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",[],[245,246,247,248,249,250,251,252,253,230,254,255,256,257,258,259,132,260,261,214],"review","weekly review","weekly","deterministic scripts","reflect","feeds","inventory","open","team","projects","project-management","scanner","conversation","back","project","sprint","cadence"]