[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-0f13fd53-4384-48ce-a634-9004f80dd695":3,"$fs-S7gUt4Yy55KTGvwksQwFWn_C1dKZ2btHQNcbUblg8":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"0f13fd53-4384-48ce-a634-9004f80dd695","hugging-face-dataset-viewer","通过Dataset Viewer API查询Hugging Face数据集的分片、行、搜索、筛选和Parquet链接。","cat_coding_backend","mod_coding","sickn33,coding","---\nsource: \"https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002Fhuggingface-datasets\"\nname: hugging-face-dataset-viewer\ndescription: Query Hugging Face datasets through the Dataset Viewer API for splits, rows, search, filters, and parquet links.\nrisk: unknown\n---\n\n# Hugging Face Dataset Viewer\n\n## When to Use\nUse this skill when you need read-only exploration of a Hugging Face dataset through the Dataset Viewer API.\n\nUse this skill to execute read-only Dataset Viewer API calls for dataset exploration and extraction.\n\n## Core workflow\n\n1. Optionally validate dataset availability with `\u002Fis-valid`.\n2. Resolve `config` + `split` with `\u002Fsplits`.\n3. Preview with `\u002Ffirst-rows`.\n4. Paginate content with `\u002Frows` using `offset` and `length` (max 100).\n5. Use `\u002Fsearch` for text matching and `\u002Ffilter` for row predicates.\n6. Retrieve parquet links via `\u002Fparquet` and totals\u002Fmetadata via `\u002Fsize` and `\u002Fstatistics`.\n\n## Defaults\n\n- Base URL: `https:\u002F\u002Fdatasets-server.huggingface.co`\n- Default API method: `GET`\n- Query params should be URL-encoded.\n- `offset` is 0-based.\n- `length` max is usually `100` for row-like endpoints.\n- Gated\u002Fprivate datasets require `Authorization: Bearer \u003CHF_TOKEN>`.\n\n## Dataset Viewer\n\n- `Validate dataset`: `\u002Fis-valid?dataset=\u003Cnamespace\u002Frepo>`\n- `List subsets and splits`: `\u002Fsplits?dataset=\u003Cnamespace\u002Frepo>`\n- `Preview first rows`: `\u002Ffirst-rows?dataset=\u003Cnamespace\u002Frepo>&config=\u003Cconfig>&split=\u003Csplit>`\n- `Paginate rows`: `\u002Frows?dataset=\u003Cnamespace\u002Frepo>&config=\u003Cconfig>&split=\u003Csplit>&offset=\u003Cint>&length=\u003Cint>`\n- `Search text`: `\u002Fsearch?dataset=\u003Cnamespace\u002Frepo>&config=\u003Cconfig>&split=\u003Csplit>&query=\u003Ctext>&offset=\u003Cint>&length=\u003Cint>`\n- `Filter with predicates`: `\u002Ffilter?dataset=\u003Cnamespace\u002Frepo>&config=\u003Cconfig>&split=\u003Csplit>&where=\u003Cpredicate>&orderby=\u003Csort>&offset=\u003Cint>&length=\u003Cint>`\n- `List parquet shards`: `\u002Fparquet?dataset=\u003Cnamespace\u002Frepo>`\n- `Get size totals`: `\u002Fsize?dataset=\u003Cnamespace\u002Frepo>`\n- `Get column statistics`: `\u002Fstatistics?dataset=\u003Cnamespace\u002Frepo>&config=\u003Cconfig>&split=\u003Csplit>`\n- `Get Croissant metadata (if available)`: `\u002Fcroissant?dataset=\u003Cnamespace\u002Frepo>`\n\nPagination pattern:\n\n```bash\ncurl \"https:\u002F\u002Fdatasets-server.huggingface.co\u002Frows?dataset=stanfordnlp\u002Fimdb&config=plain_text&split=train&offset=0&length=100\"\ncurl \"https:\u002F\u002Fdatasets-server.huggingface.co\u002Frows?dataset=stanfordnlp\u002Fimdb&config=plain_text&split=train&offset=100&length=100\"\n```\n\nWhen pagination is partial, use response fields such as `num_rows_total`, `num_rows_per_page`, and `partial` to drive continuation logic.\n\nSearch\u002Ffilter notes:\n\n- `\u002Fsearch` matches string columns (full-text style behavior is internal to the API).\n- `\u002Ffilter` requires predicate syntax in `where` and optional sort in `orderby`.\n- Keep filtering and searches read-only and side-effect free.\n\n## Querying Datasets\n\nUse `npx parquetlens` with Hub parquet alias paths for SQL querying.\n\nParquet alias shape:\n\n```text\nhf:\u002F\u002Fdatasets\u002F\u003Cnamespace>\u002F\u003Crepo>@~parquet\u002F\u003Cconfig>\u002F\u003Csplit>\u002F\u003Cshard>.parquet\n```\n\nDerive `\u003Cconfig>`, `\u003Csplit>`, and `\u003Cshard>` from Dataset Viewer `\u002Fparquet`:\n\n```bash\ncurl -s \"https:\u002F\u002Fdatasets-server.huggingface.co\u002Fparquet?dataset=cfahlgren1\u002Fhub-stats\" \\\n  | jq -r '.parquet_files[] | \"hf:\u002F\u002Fdatasets\u002F\\(.dataset)@~parquet\u002F\\(.config)\u002F\\(.split)\u002F\\(.filename)\"'\n```\n\nRun SQL query:\n\n```bash\nnpx -y -p parquetlens -p @parquetlens\u002Fsql parquetlens \\\n  \"hf:\u002F\u002Fdatasets\u002F\u003Cnamespace>\u002F\u003Crepo>@~parquet\u002F\u003Cconfig>\u002F\u003Csplit>\u002F\u003Cshard>.parquet\" \\\n  --sql \"SELECT * FROM data LIMIT 20\"\n```\n\n### SQL export\n\n- CSV: `--sql \"COPY (SELECT * FROM data LIMIT 1000) TO 'export.csv' (FORMAT CSV, HEADER, DELIMITER ',')\"`\n- JSON: `--sql \"COPY (SELECT * FROM data LIMIT 1000) TO 'export.json' (FORMAT JSON)\"`\n- Parquet: `--sql \"COPY (SELECT * FROM data LIMIT 1000) TO 'export.parquet' (FORMAT PARQUET)\"`\n\n## Creating and Uploading Datasets\n\nUse one of these flows depending on dependency constraints.\n\nZero local dependencies (Hub UI):\n\n- Create dataset repo in browser: `https:\u002F\u002Fhuggingface.co\u002Fnew-dataset`\n- Upload parquet files in the repo \"Files and versions\" page.\n- Verify shards appear in Dataset Viewer:\n\n```bash\ncurl -s \"https:\u002F\u002Fdatasets-server.huggingface.co\u002Fparquet?dataset=\u003Cnamespace>\u002F\u003Crepo>\"\n```\n\nLow dependency CLI flow (`npx @huggingface\u002Fhub` \u002F `hfjs`):\n\n- Set auth token:\n\n```bash\nexport HF_TOKEN=\u003Cyour_hf_token>\n```\n\n- Upload parquet folder to a dataset repo (auto-creates repo if missing):\n\n```bash\nnpx -y @huggingface\u002Fhub upload datasets\u002F\u003Cnamespace>\u002F\u003Crepo> .\u002Flocal\u002Fparquet-folder data\n```\n\n- Upload as private repo on creation:\n\n```bash\nnpx -y @huggingface\u002Fhub upload datasets\u002F\u003Cnamespace>\u002F\u003Crepo> .\u002Flocal\u002Fparquet-folder data --private\n```\n\nAfter upload, call `\u002Fparquet` to discover `\u003Cconfig>\u002F\u003Csplit>\u002F\u003Cshard>` values for querying with `@~parquet`.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,211,1635,"2026-05-16 13:22:32",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"后端开发","backend","mdi-server","API、数据库、服务端架构",296,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"be7f6e5d-465a-42be-ad6e-a47a650cc3f7","1.0.0","hugging-face-dataset-viewer.zip",2077,"uploads\u002Fskills\u002F0f13fd53-4384-48ce-a634-9004f80dd695\u002Fhugging-face-dataset-viewer.zip","0eb98bfe291285d95ef4880cac2722213b8c4367bd33bf48adff2a2719d047dd","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":5056}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]