Borrowing it
Nothing to install: this file belongs to m-xlsea/ruoyi-plus-soybean. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/m-xlsea/ruoyi-plus-soybean/master/.claude/skills/athena-status/SKILL.mdgit clone --depth 1 https://github.com/m-xlsea/ruoyi-plus-soybeanWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/m-xlsea/ruoyi-plus-soybean/athena-status)<a href="https://agentmods.dev/skills/m-xlsea/ruoyi-plus-soybean/athena-status"><img src="https://agentmods.dev/badge/skills/m-xlsea/ruoyi-plus-soybean/athena-status/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/m-xlsea/ruoyi-plus-soybean/athena-status"><img src="https://agentmods.dev/badge/skills/m-xlsea/ruoyi-plus-soybean/athena-status.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 72 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.01144 |
| Opus 5 | $0.00018 | $0.00572 |
| Sonnet 5 | $0.00007 | $0.00229 |
| Haiku 4.5 | $0.00004 | $0.00114 |
Grade A, and why
athena-status scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/athena-status (v9.6)
实时聚合 Athena 运行状态。无副作用, 只读 (铁律 8 索引先行)。
收集顺序
1. PACE 状态 (从 _index.md frontmatter)
# 用 node 解析 YAML frontmatter
node -e '
const fs = require("fs");
const content = fs.readFileSync(".ai_state/_index.md","utf8");
const fm = content.match(/^---\n([\s\S]*?)\n---/);
if (!fm) { console.log("_index.md frontmatter 缺失"); process.exit(1); }
// 简化 YAML 解析: 仅读关键字段, 不引入 yaml 依赖
const get = (k) => { const m = fm[1].match(new RegExp("^ " + k + ": (.*)$","m")); return m ? m[1].replace(/^["\x27]|["\x27]$/g,"") : ""; };
console.log("Path: ", get("path"));
console.log("Stage: ", get("stage"));
console.log("Sprint: ", get("sprint"));
console.log("Goal: ", get("active_goal"));
'
2. Sprint 进度 (counts 段)
grep -E "^ (tasks_pending|tasks_done|tasks_blocked):" .ai_state/_index.md
3. Hook 触发记录 (最近 50 条)
tail -50 .ai_state/hook-trace.jsonl 2>/dev/null | \
jq -r '.hook' 2>/dev/null | sort | uniq -c | sort -rn
按 hook 名分组统计:
- session-start: 注入次数
- index-updater: 更新次数
- pre-bash-guard: 拦截次数
- subagent-retry: 注入次数
- delivery-gate: 触发 (阻断/soft warn/pass)
- pace-continuator: 写入 next/proposals 次数
- compact-* : 注入次数
- state-audit: 漂移告警次数
4. Lessons 统计 (仅项目级)
grep "^ lessons_lines:" .ai_state/_index.md
grep "^## " .ai_state/details/lessons.md 2>/dev/null | tail -1
echo "[全局已删除, 跨项目记忆装 claude-mem]"
5. Platform 健康
grep "^ cc_version:" .ai_state/_index.md
grep "^ cx_version:" .ai_state/_index.md
grep -E "^ (goal|batch|background)_supported:" .ai_state/_index.md
grep "^ cross_session_memory:" .ai_state/_index.md
6. Plugin 状态
- codex:
which codex || codex --version 2>&1 | head -1 - superpowers:
ls ~/.claude/plugins/cache/superpowers/ 2>/dev/null - claude-mem:
ls ~/.claude/plugins/ 2>/dev/null | grep -i claude-mem - context7:
npx ctx7 --version 2>&1 | head -1
输出格式
=== VibeCoding Athena v9.6 Status ===
[PACE] Path: Feature Stage: impl Sprint: 3
Goal: tasks all checked + npm test exits 0
[Tasks] 3 done · 2 pending · 0 blocked
Latest: details/progress.md#L46 (Task 5 done)
[Hooks] 最近 50 次触发:
session-start ✓ 5 注入
index-updater ✓ 28 更新
delivery-gate ✓ 12 (阻断 2, soft 1)
pre-bash-guard ✓ 0 拦截
pace-continuator ✓ 5 (next: 5, proposals: 2)
subagent-retry ⚠ 3 注入
[Lessons] 项目: 4 条 (最新: "JWT refresh secret 分离")
[全局已删除, 跨项目记忆装 claude-mem]
[Platform]
CC version ✓ 2.1.140
CX version ✓ 0.130
/goal ✓ supported
/batch ✓ supported
/background ✓ supported
Session memory ✓ active
Cross-session ✓ claude-mem
[Plugins]
[email protected] ✓ ready
[email protected] ✓ loaded
claude-mem ✓ active
context7 ✓ available
[Commands]
test_cmd: npm test
build_cmd: npm run build
lint_cmd: npm run lint
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 120 lines · 37 tokens per session scan A 8514a3bb63c8
athena-status is a skill published in the GitHub repository m-xlsea/ruoyi-plus-soybean (325 stars, last pushed 2mo ago), licensed MIT. It adds 37 tokens to every session and 1,144 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other skills, from other repositories
tinyvue-develop-spec
Development rules for a TinyVue component library that supports Vue 2 and Vue 3, desktop browsers, and mobile-first layouts. They separate templates, reusable logic, styles, design rules, localization, and tests.
create-wot-ui-theme
A workflow for creating one SCSS file that defines and mounts a custom Wot UI theme. SCSS is a CSS format with extra features for organizing styles.
wot-ui-unocss-preset-guide
A Chinese-language guide for installing and using the @wot-ui/unocss-preset package. UnoCSS is a tool that generates CSS utility classes from configuration and usage in a project.
starter-cleaner
A fixed workflow and script for reducing the wot-starter v2 template to a minimal development project. It removes documentation and example sections while keeping core Wot UI and chart support.
wot-ui-cli
A guide for the @wot-ui/cli command-line tool, which lets developers query Wot UI knowledge and inspect projects. It also covers its MCP server, a way for an AI agent to call the tool directly.
wot-ui-v2
A reference guide for using Wot UI v2, a component library for uni-app and Vue 3 applications. It covers components, forms, themes, feedback dialogs, and common usage problems.