# Refactor

Plan vault restructuring from config changes.

- Repository: https://github.com/agenticnotetaking/arscontexta (3518 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-02-24
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add agenticnotetaking/arscontexta --skill refactor -g -a claude-code -y`
Codex: `npx skills add agenticnotetaking/arscontexta --skill refactor -g -a codex -y`
Cursor: `npx skills add agenticnotetaking/arscontexta --skill refactor -g -a cursor -y`
Gemini CLI: `npx skills add agenticnotetaking/arscontexta --skill refactor -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add agenticnotetaking/arscontexta`

## Description

Plan vault restructuring from config changes. Compares config.yaml against derivation.md, identifies dimension shifts, shows restructuring plan, executes on approval. Triggers on "/refactor", "restructure vault".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Runtime Configuration (Step 0, before any processing)

Read these files to configure domain-specific behavior:

1. **`ops/derivation-manifest.md`**, vocabulary mapping, dimension positions, platform hints
   - Use `vocabulary.notes` for the notes folder name
   - Use `vocabulary.note` / `vocabulary.note_plural` for note type references
   - Use `vocabulary.topic_map` / `vocabulary.topic_map_plural` for MOC references
   - Use `vocabulary.inbox` for the inbox folder name

2. **`ops/config.yaml`**, current live configuration (the "after" state)

3. **`ops/derivation.md`**, original derivation record (the "before" state)

If these files don't exist, report error: "Cannot refactor without both ops/config.yaml and ops/derivation.md. These files establish the baseline and current configuration."

---

## EXECUTE NOW

**INVARIANT: /refactor never executes without approval.** The plan is always shown first.

**Target: $ARGUMENTS**

Parse immediately:
- If target is empty: detect ALL config changes and plan restructuring
- If target names a specific dimension (e.g., "granularity", "organization"): focus on that dimension only
- If target is `--dry-run`: show plan without asking for approval

**Execute these phases:**

1. Detect changes between config.yaml and derivation.md
2. Plan restructuring for each changed dimension
3. Show the plan with affected artifacts and risk assessment
4. Execute on approval (unless --dry-run)
5. Validate post-restructuring

**START NOW.** Reference below defines the workflow.

---

## Philosophy

**Configuration changes cascade.**

Changing a dimension is not just editing a value in config.yaml. Each dimension affects multiple artifacts, skills, templates, context file sections, hooks, MOC structure. Changing organization from "flat" to "hierarchical" means restructuring the notes directory, updating MOC templates, adjusting navigation references in the context file, and regenerating skills that reference folder structure.

The rest: https://github.com/agenticnotetaking/arscontexta/blob/HEAD/skill-sources/refactor/SKILL.md
