tidy

Clean up completed plans in docs/arc/plans/. Archives or deletes finished plans. Use when asked to "clean up plans", "tidy the docs", "archive old plans", or after completing implementation to remove stale planning documents.

16 stars

Best use case

tidy is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Clean up completed plans in docs/arc/plans/. Archives or deletes finished plans. Use when asked to "clean up plans", "tidy the docs", "archive old plans", or after completing implementation to remove stale planning documents.

Teams using tidy should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/tidy/SKILL.md --create-dirs "https://raw.githubusercontent.com/howells/arc/main/skills/tidy/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/tidy/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How tidy Compares

Feature / AgenttidyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Clean up completed plans in docs/arc/plans/. Archives or deletes finished plans. Use when asked to "clean up plans", "tidy the docs", "archive old plans", or after completing implementation to remove stale planning documents.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

<tool_restrictions>
# MANDATORY Tool Restrictions

## REQUIRED TOOLS:
- **`AskUserQuestion`** — Preserve the one-question-at-a-time interaction pattern for every question, including plan disposition and commit confirmation. In Claude Code, use the tool. In Codex, ask one concise plain-text question at a time unless a structured question tool is actually available in the current mode. Keep context before the question to 2-3 sentences max, and do not narrate missing tools or fallbacks to the user.
</tool_restrictions>

# Tidy Workflow

Clean up the docs/arc/plans/ folder by analyzing which plans have been implemented. Archive what's done, keep what matters.

## Modes

1. **Full mode** (default): Review all plans
2. **Quick mode** (`--quick`): Only show implemented plans ready to archive

## Process

### Step 1: Discover Plans

**Use Glob tool:** `docs/arc/plans/*.md`
Fallback: `docs/plans/*.md`

**Handle empty states:**
- No `docs/arc/plans/`: "No plans folder found. Nothing to tidy!"
- Empty folder: "Your plans folder is already spotless!"

**Preview:**
```
Let me tidy up your plans folder...

Found [N] plans in docs/arc/plans/
```

### Step 2: Analyze Each Plan

For each plan file:

**1. Parse metadata from filename:**
- Date: `YYYY-MM-DD` prefix
- Topic: middle slug
- Type: `-design.md` or `-implementation.md` suffix

**2. Extract signals from plan content:**
- File paths in "Create:", "File:", "Modify:" sections
- Function/component/type names mentioned
- Test file paths

**3. Check implementation status:**

**Use Glob tool:** Check if planned files exist (use paths from plan)

**Use Bash for git history:**
```bash
git log --after="YYYY-MM-DD" --oneline -- [file-paths]
```

**Use Grep tool:** Pattern `identifier` in `[file-paths]` — check for key identifiers

**4. Determine status:**

| Condition | Status |
|-----------|--------|
| 70%+ signals positive | Implemented |
| 30-70% signals positive | Partial |
| 0 signals positive | Outstanding |
| Cannot parse/analyze | Unknown |

### Step 3: Present to User (One at a Time)

Present the plan summary as context, then ask:

```markdown
## Plan: [Topic] ([YYYY-MM-DD])

[1-3 sentence summary from plan]

**Status:** [status]

**Evidence:**
- [file] exists (planned to create)
- [file] modified after plan date
- [N] commits after plan date
- OR: No activity found on planned files
```

```
AskUserQuestion:
  question: "What should I do with this plan?"
  header: "[Topic]"
  options:
    - label: "Archive"
      description: "Move to docs/arc/archive/"
    - label: "Delete"
      description: "Remove the file and associated assets"
    - label: "Keep"
      description: "Leave in place"
    - label: "Skip"
      description: "Decide later"
```

Wait for user response before proceeding to next plan.

### Step 4: Execute Actions

**Archive:**
```bash
mkdir -p docs/arc/archive/
mv docs/arc/plans/[plan].md docs/arc/archive/
# Move associated assets if they exist
mv docs/arc/specs/assets/[topic]/ docs/arc/archive/assets/ 2>/dev/null
```

**Delete:**
```bash
rm docs/arc/plans/[plan].md
rm -rf docs/arc/specs/assets/[topic]/ 2>/dev/null
```

**Keep/Skip:** No action, continue to next plan.

### Step 5: Summary

After all plans processed:

```markdown
## Tidy Complete!

| Action | Count |
|--------|-------|
| Archived | X |
| Deleted | Y |
| Kept | Z |
| Skipped | W |

Your plans folder is now tidy!
```

