assistant-claw/docs/decisions/0001-mirror-nuwa-skill.md
Vega (Atlas iteration) 04e197c896 Hermes-compatible skill format + nuwa mirror prep + README rewrite
Three things in this commit:

1. Atlas skills now agentskills.io / Hermes-compatible
   - Each atlas/skills/claw-*/SKILL.md frontmatter enriched with version,
     author, license, and metadata.hermes block (tags, category,
     related_skills, boundaries)
   - New atlas/skills/DESCRIPTION.md per Hermes category convention
   - New atlas/INTEGRATION-hermes.md — step-by-step SOP to install Atlas
     onto hermes-agent runtime (cp skills, fetch nuwa upstream, configure
     env, wire cron, smoke test). Documents the branding override and
     self-improving-loop guardrail.

2. nuwa-skill mirror prep (waiting on org-repo creation)
   - scripts/mirror-nuwa-to-moments.sh — one-shot bare-clone + push --mirror
   - docs/decisions/0001-mirror-nuwa-skill.md — ADR explaining the why,
     the bot-token scope limitation, and the manual one-time repo creation
     step required at https://git.moments.top/repo/create

3. README rewrite
   - Atlas-forward navigation table ("想做什么 → 看哪里")
   - Quickstart sections for browsing, running tests locally, fetching
     nuwa upstream (public + air-gapped variants), and Hermes integration
   - Preserved all original Vega working agreements
   - Roadmap with explicit Atlas / Vega tracks

Bot account (multica-bot) lacks write:organization scope so cannot create
the nuwa-skill repo via API. After human creates the empty repo at
git.moments.top/Moments.top/nuwa-skill, run scripts/mirror-nuwa-to-moments.sh
to populate it.
2026-05-09 17:21:31 +08:00

64 lines
2.3 KiB
Markdown

# ADR-0001: Mirror nuwa-skill into Moments private Gitea
**Date:** 2026-05-09
**Status:** Accepted
**Authors:** Atlas team
## Context
Atlas's `claw-boss-distiller` skill (under `atlas/skills/claw-boss-distiller/`) is
adapted from the open-source [`alchaincyf/nuwa-skill`](https://github.com/alchaincyf/nuwa-skill)
(MIT). It uses upstream's triple-verification methodology and skill template
(see `atlas/skills/claw-boss-distiller/ADAPTER.md`).
For deployment, each Atlas instance needs the upstream code:
```bash
git clone --depth 1 https://github.com/alchaincyf/nuwa-skill.git \
atlas/skills/claw-boss-distiller/upstream
```
This works for environments with public internet. **It does not work for many
enterprise client deployments** which Atlas explicitly targets — most of our
customer base operates inside corporate networks that block direct GitHub access.
## Decision
Mirror `alchaincyf/nuwa-skill` to `git.moments.top/Moments.top/nuwa-skill` and
treat the Moments mirror as the canonical fetch source for client deployments.
The bot account (`multica-bot`) cannot create org repos via API (lacks
`write:organization` scope). Repo creation is a one-time human step:
> https://git.moments.top/repo/create → owner: `Moments.top` → name: `nuwa-skill`
> → empty (no auto-init)
After repo exists, run `./scripts/mirror-nuwa-to-moments.sh` to populate it.
## Consequences
### Positive
- Air-gapped client deployments work (no GitHub access required)
- Stable fetch URL even if upstream is unavailable
- Allows pinning to a specific commit per-deployment if needed
- We retain MIT license attribution (no IP impact)
### Negative
- Adds a sync responsibility — when upstream evolves, we need to re-mirror
- Slight risk of staleness if mirror cron fails silently
## Mitigation
- Run `./scripts/mirror-nuwa-to-moments.sh` on a weekly cron (TBD: add to
`autopilots/` once decided)
- Each Atlas deployment records the upstream commit SHA at install time so
drift is auditable
- README in `atlas/skills/claw-boss-distiller/upstream/` clearly notes the
mirror is a downstream copy, with last-mirrored timestamp
## References
- Upstream: https://github.com/alchaincyf/nuwa-skill (MIT)
- Mirror script: `scripts/mirror-nuwa-to-moments.sh`
- Adapter notes: `atlas/skills/claw-boss-distiller/ADAPTER.md`