Borrowing it
Nothing to install: this file belongs to ZimoLiao/scholaraio. 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/ZimoLiao/scholaraio/main/.claude/skills/backup/SKILL.mdgit clone --depth 1 https://github.com/ZimoLiao/scholaraioWrote 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/zimoliao/scholaraio/backup)<a href="https://agentmods.dev/skills/zimoliao/scholaraio/backup"><img src="https://agentmods.dev/badge/skills/zimoliao/scholaraio/backup/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/zimoliao/scholaraio/backup"><img src="https://agentmods.dev/badge/skills/zimoliao/scholaraio/backup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
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 →
- high Privilege Escalation · line 56 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 80 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
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.00035 | $0.01073 |
| Opus 5 | $0.00017 | $0.00536 |
| Sonnet 5 | $0.00007 | $0.00215 |
| Haiku 4.5 | $0.00003 | $0.00107 |
Grade C, and why
backup scanned grade C with 1 finding 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 9d 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.
Reaches for credential fileshighPrivilege escalation
SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.
identity_file: ~/.ssh/id_ed25519 How it starts
The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Backup / 数据备份
通过 scholaraio backup 统一执行远程 rsync 增量备份与完整实例恢复。
目标
- 不要让 agent 直接手写一长串
rsync命令 - 优先复用
config.yaml/config.local.yaml中的命名备份目标 - 对真实传输前,优先建议先做一次
--dry-run - 区分兼容的
data范围与可恢复的instance范围
使用方式
先查看已配置目标:
scholaraio backup list
执行某个备份目标:
scholaraio backup run <target>
预演模式:
scholaraio backup run <target> --dry-run
恢复完整实例:
scholaraio backup restore <target> --destination <instance-dir> --dry-run
scholaraio backup restore <target> --destination <instance-dir>
配置约定
在 config.yaml 中:
backup:
source_dir: data
targets:
lab:
host: backup.example.com
user: alice
path: /srv/scholaraio
port: 22
identity_file: ~/.ssh/id_ed25519
scope: instance
mode: default
compress: true
enabled: true
exclude:
- "*.tmp"
建议:
scope: data只同步source_dir,保持旧行为;scope: instance同步 config、data、workspace、published 和 control metadata,并生成恢复清单- 真实
instance备份会对组件树中的.db/.sqlite/.sqlite3使用 SQLite online backup,并在传输前执行quick_check;不会把 live WAL/SHM/journal sidecar 当作恢复数据 connect_timeout_seconds、io_timeout_seconds、process_timeout_seconds分别限制 SSH 建连、空闲 I/O 和单个外部进程总时长- 共享配置写在
config.yaml - 主机相关或敏感项优先放
config.local.yaml - 备份整棵
data/目录时优先使用default - 只有在明确备份对象是追加型文件时,才考虑
append/append-verify instance范围必须使用mode: default、不得配置exclude,并应使用专用的空远端目录- 密钥目标使用非交互 SSH(
BatchMode=yes);密码目标使用内部SSH_ASKPASS;两种模式都不会交互确认 host key - 如果远端只接受密码,可以只在
config.local.yaml里为该 target 写password;ScholarAIO 会自动切到内部 askpass 路径 instance会备份config.local.yaml。SSH 只保护传输过程;API Key 和密码在远端仍是明文文件,因此必须保护远端账号和存储权限- 仅存在于环境变量中的 API Key 不会进入备份;需要恢复的密钥必须持久化到
config.local.yaml - 新机器恢复时,先提供能连接远端的最小 target 配置,再执行 restore;恢复后的
config.local.yaml会覆盖 bootstrap 配置 - 可直接引导用户执行:
ssh-keyscan -p <port> <host> >> ~/.ssh/known_hosts,再执行:ssh -i <identity_file> -p <port> <user>@<host> true
Agent 行为规范
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.
- 9d ago First seen · 95 lines · 35 tokens per session scan C 9bfa299abe9d
backup is a skill published in the GitHub repository ZimoLiao/scholaraio (570 stars, last pushed 9d ago), licensed MIT. It adds 35 tokens to every session and 1,073 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 1 finding (reaches for credential files). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
gke-compute-classes
Configures, optimizes, and troubleshoots GKE ComputeClasses. Use when configuring Spot VMs with on-demand fallback, targeting specific accelerators (GPUs/TPUs) or machine families, restricting ComputeClass access, or debugging pending pods related to node pool auto-creation. Do not use for cluster-level Node Auto…
gke-workload-security
Audits, configures, and hardens workload-level security controls for Google Kubernetes Engine (GKE) applications and namespaces. Covers running cluster security audits (auditcluster.sh), configuring Workload Identity Federation (impersonation, KSA/GSA binding, and pod setup), enforcing Network Policies (default-deny…
nemo-automodel-launcher-config
Configure NeMo AutoModel job launches for interactive runs, Slurm clusters, and SkyPilot cloud execution.
azure-mgmt-botservice-dotnet
Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: "Bot Service", "BotResource", "Azure Bot", "DirectLine channel", "Teams channel", "bot management .NET", "create bot".
cloud-architect
Designs cloud architectures, creates migration plans, generates cost optimization recommendations, and produces disaster recovery strategies across AWS, Azure, and GCP. Use when designing cloud architectures, planning migrations, or optimizing multi-cloud deployments. Invoke for Well-Architected Framework, cost…
azmon-mirroredcatalogs-operations-cli
Brings Azure Monitor, Application Insights, and Log Analytics telemetry into Fabric as Eventhouse external delta tables and correlates it with business data. Use to onboard observability data, judge whether latency or availability affected revenue, or build a Real-Time dashboard and Operations Agent over it.