[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71ND3115PDZ3TY8VJBT3XWB":3,"skill-same:01M71ND3115PDZ3TY8VJBT3XWB":88},{"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":34,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":6,"ownerDescription":66,"updatedAt":67,"install":68,"resources":81},"01M71ND3115PDZ3TY8VJBT3XWB","data-analysis",null,"Use this skill when the user uploads Excel (.xlsx\u002F.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to CSV\u002FJSON\u002FMarkdown.","q2805187159\u002FAnvil","q2805187159","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F105276843?v=4","01M71KF4TN999VNJX9FY9QT06A","铁甲勇士宋小宝","01M71KF4V97XXQ7AGES97R4Q9F",3,"MIT","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fdata-analysis\u002FSKILL.md",[18,23,26,29],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"analysis","data","data analysis","uploads","use","filtering","structured data","form","sql queries","tables","data exploration","sql","markdown","generate","create","statistics","when","files","xlsx","exploration","2026-11-10 10:56:23",false,"---\nname: data-analysis\ndescription: Use this skill when the user uploads Excel (.xlsx\u002F.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to CSV\u002FJSON\u002FMarkdown.\n---\n\n# Data Analysis Skill\n\n## Overview\n\nThis skill analyzes user-uploaded Excel\u002FCSV files using DuckDB — an in-process analytical SQL engine. It supports schema inspection, SQL-based querying, statistical summaries, and result export, all through a single Python script.\n\n## Core Capabilities\n\n- Inspect Excel\u002FCSV file structure (sheets, columns, types, row counts)\n- Execute arbitrary SQL queries against uploaded data\n- Generate statistical summaries (mean, median, stddev, percentiles, nulls)\n- Support multi-sheet Excel workbooks (each sheet becomes a table)\n- Export query results to CSV, JSON, or Markdown\n- Handle large files efficiently with DuckDB's columnar engine\n\n## Workflow\n\n### Step 1: Understand Requirements\n\nWhen a user uploads data files and requests analysis, identify:\n\n- **File location**: Path(s) to uploaded Excel\u002FCSV files under `\u002Fmnt\u002Fuser-data\u002Fuploads\u002F`\n- **Analysis goal**: What insights the user wants (summary, filtering, aggregation, comparison, etc.)\n- **Output format**: How results should be presented (table, CSV export, JSON, etc.)\n- You don't need to check the folder under `\u002Fmnt\u002Fuser-data`\n\n### Step 2: Inspect File Structure\n\nFirst, inspect the uploaded file to understand its schema:\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action inspect\n```\n\nThis returns:\n- Sheet names (for Excel) or filename (for CSV)\n- Column names, data types, and non-null counts\n- Row count per sheet\u002Ffile\n- Sample data (first 5 rows)\n\n### Step 3: Perform Analysis\n\nBased on the schema, construct SQL queries to answer the user's questions.\n\n#### Run SQL Query\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action query \\\n  --sql \"SELECT category, COUNT(*) as count, AVG(amount) as avg_amount FROM Sheet1 GROUP BY category ORDER BY count DESC\"\n```\n\n#### Generate Statistical Summary\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action summary \\\n  --table Sheet1\n```\n\nThis returns for each numeric column: count, mean, std, min, 25%, 50%, 75%, max, null_count.\nFor string columns: count, unique, top value, frequency, null_count.\n\n#### Export Results\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action query \\\n  --sql \"SELECT * FROM Sheet1 WHERE amount > 1000\" \\\n  --output-file \u002Fmnt\u002Fuser-data\u002Foutputs\u002Ffiltered-results.csv\n```\n\nSupported output formats (auto-detected from extension):\n- `.csv` — Comma-separated values\n- `.json` — JSON array of records\n- `.md` — Markdown table\n\n### Parameters\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `--files` | Yes | Space-separated paths to Excel\u002FCSV files |\n| `--action` | Yes | One of: `inspect`, `query`, `summary` |\n| `--sql` | For `query` | SQL query to execute |\n| `--table` | For `summary` | Table\u002Fsheet name to summarize |\n| `--output-file` | No | Path to export results (CSV\u002FJSON\u002FMD) |\n\n> [!NOTE]\n> Do NOT read the Python file, just call it with the parameters.\n\n## Table Naming Rules\n\n- **Excel files**: Each sheet becomes a table named after the sheet (e.g., `Sheet1`, `Sales`, `Revenue`)\n- **CSV files**: Table name is the filename without extension (e.g., `data.csv` → `data`)\n- **Multiple files**: All tables from all files are available in the same query context, enabling cross-file joins\n- **Special characters**: Sheet\u002Ffile names with spaces or special characters are auto-sanitized (spaces → underscores). Use double quotes for names that start with numbers or contain special characters, e.g., `\"2024_Sales\"`\n\n## Analysis Patterns\n\n### Basic Exploration\n```sql\n-- Row count\nSELECT COUNT(*) FROM Sheet1\n\n-- Distinct values in a column\nSELECT DISTINCT category FROM Sheet1\n\n-- Value distribution\nSELECT category, COUNT(*) as cnt FROM Sheet1 GROUP BY category ORDER BY cnt DESC\n\n-- Date range\nSELECT MIN(date_col), MAX(date_col) FROM Sheet1\n```\n\n### Aggregation & Grouping\n```sql\n-- Revenue by category and month\nSELECT category, DATE_TRUNC('month', order_date) as month,\n       SUM(revenue) as total_revenue\nFROM Sales\nGROUP BY category, month\nORDER BY month, total_revenue DESC\n\n-- Top 10 customers by spend\nSELECT customer_name, SUM(amount) as total_spend\nFROM Orders GROUP BY customer_name\nORDER BY total_spend DESC LIMIT 10\n```\n\n### Cross-file Joins\n```sql\n-- Join sales with customer info from different files\nSELECT s.order_id, s.amount, c.customer_name, c.region\nFROM sales s\nJOIN customers c ON s.customer_id = c.id\nWHERE s.amount > 500\n```\n\n### Window Functions\n```sql\n-- Running total and rank\nSELECT order_date, amount,\n       SUM(amount) OVER (ORDER BY order_date) as running_total,\n       RANK() OVER (ORDER BY amount DESC) as amount_rank\nFROM Sales\n```\n\n### Pivot-style Analysis\n```sql\n-- Pivot: monthly revenue by category\nSELECT category,\n       SUM(CASE WHEN MONTH(date) = 1 THEN revenue END) as Jan,\n       SUM(CASE WHEN MONTH(date) = 2 THEN revenue END) as Feb,\n       SUM(CASE WHEN MONTH(date) = 3 THEN revenue END) as Mar\nFROM Sales\nGROUP BY category\n```\n\n## Complete Example\n\nUser uploads `sales_2024.xlsx` (with sheets: `Orders`, `Products`, `Customers`) and asks: \"Analyze my sales data — show top products by revenue and monthly trends.\"\n\n### Step 1: Inspect the file\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action inspect\n```\n\n### Step 2: Top products by revenue\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action query \\\n  --sql \"SELECT p.product_name, SUM(o.quantity * o.unit_price) as total_revenue, SUM(o.quantity) as total_units FROM Orders o JOIN Products p ON o.product_id = p.id GROUP BY p.product_name ORDER BY total_revenue DESC LIMIT 10\"\n```\n\n### Step 3: Monthly revenue trends\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action query \\\n  --sql \"SELECT DATE_TRUNC('month', order_date) as month, SUM(quantity * unit_price) as revenue FROM Orders GROUP BY month ORDER BY month\" \\\n  --output-file \u002Fmnt\u002Fuser-data\u002Foutputs\u002Fmonthly-trends.csv\n```\n\n### Step 4: Statistical summary\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action summary \\\n  --table Orders\n```\n\nPresent results to the user with clear explanations of findings, trends, and actionable insights.\n\n## Multi-file Example\n\nUser uploads `orders.csv` and `customers.xlsx` and asks: \"Which region has the highest average order value?\"\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Forders.csv \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fcustomers.xlsx \\\n  --action query \\\n  --sql \"SELECT c.region, AVG(o.amount) as avg_order_value, COUNT(*) as order_count FROM orders o JOIN Customers c ON o.customer_id = c.id GROUP BY c.region ORDER BY avg_order_value DESC\"\n```\n\n## Output Handling\n\nAfter analysis:\n\n- Present query results directly in conversation as formatted tables\n- For large results, export to file and share via `present_files` tool\n- Always explain findings in plain language with key takeaways\n- Suggest follow-up analyses when patterns are interesting\n- Offer to export results if the user wants to keep them\n\n## Caching\n\nThe script automatically caches loaded data to avoid re-parsing files on every call:\n\n- On first load, files are parsed and stored in a persistent DuckDB database under `\u002Fmnt\u002Fuser-data\u002Fworkspace\u002F.data-analysis-cache\u002F`\n- The cache key is a SHA256 hash of all input file contents — if files change, a new cache is created\n- Subsequent calls with the same files will use the cached database directly (near-instant startup)\n- Cache is transparent — no extra parameters needed\n\nThis is especially useful when running multiple queries against the same data files (inspect → query → summary).\n\n## Notes\n\n- DuckDB supports full SQL including window functions, CTEs, subqueries, and advanced aggregations\n- Excel date columns are automatically parsed; use DuckDB date functions (`DATE_TRUNC`, `EXTRACT`, etc.)\n- For very large files (100MB+), DuckDB handles them efficiently without loading everything into memory\n- Column names with spaces are accessible using double quotes: `\"Column Name\"`\n","# Data Analysis Skill\n\n## Overview\n\nThis skill analyzes user-uploaded Excel\u002FCSV files using DuckDB — an in-process analytical SQL engine. It supports schema inspection, SQL-based querying, statistical summaries, and result export, all through a single Python script.\n\n## Core Capabilities\n\n- Inspect Excel\u002FCSV file structure (sheets, columns, types, row counts)\n- Execute arbitrary SQL queries against uploaded data\n- Generate statistical summaries (mean, median, stddev, percentiles, nulls)\n- Support multi-sheet Excel workbooks (each sheet becomes a table)\n- Export query results to CSV, JSON, or Markdown\n- Handle large files efficiently with DuckDB's columnar engine\n\n## Workflow\n\n### Step 1: Understand Requirements\n\nWhen a user uploads data files and requests analysis, identify:\n\n- **File location**: Path(s) to uploaded Excel\u002FCSV files under `\u002Fmnt\u002Fuser-data\u002Fuploads\u002F`\n- **Analysis goal**: What insights the user wants (summary, filtering, aggregation, comparison, etc.)\n- **Output format**: How results should be presented (table, CSV export, JSON, etc.)\n- You don't need to check the folder under `\u002Fmnt\u002Fuser-data`\n\n### Step 2: Inspect File Structure\n\nFirst, inspect the uploaded file to understand its schema:\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action inspect\n```\n\nThis returns:\n- Sheet names (for Excel) or filename (for CSV)\n- Column names, data types, and non-null counts\n- Row count per sheet\u002Ffile\n- Sample data (first 5 rows)\n\n### Step 3: Perform Analysis\n\nBased on the schema, construct SQL queries to answer the user's questions.\n\n#### Run SQL Query\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action query \\\n  --sql \"SELECT category, COUNT(*) as count, AVG(amount) as avg_amount FROM Sheet1 GROUP BY category ORDER BY count DESC\"\n```\n\n#### Generate Statistical Summary\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action summary \\\n  --table Sheet1\n```\n\nThis returns for each numeric column: count, mean, std, min, 25%, 50%, 75%, max, null_count.\nFor string columns: count, unique, top value, frequency, null_count.\n\n#### Export Results\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fdata.xlsx \\\n  --action query \\\n  --sql \"SELECT * FROM Sheet1 WHERE amount > 1000\" \\\n  --output-file \u002Fmnt\u002Fuser-data\u002Foutputs\u002Ffiltered-results.csv\n```\n\nSupported output formats (auto-detected from extension):\n- `.csv` — Comma-separated values\n- `.json` — JSON array of records\n- `.md` — Markdown table\n\n### Parameters\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `--files` | Yes | Space-separated paths to Excel\u002FCSV files |\n| `--action` | Yes | One of: `inspect`, `query`, `summary` |\n| `--sql` | For `query` | SQL query to execute |\n| `--table` | For `summary` | Table\u002Fsheet name to summarize |\n| `--output-file` | No | Path to export results (CSV\u002FJSON\u002FMD) |\n\n> [!NOTE]\n> Do NOT read the Python file, just call it with the parameters.\n\n## Table Naming Rules\n\n- **Excel files**: Each sheet becomes a table named after the sheet (e.g., `Sheet1`, `Sales`, `Revenue`)\n- **CSV files**: Table name is the filename without extension (e.g., `data.csv` → `data`)\n- **Multiple files**: All tables from all files are available in the same query context, enabling cross-file joins\n- **Special characters**: Sheet\u002Ffile names with spaces or special characters are auto-sanitized (spaces → underscores). Use double quotes for names that start with numbers or contain special characters, e.g., `\"2024_Sales\"`\n\n## Analysis Patterns\n\n### Basic Exploration\n```sql\n-- Row count\nSELECT COUNT(*) FROM Sheet1\n\n-- Distinct values in a column\nSELECT DISTINCT category FROM Sheet1\n\n-- Value distribution\nSELECT category, COUNT(*) as cnt FROM Sheet1 GROUP BY category ORDER BY cnt DESC\n\n-- Date range\nSELECT MIN(date_col), MAX(date_col) FROM Sheet1\n```\n\n### Aggregation & Grouping\n```sql\n-- Revenue by category and month\nSELECT category, DATE_TRUNC('month', order_date) as month,\n       SUM(revenue) as total_revenue\nFROM Sales\nGROUP BY category, month\nORDER BY month, total_revenue DESC\n\n-- Top 10 customers by spend\nSELECT customer_name, SUM(amount) as total_spend\nFROM Orders GROUP BY customer_name\nORDER BY total_spend DESC LIMIT 10\n```\n\n### Cross-file Joins\n```sql\n-- Join sales with customer info from different files\nSELECT s.order_id, s.amount, c.customer_name, c.region\nFROM sales s\nJOIN customers c ON s.customer_id = c.id\nWHERE s.amount > 500\n```\n\n### Window Functions\n```sql\n-- Running total and rank\nSELECT order_date, amount,\n       SUM(amount) OVER (ORDER BY order_date) as running_total,\n       RANK() OVER (ORDER BY amount DESC) as amount_rank\nFROM Sales\n```\n\n### Pivot-style Analysis\n```sql\n-- Pivot: monthly revenue by category\nSELECT category,\n       SUM(CASE WHEN MONTH(date) = 1 THEN revenue END) as Jan,\n       SUM(CASE WHEN MONTH(date) = 2 THEN revenue END) as Feb,\n       SUM(CASE WHEN MONTH(date) = 3 THEN revenue END) as Mar\nFROM Sales\nGROUP BY category\n```\n\n## Complete Example\n\nUser uploads `sales_2024.xlsx` (with sheets: `Orders`, `Products`, `Customers`) and asks: \"Analyze my sales data — show top products by revenue and monthly trends.\"\n\n### Step 1: Inspect the file\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action inspect\n```\n\n### Step 2: Top products by revenue\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action query \\\n  --sql \"SELECT p.product_name, SUM(o.quantity * o.unit_price) as total_revenue, SUM(o.quantity) as total_units FROM Orders o JOIN Products p ON o.product_id = p.id GROUP BY p.product_name ORDER BY total_revenue DESC LIMIT 10\"\n```\n\n### Step 3: Monthly revenue trends\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action query \\\n  --sql \"SELECT DATE_TRUNC('month', order_date) as month, SUM(quantity * unit_price) as revenue FROM Orders GROUP BY month ORDER BY month\" \\\n  --output-file \u002Fmnt\u002Fuser-data\u002Foutputs\u002Fmonthly-trends.csv\n```\n\n### Step 4: Statistical summary\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fsales_2024.xlsx \\\n  --action summary \\\n  --table Orders\n```\n\nPresent results to the user with clear explanations of findings, trends, and actionable insights.\n\n## Multi-file Example\n\nUser uploads `orders.csv` and `customers.xlsx` and asks: \"Which region has the highest average order value?\"\n\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py \\\n  --files \u002Fmnt\u002Fuser-data\u002Fuploads\u002Forders.csv \u002Fmnt\u002Fuser-data\u002Fuploads\u002Fcustomers.xlsx \\\n  --action query \\\n  --sql \"SELECT c.region, AVG(o.amount) as avg_order_value, COUNT(*) as order_count FROM orders o JOIN Customers c ON o.customer_id = c.id GROUP BY c.region ORDER BY avg_order_value DESC\"\n```\n\n## Output Handling\n\nAfter analysis:\n\n- Present query results directly in conversation as formatted tables\n- For large results, export to file and share via `present_files` tool\n- Always explain findings in plain language with key takeaways\n- Suggest follow-up analyses when patterns are interesting\n- Offer to export results if the user wants to keep them\n\n## Caching\n\nThe script automatically caches loaded data to avoid re-parsing files on every call:\n\n- On first load, files are parsed and stored in a persistent DuckDB database under `\u002Fmnt\u002Fuser-data\u002Fworkspace\u002F.data-analysis-cache\u002F`\n- The cache key is a SHA256 hash of all input file contents — if files change, a new cache is created\n- Subsequent calls with the same files will use the cached database directly (near-instant startup)\n- Cache is transparent — no extra parameters needed\n\nThis is especially useful when running multiple queries against the same data files (inspect → query → summary).\n\n## Notes\n\n- DuckDB supports full SQL including window functions, CTEs, subqueries, and advanced aggregations\n- Excel date columns are automatically parsed; use DuckDB date functions (`DATE_TRUNC`, `EXTRACT`, etc.)\n- For very large files (100MB+), DuckDB handles them efficiently without loading everything into memory\n- Column names with spaces are accessible using double quotes: `\"Column Name\"`\n",{"name":5,"description":7},"main","6ffadc67c9777282fa1f9330ec12ac8778064409","skills\u002Fdata-analysis",0,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil","https:\u002F\u002Fgithub.com\u002Fq2805187159","Independent Researcher\r\n\r\nEmail: q2805187159@gmail.com\r\n\r\nGithub: q2805187159\r\n\r\nResearch Interests:\r\n- LLM Agents\r\n- Tool Routing\r\n- RAG","2026-06-24 18:31:41",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add q2805187159\u002FAnvil --skill data-analysis",{"tool":74,"command":75},"bunx","bunx skills add q2805187159\u002FAnvil --skill data-analysis",{"tool":77,"command":78},"pnpm","pnpm dlx skills add q2805187159\u002FAnvil --skill data-analysis","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fdata-analysis\u002FSKILL.md",true,[82],{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"scripts\u002Fanalyze.py","SCRIPT","脚本",19290,"https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fdata-analysis\u002Fscripts\u002Fanalyze.py",[89,121,150,157,179,202],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":93,"licenseFileUrl":94,"sourceHtmlUrl":95,"categories":96,"keywords":103,"publishedAt":55},"01M71NPWVVMB1AZ8XGKNJFT0YP","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[97,100],{"categoryNo":98,"categoryName":99,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":101,"categoryName":102,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120],"webapp","testing","webapp testing","for","applications","local","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots",{"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":133,"publishedAt":55},"01M71NPTQ96H4XSZVZT422BNRB","web-design-guidelines","Review UI code for Web Interface Guidelines compliance. Use when asked to \"review my UI\", \"check accessibility\", \"audit design\", \"review UX\", or \"check my site against best practices\".","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fweb-design-guidelines\u002FSKILL.md",[127,130],{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":131,"categoryName":132,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000032","设计师",[134,135,117,136,137,107,138,139,140,39,51,141,142,143,144,145,146,147,148,149],"guidelines","design","web design guidelines","web design","vercel","interface","web interface guidelines","best practices","file","code","review","check","compliance","audit","ux","accessibility",{"skillNo":151,"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":152,"categories":153,"keywords":156,"publishedAt":55},"01M71NPS2D31Y2BGFYA9DB7CE4","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fweb-design-guidelines copy\u002FSKILL.md",[154,155],{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":131,"categoryName":132,"taxonomyType":32,"taxonomyTypeDesc":33},[134,135,117,136,137,107,138,139,140,39,51,141,142,143,144,145,146,147,148,149],{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":167,"publishedAt":55},"01M71NPQ9DRT54QSQJ0BHBM3VG","video-generation","Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation.","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fvideo-generation\u002FSKILL.md",[163,166],{"categoryNo":164,"categoryName":165,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[168,169,170,107,39,51,171,49,172,173,48,174,175,176,177,178],"Video","video generation","generation","image","imagine","requests","videos","reference","prompts","user","structured",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":55},"01M71NPN57CT154SWXAS52475X","youtube-downloader","Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fvideo-downloader\u002FSKILL.md",[185],{"categoryNo":164,"categoryName":165,"taxonomyType":21,"taxonomyTypeDesc":22},[187,188,189,190,191,192,193,39,51,194,115,195,196,197,198,199,174,200,177,201],"youtube","youtube downloader","mp4","as","downloads","Audio","only","mp3","options","quality","format","settings","grab","formats","download",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":208,"publishedAt":55},"01M71NPKD95YB8N3J6J78QGFFW","verification-before-completion","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","https:\u002F\u002Fgithub.com\u002Fq2805187159\u002FAnvil\u002Fblob\u002Fmain\u002Fskills\u002Fverification-before-completion\u002FSKILL.md",[],[209,210,211,212,213,214,215,39,216,51,217,218,219,220,221,222],"verification","verification before completion","running","evidence","complete","prs","claim","assertions","committing","output","claims","work","about","commands"]