Takeover Skill

SkillFiles & storage

Extract canonical spec from existing agent or skill files

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Takeover Skill skill

What this skill tells your AI

The instructions your AI receives, as published by baekenough/oh-my-customcode in .claude/skills/omcustom-takeover/SKILL.md and read by ahel’s review.

Extract a canonical specification from an existing agent or skill file. Inspired by codespeak.dev's reverse compilation concept — deriving specs from existing implementations.

Purpose

When an agent or skill has evolved organically without a formal spec, takeover reverse-engineers a structured specification that captures its intent, invariants, workflow contract, and I/O contract.

Usage

/omcustom-takeover <agent-name>
/omcustom-takeover <skill-name>

Workflow

Phase 1: Read Target

1. Determine target type:
   - Agent: read .claude/agents/<name>.md
   - Skill: read .claude/skills/<name>/SKILL.md
2. Parse frontmatter (YAML metadata)
3. Parse body (markdown content)

Phase 2: Extract Spec Components

Extract these components from the target:

ComponentSourceDescription
intentDescription field + first paragraphOne-line purpose statement
invariantsRules referenced, constraints mentionedThings that must always be true
workflow_contractWorkflow/stages sectionsInput → processing → output steps
io_contractTools field, input/output patternsWhat the agent consumes and produces
dependenciesSkills field, guide referencesExternal knowledge required
boundariesLimitations field, disallowedToolsWhat the agent explicitly cannot do

Phase 3: Generate Spec

Output structured spec to .claude/specs/<name>.spec.md:

---
name: <name>
type: agent | skill
source: .claude/agents/<name>.md | .claude/skills/<name>/SKILL.md
generated: <ISO-8601 timestamp>
---

# Spec: <name>

## Intent
<one-line purpose>

## Invariants
- <rule or constraint that must always hold>
- ...

## Workflow Contract
### Input
<what the agent/skill receives>

### Processing
1. <step>
2. <step>

### Output
<what the agent/skill produces>

## I/O Contract
### Consumes
- Tools: [<tools used>]
- Files: [<files read>]
- MCP: [<MCP tools if any>]

### Produces
- Files: [<files created/modified>]
- Output: [<what is returned>]

## Dependencies
- Skills: [<referenced skills>]
- Guides: [<referenced guides>]
- Rules: [<rules enforced>]

## Boundaries
- <what the agent explicitly cannot do>

Phase 4: Report

[Done] Spec extracted: .claude/specs/<name>.spec.md
├── Intent: <summary>
├── Invariants: <count> rules
├── Workflow: <step count> steps
└── Dependencies: <count> refs

Notes

  • Specs are git-untracked (under .claude/)
  • Regenerate anytime with /omcustom-takeover <name>
  • Used by /dev-refactor --spec for invariant-preserving refactoring
  • Advisory output — human review recommended before using as contract

Signals

GitHub stars
34
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
omcustom-takeover
Source
github.com/baekenough/oh-my-customcode