**Offer to commit:**
```
AskUserQuestion:
  question: "Want me to commit these changes?"
  header: "Commit"
  options:
    - label: "Yes, commit"
      description: "Stage and commit the tidy changes"
    - label: "No, not yet"
      description: "Leave changes uncommitted"
```

If yes:
```bash
git add docs/arc/plans/ docs/arc/archive/
git commit -m "docs: tidy up completed plans"
```

## Edge Cases

**Paired design + implementation:**
- If both exist for same topic, analyze implementation plan
- Offer to archive/delete both together

**Plans with assets:**
- Check `docs/arc/specs/assets/YYYY-MM-DD-topic/`
- Include in archive/delete actions

**Very old plans (>60 days, no activity):**
- Add note: "This plan is [N] days old with no activity"

**Unparseable plans:**
- Show filename and first few lines
- Let user decide: Keep or Delete

## Personality

Friendly, unobtrusive:
- "Let me tidy up around here..."
- "This one looks done. Ready to archive it?"
- "Your plans folder is now spotless!"

NOT: overly cute, emoji-heavy, or verbose.

## What Tidy Does NOT Do

- Modify plan contents
- Create new plans
- Touch anything outside `docs/arc/plans/`
- Make decisions without asking
- Auto-delete without confirmation

## Interop

- **/arc:ideate** creates design plans
- **/arc:implement** creates implementation plans
- **/arc:implement** executes plans
- **/arc:tidy** cleans up after implementation

Related Skills

vision

16
from howells/arc

Create or review a high-level vision document capturing project goals and purpose. Use when asked to "define the vision", "what is this project", "set goals", or when starting a new project that needs clarity on purpose and direction.

using-arc

16
from howells/arc

Use when starting any conversation - establishes Arc's skill routing, instruction priority, and bootstrap rules

testing

16
from howells/arc

Comprehensive testing strategy. Creates test plans covering unit, integration, and E2E. Uses specialist agents for each test type. Supports vitest and Playwright with auth testing guidance for Clerk and WorkOS.

suggest

16
from howells/arc

Opinionated recommendations for what to work on next based on Linear issues, tasks, and codebase. Use when asked "what should I work on", "what's next", "suggest priorities", or when starting a session and unsure where to begin.

seo

16
from howells/arc

Deep SEO audit for web projects. Analyzes codebase for crawlability, indexability, on-page SEO, structured data, social previews, and technical foundations. Optionally runs Lighthouse and PageSpeed against a live URL. Reports findings with severity, offers direct fixes or /arc:detail plans. Use when asked to "audit SEO", "check SEO", "review SEO", or "is my site SEO-ready".

responsive

16
from howells/arc

Audit and fix responsive/mobile issues across every page of a project, using browser screenshots at two breakpoints (375px mobile, 1440px desktop). Design-aware: reads existing design docs to preserve aesthetic intent, not just "make it fit." Use when asked to "make it responsive", "fix mobile", "responsive audit", or after building a desktop-first UI that needs mobile adaptation.

refactor

16
from howells/arc

Discover architectural friction and propose structural refactors with competing interface designs. Focuses on deepening shallow modules, consolidating coupled code, and improving testability. Use when asked to "improve the architecture", "find refactoring opportunities", "deepen modules", "consolidate coupling", "make this more testable", or "find architectural friction".

prune-agents

16
from howells/arc

Kill orphaned Claude subagent processes that didn't exit cleanly. Use when asked to "prune agents", "clean up agents", "kill orphaned processes", or when subagents accumulate from Task tool usage.

progress

16
from howells/arc

Internal skill for progress journal management. Other skills append to docs/arc/progress.md for cross-session context. Not invoked directly by users.

naming

16
from howells/arc

Generate and validate project names. Reads codebase context, produces candidates using tech naming strategies, and checks domain + GitHub availability. Use when naming a new project, renaming, or validating an existing name.

letsgo

16
from howells/arc

Production readiness checklist covering domains, SEO, security, and deployment. Use when asked to "ship it", "deploy to production", "go live", "launch", or when preparing a project for production deployment.

implement

16
from howells/arc

Scope-aware implementation workflow with TDD and continuous quality checks. Use when asked to "implement this", "build this feature", "execute the plan", or after /arc:ideate has created a design doc. For small work it creates a lightweight inline plan; for larger work it creates or loads a full implementation plan and executes task-by-task with build agents.