[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6G70CACJ5NMTAWN5M3PD2F0":3,"skill-same:01M6G70CACJ5NMTAWN5M3PD2F0":259},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6G70CACJ5NMTAWN5M3PD2F0","oura-ring-data",null,"Access Oura Ring health data using the ouracli CLI tool. Use when user asks about \"oura data\", \"sleep stats\", \"activity data\", \"heart rate\", \"readiness score\", \"stress levels\", or wants health metrics from their Oura Ring.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"oura","oura ring data","oura ring","data","readiness","metrics","stats","sleep","activity","about","health data","stress","cli tool","cli","use","user","tool","access","Bash","health","2026-11-10 10:12:30",false,"---\nname: oura-ring-data\ndescription: Access Oura Ring health data using the ouracli CLI tool. Use when user asks about \"oura data\", \"sleep stats\", \"activity data\", \"heart rate\", \"readiness score\", \"stress levels\", or wants health metrics from their Oura Ring.\nallowed-tools: Bash\n---\n\n# Oura Ring Data Access\n\nRetrieves health and fitness data from the Oura Ring using the ouracli command-line interface.\n\n## CRITICAL: Authentication Required\n\n**ALWAYS check for authentication before running ouracli commands.** The tool requires a `PERSONAL_ACCESS_TOKEN` environment variable.\n\n- Token location: `secrets\u002Foura.env` or `~\u002F.secrets\u002Foura.env`\n- If commands fail with authentication errors, inform the user to obtain a token from: https:\u002F\u002Fcloud.ouraring.com\u002Fpersonal-access-tokens\n\n## Available Data Types\n\n### Core Health Metrics\n- `activity` - Daily activity (steps, MET values, calories)\n- `sleep` - Sleep data (stages, efficiency, heart rate)\n- `readiness` - Readiness scores and contributors\n- `heartrate` - Time-series heart rate data (5-minute resolution)\n- `spo2` - Blood oxygen saturation data\n- `stress` - Daily stress levels\n\n### Additional Data\n- `workout` - Workout sessions\n- `session` - Activity sessions\n- `tag` - User-added tags\n- `rest-mode` - Rest mode periods\n- `personal-info` - User profile information\n- `all` - All available data types\n\n## Date Range Specification\n\n### ✅ SUPPORTED FORMATS (Use These!)\n\n```bash\n# Single date (no quotes needed)\nouracli activity 2025-12-25\nouracli sleep today\nouracli heartrate yesterday\n\n# Relative ranges from today (MUST use quotes)\nouracli activity \"7 days\"      # Last 7 days including today\nouracli sleep \"30 days\"        # Last 30 days\nouracli readiness \"2 weeks\"    # Last 2 weeks\nouracli stress \"1 month\"       # Last month\n\n# Date + duration (MUST use quotes)\nouracli activity \"2025-12-01 28 days\"    # 28 days starting Dec 1\nouracli sleep \"2025-09-23 7 days\"        # Week starting Sept 23\n```\n\n**⚠️ CRITICAL: Use quotes when the date range contains spaces!**\n\n### ❌ UNSUPPORTED FORMATS (DO NOT USE)\n\n```bash\n# ❌ WRONG - Two separate dates\nouracli activity 2025-09-23 2025-09-30\n\n# ❌ WRONG - \"to\" syntax\nouracli activity \"2025-09-23 to 2025-09-30\"\n\n# ❌ WRONG - Range operators\nouracli activity \"2025-09-23..2025-09-30\"\n\n# ❌ WRONG - Relative past expressions\nouracli activity \"3 months ago\"\n```\n\n### Converting Date Ranges\n\nIf user requests data between two specific dates:\n\n**Step 1**: Calculate the number of days (inclusive)\n```\nExample: Sept 23 to Sept 30 = 7 days\n         Dec 1 to Dec 31 = 30 days\n```\n\n**Step 2**: Use the \"date + duration\" format\n```bash\n# ✅ CORRECT\nouracli activity \"2025-09-23 7 days\"\nouracli activity \"2025-12-01 30 days\"\n```\n\n## Output Formats\n\n**ALWAYS use `--json` for programmatic data analysis.** This is the most reliable format for parsing.\n\n```bash\n# ✅ RECOMMENDED for AI analysis\nouracli activity \"7 days\" --json\n\n# Other formats (human-readable)\nouracli activity today --tree        # Default: tree structure\nouracli activity \"7 days\" --markdown # Markdown with charts\nouracli activity \"7 days\" --html > activity.html  # Interactive HTML charts\nouracli activity \"7 days\" --dataframe  # Pandas DataFrame format\n```\n\n## Common Usage Patterns\n\n### Quick Data Check\n```bash\n# Today's activity\nouracli activity today --json\n\n# Recent sleep data\nouracli sleep \"7 days\" --json\n\n# Current readiness\nouracli readiness today --json\n```\n\n### Detailed Analysis\n```bash\n# Weekly health summary\nouracli all \"7 days\" --json\n\n# Monthly activity report\nouracli activity \"30 days\" --json\n\n# Heart rate for specific date\nouracli heartrate \"2025-12-15 1 days\" --json\n```\n\n### Multi-Day Reports\n```bash\n# All data grouped by day (HTML report)\nouracli all \"7 days\" --by-day --html > weekly-report.html\n\n# All data grouped by type\nouracli all \"7 days\" --by-method --json\n```\n\n## Key Notes\n\n### Readiness Contributors Warning\n⚠️ **IMPORTANT**: The `contributors.resting_heart_rate` field in readiness data is a **SCORE (0-100)**, NOT actual BPM:\n- Low score (19, 47) = RHR elevated vs. baseline (negative impact)\n- High score (95, 100) = RHR optimal vs. baseline (positive impact)\n- Actual BPM values are in the `heartrate` command output\n\n**DO NOT interpret contributor scores as actual heart rate measurements.**\n\n### Oura API Quirks\n- Single-day queries sometimes return empty results due to timezone issues\n- Use date ranges (e.g., \"YYYY-MM-DD 2 days\") for more reliable results\n- When querying specific dates, consider adding a buffer day\n\n### Data Availability\n- Ring must be synced recently for current data\n- Historical data availability depends on user's Oura subscription\n- If no data is returned, suggest broader date range or check sync status\n\n## Troubleshooting\n\n### Error: \"Got unexpected extra argument\"\n**Cause**: Used two separate date arguments instead of one quoted range\n```bash\n# ❌ WRONG\nouracli activity 2025-09-23 2025-09-30\n\n# ✅ CORRECT\nouracli activity \"2025-09-23 7 days\"\n```\n\n### Error: \"Invalid date specification\"\n**Cause**: Used unsupported syntax like \"to\", \"..\", or relative expressions\n```bash\n# ❌ WRONG\nouracli activity \"2025-09-23 to 2025-09-30\"\n\n# ✅ CORRECT\nouracli activity \"2025-09-23 7 days\"\n```\n\n### No Data Returned\n**Solutions**:\n1. Try a broader date range: `ouracli activity \"7 days\" --json`\n2. Add buffer days: `ouracli activity \"2025-12-25 2 days\" --json`\n3. Check if Ring has synced recently\n4. Verify date is within available data range\n\n## Example Responses to User Queries\n\n### \"Show me my activity for the last week\"\n```bash\nouracli activity \"7 days\" --json\n```\n\n### \"What was my sleep like last night?\"\n```bash\nouracli sleep today --json\n```\n\n### \"How was my readiness in December?\"\n```bash\nouracli readiness \"2025-12-01 30 days\" --json\n```\n\n### \"Get all my data from Sept 23 to Sept 30\"\n```bash\n# Calculate: Sept 30 - Sept 23 = 7 days\nouracli all \"2025-09-23 7 days\" --json\n```\n\n### \"Show my heart rate from yesterday\"\n```bash\nouracli heartrate yesterday --json\n```\n\n## Quick Reference\n\n| User Intent | Command |\n|-------------|---------|\n| Today's activity | `ouracli activity today --json` |\n| Last week's sleep | `ouracli sleep \"7 days\" --json` |\n| Current readiness | `ouracli readiness today --json` |\n| Heart rate today | `ouracli heartrate today --json` |\n| Monthly summary | `ouracli all \"30 days\" --json` |\n| Specific date range | `ouracli [TYPE] \"YYYY-MM-DD N days\" --json` |\n| All data types | `ouracli all \"7 days\" --json` |\n\n## Notes\n\n- Always prefer `--json` format for AI analysis\n- Use quotes for all date ranges with spaces\n- Calculate day counts for specific date ranges\n- Check authentication if commands fail\n- Consider timezone quirks when querying specific dates\n","# Oura Ring Data Access\n\nRetrieves health and fitness data from the Oura Ring using the ouracli command-line interface.\n\n## CRITICAL: Authentication Required\n\n**ALWAYS check for authentication before running ouracli commands.** The tool requires a `PERSONAL_ACCESS_TOKEN` environment variable.\n\n- Token location: `secrets\u002Foura.env` or `~\u002F.secrets\u002Foura.env`\n- If commands fail with authentication errors, inform the user to obtain a token from: https:\u002F\u002Fcloud.ouraring.com\u002Fpersonal-access-tokens\n\n## Available Data Types\n\n### Core Health Metrics\n- `activity` - Daily activity (steps, MET values, calories)\n- `sleep` - Sleep data (stages, efficiency, heart rate)\n- `readiness` - Readiness scores and contributors\n- `heartrate` - Time-series heart rate data (5-minute resolution)\n- `spo2` - Blood oxygen saturation data\n- `stress` - Daily stress levels\n\n### Additional Data\n- `workout` - Workout sessions\n- `session` - Activity sessions\n- `tag` - User-added tags\n- `rest-mode` - Rest mode periods\n- `personal-info` - User profile information\n- `all` - All available data types\n\n## Date Range Specification\n\n### ✅ SUPPORTED FORMATS (Use These!)\n\n```bash\n# Single date (no quotes needed)\nouracli activity 2025-12-25\nouracli sleep today\nouracli heartrate yesterday\n\n# Relative ranges from today (MUST use quotes)\nouracli activity \"7 days\"      # Last 7 days including today\nouracli sleep \"30 days\"        # Last 30 days\nouracli readiness \"2 weeks\"    # Last 2 weeks\nouracli stress \"1 month\"       # Last month\n\n# Date + duration (MUST use quotes)\nouracli activity \"2025-12-01 28 days\"    # 28 days starting Dec 1\nouracli sleep \"2025-09-23 7 days\"        # Week starting Sept 23\n```\n\n**⚠️ CRITICAL: Use quotes when the date range contains spaces!**\n\n### ❌ UNSUPPORTED FORMATS (DO NOT USE)\n\n```bash\n# ❌ WRONG - Two separate dates\nouracli activity 2025-09-23 2025-09-30\n\n# ❌ WRONG - \"to\" syntax\nouracli activity \"2025-09-23 to 2025-09-30\"\n\n# ❌ WRONG - Range operators\nouracli activity \"2025-09-23..2025-09-30\"\n\n# ❌ WRONG - Relative past expressions\nouracli activity \"3 months ago\"\n```\n\n### Converting Date Ranges\n\nIf user requests data between two specific dates:\n\n**Step 1**: Calculate the number of days (inclusive)\n```\nExample: Sept 23 to Sept 30 = 7 days\n         Dec 1 to Dec 31 = 30 days\n```\n\n**Step 2**: Use the \"date + duration\" format\n```bash\n# ✅ CORRECT\nouracli activity \"2025-09-23 7 days\"\nouracli activity \"2025-12-01 30 days\"\n```\n\n## Output Formats\n\n**ALWAYS use `--json` for programmatic data analysis.** This is the most reliable format for parsing.\n\n```bash\n# ✅ RECOMMENDED for AI analysis\nouracli activity \"7 days\" --json\n\n# Other formats (human-readable)\nouracli activity today --tree        # Default: tree structure\nouracli activity \"7 days\" --markdown # Markdown with charts\nouracli activity \"7 days\" --html > activity.html  # Interactive HTML charts\nouracli activity \"7 days\" --dataframe  # Pandas DataFrame format\n```\n\n## Common Usage Patterns\n\n### Quick Data Check\n```bash\n# Today's activity\nouracli activity today --json\n\n# Recent sleep data\nouracli sleep \"7 days\" --json\n\n# Current readiness\nouracli readiness today --json\n```\n\n### Detailed Analysis\n```bash\n# Weekly health summary\nouracli all \"7 days\" --json\n\n# Monthly activity report\nouracli activity \"30 days\" --json\n\n# Heart rate for specific date\nouracli heartrate \"2025-12-15 1 days\" --json\n```\n\n### Multi-Day Reports\n```bash\n# All data grouped by day (HTML report)\nouracli all \"7 days\" --by-day --html > weekly-report.html\n\n# All data grouped by type\nouracli all \"7 days\" --by-method --json\n```\n\n## Key Notes\n\n### Readiness Contributors Warning\n⚠️ **IMPORTANT**: The `contributors.resting_heart_rate` field in readiness data is a **SCORE (0-100)**, NOT actual BPM:\n- Low score (19, 47) = RHR elevated vs. baseline (negative impact)\n- High score (95, 100) = RHR optimal vs. baseline (positive impact)\n- Actual BPM values are in the `heartrate` command output\n\n**DO NOT interpret contributor scores as actual heart rate measurements.**\n\n### Oura API Quirks\n- Single-day queries sometimes return empty results due to timezone issues\n- Use date ranges (e.g., \"YYYY-MM-DD 2 days\") for more reliable results\n- When querying specific dates, consider adding a buffer day\n\n### Data Availability\n- Ring must be synced recently for current data\n- Historical data availability depends on user's Oura subscription\n- If no data is returned, suggest broader date range or check sync status\n\n## Troubleshooting\n\n### Error: \"Got unexpected extra argument\"\n**Cause**: Used two separate date arguments instead of one quoted range\n```bash\n# ❌ WRONG\nouracli activity 2025-09-23 2025-09-30\n\n# ✅ CORRECT\nouracli activity \"2025-09-23 7 days\"\n```\n\n### Error: \"Invalid date specification\"\n**Cause**: Used unsupported syntax like \"to\", \"..\", or relative expressions\n```bash\n# ❌ WRONG\nouracli activity \"2025-09-23 to 2025-09-30\"\n\n# ✅ CORRECT\nouracli activity \"2025-09-23 7 days\"\n```\n\n### No Data Returned\n**Solutions**:\n1. Try a broader date range: `ouracli activity \"7 days\" --json`\n2. Add buffer days: `ouracli activity \"2025-12-25 2 days\" --json`\n3. Check if Ring has synced recently\n4. Verify date is within available data range\n\n## Example Responses to User Queries\n\n### \"Show me my activity for the last week\"\n```bash\nouracli activity \"7 days\" --json\n```\n\n### \"What was my sleep like last night?\"\n```bash\nouracli sleep today --json\n```\n\n### \"How was my readiness in December?\"\n```bash\nouracli readiness \"2025-12-01 30 days\" --json\n```\n\n### \"Get all my data from Sept 23 to Sept 30\"\n```bash\n# Calculate: Sept 30 - Sept 23 = 7 days\nouracli all \"2025-09-23 7 days\" --json\n```\n\n### \"Show my heart rate from yesterday\"\n```bash\nouracli heartrate yesterday --json\n```\n\n## Quick Reference\n\n| User Intent | Command |\n|-------------|---------|\n| Today's activity | `ouracli activity today --json` |\n| Last week's sleep | `ouracli sleep \"7 days\" --json` |\n| Current readiness | `ouracli readiness today --json` |\n| Heart rate today | `ouracli heartrate today --json` |\n| Monthly summary | `ouracli all \"30 days\" --json` |\n| Specific date range | `ouracli [TYPE] \"YYYY-MM-DD N days\" --json` |\n| All data types | `ouracli all \"7 days\" --json` |\n\n## Notes\n\n- Always prefer `--json` format for AI analysis\n- Use quotes for all date ranges with spaces\n- Calculate day counts for specific date ranges\n- Check authentication if commands fail\n- Consider timezone quirks when querying specific dates\n",{"name":5,"description":7,"allowed-tools":41},"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fvisionik\u002Fouracli",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add kbarbel640-del\u002Fskills --skill oura-ring-data",{"tool":61,"command":62},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill oura-ring-data",{"tool":64,"command":65},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill oura-ring-data","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002FSKILL.md",true,[69,75,79,85,89,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,166,170,174,178,182,186,190,193,196,200,204,208,211,215,219,223,227,231,235,239,243,247,251,255],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"_meta.json","REFERENCE","参考文档",275,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002F_meta.json",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"CHANGELOG.md",1100,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002FCHANGELOG.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"pyproject.toml","OTHER","其他",1531,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fpyproject.toml",{"path":86,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":87,"sourceHtmlUrl":88},"README.md",2124,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002FREADME.md",{"path":90,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":93,"sourceHtmlUrl":94},"src\u002Fouracli\u002F__init__.py","SCRIPT","脚本",78,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002F__init__.py",{"path":96,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":97,"sourceHtmlUrl":98},"src\u002Fouracli\u002Fchart_utils.py",2918,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fchart_utils.py",{"path":100,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":101,"sourceHtmlUrl":102},"src\u002Fouracli\u002Fcharts_ascii.py",8348,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fcharts_ascii.py",{"path":104,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":105,"sourceHtmlUrl":106},"src\u002Fouracli\u002Fcharts_html.py",8155,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fcharts_html.py",{"path":108,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":109,"sourceHtmlUrl":110},"src\u002Fouracli\u002Fcharts_mermaid.py",2996,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fcharts_mermaid.py",{"path":112,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":113,"sourceHtmlUrl":114},"src\u002Fouracli\u002Fcli.py",13809,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fcli.py",{"path":116,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":117,"sourceHtmlUrl":118},"src\u002Fouracli\u002Fclient.py",8997,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fclient.py",{"path":120,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":121,"sourceHtmlUrl":122},"src\u002Fouracli\u002Fdate_parser.py",2974,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fdate_parser.py",{"path":124,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":125,"sourceHtmlUrl":126},"src\u002Fouracli\u002Fformat_dataframe.py",1094,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fformat_dataframe.py",{"path":128,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":129,"sourceHtmlUrl":130},"src\u002Fouracli\u002Fformat_html.py",11461,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fformat_html.py",{"path":132,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":133,"sourceHtmlUrl":134},"src\u002Fouracli\u002Fformat_json.py",2929,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fformat_json.py",{"path":136,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":137,"sourceHtmlUrl":138},"src\u002Fouracli\u002Fformat_markdown.py",8863,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fformat_markdown.py",{"path":140,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":141,"sourceHtmlUrl":142},"src\u002Fouracli\u002Fformat_tree.py",7522,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fformat_tree.py",{"path":144,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":145,"sourceHtmlUrl":146},"src\u002Fouracli\u002Fformat_utils.py",5710,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fformat_utils.py",{"path":148,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":149,"sourceHtmlUrl":150},"src\u002Fouracli\u002Fformatters.py",2381,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fformatters.py",{"path":152,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":153,"sourceHtmlUrl":154},"src\u002Fouracli\u002Fllm_help.py",13613,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Fsrc\u002Fouracli\u002Fllm_help.py",{"path":156,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":157,"sourceHtmlUrl":158},"Taskfile.yml",1214,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002FTaskfile.yml",{"path":160,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":161,"sourceHtmlUrl":162},"tests\u002Ffixtures\u002Factivity_2024-11-01_to_2024-11-14.json",39,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Factivity_2024-11-01_to_2024-11-14.json",{"path":164,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":161,"sourceHtmlUrl":165},"tests\u002Ffixtures\u002Factivity_2024-12-01_to_2024-12-14.json","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Factivity_2024-12-01_to_2024-12-14.json",{"path":167,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":168,"sourceHtmlUrl":169},"tests\u002Ffixtures\u002Factivity_recent_14days.json",51299,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Factivity_recent_14days.json",{"path":171,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":172,"sourceHtmlUrl":173},"tests\u002Ffixtures\u002Fheartrate_2024-11-01_to_2024-11-03.json",48,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fheartrate_2024-11-01_to_2024-11-03.json",{"path":175,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":176,"sourceHtmlUrl":177},"tests\u002Ffixtures\u002Fheartrate_recent_3days.json",86872,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fheartrate_recent_3days.json",{"path":179,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":180,"sourceHtmlUrl":181},"tests\u002Ffixtures\u002Fpersonal_info.json",147,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fpersonal_info.json",{"path":183,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":184,"sourceHtmlUrl":185},"tests\u002Ffixtures\u002Freadiness_recent_14days.json",2632,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Freadiness_recent_14days.json",{"path":187,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":188,"sourceHtmlUrl":189},"tests\u002Ffixtures\u002Frest_mode_recent_14days.json",3,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Frest_mode_recent_14days.json",{"path":191,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":188,"sourceHtmlUrl":192},"tests\u002Ffixtures\u002Fsession_recent_14days.json","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fsession_recent_14days.json",{"path":194,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":172,"sourceHtmlUrl":195},"tests\u002Ffixtures\u002Fsleep_2024-11-01_to_2024-11-14.json","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fsleep_2024-11-01_to_2024-11-14.json",{"path":197,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":198,"sourceHtmlUrl":199},"tests\u002Ffixtures\u002Fsleep_recent_14days.json",1703,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fsleep_recent_14days.json",{"path":201,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":202,"sourceHtmlUrl":203},"tests\u002Ffixtures\u002Fspo2_recent_14days.json",893,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fspo2_recent_14days.json",{"path":205,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":206,"sourceHtmlUrl":207},"tests\u002Ffixtures\u002Fstress_recent_14days.json",2058,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fstress_recent_14days.json",{"path":209,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":188,"sourceHtmlUrl":210},"tests\u002Ffixtures\u002Ftag_recent_14days.json","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Ftag_recent_14days.json",{"path":212,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":213,"sourceHtmlUrl":214},"tests\u002Ffixtures\u002Fworkout_recent_14days.json",375,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ffixtures\u002Fworkout_recent_14days.json",{"path":216,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":217,"sourceHtmlUrl":218},"tests\u002Ftest_all_methods_all_formats.py",15124,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_all_methods_all_formats.py",{"path":220,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":221,"sourceHtmlUrl":222},"tests\u002Ftest_charts_html.py",10302,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_charts_html.py",{"path":224,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":225,"sourceHtmlUrl":226},"tests\u002Ftest_charts_mermaid.py",8722,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_charts_mermaid.py",{"path":228,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":229,"sourceHtmlUrl":230},"tests\u002Ftest_cli.py",6192,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_cli.py",{"path":232,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":233,"sourceHtmlUrl":234},"tests\u002Ftest_client.py",2570,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_client.py",{"path":236,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":237,"sourceHtmlUrl":238},"tests\u002Ftest_coverage_boost.py",12594,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_coverage_boost.py",{"path":240,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":241,"sourceHtmlUrl":242},"tests\u002Ftest_date_parser.py",3206,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_date_parser.py",{"path":244,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":245,"sourceHtmlUrl":246},"tests\u002Ftest_formatters_extended.py",17037,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_formatters_extended.py",{"path":248,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":249,"sourceHtmlUrl":250},"tests\u002Ftest_formatters.py",4579,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_formatters.py",{"path":252,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":253,"sourceHtmlUrl":254},"tests\u002Ftest_fuzz.py",16225,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_fuzz.py",{"path":256,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":257,"sourceHtmlUrl":258},"tests\u002Ftest_output_snapshots.py",12607,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvisionik\u002Fouracli\u002Ftests\u002Ftest_output_snapshots.py",[260,288,316,337,343,363],{"skillNo":261,"name":262,"nameZh":6,"description":263,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":264,"categories":265,"keywords":269,"publishedAt":43},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[266],{"categoryNo":267,"categoryName":268,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000036","内容创作者",[270,271,272,273,274,275,276,277,278,279,280,39,281,282,283,284,285,286,287],"crowd prompting","prompting","api","with","tokens","domain","world","prompts","operations","instructions","text","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":289,"name":290,"nameZh":6,"description":291,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":292,"categories":293,"keywords":299,"publishedAt":43},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[294],{"categoryNo":295,"categoryName":296,"taxonomyType":297,"taxonomyTypeDesc":298},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[300,272,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,277,37],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking",{"skillNo":317,"name":318,"nameZh":6,"description":319,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":320,"categories":321,"keywords":325,"publishedAt":43},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[322],{"categoryNo":323,"categoryName":324,"taxonomyType":297,"taxonomyTypeDesc":298},"01JBSEEDCAT000000000000021","资料检索与研究",[326,327,328,329,330,331,332,273,333,314,37,334,272,335,336],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":338,"name":318,"nameZh":6,"description":319,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":339,"categories":340,"keywords":342,"publishedAt":43},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[341],{"categoryNo":323,"categoryName":324,"taxonomyType":297,"taxonomyTypeDesc":298},[329,328,327,326,336,331,332,273,330,314,37,333,334,272,335],{"skillNo":344,"name":345,"nameZh":6,"description":346,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":347,"categories":348,"keywords":349,"publishedAt":43},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[350,351,352,353,354,355,356,357,358,359,360,361,362],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":364,"name":365,"nameZh":6,"description":366,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":367,"categories":368,"keywords":373,"publishedAt":43},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[369,370],{"categoryNo":295,"categoryName":296,"taxonomyType":297,"taxonomyTypeDesc":298},{"categoryNo":371,"categoryName":372,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000037","律师与法务",[374,375,376,377,273,378,379,48,380,334,381,382,383,384,385,285,386,387,388],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]