* feat: Add Bioxel asset catalog and layer management functionality - Introduced a new asset catalog definition file for Blender to manage Bioxel assets. - Implemented layer caching and snapshot functionality in `layer.py`, allowing for VDB file generation and low-resolution snapshots. - Created node management functions in `node.py` for handling Bioxel nodes within Blender's Geometry Node Editor. - Added an operator to extract mesh data from selected nodes in `structure.py`. - Developed UI panels in `panels.py` for layer management, including import options and layer library display. * Add unit tests for bioxel module and documentation - Created README.md for test instructions and categories. - Implemented comprehensive unit tests for the Data, Layer, and utility functions in the bioxel module. - Added tests for reading NRRD and DICOM formats, data properties, and edge cases. - Included tests for real data files to ensure functionality with actual datasets. * feat: Update .gitattributes and .gitignore for improved asset management and ignore patterns chore: Add app.json and omoolab.css for Obsidian integration refactor: Clean up AGENTS.md and remove outdated test files * feat: Update .gitignore to include scipy_ndimage directory * feat: Update release workflow and manifest for improved dependency management and layer handling * feat: Update .gitignore and add binary files for scipy_ndimage across multiple platforms * feat: Add OPSX commands for archiving, exploring, and proposing changes * feat: Refactor asset library management and update manifest for improved organization * feat: Downgrade h5py version to 3.14.0 in requirements and manifest * feat: Update Help operator and panel labels to use English terminology * Translate documentation to Chinese, add support format details, and enhance styling with new fonts. Update mkdocs configuration for multilingual support and improve package dependencies. * feat: Remove default version setting from extra configuration in mkdocs.yml * fix: Update documentation links to point to the correct URLs for Chinese and English versions * Add documentation for basic usage, supported formats, and performance tips - Created English and Chinese documentation for basic usage of the add-on, including data download, import, extraction, and rendering steps. - Added support format documentation listing compatible file types for the add-on. - Included links to open databases for volumetric data. - Provided performance improvement tips for voxel reconstruction and rendering, including settings for low-resolution previews and balanced rendering configurations. * Add OpenSpec skills for change management and exploration - Implement openspec-apply-change skill for applying tasks from OpenSpec changes. - Create openspec-archive-change skill for archiving completed changes. - Introduce openspec-explore skill for exploring ideas and clarifying requirements. - Add openspec-propose skill for proposing new changes with generated artifacts. - Migrate source command skills: source-command-opsx-apply, source-command-opsx-archive, source-command-opsx-explore, and source-command-opsx-propose for improved command handling. * feat: Update version to 2.0.1, refactor asset library handling, and enhance layer import process * fix: downgrade scipy version to 1.16.3 in build.py and pyproject.toml * Remove deprecated modules and functions from bioxel package - Deleted _ni_support.py, _utils.py, and dtype.py as they contained unused or redundant functions. - Removed the resize function and related utilities from _warps.py to streamline image processing. - Cleaned up the skimage module by removing unnecessary imports and functions. * feat: Add SKIP_MODULE_NAMES to exclude specific modules during import and refactor io_worker import logic * refactor: Remove known limitations section from documentation for EEVEE NEXT support
162 lines
5.0 KiB
Markdown
162 lines
5.0 KiB
Markdown
---
|
|
name: "source-command-opsx-archive"
|
|
description: "Archive a completed change in the experimental workflow"
|
|
---
|
|
|
|
# source-command-opsx-archive
|
|
|
|
Use this skill when the user asks to run the migrated source command `opsx-archive`.
|
|
|
|
## Command Template
|
|
|
|
Archive a completed change in the experimental workflow.
|
|
|
|
**Input**: Optionally specify a change name after `/opsx:archive` (e.g., `/opsx:archive add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
|
|
|
**Steps**
|
|
|
|
1. **If no change name provided, prompt for selection**
|
|
|
|
Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.
|
|
|
|
Show only active changes (not already archived).
|
|
Include the schema used for each change if available.
|
|
|
|
**IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.
|
|
|
|
2. **Check artifact completion status**
|
|
|
|
Run `openspec status --change "<name>" --json` to check artifact completion.
|
|
|
|
Parse the JSON to understand:
|
|
- `schemaName`: The workflow being used
|
|
- `artifacts`: List of artifacts with their status (`done` or other)
|
|
|
|
**If any artifacts are not `done`:**
|
|
- Display warning listing incomplete artifacts
|
|
- Prompt user for confirmation to continue
|
|
- Proceed if user confirms
|
|
|
|
3. **Check task completion status**
|
|
|
|
Read the tasks file (typically `tasks.md`) to check for incomplete tasks.
|
|
|
|
Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete).
|
|
|
|
**If incomplete tasks found:**
|
|
- Display warning showing count of incomplete tasks
|
|
- Prompt user for confirmation to continue
|
|
- Proceed if user confirms
|
|
|
|
**If no tasks file exists:** Proceed without task-related warning.
|
|
|
|
4. **Assess delta spec sync state**
|
|
|
|
Check for delta specs at `openspec/changes/<name>/specs/`. If none exist, proceed without sync prompt.
|
|
|
|
**If delta specs exist:**
|
|
- Compare each delta spec with its corresponding main spec at `openspec/specs/<capability>/spec.md`
|
|
- Determine what changes would be applied (adds, modifications, removals, renames)
|
|
- Show a combined summary before prompting
|
|
|
|
**Prompt options:**
|
|
- If changes needed: "Sync now (recommended)", "Archive without syncing"
|
|
- If already synced: "Archive now", "Sync anyway", "Cancel"
|
|
|
|
If user chooses sync, use Task tool (subagent_type: "general-purpose", prompt: "Use Skill tool to invoke openspec-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>"). Proceed to archive regardless of choice.
|
|
|
|
5. **Perform the archive**
|
|
|
|
Create the archive directory if it doesn't exist:
|
|
```bash
|
|
mkdir -p openspec/changes/archive
|
|
```
|
|
|
|
Generate target name using current date: `YYYY-MM-DD-<change-name>`
|
|
|
|
**Check if target already exists:**
|
|
- If yes: Fail with error, suggest renaming existing archive or using different date
|
|
- If no: Move the change directory to archive
|
|
|
|
```bash
|
|
mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name>
|
|
```
|
|
|
|
6. **Display summary**
|
|
|
|
Show archive completion summary including:
|
|
- Change name
|
|
- Schema that was used
|
|
- Archive location
|
|
- Spec sync status (synced / sync skipped / no delta specs)
|
|
- Note about any warnings (incomplete artifacts/tasks)
|
|
|
|
**Output On Success**
|
|
|
|
```
|
|
## Archive Complete
|
|
|
|
**Change:** <change-name>
|
|
**Schema:** <schema-name>
|
|
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
|
|
**Specs:** ✓ Synced to main specs
|
|
|
|
All artifacts complete. All tasks complete.
|
|
```
|
|
|
|
**Output On Success (No Delta Specs)**
|
|
|
|
```
|
|
## Archive Complete
|
|
|
|
**Change:** <change-name>
|
|
**Schema:** <schema-name>
|
|
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
|
|
**Specs:** No delta specs
|
|
|
|
All artifacts complete. All tasks complete.
|
|
```
|
|
|
|
**Output On Success With Warnings**
|
|
|
|
```
|
|
## Archive Complete (with warnings)
|
|
|
|
**Change:** <change-name>
|
|
**Schema:** <schema-name>
|
|
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
|
|
**Specs:** Sync skipped (user chose to skip)
|
|
|
|
**Warnings:**
|
|
- Archived with 2 incomplete artifacts
|
|
- Archived with 3 incomplete tasks
|
|
- Delta spec sync was skipped (user chose to skip)
|
|
|
|
Review the archive if this was not intentional.
|
|
```
|
|
|
|
**Output On Error (Archive Exists)**
|
|
|
|
```
|
|
## Archive Failed
|
|
|
|
**Change:** <change-name>
|
|
**Target:** openspec/changes/archive/YYYY-MM-DD-<name>/
|
|
|
|
Target archive directory already exists.
|
|
|
|
**Options:**
|
|
1. Rename the existing archive
|
|
2. Delete the existing archive if it's a duplicate
|
|
3. Wait until a different date to archive
|
|
```
|
|
|
|
**Guardrails**
|
|
- Always prompt for change selection if not provided
|
|
- Use artifact graph (openspec status --json) for completion checking
|
|
- Don't block archive on warnings - just inform and confirm
|
|
- Preserve .openspec.yaml when moving to archive (it moves with the directory)
|
|
- Show clear summary of what happened
|
|
- If sync is requested, use the Skill tool to invoke `openspec-sync-specs` (agent-driven)
|
|
- If delta specs exist, always run the sync assessment and show the combined summary before prompting
|