Skip to content
shell
$ npx -y skills add brsbl/ottonomous --skill reset-code --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/reset-code
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

What to reset: diffs, otto, code, deps, or all (default: all)

SKILL.md

reset-code.SKILL.md
name: reset-code
description: Full project reset for ottonomous. Removes all generated code and workflow data, restoring to fresh plugin state. Preserves plugin files and git history. Destructive - requires confirmation.
model: opus
arguments:
  - name: targets
    description: "What to reset: diffs, otto, code, deps, or all (default: all)"
    required: false

Reset project to freshly installed plugin state. Can selectively reset parts or do a full reset.

Available Targets

| Target | Removes | Description | |--------|---------|-------------| | `diffs` | `.claude/skill-diffs/` | Skill diff previews | | `otto` | `.otto/` | All workflow data | | `code` | `src/`, `dist/`, `public/`, configs | Generated app code | | `deps` | `node_modules/`, lockfiles | Dependencies | | `all` | Everything except allowlist | Full reset (default) |

Usage Examples

  • `/reset-code` - Full reset (prompts for confirmation)
  • `/reset-code diffs` - Clear only skill diff previews
  • `/reset-code otto` - Clear workflow data (same as `/reset`)
  • `/reset-code code` - Clear generated code, keep deps
  • `/reset-code deps` - Clear node_modules only

Preserved Files (allowlist)

Only these survive a full reset:

  • `.claude/` - Settings
  • `.claude-plugin/` - Marketplace metadata
  • `skills/` - Plugin skills
  • `.git/` - Version control
  • `README.md`, `LICENSE`, `.gitignore`, `.gitmodules`

Removed Files (full reset)

Everything else, including:

  • `.otto/` - Workflow data
  • `src/`, `dist/`, `public/` - App code
  • `node_modules/` - Dependencies
  • `package.json`, lockfiles
  • Framework dirs (`.next/`, `.nuxt/`, etc.)
  • Build configs (`vite.config.*`, `tsconfig*.json`)

Workflow

1. Parse Arguments

Map targets to paths:

diffs -> .claude/skill-diffs/
otto  -> .otto/
code  -> src/, dist/, public/, *.config.*, tsconfig*.json, package.json
deps  -> node_modules/, package-lock.json, yarn.lock, pnpm-lock.yaml
all   -> everything except allowlist

2. Preview Removal

**For selective targets**, show targeted paths:

du -sh <target_paths> 2>/dev/null

**For full reset (`all`)**, list everything to remove:

to_remove=()
for item in ./* ./.*; do
  [[ ! -e "$item" ]] && continue
  name="${item##*/}"
  case "$name" in
    .|..|.claude|.claude-plugin|skills|.git|README.md|LICENSE|.gitignore|.gitmodules) ;;
    *) to_remove+=("$item") ;;
  esac
done

if [[ ${#to_remove[@]} -gt 0 ]]; then
  du -sh "${to_remove[@]}" 2>/dev/null | sort -hr
fi

3. Confirm

Use `AskUserQuestion`: > "This will delete [target description]. Continue?" > Options: "Yes, reset" / "Cancel"

4. Remove

**For selective targets**:

rm -rf <target_paths>

**For full reset (`all`)**:

find . -maxdepth 1 \
  ! -name '.' \
  ! -name '.claude' \
  ! -name '.claude-plugin' \
  ! -name 'skills' \
  ! -name '.git' \
  ! -name 'README.md' \
  ! -name 'LICENSE' \
  ! -name '.gitignore' \
  ! -name '.gitmodules' \
  -exec rm -rf {} +

6. Report

Reset complete. Cleared: [targets]
Run /otto to start a new build.
Read more
Read it on GitHub ↗
Ships withottonomous

Skills for every stage of product development — spec writing, task prioritization, implementation, testing, code review, and summaries — that work in both Claude Code and OpenAI Codex.

Get the whole plugin, auto-invoked
Stats
14
Stars
0
Views
2
Forks
Active
Maintenance
JavaScript
Language
MIT
License
1d ago
Last commit
6mo ago
Created

Repo: brsbl/ottonomous