team-constitution
Interactively create or amend the team constitution in team-ai-directives. Use when bootstrapping a new team AI directives, establishing team-wide principles for the first time, or amending existing ones.
Install
npx skills add https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-constitution
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tikalk-adlc-team-skills@llmmart
git clone https://github.com/tikalk/adlc-team-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole tikalk/adlc-team-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
team-constitution
What this skill does
Interactively create or amend the team constitution at {TEAM_AI_DIRECTIVES}/context_modules/constitution.md.
The scaffold written by team-setup (Mode 3) contains only a placeholder ("No team-wide principles defined yet"). This skill turns that placeholder into a real constitution through guided elicitation:
- Propose principles informed by team context (existing rules, CDRs, AGENTS.md)
- Review each principle interactively — confirm, edit, or reject
- Write the constitution in the established team format (OKF v0.2 frontmatter + numbered principles + Governance section)
What this skill is NOT:
- Not a port of spec-kit's
spec.constitutiontemplate machinery — no placeholder tokens, no hooks, noextensions.yml, no template propagation, no Sync Impact Report - Not semantic versioning — the team constitution is versioned by git history in the team AI directives repo; freshness is tracked by OKF v0.2 frontmatter (
generated,verified,stale_after) via/team-repair - Not for project-level constitutions (
.adlc/memory/constitution.md) — those remainspec.constitutionterritory when spec-kit is in play
When to use
- After
team-setupMode 3: the scaffold wrote a placeholder constitution — fill it with real principles - New team AI directives (cloned or existing): constitution is missing or still a placeholder
- Amending principles: the team wants to add, reword, or remove principles
When NOT to use
- Project-level constitution: use spec-kit's
spec.constitutionfor.adlc/memory/constitution.md - Constitution changes via CDR flow: if a constitution change was proposed as a CDR, let
/team-learnhandle it - team AI directives not configured: run
/team-setupfirst
Process
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Examples of User Input:
"Focus on testing and security principles"— steer proposals toward those domains"Amend principle 3"— jump straight to amending a specific principle"Add a principle about AI code review"— append a specific principle- Empty input: full elicitation flow (create or amend, auto-detected)
Role & Context
You are acting as a Team Governance Facilitator — helping the team articulate its non-negotiable principles. Your role involves:
- Proposing principles grounded in the team's actual directives and practices (not generic boilerplate)
- Ensuring every principle is declarative, testable, and has a clear rationale
- Keeping the constitution concise — principles are rules, not essays
Outline
- Environment Setup (Phase 0): Resolve paths, detect constitution state
- Load Team Context (Phase 1): Read existing constitution + team directives to inform proposals
- Elicit Principles (Phase 2): Interactive create/amend loop
- Governance Section (Phase 3): Compose the lightweight governance paragraph
- Write Constitution (Phase 4): Write the file with OKF v0.2 frontmatter
- Commit & Summary (Phase 5): Offer commit, report results
Execution Steps
Phase 0: Environment Setup
Run the setup script from the skill's base directory:
scripts/bash/setup-team-constitution.sh
Parse JSON for REPO_ROOT, TEAM_AI_DIRECTIVES, CONSTITUTION_FILE, CONSTITUTION_STATE, TD_IS_GIT, TD_CLEAN.
If the setup script is unavailable or fails, resolve manually:
REPO_ROOT— walk up from cwd to find.adlc/, orgit rev-parse --show-toplevel, orpwd.TEAM_AI_DIRECTIVES—TEAM_AI_DIRECTIVESenv var, then.adlc/init-options.json→team_ai_directives, thenREPO_ROOT/team-ai-directives.CONSTITUTION_FILE—{TEAM_AI_DIRECTIVES}/context_modules/constitution.mdCONSTITUTION_STATE:missing— file does not existplaceholder— file exists and contains "No team-wide principles defined yet"populated— file exists with real content
TD_IS_GIT—git -C "$TEAM_AI_DIRECTIVES" rev-parse --is-inside-work-tree(exit 0 = true)TD_CLEAN—git -C "$TEAM_AI_DIRECTIVES" status --porcelain(empty = clean)
If TEAM_AI_DIRECTIVES is not configured:
Team AI directives repository not configured.
Run: team-setup
Or set: export TEAM_AI_DIRECTIVES=/path/to/team-ai-directives
Phase 1: Load Team Context
Read the following to inform principle proposals:
- Existing constitution at
{CONSTITUTION_FILE}(ifpopulated— you will amend; ifplaceholder/missing— you will create) - Team rules index:
{TEAM_AI_DIRECTIVES}/CDR.md— accepted rule/persona/example descriptors reveal what the team already cares about - Existing rules: skim
{TEAM_AI_DIRECTIVES}/context_modules/rules/file names and headings - AGENTS.md at
{TEAM_AI_DIRECTIVES}/AGENTS.md— loading order and skill usage expectations
Principles must be grounded in what you find — e.g., if the rules directory is heavy on security modules, a "Security by Default" principle is evidence-based, not boilerplate. If the team AI directives is nearly empty, fall back to a small starter set and say so explicitly.
Phase 2: Elicit Principles
Create mode (missing or placeholder)
- Propose a starter set (3–7 principles) based on Phase 1 findings. For each principle, present:
### Proposed Principle N: {Name}
**Statement**: {Declarative, testable rule — one or two sentences}
**Rationale**: {Why this principle exists; what failure it prevents}
**Grounding**: {What team context motivated this — or "starter suggestion, no team AI directives evidence yet"}
Reply: [Y] accept / [e] edit / [n] reject
For each response:
- Y: add to the accepted list
- e: apply the user's edits, present the revised principle for confirmation
- n: drop it
After the starter set, ask: "Any additional principles?" Loop until the user is done.
Amend mode (populated)
- List the current principles (numbered, one-line each).
- Ask what to do: amend N / add new / remove N / full review.
- For amendments and additions, use the same propose → confirm/edit/reject loop as create mode.
- For removals, confirm explicitly — removals are the highest-impact change.
Principle quality bar (apply to every accepted principle):
- Declarative and testable: an agent can check compliance ("Every X must Y"), not aspirational ("We value X")
- Non-negotiable framing: principles are MUSTs; preferences and conventions belong in rules, not the constitution
- Rationale included: one sentence on what failure the principle prevents
- No vague language: replace "should" with MUST/NEVER, or move the item to rules
Phase 3: Governance Section
Compose a short Governance section. Keep it to these three points (do not expand):
## Governance
- **Amendments**: proposed as CDRs via `/team-init` or `/team-learn`, reviewed and published via `/team-learn`. Direct edits via `/team-constitution` are reserved for bootstrapping and explicit team decisions.
- **Compliance**: this constitution is loaded by `team-boot` at the start of every session. Agents and humans MUST follow it; on conflict, the constitution supersedes ad-hoc practices.
- **Alignment**: `/team-repair` (Check 6) verifies project constitutions inherit these principles. Project constitutions may extend, never contradict.
Phase 4: Write Constitution
Write {CONSTITUTION_FILE} with this exact structure:
---
type: Constitution
title: "{TEAM_NAME} Constitution"
description: "Team-wide principles and governance"
resource: ./context_modules/constitution.md
tags: [constitution]
generated: { by: agent:team-constitution, at: {TODAY}T00:00:00Z }
id: constitution
cdr_ref: null
created: {TODAY}
verified:
- { by: agent:team-constitution, at: {TODAY}T00:00:00Z }
status: stable
stale_after: 180d
---
# {TEAM_NAME} Constitution
1. **{Principle Name}**
{Statement. Rationale.}
2. **{Principle Name}**
{Statement. Rationale.}
...
## Governance
{Governance section from Phase 3}
Rules for writing:
- Preserve the existing OKF v0.2 frontmatter fields when amending; update
generated.atto today and append toverifiedlist. If the file carries custom fields (created,id,cdr_ref), preserve them. Remove any legacy v0.1 fields (timestamp,modified,age_days,evidence) if present —/team-repairhandles this automatically. titleand H1: keep the existing team name if present; otherwise derive from the team AI directives directory name or ask.- Numbered flat list (
1. **Name**) — no###subsections per principle, no version/ratified date lines. - If
CONSTITUTION_STATEwasmissing, create the parent directory first:mkdir -p "{TEAM_AI_DIRECTIVES}/context_modules".
Phase 5: Commit & Summary
If TD_IS_GIT is true and TD_CLEAN is true, offer a single commit on the current branch (no branch/PR flow — that remains the CDR lifecycle's job):
Commit the constitution update to team-ai-directives?
git -C "{TEAM_AI_DIRECTIVES}" add context_modules/constitution.md
git -C "{TEAM_AI_DIRECTIVES}" commit -m "docs: {create|amend} team constitution — {N} principles"
[Y/n]
If TD_CLEAN is false, skip the commit offer and note the team AI directives has uncommitted changes.
Report:
## Team Constitution Summary
**Mode**: {Create | Amend}
**File**: {CONSTITUTION_FILE}
**Principles**: N ({added} added, {amended} amended, {removed} removed)
**Committed**: {yes | no — reason}
### Principles
1. {Name} — {one-line statement}
2. ...
### Next Steps
1. Run `/team-repair` to validate the team AI directives and refresh verification timestamps
2. Review project constitutions for alignment (team-repair Check 6)
Key Rules
Grounded, Not Boilerplate
- Proposals must cite team context when available (CDR descriptors, rule headings, AGENTS.md)
- When the team AI directives is empty, say the starter set is generic and keep it small (3–5)
Team Format Only
- OKF v0.2 frontmatter + numbered principles + Governance — no spec-kit template structure
- No
**Version**/**Ratified**lines — git history is the versioning - No
###subsections per principle — flat numbered list
Interactive, Not Automatic
- Every principle is confirmed by the user before writing
- Never silently rewrite an existing
populatedconstitution — amend mode requires explicit per-principle decisions
Don't Cross the Streams
- Project constitutions (
.adlc/memory/constitution.md) are out of scope - CDR-driven constitution changes go through
/team-learn, not this skill
Workflow Guidance & Transitions
After /team-constitution
/team-setup (Mode 3 scaffold — placeholder constitution)
↓
/team-constitution (this skill — real principles)
↓
/team-repair (validate team AI directives, refresh freshness)
Ongoing amendments follow the CDR lifecycle (/team-init or /team-learn → specify → clarify → publish), with /team-constitution available for explicit interactive edits.
Verification
{CONSTITUTION_FILE}exists with OKF v0.2 frontmatter (type: Constitutionpresent,generatedfield present)placeholdermarker text is gone- Every principle has a bolded name, a declarative statement, and a rationale
- Governance section present with the three points (amendments, compliance, alignment)
- No placeholder tokens (
[ALL_CAPS]), no version/ratified date lines - Amended files preserve pre-existing custom frontmatter fields with
modifiedupdated - Summary reported with mode, principle counts, and commit status
Configuration
TEAM_AI_DIRECTIVES— Path to the team AI directives (overrides.adlc/init-options.json)..adlc/init-options.json— Project-level config file withteam_ai_directivesfield.- Default fallback:
team-ai-directives/relative to project root.
12-Factor Alignment
Factor XI (Directives as Code) — the team's foundational governance document is created and maintained as a version-controlled artifact, never embedded ad-hoc in prompts.
Context
$ARGUMENTS
Files (adlc-team-skills)
-
scripts
-
bash
-
setup-team-constitution.sh 2.5 KB
#!/usr/bin/env bash # setup-team-constitution.sh — Setup for team-constitution (self-contained) set -euo pipefail ############################################################################### # Inline path resolution (no external helper dependency) ############################################################################### resolve_project_root() { local dir dir="$(pwd)" while [[ "$dir" != "/" ]]; do if [[ -d "${dir}/.adlc" ]]; then echo "$dir" return fi dir="$(dirname "$dir")" done git rev-parse --show-toplevel 2>/dev/null || pwd } resolve_team_ai_directives() { local project_root="$1" local td="${TEAM_AI_DIRECTIVES:-}" [[ -n "$td" ]] && { echo "$td"; return; } if [[ -f "${project_root}/.adlc/init-options.json" ]]; then td=$(python3 -c " import json try: with open('${project_root}/.adlc/init-options.json') as f: print(json.load(f).get('team_ai_directives', '')) except Exception: print('') " 2>/dev/null || true) [[ -n "$td" ]] && { echo "$td"; return; } fi echo "${project_root}/team-ai-directives" } ############################################################################### # Main ############################################################################### PROJECT_ROOT=$(resolve_project_root) TEAM_AI_DIRECTIVES=$(resolve_team_ai_directives "$PROJECT_ROOT") CONSTITUTION_FILE="${TEAM_AI_DIRECTIVES}/context_modules/constitution.md" # Detect constitution state: missing | placeholder | populated CONSTITUTION_STATE="missing" if [[ -f "$CONSTITUTION_FILE" ]]; then if grep -q "No team-wide principles defined yet" "$CONSTITUTION_FILE" 2>/dev/null; then CONSTITUTION_STATE="placeholder" else CONSTITUTION_STATE="populated" fi fi # Check if team-ai-directives is a git repo with a clean working tree TD_IS_GIT="false" TD_CLEAN="false" if [[ -d "$TEAM_AI_DIRECTIVES" ]]; then if git -C "$TEAM_AI_DIRECTIVES" rev-parse --is-inside-work-tree >/dev/null 2>&1; then TD_IS_GIT="true" TD_CLEAN=$([[ -z "$(git -C "$TEAM_AI_DIRECTIVES" status --porcelain 2>/dev/null)" ]] && echo "true" || echo "false") fi fi python3 - "$PROJECT_ROOT" "$TEAM_AI_DIRECTIVES" "$CONSTITUTION_FILE" "$CONSTITUTION_STATE" "$TD_IS_GIT" "$TD_CLEAN" << 'PY' import json, sys print(json.dumps({ "REPO_ROOT": sys.argv[1], "TEAM_AI_DIRECTIVES": sys.argv[2], "CONSTITUTION_FILE": sys.argv[3], "CONSTITUTION_STATE": sys.argv[4], "TD_IS_GIT": sys.argv[5] == "true", "TD_CLEAN": sys.argv[6] == "true" })) PY
-
-
powershell
-
setup-team-constitution.ps1 2.5 KB · in bundle
-
-
-
SKILL.md 12.3 KB
--- name: team-constitution description: Use when bootstrapping a new team AI directives repo, establishing team-wide principles for the first time, or amending the constitution in team-ai-directives. disable-model-invocation: true --- # team-constitution ## What this skill does Interactively **create or amend** the team constitution at `{TEAM_AI_DIRECTIVES}/context_modules/constitution.md`. The scaffold written by `team-setup` (Mode 3) contains only a placeholder ("No team-wide principles defined yet"). This skill turns that placeholder into a real constitution through guided elicitation: - Propose principles informed by team context (existing rules, CDRs, AGENTS.md) - Review each principle interactively — confirm, edit, or reject - Write the constitution in the established team format (OKF v0.2 frontmatter + numbered principles + Governance section) **What this skill is NOT**: - Not a port of spec-kit's `spec.constitution` template machinery — no placeholder tokens, no hooks, no `extensions.yml`, no template propagation, no Sync Impact Report - Not semantic versioning — the team constitution is versioned by **git history** in the team AI directives repo; freshness is tracked by OKF v0.2 frontmatter (`generated`, `verified`, `stale_after`) via `/team-repair` - Not for **project-level** constitutions (`.adlc/memory/constitution.md`) — those remain `spec.constitution` territory when spec-kit is in play ## When to use - **After `team-setup` Mode 3**: the scaffold wrote a placeholder constitution — fill it with real principles - **New team AI directives (cloned or existing)**: constitution is missing or still a placeholder - **Amending principles**: the team wants to add, reword, or remove principles ### When NOT to use - **Project-level constitution**: use spec-kit's `spec.constitution` for `.adlc/memory/constitution.md` - **Constitution changes via CDR flow**: if a constitution change was proposed as a CDR, let `/team-learn` handle it - **team AI directives not configured**: run `/team-setup` first ## Process ### User Input ```text $ARGUMENTS ``` You **MUST** consider the user input before proceeding (if not empty). **Examples of User Input**: - `"Focus on testing and security principles"` — steer proposals toward those domains - `"Amend principle 3"` — jump straight to amending a specific principle - `"Add a principle about AI code review"` — append a specific principle - Empty input: full elicitation flow (create or amend, auto-detected) ### Role & Context You are acting as a **Team Governance Facilitator** — helping the team articulate its non-negotiable principles. Your role involves: - Proposing principles grounded in the team's actual directives and practices (not generic boilerplate) - Ensuring every principle is declarative, testable, and has a clear rationale - Keeping the constitution concise — principles are rules, not essays ### Outline 1. **Environment Setup** (Phase 0): Resolve paths, detect constitution state 2. **Load Team Context** (Phase 1): Read existing constitution + team directives to inform proposals 3. **Elicit Principles** (Phase 2): Interactive create/amend loop 4. **Governance Section** (Phase 3): Compose the lightweight governance paragraph 5. **Write Constitution** (Phase 4): Write the file with OKF v0.2 frontmatter 6. **Commit & Summary** (Phase 5): Offer commit, report results ### Execution Steps #### Phase 0: Environment Setup Run the setup script from the skill's base directory: ```bash scripts/bash/setup-team-constitution.sh ``` Parse JSON for `REPO_ROOT`, `TEAM_AI_DIRECTIVES`, `CONSTITUTION_FILE`, `CONSTITUTION_STATE`, `TD_IS_GIT`, `TD_CLEAN`. **If the setup script is unavailable or fails**, resolve manually: 1. `REPO_ROOT` — walk up from cwd to find `.adlc/`, or `git rev-parse --show-toplevel`, or `pwd`. 2. `TEAM_AI_DIRECTIVES` — `TEAM_AI_DIRECTIVES` env var, then `.adlc/init-options.json` → `team_ai_directives`, then `REPO_ROOT/team-ai-directives`. 3. `CONSTITUTION_FILE` — `{TEAM_AI_DIRECTIVES}/context_modules/constitution.md` 4. `CONSTITUTION_STATE`: - `missing` — file does not exist - `placeholder` — file exists and contains "No team-wide principles defined yet" - `populated` — file exists with real content 5. `TD_IS_GIT` — `git -C "$TEAM_AI_DIRECTIVES" rev-parse --is-inside-work-tree` (exit 0 = true) 6. `TD_CLEAN` — `git -C "$TEAM_AI_DIRECTIVES" status --porcelain` (empty = clean) If `TEAM_AI_DIRECTIVES` is not configured: ```text Team AI directives repository not configured. Run: team-setup Or set: export TEAM_AI_DIRECTIVES=/path/to/team-ai-directives ``` #### Phase 1: Load Team Context Read the following to inform principle proposals: 1. **Existing constitution** at `{CONSTITUTION_FILE}` (if `populated` — you will amend; if `placeholder`/`missing` — you will create) 2. **Team rules index**: `{TEAM_AI_DIRECTIVES}/CDR.md` — accepted rule/persona/example descriptors reveal what the team already cares about 3. **Existing rules**: skim `{TEAM_AI_DIRECTIVES}/context_modules/rules/` file names and headings 4. **AGENTS.md** at `{TEAM_AI_DIRECTIVES}/AGENTS.md` — loading order and skill usage expectations Principles must be **grounded in what you find** — e.g., if the rules directory is heavy on security modules, a "Security by Default" principle is evidence-based, not boilerplate. If the team AI directives is nearly empty, fall back to a small starter set and say so explicitly. #### Phase 2: Elicit Principles ##### Create mode (`missing` or `placeholder`) 1. **Propose a starter set** (3–7 principles) based on Phase 1 findings. For each principle, present: ```markdown ### Proposed Principle N: {Name} **Statement**: {Declarative, testable rule — one or two sentences} **Rationale**: {Why this principle exists; what failure it prevents} **Grounding**: {What team context motivated this — or "starter suggestion, no team AI directives evidence yet"} Reply: [Y] accept / [e] edit / [n] reject ``` 2. For each response: - **Y**: add to the accepted list - **e**: apply the user's edits, present the revised principle for confirmation - **n**: drop it 3. After the starter set, ask: **"Any additional principles?"** Loop until the user is done. ##### Amend mode (`populated`) 1. List the current principles (numbered, one-line each). 2. Ask what to do: **amend N** / **add new** / **remove N** / **full review**. 3. For amendments and additions, use the same propose → confirm/edit/reject loop as create mode. 4. For removals, confirm explicitly — removals are the highest-impact change. **Principle quality bar** (apply to every accepted principle): - **Declarative and testable**: an agent can check compliance ("Every X must Y"), not aspirational ("We value X") - **Non-negotiable framing**: principles are MUSTs; preferences and conventions belong in rules, not the constitution - **Rationale included**: one sentence on what failure the principle prevents - **No vague language**: replace "should" with MUST/NEVER, or move the item to rules #### Phase 3: Governance Section Compose a short Governance section. Keep it to these three points (do not expand): ```markdown ## Governance - **Amendments**: proposed as CDRs via `/team-init` or `/team-learn`, reviewed and published via `/team-learn`. Direct edits via `/team-constitution` are reserved for bootstrapping and explicit team decisions. - **Compliance**: this constitution is loaded by `team-boot` at the start of every session. Agents and humans MUST follow it; on conflict, the constitution supersedes ad-hoc practices. - **Alignment**: `/team-repair` (Check 6) verifies project constitutions inherit these principles. Project constitutions may extend, never contradict. ``` #### Phase 4: Write Constitution Write `{CONSTITUTION_FILE}` with this exact structure: ```markdown --- type: Constitution title: "{TEAM_NAME} Constitution" description: "Team-wide principles and governance" resource: ./context_modules/constitution.md tags: [constitution] generated: { by: agent:team-constitution, at: {TODAY}T00:00:00Z } id: constitution cdr_ref: null created: {TODAY} verified: - { by: agent:team-constitution, at: {TODAY}T00:00:00Z } status: stable stale_after: 180d --- # {TEAM_NAME} Constitution 1. **{Principle Name}** {Statement. Rationale.} 2. **{Principle Name}** {Statement. Rationale.} ... ## Governance {Governance section from Phase 3} ``` Rules for writing: - Preserve the existing OKF v0.2 frontmatter fields when amending; update `generated.at` to today and append to `verified` list. If the file carries custom fields (`created`, `id`, `cdr_ref`), preserve them. Remove any legacy v0.1 fields (`timestamp`, `modified`, `age_days`, `evidence`) if present — `/team-repair` handles this automatically. - `title` and H1: keep the existing team name if present; otherwise derive from the team AI directives directory name or ask. - Numbered flat list (`1. **Name**`) — no `###` subsections per principle, no version/ratified date lines. - If `CONSTITUTION_STATE` was `missing`, create the parent directory first: `mkdir -p "{TEAM_AI_DIRECTIVES}/context_modules"`. #### Phase 5: Commit & Summary If `TD_IS_GIT` is true and `TD_CLEAN` is true, offer a single commit on the current branch (no branch/PR flow — that remains the CDR lifecycle's job): ```text Commit the constitution update to team-ai-directives? git -C "{TEAM_AI_DIRECTIVES}" add context_modules/constitution.md git -C "{TEAM_AI_DIRECTIVES}" commit -m "docs: {create|amend} team constitution — {N} principles" [Y/n] ``` If `TD_CLEAN` is false, skip the commit offer and note the team AI directives has uncommitted changes. Report: ```markdown ## Team Constitution Summary **Mode**: {Create | Amend} **File**: {CONSTITUTION_FILE} **Principles**: N ({added} added, {amended} amended, {removed} removed) **Committed**: {yes | no — reason} ### Principles 1. {Name} — {one-line statement} 2. ... ### Next Steps 1. Run `/team-repair` to validate the team AI directives and refresh verification timestamps 2. Review project constitutions for alignment (team-repair Check 6) ``` ### Key Rules #### Grounded, Not Boilerplate - Proposals must cite team context when available (CDR descriptors, rule headings, AGENTS.md) - When the team AI directives is empty, say the starter set is generic and keep it small (3–5) #### Team Format Only - OKF v0.2 frontmatter + numbered principles + Governance — no spec-kit template structure - No `**Version**` / `**Ratified**` lines — git history is the versioning - No `###` subsections per principle — flat numbered list #### Interactive, Not Automatic - Every principle is confirmed by the user before writing - Never silently rewrite an existing `populated` constitution — amend mode requires explicit per-principle decisions #### Don't Cross the Streams - Project constitutions (`.adlc/memory/constitution.md`) are out of scope - CDR-driven constitution changes go through `/team-learn`, not this skill ### Workflow Guidance & Transitions #### After `/team-constitution` ```text /team-setup (Mode 3 scaffold — placeholder constitution) ↓ /team-constitution (this skill — real principles) ↓ /team-repair (validate team AI directives, refresh freshness) ``` Ongoing amendments follow the CDR lifecycle (`/team-init` or `/team-learn` → specify → clarify → publish), with `/team-constitution` available for explicit interactive edits. ## Verification - `{CONSTITUTION_FILE}` exists with OKF v0.2 frontmatter (`type: Constitution` present, `generated` field present) - `placeholder` marker text is gone - Every principle has a bolded name, a declarative statement, and a rationale - Governance section present with the three points (amendments, compliance, alignment) - No placeholder tokens (`[ALL_CAPS]`), no version/ratified date lines - Amended files preserve pre-existing custom frontmatter fields with `modified` updated - Summary reported with mode, principle counts, and commit status ## Configuration - `TEAM_AI_DIRECTIVES` — Path to the team AI directives (overrides `.adlc/init-options.json`). - `.adlc/init-options.json` — Project-level config file with `team_ai_directives` field. - Default fallback: `team-ai-directives/` relative to project root. ## 12-Factor Alignment Factor XI (Directives as Code) — the team's foundational governance document is created and maintained as a version-controlled artifact, never embedded ad-hoc in prompts. ## Context $ARGUMENTS
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.