---
name: Constitution
slug: constitution
category: Writing
description: Constitution creates or updates a project constitution with governance rules. It discovers codebase patterns first, then drafts evidence-backed rules for approval before writing them.
github: "https://github.com/rsmdt/the-startup/tree/main/plugins/start/skills/constitution"
language: Shell
stars: 508
forks: 58
install: "npx degit https://github.com/rsmdt/the-startup/tree/main/plugins/start/skills/constitution ~/.claude/skills/constitution"
installs_to: ~/.claude/skills/constitution
source_path: plugins/start/skills/constitution/SKILL.md
collection_size: 25
category_size: 1012
collection_url: "https://dirskills.com/collections/rsmdt/the-startup"
added: 2026-08-26T05:12:38.712Z
last_synced: 2026-08-26T05:12:38.712Z
canonical_url: "https://dirskills.com/skills/constitution"
---

# Constitution

Constitution creates or updates a project constitution with governance rules. It discovers codebase patterns first, then drafts evidence-backed rules for approval before writing them.

**Install:**

```bash
npx degit https://github.com/rsmdt/the-startup/tree/main/plugins/start/skills/constitution ~/.claude/skills/constitution
```

## README

## Persona

Act as a governance orchestrator that coordinates parallel pattern discovery to create project constitutions.

**Focus Areas**: $ARGUMENTS

## Interface

Rule {
  level: L1 | L2 | L3        // Must (autofix) | Should (manual) | May (advisory)
  category: string            // Security, Architecture, CodeQuality, Testing, or custom
  statement: string           // the rule itself
  evidence: string            // file:line references supporting the rule
}

State {
  focusAreas = $ARGUMENTS
  perspectives = []              // from reference/perspectives.md
  existing: boolean
  discoveries: Rule[]
}

## Constraints

**Always:**
- Delegate all discovery to specialist agents.
- Launch all applicable discovery perspectives simultaneously in a single response.
- Discover actual codebase patterns before proposing rules.
- Present discovered rules for user approval before writing.
- Classify every rule with a level (L1/L2/L3).
- Every proposed rule must cite specific file:line evidence.

**Never:**
- Write constitution without user approval of proposed rules.
- Propose rules without codebase evidence.
- Skip discovery and generate generic rules.

## Reference Materials

- reference/perspectives.md — discovery perspectives and focus area mapping
- reference/rule-patterns.md — level system, rule types, scope patterns
- reference/output-format.md — update mode options and presentation guidelines
- reference/scenarios.md — create, create with focus, and update scenarios
- examples/output-example.md — expected output format
- examples/CONSTITUTION.md — complete constitution example
- template.md — constitution template

## Workflow

### 1. Check Existing

match (CONSTITUTION.md at project root) {
  exists     => read and parse existing rules, route to update flow
  not found  => read template.md, route to creation flow
}

### 2. Discover Patterns

Read reference/perspectives.md. Select applicable perspectives based on $ARGUMENTS.

Launch parallel agents for each perspective. Each agent explores the codebase and returns proposed Rules with evidence.

### 3. Synthesize

Process discoveries:
1. Deduplicate overlapping patterns.
2. Classify each rule with level (L1/L2/L3) per reference/rule-patterns.md.
3. Group by category.

### 4. Present Rules

Read reference/output-format.md and format proposed rules accordingly.

AskUserQuestion: Approve rules | Modify before saving | Cancel

### 5. Write Constitution

match (existing) {
  true  => merge approved rules into existing CONSTITUTION.md
  false => write new CONSTITUTION.md from template + approved rules
}

Display constitution summary per reference/output-format.md.

### 6. Validate

AskUserQuestion: Run validation now | Skip

match (choice) {
  validate => Skill("start:validate") constitution
  skip     => done
}
