invest-backup
FeaturedBack up / restore openInvest's local state — memory/ (holdings, strategy, user profile, committee records, dream logs) + db/ (trade ledger, job run history, market-data cache) + .env (SMTP/API credentials) + user_profile.json. All of this data is .gitignore'd with no historical versions in git, so a single accidental overwrite (e.g. slipping and running some one-off migration/init script) means real data loss — no git revert available. **Proactive trigger scenarios** — "backup invest data / 备份一下 openInvest 的数据", "my holdings/strategy look wiped / 我的持仓/策略好像被清空了", "invest data is lost / invest 数据丢了", "restore invest backup / 恢复一下 invest 的备份", before any reinstall/migration of the openInvest deployment on this machine, or right before running an unfamiliar migration/init script (back up first, then act).
Install
Quality Score: 88/100
Skill Content
Details
- Author
- longsizhuo
- Repository
- longsizhuo/openInvest
- Created
- 8 months ago
- Last Updated
- today
- Language
- Python
- License
- MIT
Similar Skills
Semantically similar based on skill content — not just same category
invest-setup
First-time openInvest installation and onboarding. **ONLY use when** user explicitly says "set up invest" / "init invest" / "帮我初始化 invest", OR when `invest` skill's `doctor` returns `status="needs_setup"`. **NOT for daily usage** — once onboarding is done, the `invest` skill takes over (portfolio viewing, committee analysis, buy/sell tracking). Wraps `run.sh init --from-stdin` with the canonical 5-question flow.
backup
Backup strategy design, data integrity verification, and disaster recovery planning. Invoke with /backup.
backup
Give a project on the shared VPS a nightly off-box backup, or work on one it already has — provision its Backblaze bucket and bucket-scoped key, write its script and systemd units, render its credentials, and prove the restore by running it rather than describing it. Encodes the toolkit these co-tenants share: restic to B2, one bucket per project, credentials in /etc/<tenant>/backup.env, a staggered timer, and a drill. TRIGGER when: a project needs a backup it does not have; an existing backup needs changing, diagnosing, or restoring from; a nightly backup unit has failed; a restic repository or a Backblaze bucket/key must be created; or someone asks where a project's snapshots live. DO NOT TRIGGER when: the task is a one-off dump taken by hand for a migration or a schema change, a git or source-code backup, or a project that is not a tenant of this box.