From harness
> **Source**: OpenSpec `/opsx:archive` + Handbook S K.6 "Documentation Sync Agent" + Handbook S 2.3 "Structured Handoff Artifacts"
How this skill is triggered — by the user, by Claude, or both
Slash command
/harness:archiveThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Source**: OpenSpec `/opsx:archive` + Handbook S K.6 "Documentation Sync Agent" + Handbook S 2.3 "Structured Handoff Artifacts"
Source: OpenSpec
/opsx:archive+ Handbook S K.6 "Documentation Sync Agent" + Handbook S 2.3 "Structured Handoff Artifacts" Integration: Merges the core checks from commands/sync-docs.md and commands/scan-arch.md into a single Skill, triggered automatically upon task completion to ensure handoff artifacts are complete and documentation is consistent with code.
| Trigger Condition | Example |
|---|---|
| Feature marked as completed | After harness:verification-before-completion passes |
Manual invocation via /harness:archive | End-of-sprint cleanup |
| completed_features >= 10 | session-start prompts archiving |
| Major refactor completed | Sync documentation after architecture changes |
Check docs/features.json for features with status: "completed":
For each completed feature:
1. If a corresponding design document exists (docs/specs/F-xxx.md or docs/plans/F-xxx.md)
-> git mv to docs/archive/ (preserve git history)
2. Prepend completion metadata at the top of the archived file:
---
archived_at: {{TIMESTAMP}}
completed_by: {{SESSION_ID}}
feature_id: F-xxx
---
3. Update docs/features.json: add the archived_at field
Directory convention: The archive directory is always docs/archive/. Create it if it does not exist. Use git mv instead of copy+delete to ensure git log --follow can trace the full history.
Run the following comparisons (source: commands/sync-docs.md):
Directory structure comparison
docs/architecture.mdsrc/ directoryCLAUDE.md rule validity
ADR status sync
docs/decisions/ with status "Adopted"Lightweight architecture scan (use /harness:audit for the full version):
Output format:
## Archiving Report — {{DATE}}
### Archived
- F-001: User Login -> docs/archive/F-001-user-login.md
### Documentation Drift
- [Critical] docs/architecture.md missing description for src/services/notification/
- [Suggestion] CLAUDE.md line 12 rule is already covered by pre-protect-env Hook
### Architecture Quick Check
- [Warning] src/utils/helpers.ts exceeds 300 lines (currently 342 lines)
### Suggested Actions
1. Update architecture.md to add the notification module description
2. Remove the redundant rule on line 12 of CLAUDE.md
harness:verification-before-completion (verification passed)
|
v
harness:archive (this Skill — archiving + documentation sync)
|
v
Stop Hook (commit progress)
Trigger chain: verify confirms completion -> archive organizes handoff artifacts -> stop saves state
harness:archive: Triggered on each task completion, focused on "archiving + documentation sync"
harness:evolve: Triggered on demand (model update / end of sprint), focused on "streamlining and evolving the Harness itself"
Documentation drift found by archive -> if it involves Harness components themselves -> hand off to evolve
npx claudepluginhub huangbaixun/harness-engineering --plugin harness-engineeringGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.