← 返回 Skills 市场
hunter-wrynn

Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section.

作者 Haoxuan Ma · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
297
总下载
0
收藏
2
当前安装
1
版本数
在 OpenClaw 中安装
/install juya-ai-daily-skills
功能描述
Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section.
使用说明 (SKILL.md)

Juya AI Daily (AI 日报)

Fetch the latest daily AI news brief from the public repo imjuya/juya-ai-daily and return the summary / overview section.

When to use (trigger phrases)

  • “AI 日报 / AI 早报 / 今日 AI 新闻”
  • “拉取今天最新的 AI 新闻总结”
  • “juya ai daily”

What you should return

  • The latest available date (from the repo)
  • The ## 概览 section only (this is the repo’s “summary view”)
  • A short note: “Reply with #n if you want the detailed explanation for item n”

Fetch latest summary (bash)

This repo stores daily posts under BACKUP/*.md (public, no auth required). If you run this frequently and hit GitHub rate limits, set GITHUB_TOKEN (or GH_TOKEN) to increase limits.

set -euo pipefail

API="https://api.github.com/repos/imjuya/juya-ai-daily/contents/BACKUP?ref=master"

latest_url="$(
  auth=()
  if [ -n "${GITHUB_TOKEN:-}" ]; then
    auth=(-H "Authorization: Bearer $GITHUB_TOKEN")
  elif [ -n "${GH_TOKEN:-}" ]; then
    auth=(-H "Authorization: Bearer $GH_TOKEN")
  fi
  curl -fsSL "${auth[@]}" -H "Accept: application/vnd.github+json" "$API" | node -e '
    const fs = require("node:fs");
    const items = JSON.parse(fs.readFileSync(0, "utf8"));
    const candidates = items
      .filter((it) => it && typeof it.name === "string" && typeof it.download_url === "string")
      .map((it) => {
        const m = it.name.match(/(?:^|_)(\d{4}-\d{2}-\d{2})\.md$/);
        return m ? { ...it, date: m[1] } : null;
      })
      .filter(Boolean);
    if (candidates.length === 0) {
      throw new Error("No BACKUP markdown files found.");
    }
    candidates.sort((a, b) => (a.date \x3C b.date ? -1 : a.date > b.date ? 1 : 0));
    console.log(candidates[candidates.length - 1].download_url);
  '
)"

latest_date="$(basename "$latest_url" .md | sed -E 's/^[0-9]+_//')"

echo "Latest: $latest_date" >&2

curl -fsSL "$latest_url" | awk '
  done { next }
  /^## 概览/ { in_section=1 }
  in_section && /^---$/ { in_section=0; done=1 }
  in_section && /^\\* \\* \\*$/ { in_section=0; done=1 }
  in_section { print }
'

Optional: fetch detailed explanation for a specific item #n

If the user asks for details for item #3, fetch the same latest file and extract that block:

set -euo pipefail

n="3"

API="https://api.github.com/repos/imjuya/juya-ai-daily/contents/BACKUP?ref=master"
latest_url="$(
  auth=()
  if [ -n "${GITHUB_TOKEN:-}" ]; then
    auth=(-H "Authorization: Bearer $GITHUB_TOKEN")
  elif [ -n "${GH_TOKEN:-}" ]; then
    auth=(-H "Authorization: Bearer $GH_TOKEN")
  fi
  curl -fsSL "${auth[@]}" -H "Accept: application/vnd.github+json" "$API" | node -e '
    const fs = require("node:fs");
    const items = JSON.parse(fs.readFileSync(0, "utf8"));
    const candidates = items
      .filter((it) => it && typeof it.name === "string" && typeof it.download_url === "string")
      .map((it) => {
        const m = it.name.match(/(?:^|_)(\d{4}-\d{2}-\d{2})\.md$/);
        return m ? { ...it, date: m[1] } : null;
      })
      .filter(Boolean);
    candidates.sort((a, b) => (a.date \x3C b.date ? -1 : a.date > b.date ? 1 : 0));
    console.log(candidates[candidates.length - 1].download_url);
  '
)"

curl -fsSL "$latest_url" | awk -v n="$n" '
  done { next }
  $0 ~ /^## \\[/ {
    if (in_section && $0 !~ ("`#" n "`")) {
      in_section=0
      done=1
    }
    if (!in_section && $0 ~ ("`#" n "`")) {
      in_section=1
    }
  }
  in_section && /^\\* \\* \\*$/ { in_section=0; done=1 }
  in_section { print }
'
安全使用建议
This skill appears to do what it says (fetch a public GitHub markdown and extract the 'Overview'), but there are a few mismatches you should address before installing or running it unattended: - The SKILL.md uses node (node -e), awk, sed, basename and other shell utilities but the registry metadata only lists curl. Ensure your agent environment actually provides these binaries or update the metadata. If you cannot provide node, the script will fail or behave unexpectedly. - The script will read GITHUB_TOKEN or GH_TOKEN from the environment if present. If you supply a token to avoid rate limits, use a narrowly scoped, short-lived GitHub token (or avoid setting one). Do not set broad-scoped personal tokens in an environment accessible to untrusted skills. - Because the skill downloads and prints content from a public repo, it will surface whatever text is in those markdown files. That content could include arbitrary text or links; review returned content before acting on it. - If you want to proceed, either (1) run the provided commands manually once to verify output and that no unexpected binaries are invoked, or (2) update the skill metadata to declare 'node' and other required tools and list optional env vars (GITHUB_TOKEN/GH_TOKEN) so the requirements match the instructions. Given these mismatches (undeclared runtime binaries and undeclared optional env vars), I rate the package as suspicious rather than clearly benign. If the owner updates the metadata to explicitly list node and the optional env vars, this would likely be downgraded to benign.
功能分析
Type: OpenClaw Skill Name: juya-ai-daily-skills Version: 1.0.0 The skill is designed to fetch and parse AI news summaries from a specific public GitHub repository (imjuya/juya-ai-daily). It uses standard system utilities (curl, node, awk) to interact with the GitHub API and extract content from markdown files, and while it accesses GITHUB_TOKEN to manage API rate limits, the token is only transmitted to the official GitHub API endpoint.
能力评估
Purpose & Capability
The name/description match the instructions: the script lists BACKUP/*.md in imjuya/juya-ai-daily and extracts the '## 概览' section. That capability does not require credentials for public repos and is appropriate for the stated purpose. However, the SKILL.md's runtime commands use additional binaries (node, awk, sed, basename, etc.) beyond the single declared dependency (curl), creating an inconsistency between claimed requirements and actual runtime needs.
Instruction Scope
The instructions confine themselves to calling the GitHub API and downloading a public markdown file, then extracting the overview section. They conditionally read GITHUB_TOKEN or GH_TOKEN to increase rate limits (optional), and they print the latest date to stderr. The script does not instruct reading arbitrary host files or posting data to third-party endpoints beyond api.github.com and raw file download URLs. Still, the instructions run an embedded node -e script and several shell utilities that are not declared; that mismatch could cause runtime surprises.
Install Mechanism
This is instruction-only (no install spec, no code files). That is the lowest-risk install mechanism: nothing is downloaded or written by the registry/install process itself. The runtime will invoke curl and other tools already present on the host.
Credentials
The metadata declares no required environment variables, but the SKILL.md conditionally reads GITHUB_TOKEN and GH_TOKEN if present. Asking for optional GitHub tokens to raise rate limits is reasonable, but the skill metadata should declare these as optional env vars. More importantly, if a user provides a token, it grants GitHub API access — the token should be scoped and limited. The script will accept any token present in the environment, so users should not set broad-scoped or long-lived tokens without understanding the risk.
Persistence & Privilege
The skill is not always-enabled, it does not request persistent system presence, and it does not modify other skills' configurations. Autonomous invocation is enabled by default (normal) but not itself a red flag here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install juya-ai-daily-skills
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /juya-ai-daily-skills 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
first try
元数据
Slug juya-ai-daily-skills
版本 1.0.0
许可证 MIT-0
累计安装 2
当前安装数 2
历史版本数 1
常见问题

Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section. 是什么?

Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 297 次。

如何安装 Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section.?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install juya-ai-daily-skills」即可一键安装,无需额外配置。

Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section. 是免费的吗?

是的,Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section. 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section. 支持哪些平台?

Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section. 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Fetch the latest AI daily brief from imjuya/juya-ai-daily (GitHub) and return the Overview (summary) section.?

由 Haoxuan Ma(@hunter-wrynn)开发并维护,当前版本 v1.0.0。

💬 留言讨论