[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSQPPWTFEPNATFZ9FXES0B":3,"skill-same:01M6CSQPPWTFEPNATFZ9FXES0B":81},{"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":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6CSQPPWTFEPNATFZ9FXES0B","daily-news-report",null,"Scrapes content based on a preset URL list, filters high-quality technical information, and generates daily Markdown reports.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fdaily-news-report\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41],"report","daily","daily news report","news","preset","content","markdown","quality","technical","list","filters","reports","community","2026-11-10 10:12:30",false,"---\nname: daily-news-report\ndescription: \"Scrapes content based on a preset URL list, filters high-quality technical information, and generates daily Markdown reports.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Daily News Report v3.0\n\n> **Architecture Upgrade**: Main Agent Orchestration + SubAgent Execution + Browser Scraping + Smart Caching\n\n## Core Architecture\n\n```\n┌─────────────────────────────────────────────────────────────────────┐\n│                        Main Agent (Orchestrator)                    │\n│  Role: Scheduling, Monitoring, Evaluation, Decision, Aggregation    │\n├─────────────────────────────────────────────────────────────────────┤\n│                                                                      │\n│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │\n│   │ 1. Init     │ → │ 2. Dispatch │ → │ 3. Monitor  │ → │ 4. Evaluate │     │\n│   │ Read Config │    │ Assign Tasks│    │ Collect Res │    │ Filter\u002FSort │     │\n│   └─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘     │\n│         │                  │                  │                  │           │\n│         ▼                  ▼                  ▼                  ▼           │\n│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │\n│   │ 5. Decision │ ← │ Enough 20?  │    │ 6. Generate │ → │ 7. Update   │     │\n│   │ Cont\u002FStop   │    │ Y\u002FN         │    │ Report File │    │ Cache Stats │     │\n│   └─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘     │\n│                                                                      │\n└──────────────────────────────────────────────────────────────────────┘\n         ↓ Dispatch                          ↑ Return Results\n┌─────────────────────────────────────────────────────────────────────┐\n│                        SubAgent Execution Layer                      │\n├─────────────────────────────────────────────────────────────────────┤\n│                                                                      │\n│   ┌─────────────┐   ┌─────────────┐   ┌─────────────┐              │\n│   │ Worker A    │   │ Worker B    │   │ Browser     │              │\n│   │ (WebFetch)  │   │ (WebFetch)  │   │ (Headless)  │              │\n│   │ Tier1 Batch │   │ Tier2 Batch │   │ JS Render   │              │\n│   └─────────────┘   └─────────────┘   └─────────────┘              │\n│         ↓                 ↓                 ↓                        │\n│   ┌─────────────────────────────────────────────────────────────┐   │\n│   │                    Structured Result Return                 │   │\n│   │  { status, data: [...], errors: [...], metadata: {...} }    │   │\n│   └─────────────────────────────────────────────────────────────┘   │\n│                                                                      │\n└─────────────────────────────────────────────────────────────────────┘\n```\n\n## Configuration Files\n\nThis skill uses the following configuration files:\n\n| File | Purpose |\n|------|---------|\n| `sources.json` | Source configuration, priorities, scrape methods |\n| `cache.json` | Cached data, historical stats, deduplication fingerprints |\n\n## Execution Process Details\n\n### Phase 1: Initialization\n\n```yaml\nSteps:\n  1. Determine date (user argument or current date)\n  2. Read sources.json for source configurations\n  3. Read cache.json for historical data\n  4. Create output directory NewsReport\u002F\n  5. Check if a partial report exists for today (append mode)\n```\n\n### Phase 2: Dispatch SubAgents\n\n**Strategy**: Parallel dispatch, batch execution, early stopping mechanism\n\n```yaml\nWave 1 (Parallel):\n  - Worker A: Tier1 Batch A (HN, HuggingFace Papers)\n  - Worker B: Tier1 Batch B (OneUsefulThing, Paul Graham)\n\nWait for results → Evaluate count\n\nIf \u003C 15 high-quality items:\n  Wave 2 (Parallel):\n    - Worker C: Tier2 Batch A (James Clear, FS Blog)\n    - Worker D: Tier2 Batch B (HackerNoon, Scott Young)\n\nIf still \u003C 20 items:\n  Wave 3 (Browser):\n    - Browser Worker: ProductHunt, Latent Space (Require JS rendering)\n```\n\n### Phase 3: SubAgent Task Format\n\nTask format received by each SubAgent:\n\n```yaml\ntask: fetch_and_extract\nsources:\n  - id: hn\n    url: https:\u002F\u002Fnews.ycombinator.com\n    extract: top_10\n  - id: hf_papers\n    url: https:\u002F\u002Fhuggingface.co\u002Fpapers\n    extract: top_voted\n\noutput_schema:\n  items:\n    - source_id: string      # Source Identifier\n      title: string          # Title\n      summary: string        # 2-4 sentence summary\n      key_points: string[]   # Max 3 key points\n      url: string            # Original URL\n      keywords: string[]     # Keywords\n      quality_score: 1-5     # Quality Score\n\nconstraints:\n  filter: \"Cutting-edge Tech\u002FDeep Tech\u002FProductivity\u002FPractical Info\"\n  exclude: \"General Science\u002FMarketing Puff\u002FOverly Academic\u002FJob Posts\"\n  max_items_per_source: 10\n  skip_on_error: true\n\nreturn_format: JSON\n```\n\n### Phase 4: Main Agent Monitoring & Feedback\n\nMain Agent Responsibilities:\n\n```yaml\nMonitoring:\n  - Check SubAgent return status (success\u002Fpartial\u002Ffailed)\n  - Count collected items\n  - Record success rate per source\n\nFeedback Loop:\n  - If a SubAgent fails, decide whether to retry or skip\n  - If a source fails persistently, mark as disabled\n  - Dynamically adjust source selection for subsequent batches\n\nDecision:\n  - Items >= 25 AND HighQuality >= 20 → Stop scraping\n  - Items \u003C 15 → Continue to next batch\n  - All batches done but \u003C 20 → Generate with available content (Quality over Quantity)\n```\n\n### Phase 5: Evaluation & Filtering\n\n```yaml\nDeduplication:\n  - Exact URL match\n  - Title similarity (>80% considered duplicate)\n  - Check cache.json to avoid history duplicates\n\nScore Calibration:\n  - Unify scoring standards across SubAgents\n  - Adjust weights based on source credibility\n  - Bonus points for manually curated high-quality sources\n\nSorting:\n  - Descending order by quality_score\n  - Sort by source priority if scores are equal\n  - Take Top 20\n```\n\n### Phase 6: Browser Scraping (MCP Chrome DevTools)\n\nFor pages requiring JS rendering, use a headless browser:\n\n```yaml\nProcess:\n  1. Call mcp__chrome-devtools__new_page to open page\n  2. Call mcp__chrome-devtools__wait_for to wait for content load\n  3. Call mcp__chrome-devtools__take_snapshot to get page structure\n  4. Parse snapshot to extract required content\n  5. Call mcp__chrome-devtools__close_page to close page\n\nApplicable Scenarios:\n  - ProductHunt (403 on WebFetch)\n  - Latent Space (Substack JS rendering)\n  - Other SPA applications\n```\n\n### Phase 7: Generate Report\n\n```yaml\nOutput:\n  - Directory: NewsReport\u002F\n  - Filename: YYYY-MM-DD-news-report.md\n  - Format: Standard Markdown\n\nContent Structure:\n  - Title + Date\n  - Statistical Summary (Source count, items collected)\n  - 20 High-Quality Items (Template based)\n  - Generation Info (Version, Timestamps)\n```\n\n### Phase 8: Update Cache\n\n```yaml\nUpdate cache.json:\n  - last_run: Record this run info\n  - source_stats: Update stats per source\n  - url_cache: Add processed URLs\n  - content_hashes: Add content fingerprints\n  - article_history: Record included articles\n```\n\n## SubAgent Call Examples\n\n### Using general-purpose Agent\n\nSince custom agents require session restart to be discovered, use general-purpose and inject worker prompts:\n\n```\nTask Call:\n  subagent_type: general-purpose\n  model: haiku\n  prompt: |\n    You are a stateless execution unit. Only do the assigned task and return structured JSON.\n\n    Task: Scrape the following URLs and extract content\n\n    URLs:\n    - https:\u002F\u002Fnews.ycombinator.com (Extract Top 10)\n    - https:\u002F\u002Fhuggingface.co\u002Fpapers (Extract top voted papers)\n\n    Output Format:\n    {\n      \"status\": \"success\" | \"partial\" | \"failed\",\n      \"data\": [\n        {\n          \"source_id\": \"hn\",\n          \"title\": \"...\",\n          \"summary\": \"...\",\n          \"key_points\": [\"...\", \"...\", \"...\"],\n          \"url\": \"...\",\n          \"keywords\": [\"...\", \"...\"],\n          \"quality_score\": 4\n        }\n      ],\n      \"errors\": [],\n      \"metadata\": { \"processed\": 2, \"failed\": 0 }\n    }\n\n    Filter Criteria:\n    - Keep: Cutting-edge Tech\u002FDeep Tech\u002FProductivity\u002FPractical Info\n    - Exclude: General Science\u002FMarketing Puff\u002FOverly Academic\u002FJob Posts\n\n    Return JSON directly, no explanation.\n```\n\n### Using worker Agent (Requires session restart)\n\n```\nTask Call:\n  subagent_type: worker\n  prompt: |\n    task: fetch_and_extract\n    input:\n      urls:\n        - https:\u002F\u002Fnews.ycombinator.com\n        - https:\u002F\u002Fhuggingface.co\u002Fpapers\n    output_schema:\n      - source_id: string\n      - title: string\n      - summary: string\n      - key_points: string[]\n      - url: string\n      - keywords: string[]\n      - quality_score: 1-5\n    constraints:\n      filter: Cutting-edge Tech\u002FDeep Tech\u002FProductivity\u002FPractical Info\n      exclude: General Science\u002FMarketing Puff\u002FOverly Academic\n```\n\n## Output Template\n\n```markdown\n# Daily News Report (YYYY-MM-DD)\n\n> Curated from N sources today, containing 20 high-quality items\n> Generation Time: X min | Version: v3.0\n>\n> **Warning**: Sub-agent 'worker' not detected. Running in generic mode (Serial Execution). Performance might be degraded.\n\n---\n\n## 1. Title\n\n- **Summary**: 2-4 lines overview\n- **Key Points**:\n  1. Point one\n  2. Point two\n  3. Point three\n- **Source**: Link\n- **Keywords**: `keyword1` `keyword2` `keyword3`\n- **Score**: ⭐⭐⭐⭐⭐ (5\u002F5)\n\n---\n\n## 2. Title\n...\n\n---\n\n*Generated by Daily News Report v3.0*\n*Sources: HN, HuggingFace, OneUsefulThing, ...*\n```\n\n## Constraints & Principles\n\n1.  **Quality over Quantity**: Low-quality content does not enter the report.\n2.  **Early Stop**: Stop scraping once 20 high-quality items are reached.\n3.  **Parallel First**: SubAgents in the same batch execute in parallel.\n4.  **Fault Tolerance**: Failure of a single source does not affect the whole process.\n5.  **Cache Reuse**: Avoid re-scraping the same content.\n6.  **Main Agent Control**: All decisions are made by the Main Agent.\n7.  **Fallback Awareness**: Detect sub-agent availability, gracefully degrade if unavailable.\n\n## Expected Performance\n\n| Scenario | Expected Time | Note |\n|---|---|---|\n| Optimal | ~2 mins | Tier1 sufficient, no browser needed |\n| Normal | ~3-4 mins | Requires Tier2 supplement |\n| Browser Needed | ~5-6 mins | Includes JS rendered pages |\n\n## Error Handling\n\n| Error Type | Handling |\n|---|---|\n| SubAgent Timeout | Log error, continue to next |\n| Source 403\u002F404 | Mark disabled, update sources.json |\n| Extraction Failed | Return raw content, Main Agent decides |\n| Browser Crash | Skip source, log entry |\n\n## Compatibility & Fallback\n\nTo ensure usability across different Agent environments, the following checks must be performed:\n\n1.  **Environment Check**:\n    -   In Phase 1 initialization, attempt to detect if `worker` sub-agent exists.\n    -   If not exists (or plugin not installed), automatically switch to **Serial Execution Mode**.\n\n2.  **Serial Execution Mode**:\n    -   Do not use parallel block.\n    -   Main Agent executes scraping tasks for each source sequentially.\n    -   Slower, but guarantees basic functionality.\n\n3.  **User Alert**:\n    -   MUST include a clear warning in the generated report header indicating the current degraded mode.\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Daily News Report v3.0\n\n> **Architecture Upgrade**: Main Agent Orchestration + SubAgent Execution + Browser Scraping + Smart Caching\n\n## Core Architecture\n\n```\n┌─────────────────────────────────────────────────────────────────────┐\n│                        Main Agent (Orchestrator)                    │\n│  Role: Scheduling, Monitoring, Evaluation, Decision, Aggregation    │\n├─────────────────────────────────────────────────────────────────────┤\n│                                                                      │\n│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │\n│   │ 1. Init     │ → │ 2. Dispatch │ → │ 3. Monitor  │ → │ 4. Evaluate │     │\n│   │ Read Config │    │ Assign Tasks│    │ Collect Res │    │ Filter\u002FSort │     │\n│   └─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘     │\n│         │                  │                  │                  │           │\n│         ▼                  ▼                  ▼                  ▼           │\n│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │\n│   │ 5. Decision │ ← │ Enough 20?  │    │ 6. Generate │ → │ 7. Update   │     │\n│   │ Cont\u002FStop   │    │ Y\u002FN         │    │ Report File │    │ Cache Stats │     │\n│   └─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘     │\n│                                                                      │\n└──────────────────────────────────────────────────────────────────────┘\n         ↓ Dispatch                          ↑ Return Results\n┌─────────────────────────────────────────────────────────────────────┐\n│                        SubAgent Execution Layer                      │\n├─────────────────────────────────────────────────────────────────────┤\n│                                                                      │\n│   ┌─────────────┐   ┌─────────────┐   ┌─────────────┐              │\n│   │ Worker A    │   │ Worker B    │   │ Browser     │              │\n│   │ (WebFetch)  │   │ (WebFetch)  │   │ (Headless)  │              │\n│   │ Tier1 Batch │   │ Tier2 Batch │   │ JS Render   │              │\n│   └─────────────┘   └─────────────┘   └─────────────┘              │\n│         ↓                 ↓                 ↓                        │\n│   ┌─────────────────────────────────────────────────────────────┐   │\n│   │                    Structured Result Return                 │   │\n│   │  { status, data: [...], errors: [...], metadata: {...} }    │   │\n│   └─────────────────────────────────────────────────────────────┘   │\n│                                                                      │\n└─────────────────────────────────────────────────────────────────────┘\n```\n\n## Configuration Files\n\nThis skill uses the following configuration files:\n\n| File | Purpose |\n|------|---------|\n| `sources.json` | Source configuration, priorities, scrape methods |\n| `cache.json` | Cached data, historical stats, deduplication fingerprints |\n\n## Execution Process Details\n\n### Phase 1: Initialization\n\n```yaml\nSteps:\n  1. Determine date (user argument or current date)\n  2. Read sources.json for source configurations\n  3. Read cache.json for historical data\n  4. Create output directory NewsReport\u002F\n  5. Check if a partial report exists for today (append mode)\n```\n\n### Phase 2: Dispatch SubAgents\n\n**Strategy**: Parallel dispatch, batch execution, early stopping mechanism\n\n```yaml\nWave 1 (Parallel):\n  - Worker A: Tier1 Batch A (HN, HuggingFace Papers)\n  - Worker B: Tier1 Batch B (OneUsefulThing, Paul Graham)\n\nWait for results → Evaluate count\n\nIf \u003C 15 high-quality items:\n  Wave 2 (Parallel):\n    - Worker C: Tier2 Batch A (James Clear, FS Blog)\n    - Worker D: Tier2 Batch B (HackerNoon, Scott Young)\n\nIf still \u003C 20 items:\n  Wave 3 (Browser):\n    - Browser Worker: ProductHunt, Latent Space (Require JS rendering)\n```\n\n### Phase 3: SubAgent Task Format\n\nTask format received by each SubAgent:\n\n```yaml\ntask: fetch_and_extract\nsources:\n  - id: hn\n    url: https:\u002F\u002Fnews.ycombinator.com\n    extract: top_10\n  - id: hf_papers\n    url: https:\u002F\u002Fhuggingface.co\u002Fpapers\n    extract: top_voted\n\noutput_schema:\n  items:\n    - source_id: string      # Source Identifier\n      title: string          # Title\n      summary: string        # 2-4 sentence summary\n      key_points: string[]   # Max 3 key points\n      url: string            # Original URL\n      keywords: string[]     # Keywords\n      quality_score: 1-5     # Quality Score\n\nconstraints:\n  filter: \"Cutting-edge Tech\u002FDeep Tech\u002FProductivity\u002FPractical Info\"\n  exclude: \"General Science\u002FMarketing Puff\u002FOverly Academic\u002FJob Posts\"\n  max_items_per_source: 10\n  skip_on_error: true\n\nreturn_format: JSON\n```\n\n### Phase 4: Main Agent Monitoring & Feedback\n\nMain Agent Responsibilities:\n\n```yaml\nMonitoring:\n  - Check SubAgent return status (success\u002Fpartial\u002Ffailed)\n  - Count collected items\n  - Record success rate per source\n\nFeedback Loop:\n  - If a SubAgent fails, decide whether to retry or skip\n  - If a source fails persistently, mark as disabled\n  - Dynamically adjust source selection for subsequent batches\n\nDecision:\n  - Items >= 25 AND HighQuality >= 20 → Stop scraping\n  - Items \u003C 15 → Continue to next batch\n  - All batches done but \u003C 20 → Generate with available content (Quality over Quantity)\n```\n\n### Phase 5: Evaluation & Filtering\n\n```yaml\nDeduplication:\n  - Exact URL match\n  - Title similarity (>80% considered duplicate)\n  - Check cache.json to avoid history duplicates\n\nScore Calibration:\n  - Unify scoring standards across SubAgents\n  - Adjust weights based on source credibility\n  - Bonus points for manually curated high-quality sources\n\nSorting:\n  - Descending order by quality_score\n  - Sort by source priority if scores are equal\n  - Take Top 20\n```\n\n### Phase 6: Browser Scraping (MCP Chrome DevTools)\n\nFor pages requiring JS rendering, use a headless browser:\n\n```yaml\nProcess:\n  1. Call mcp__chrome-devtools__new_page to open page\n  2. Call mcp__chrome-devtools__wait_for to wait for content load\n  3. Call mcp__chrome-devtools__take_snapshot to get page structure\n  4. Parse snapshot to extract required content\n  5. Call mcp__chrome-devtools__close_page to close page\n\nApplicable Scenarios:\n  - ProductHunt (403 on WebFetch)\n  - Latent Space (Substack JS rendering)\n  - Other SPA applications\n```\n\n### Phase 7: Generate Report\n\n```yaml\nOutput:\n  - Directory: NewsReport\u002F\n  - Filename: YYYY-MM-DD-news-report.md\n  - Format: Standard Markdown\n\nContent Structure:\n  - Title + Date\n  - Statistical Summary (Source count, items collected)\n  - 20 High-Quality Items (Template based)\n  - Generation Info (Version, Timestamps)\n```\n\n### Phase 8: Update Cache\n\n```yaml\nUpdate cache.json:\n  - last_run: Record this run info\n  - source_stats: Update stats per source\n  - url_cache: Add processed URLs\n  - content_hashes: Add content fingerprints\n  - article_history: Record included articles\n```\n\n## SubAgent Call Examples\n\n### Using general-purpose Agent\n\nSince custom agents require session restart to be discovered, use general-purpose and inject worker prompts:\n\n```\nTask Call:\n  subagent_type: general-purpose\n  model: haiku\n  prompt: |\n    You are a stateless execution unit. Only do the assigned task and return structured JSON.\n\n    Task: Scrape the following URLs and extract content\n\n    URLs:\n    - https:\u002F\u002Fnews.ycombinator.com (Extract Top 10)\n    - https:\u002F\u002Fhuggingface.co\u002Fpapers (Extract top voted papers)\n\n    Output Format:\n    {\n      \"status\": \"success\" | \"partial\" | \"failed\",\n      \"data\": [\n        {\n          \"source_id\": \"hn\",\n          \"title\": \"...\",\n          \"summary\": \"...\",\n          \"key_points\": [\"...\", \"...\", \"...\"],\n          \"url\": \"...\",\n          \"keywords\": [\"...\", \"...\"],\n          \"quality_score\": 4\n        }\n      ],\n      \"errors\": [],\n      \"metadata\": { \"processed\": 2, \"failed\": 0 }\n    }\n\n    Filter Criteria:\n    - Keep: Cutting-edge Tech\u002FDeep Tech\u002FProductivity\u002FPractical Info\n    - Exclude: General Science\u002FMarketing Puff\u002FOverly Academic\u002FJob Posts\n\n    Return JSON directly, no explanation.\n```\n\n### Using worker Agent (Requires session restart)\n\n```\nTask Call:\n  subagent_type: worker\n  prompt: |\n    task: fetch_and_extract\n    input:\n      urls:\n        - https:\u002F\u002Fnews.ycombinator.com\n        - https:\u002F\u002Fhuggingface.co\u002Fpapers\n    output_schema:\n      - source_id: string\n      - title: string\n      - summary: string\n      - key_points: string[]\n      - url: string\n      - keywords: string[]\n      - quality_score: 1-5\n    constraints:\n      filter: Cutting-edge Tech\u002FDeep Tech\u002FProductivity\u002FPractical Info\n      exclude: General Science\u002FMarketing Puff\u002FOverly Academic\n```\n\n## Output Template\n\n```markdown\n# Daily News Report (YYYY-MM-DD)\n\n> Curated from N sources today, containing 20 high-quality items\n> Generation Time: X min | Version: v3.0\n>\n> **Warning**: Sub-agent 'worker' not detected. Running in generic mode (Serial Execution). Performance might be degraded.\n\n---\n\n## 1. Title\n\n- **Summary**: 2-4 lines overview\n- **Key Points**:\n  1. Point one\n  2. Point two\n  3. Point three\n- **Source**: Link\n- **Keywords**: `keyword1` `keyword2` `keyword3`\n- **Score**: ⭐⭐⭐⭐⭐ (5\u002F5)\n\n---\n\n## 2. Title\n...\n\n---\n\n*Generated by Daily News Report v3.0*\n*Sources: HN, HuggingFace, OneUsefulThing, ...*\n```\n\n## Constraints & Principles\n\n1.  **Quality over Quantity**: Low-quality content does not enter the report.\n2.  **Early Stop**: Stop scraping once 20 high-quality items are reached.\n3.  **Parallel First**: SubAgents in the same batch execute in parallel.\n4.  **Fault Tolerance**: Failure of a single source does not affect the whole process.\n5.  **Cache Reuse**: Avoid re-scraping the same content.\n6.  **Main Agent Control**: All decisions are made by the Main Agent.\n7.  **Fallback Awareness**: Detect sub-agent availability, gracefully degrade if unavailable.\n\n## Expected Performance\n\n| Scenario | Expected Time | Note |\n|---|---|---|\n| Optimal | ~2 mins | Tier1 sufficient, no browser needed |\n| Normal | ~3-4 mins | Requires Tier2 supplement |\n| Browser Needed | ~5-6 mins | Includes JS rendered pages |\n\n## Error Handling\n\n| Error Type | Handling |\n|---|---|\n| SubAgent Timeout | Log error, continue to next |\n| Source 403\u002F404 | Mark disabled, update sources.json |\n| Extraction Failed | Return raw content, Main Agent decides |\n| Browser Crash | Skip source, log entry |\n\n## Compatibility & Fallback\n\nTo ensure usability across different Agent environments, the following checks must be performed:\n\n1.  **Environment Check**:\n    -   In Phase 1 initialization, attempt to detect if `worker` sub-agent exists.\n    -   If not exists (or plugin not installed), automatically switch to **Serial Execution Mode**.\n\n2.  **Serial Execution Mode**:\n    -   Do not use parallel block.\n    -   Main Agent executes scraping tasks for each source sequentially.\n    -   Slower, but guarantees basic functionality.\n\n3.  **User Alert**:\n    -   MUST include a clear warning in the generated report header indicating the current degraded mode.\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":47,"source":41,"date_added":48,"description":7},"unknown","2026-02-27","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fdaily-news-report",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill daily-news-report",{"tool":63,"command":64},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill daily-news-report",{"tool":66,"command":67},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill daily-news-report","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fdaily-news-report\u002FSKILL.md",true,[71,77],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"cache.json","REFERENCE","参考文档",976,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fdaily-news-report\u002Fcache.json",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"sources.json",4950,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fdaily-news-report\u002Fsources.json",[82,93,109,134,153,180],{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":90,"publishedAt":42},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[91,92],"Test Skill","test",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":42},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[100,101,102,103,104,105,106,41,107,108],"zustand store ts","zustand","store","with","types","middleware","patterns","create","typescript",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":116,"publishedAt":42},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[115],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[117,118,119,120,121,122,123,124,125,126,127,128,129,130,41,131,132,133],"automation","zoom automation","zoom","first","Tools","search","MCP","via","meeting","automate","critical","creation","webinars","composio","recordings","management","tracking",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":141,"publishedAt":42},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[140],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[142,117,143,144,145,146,147,41,122,148,130,149,127,126,121,150,107,151,123,152],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks","manage",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":162,"publishedAt":42},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[159],{"categoryNo":160,"categoryName":161,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[163,164,165,166,167,108,168,169,170,171,172,173,103,174,175,176,177,41,178,179],"expert","zod","zod validation expert","validation","react","safe","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":187,"publishedAt":42},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[186],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[188,189,190,191,192,193,194,195,41,196,197,198,199,200,201,202,203,204,205,123],"zeroize audit","audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","verification","code","rust"]