[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CY7DX7EMTYQPD5R31SVFT3":3,"skill-same:01M6CY7DX7EMTYQPD5R31SVFT3":68},{"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":18,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":14,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":6,"updatedAt":53,"install":54,"resources":67},"01M6CY7DX7EMTYQPD5R31SVFT3","tabular-clean",null,"Writes src\u002Fclean.py: drops audited columns, fixes impossible values, imputes and handles outliers. Usually right after tabular-audit. Check: run src\u002Fclean.py, expects data\u002Fprocessed\u002Fclean.csv.","Riteesh-2k6\u002Fbeyondml","Riteesh-2k6","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F140528424?v=4","01M6CY6V18JEE5K6V3V28ZWQNK","Riteesh Thiruveedhula","01M6CY6V5BAR5VMFSG62KXRNA4",0,"MIT","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Fbeyondml\u002Fskills\u002Ftabular-clean\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"tabular clean","clean","read","files","finish","profile","user","list","write","python","ask","check","src","data","csv","audit","file","run","2026-11-10 10:12:30",false,"---\nname: tabular-clean\ndescription: \"Writes src\u002Fclean.py: drops audited columns, fixes impossible values, imputes and handles outliers. Usually right after tabular-audit. Check: run src\u002Fclean.py, expects data\u002Fprocessed\u002Fclean.csv.\"\nallowed-tools: read_file list_files write_file run_python profile detect_outliers ask_user finish_step\nmetadata:\n  beyondml:\n    kind: step\n    modality: tabular\n---\nYou write the cleaning code the shipped project reuses for training and prediction.\n\n1. Read reports\u002Faudit.md for the target, the drop list and the impossible values.\n2. Call detect_outliers(path=\u003Cthe raw file>) to see which numeric columns have outliers.\n3. Choose the outlier strategy. Call ask_user(\"How should outliers be handled?\", options=[\"cap\", \"remove\", \"keep\", \"transform\"], recommended=\u003Cyour choice>). cap clips at the IQR bounds; transform applies np.log1p to skewed positive columns; keep when outliers are informative.\n4. Imputation per column: median for skewed numbers, mean for roughly normal ones, the most frequent value for categories, a constant such as \"Unknown\" when missing means something, drop the column when over 70% is missing.\n5. Write src\u002Fclean.py with write_file. It defines clean(df) -> df. It must not require the target column (predict.py calls it on new rows), must not drop rows unless the strategy is remove, and must also run as a script: read the raw file from data\u002Fraw, write data\u002Fprocessed\u002Fclean.csv.\n6. Run it with run_python(\"src\u002Fclean.py\") and fix it until it succeeds.\n7. Call finish_step with the strategies you chose, outputs=[\"src\u002Fclean.py\", \"data\u002Fprocessed\u002Fclean.csv\"].\n","You write the cleaning code the shipped project reuses for training and prediction.\n\n1. Read reports\u002Faudit.md for the target, the drop list and the impossible values.\n2. Call detect_outliers(path=\u003Cthe raw file>) to see which numeric columns have outliers.\n3. Choose the outlier strategy. Call ask_user(\"How should outliers be handled?\", options=[\"cap\", \"remove\", \"keep\", \"transform\"], recommended=\u003Cyour choice>). cap clips at the IQR bounds; transform applies np.log1p to skewed positive columns; keep when outliers are informative.\n4. Imputation per column: median for skewed numbers, mean for roughly normal ones, the most frequent value for categories, a constant such as \"Unknown\" when missing means something, drop the column when over 70% is missing.\n5. Write src\u002Fclean.py with write_file. It defines clean(df) -> df. It must not require the target column (predict.py calls it on new rows), must not drop rows unless the strategy is remove, and must also run as a script: read the raw file from data\u002Fraw, write data\u002Fprocessed\u002Fclean.csv.\n6. Run it with run_python(\"src\u002Fclean.py\") and fix it until it succeeds.\n7. Call finish_step with the strategies you chose, outputs=[\"src\u002Fclean.py\", \"data\u002Fprocessed\u002Fclean.csv\"].\n",{"name":5,"metadata":42,"description":7,"allowed-tools":46},{"beyondml":43},{"kind":44,"modality":45},"step","tabular","read_file list_files write_file run_python profile detect_outliers ask_user finish_step","main","724a833f3e23c83a25b2ded06208fe53a1a1f460","beyondml\u002Fskills\u002Ftabular-clean","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6","riteeshvnsp.onrender.com","2026-10-25 14:58:25",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add Riteesh-2k6\u002Fbeyondml --skill tabular-clean",{"tool":60,"command":61},"bunx","bunx skills add Riteesh-2k6\u002Fbeyondml --skill tabular-clean",{"tool":63,"command":64},"pnpm","pnpm dlx skills add Riteesh-2k6\u002Fbeyondml --skill tabular-clean","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Fbeyondml\u002Fskills\u002Ftabular-clean\u002FSKILL.md",true,[],[69,78,87,95,111,123],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":37},"01M6CY8269784EN3M5TCSD07EB","tabular-demo","Demo step skill for tabular data.","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Ftests\u002Fdata\u002Fskills\u002Ftabular-demo\u002FSKILL.md",[],[76,77,21,23,32,35,36,28],"tabular demo","demo",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":37},"01M6CY80AQNXNZT62N6GQZXA52","leakage-demo","Demo knowledge skill about target leakage.","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Ftests\u002Fdata\u002Fskills\u002Fleakage-demo\u002FSKILL.md",[],[77,85,86],"leakage demo","knowledge",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":37},"01M6CY7YDZB93PX14NDCJDBPRX","bad-name","Name does not match its folder.","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Ftests\u002Fdata\u002Fskills\u002FBadName\u002FSKILL.md",[],[94],"bad name",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":106,"publishedAt":37},"01M6CY7VZ7MJXVVQ5GCKTJWEXV","train-test-split","How to split data so the score is honest.","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Fbeyondml\u002Fskills\u002Ftrain-test-split\u002FSKILL.md",[101],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[107,108,109,32,110,86],"test","train","train test split","how",{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":37},"01M6CY7SHBNZXKWXVNYXJFJRX3","tabular-features","Writes src\u002Ffeatures.py with derived features (ratios, logs, interactions) and no target use. Usually right after tabular-eda. Check: run src\u002Ffeatures.py, expects data\u002Fprocessed\u002Ffeatures.csv.","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Fbeyondml\u002Fskills\u002Ftabular-features\u002FSKILL.md",[],[118,26,25,24,119,23,22,120,121,21,27,28,36,35,122,33,32,31,30,29],"tabular features","use","scan","eda","logs",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":37},"01M6CY7Q2GNHM2NM7ZVRMGRX7P","tabular-export","Writes the shipped code (src\u002Fpipeline.py, src\u002Ftrain.py, src\u002Fpredict.py) from the winning run and trains it. Usually right after evolve-search or tabular-ensemble. Check: run src\u002Ftrain.py, expects models\u002Fmodel.joblib, metric accuracy (classification) or r2 (regression) with a minimum.","https:\u002F\u002Fgithub.com\u002FRiteesh-2k6\u002Fbeyondml\u002Fblob\u002Fmain\u002Fbeyondml\u002Fskills\u002Ftabular-export\u002FSKILL.md",[],[130,131,23,36,132,133,35,134,135,31,136,137,138,21,27,26,22,139,108,28],"tabular export","export","code","search","pipeline","classification","model","regression","evolve","models"]