Trellis Session Insight
mindfold-ai/Trellis
Reach into past AI conversation history through the trellis mem CLI.
A skill your agent uses when indexes are inconsistent, orphans are detected, after bulk changes to team-ai-directives, or for periodic directives health validation; --build-to-delete proposes rules…
$ npx skills add tikalk/adlc-team-skills --skill team-repair -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tikalk/adlc-team-skills team-repair --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/team/team-repair .claude/skills/team-repair && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "team-repair" agent skill from https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-repair into .claude/skills/team-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-repair", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-repairType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tikalk/adlc-team-skills --skill team-repair -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tikalk/adlc-team-skills team-repair --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/team/team-repair .agents/skills/team-repair && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "team-repair" agent skill from https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-repair into .agents/skills/team-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-repair", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tikalk/adlc-team-skills --skill team-repair -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tikalk/adlc-team-skills team-repair --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/team/team-repair .cursor/skills/team-repair && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "team-repair" agent skill from https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-repair into .cursor/skills/team-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-repair", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tikalk/adlc-team-skills.git --path skills/team/team-repair--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tikalk/adlc-team-skills --skill team-repair -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tikalk/adlc-team-skills team-repair --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/team/team-repair .gemini/skills/team-repair && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "team-repair" agent skill from https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-repair into .gemini/skills/team-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-repair", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tikalk/adlc-team-skills team-repairInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tikalk/adlc-team-skills --skill team-repair -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/team/team-repair .github/skills/team-repair && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "team-repair" agent skill from https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-repair into .github/skills/team-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-repair", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tikalk/adlc-team-skills --skill team-repair -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tikalk/adlc-team-skills team-repair --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/team/team-repair .opencode/skills/team-repair && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "team-repair" agent skill from https://github.com/tikalk/adlc-team-skills/tree/main/skills/team/team-repair into .opencode/skills/team-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-repair", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
team-repairA skill your agent uses when indexes are inconsistent, orphans are detected, after bulk changes to team-ai-directives, or for periodic directives health validation; --build-to-delete proposes rules…
Team Repair is an agent skill from tikalk/adlc-team-skills. Use when indexes are inconsistent, orphans are detected, after bulk changes to team-ai-directives, or for periodic directives health validation; --build-to-delete proposes rules the model no longer needs; --validate-drafts validates draft files in .adlc/drafts/ without modifying them.
Its SKILL.md is about 13k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `scripts/bash/setup-team.sh`).
It sits in Development. The repository describes itself as: Agent skills for the Agentic SDLC: team lifecycle (team-boot, team-learn, team-init, team-repair), software factory, evals, CDR lifecycle with confidence scoring, and… The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4c4ad44. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell and PowerShell), which the agent can run.
Shell commands in SKILL.md call:
gitbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Team Repair loads about 13k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 4,433 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from tikalk/adlc-team-skills at commit 4c4ad44, republished under its MIT licence (© tikalk). 4,433 words, ~12,844 tokens.
.claude/skills/team-repair/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Re-indexes OKF v0.2 artifacts (index.md, log.md), derives the flat CDR.md inject, rebuilds .skills.json and AGENTS.md in team-ai-directives to fix inconsistencies, detect orphaned files, and auto-repair issues. Migrates OKF v0.1 frontmatter to v0.2 on every run (always-on, no opt-out). Begins with a health-check phase (Phase 0) that verifies the directives framework is installed, configured, and aligned before performing any repairs.
Input: team-ai-directives repository
Output: 0. Health check report (7 checks: team AI directives configured, context modules exist, skills registry, OKF log tracking, constitution alignment, OKF v0.2 type field presence, project AGENTS.md directive)
index.md files (OKF §8 catalog)log.md files (OKF §9 audit trail)CDR.md flat table from index.md files (for team-boot system prompt injection)verified timestamps, flags stale directives)--validate-drafts — read-only, no modifications)You are acting as an Index Repair Specialist ensuring team-ai-directives indexes are consistent and complete. Your role involves:
| Target | Location | Purpose |
|---|---|---|
| AGENTS.md | {TEAM_AI_DIRECTIVES}/AGENTS.md | Main instruction file for AI agents |
| index.md | {TEAM_AI_DIRECTIVES}/context_modules/**/index.md | OKF §8 per-directory catalogs (progressive disclosure) |
| log.md | {TEAM_AI_DIRECTIVES}/context_modules/**/log.md | OKF §9 per-directory audit trails |
| CDR.md | {TEAM_AI_DIRECTIVES}/CDR.md | Derived flat table for team-boot system prompt injection (auto-generated from index.md files) |
| .skills.json | {TEAM_AI_DIRECTIVES}/.skills.json | Skills manifest registry |
$ARGUMENTSYou MUST consider the user input before proceeding (if not empty).
Examples of User Input:
"" - Repair all three indexes (default)"--dry-run" - Report only, don't write changes"--index-only" - Only rebuild OKF index.md + log.md + derive CDR.md"--skills-only" - Only repair .skills.json"--agents-only" - Only repair AGENTS.md"--validate-drafts" - Validate draft files in .adlc/drafts/ without modifying them| Flag | Description |
|---|---|
--dry-run | Report only, don't write changes |
--health-only | Run Phase 0 health check only, then stop. |
--validate | Run conflict scan + freshness verification only (Phases 8-9) |
--conflicts | Scan for rule conflicts only |
--freshness | Verify directive freshness only |
--build-to-delete | Run evals without directives to identify candidates for removal (Factor XII) |
--validate-drafts | Validate draft files in .adlc/drafts/{adr,pdr,chdr,cdr,evals}/ — validation only, no modifications |
--update-confidence | Aggregate usage data from adlc branch and update OKF frontmatter confidence scores |
--ensure-adlc | Ensure the adlc orphan branch exists (create if missing) |
--index-only | Only rebuild OKF index.md + log.md + derive CDR.md |
--skills-only | Only repair .skills.json |
--agents-only | Only repair AGENTS.md |
| (default) | Repair all indexes + migrate v0.1→v0.2 + validate conflicts and freshness |
Objective: Run a non-destructive health check against the team directives framework before proceeding with repairs. If any check returns [FAIL], present the report and stop — the framework is not healthy enough to repair safely.
Execute all eight checks below. Each check prints a status line. If any check is [FAIL], abort repair.
.adlc/init-options.jsonteam_ai_directives field exists and points to valid pathOutput: [OK] or [FAIL] with reason
.adlc/init-options.json → get team AI directives path{TEAM_AI_DIRECTIVES}/context_modules/constitution.md{TEAM_AI_DIRECTIVES}/context_modules/personas/{TEAM_AI_DIRECTIVES}/context_modules/rules/{TEAM_AI_DIRECTIVES}/context_modules/examples/Output: [OK] or [FAIL] with reason
{TEAM_AI_DIRECTIVES}/.skills.json exists and is valid JSONOutput: [OK] or [FAIL] with reason
{TEAM_AI_DIRECTIVES}/context_modules/rules/log.md exists{TEAM_AI_DIRECTIVES}/context_modules/personas/log.md exists{TEAM_AI_DIRECTIVES}/context_modules/examples/log.md exists{TEAM_AI_DIRECTIVES}/CDR.md exists (derived artifact)Output: [OK] or [FAIL] with reason
{TEAM_AI_DIRECTIVES}/context_modules/constitution.md.adlc/ lives) → {REPO_ROOT}/docs/adlc/memory/constitution.md, falling back to legacy {REPO_ROOT}/.adlc/memory/constitution.md (ADR-401 dual-read)[OK] — Project constitution exists and inherits team principles[WARN] — Project constitution exists but missing team inheritance[INFO] — Project constitution doesn't exist yet (first-time setup).md files in context_modules/ (excluding index.md, log.md)type field is present and has a valid value:Constitution, Persona, Rule, Example, Skillgenerated: { by, at } present (not legacy timestamp)verified is a list format (not bare string)status present (e.g., stable, draft, deprecated)stale_after present (e.g., 180d)[OK] — All concept files have valid type fields and v0.2 families[WARN] — Some files missing v0.2 fields or still carry v0.1 fields (will be migrated in Phase 4){REPO_ROOT}/AGENTS.md (the project-level agent instructions file)<!-- TEAM_AI_DIRECTIVES START --> markerteam-boot invocation directive[OK] — Project AGENTS.md contains a valid team AI directives managed section[WARN] — Project AGENTS.md exists but is missing the managed section (agents won't auto-invoke team-boot)[INFO] — Project AGENTS.md doesn't exist yet (first-time setup)Advisory check — outputs [OK]/[WARN], never [FAIL] (deterministic-checks-first, EVAL-010). A missing guardrail is a finding on its own, not just a mistake's side effect.
{TEAM_AI_DIRECTIVES}/context_modules/rules/ for mechanically-checkable patterns — fixed syntactic shapes, banned APIs, import shapes, file-location rules — that lack a paired deterministic check (unit test, binary grader, pre-commit hook, lint rule, or CI job)Output:
[OK] — every mechanical rule has a paired check; every skill has eval coverage or a stated reason[WARN] — N mechanical rules lack checks; M skills lack eval coverage (promotion candidates → feed to factory-learn Maintenance route / team-levelup Phase 2b, action P)git -C "$TEAM_AI_DIRECTIVES" show-ref --verify --quiet refs/heads/adlcsetup-team.sh --ensure-adlc or create inline)Output:
[OK] — adlc orphan branch exists with drafts/cdr/ and reports/ structure[WARN] — adlc branch missing (auto-created during repair)[INFO] — adlc branch createdPrint verification status for each check:
[OK] — Check passed[FAIL] — Check failed with reason (abort repair)[WARN] — Check passed with warnings (non-blocking)[INFO] — Informational onlyIf any check is [FAIL], print the report, set exit code 1, and STOP. Do not proceed to Phase 1.
[FAIL] on Check 1 or Check 2: the directives framework is effectively absent — agents have nothing to inherit from. Stop and reinstall before repairing.{TEAM_AI_DIRECTIVES}/.skills.json is missing or not valid JSON: skill discovery is broken; agents cannot find team skills even if the files exist.[WARN] on Check 5): the project was bootstrapped without the team AI directives, or the constitution was hand-edited and the inheritance markers were removed.[WARN] simultaneously: systemic drift, usually from a moved .adlc/ directory or a reconfigured team AI directives path. Treat as a [FAIL]-equivalent and re-init.Objective: Resolve paths and validate infrastructure
Run $(dirname "$0")/../team-setup/team-helpers.sh --json (or the PowerShell equivalent) to resolve paths and parse JSON output. The helper scripts are canonical in team-setup and shared by reference:
{
"REPO_ROOT": "/path/to/project",
"TEAM_AI_DIRECTIVES": "/path/to/team-ai-directives",
"BRANCH": "current-branch"
}{REPO_ROOT} is the project root (where .adlc/ lives). Subsequent references use {REPO_ROOT}.
Objective: Ensure team-ai-directives is configured
Check if TEAM_AI_DIRECTIVES has a value from script output.
If empty, STOP:
Team AI directives repository not configured.
Run: /team-setup
Or set: export TEAM_AI_DIRECTIVES=/path/to/team-ai-directivesObjective: Ensure AGENTS.md exists with required structure
Skip if: --index-only or --skills-only flag provided
test -f "{TEAM_AI_DIRECTIVES}/AGENTS.md" && echo "EXISTS" || echo "MISSING"Required sections:
# Agent Instructions (title)## Structure## Loading Order## Functional Categories (Rules)## Using Skills## CDR.mdCheck for each required section:
grep -q "^# Agent Instructions" "{TEAM_AI_DIRECTIVES}/AGENTS.md"
grep -q "^## Structure" "{TEAM_AI_DIRECTIVES}/AGENTS.md"
grep -q "^## Loading Order" "{TEAM_AI_DIRECTIVES}/AGENTS.md"
grep -q "^## Functional Categories" "{TEAM_AI_DIRECTIVES}/AGENTS.md"
grep -q "^## Using Skills" "{TEAM_AI_DIRECTIVES}/AGENTS.md"
grep -qiE "##.*CDR\.md" "{TEAM_AI_DIRECTIVES}/AGENTS.md"| Status | Action |
|---|---|
| Missing | Create from ../templates/agents-template.md |
| Corrupted (missing sections) | Overwrite with template |
| Valid | No changes |
If --dry-run:
### AGENTS.md Status: {MISSING|CORRUPTED|VALID}
**Action**: {Would create|Would overwrite|No changes needed}Otherwise, execute repair:
cp "../templates/agents-template.md" "{TEAM_AI_DIRECTIVES}/AGENTS.md"Store for summary:
{
"agents_md": {
"status": "VALID|CREATED|OVERWRITTEN",
"action": "No changes|Created from template|Re-created from template"
}
}After repairing the team AI directives' own AGENTS.md, also ensure the project-level AGENTS.md (at {REPO_ROOT}/AGENTS.md) contains the team-boot strict-compliance directive. This is what tells agents to invoke team-boot at session start.
If Check 7 returned [WARN] or [INFO], run the injection:
bash "$(dirname "$0")/../team-setup/team-helpers.sh" --inject-agents "{REPO_ROOT}"
# or: pwsh "$(Split-Path $PSCommandPath -Parent)/../team-setup/team-helpers.ps1" -InjectAgents "{REPO_ROOT}"If --dry-run:
### Project AGENTS.md Status: {WARN|INFO}
**Action**: Would inject team AI directives managed section into {REPO_ROOT}/AGENTS.mdOtherwise, execute the injection. The function is idempotent — if the managed section already exists (between <!-- TEAM_AI_DIRECTIVES START --> and <!-- TEAM_AI_DIRECTIVES END --> markers), it replaces the section in place rather than duplicating.
Store for summary:
{
"project_agents_md": {
"status": "VALID|INJECTED|UPDATED",
"action": "No changes|Created with managed section|Updated managed section"
}
}Objective: Find all context modules and extract metadata
Skip if: --skills-only or --agents-only flag provided
find "{TEAM_AI_DIRECTIVES}/context_modules/rules" -name "*.md" -type f 2>/dev/null
find "{TEAM_AI_DIRECTIVES}/context_modules/personas" -name "*.md" -type f 2>/dev/null
find "{TEAM_AI_DIRECTIVES}/context_modules/examples" -name "*.md" -type f 2>/dev/nullSkip constitution.md (not indexed in CDR.md).
For each file, parse YAML frontmatter (OKF v0.2 form after migration):
---
type: Rule
title: Python error handling
description: Python error handling patterns and best practices
tags: [python, error-handling]
resource: ./context_modules/rules/python/error-handling.md
generated: { by: agent:legacy, at: 2026-04-15T00:00:00Z }
id: rule-python-error-handling
cdr_ref: CDR-2026-001
created: 2026-04-15
verified:
- { by: process:team-repair, at: 2026-05-18T00:00:00Z }
status: stable
stale_after: 180d
sources:
- id: commit-abc123
resource: src/errors.py
title: Error handling implementation
---Extraction logic:
------ markersid, cdr_ref, created, type, title, description, tags, generated.at, verified (latest at), statusBefore generating new frontmatter, read the existing CDR.md to find pre-existing CDR references for orphan files.
Parse the CDR.md index table to build a mapping of {relative_file_path → cdr_ref}:
# Read existing CDR.md and extract file path -> CDR reference mappings
CDR_LOOKUP=()
if [[ -f "{TEAM_AI_DIRECTIVES}/CDR.md" ]]; then
while IFS='|' read -r _ id module _ _ _ _ _; do
id="${id// /}"
module="${module// /}"
if [[ -n "$id" && -n "$module" && "$id" =~ ^CDR- ]]; then
CDR_LOOKUP["$module"]="$id"
fi
done < <(grep "| CDR-" "{TEAM_AI_DIRECTIVES}/CDR.md")
fiThis creates an associative array:
context_modules/rules/style-guides/java/google_style_guide.md → CDR-2026-023Files with .md extension but no YAML frontmatter.
For each orphan:
id from filename:rules/, personas/, examples/).md extension, replace / with -, prepend type prefixrules/python/new-pattern.md → strip rules/ → python/new-pattern.md → rule-python-new-patternpersonas/architect.md → strip personas/ → architect.md → persona-architectrules/ → Rulepersonas/ → Personaexamples/ → ExampleTEAM_AI_DIRECTIVES and look it up in CDR_LOOKUP:cdr_refcdr_ref: nulltitle from filename (humanize the basename)description from first paragraph or filenametags from path segments (e.g., rules/python/ → [python])type: {context-type}
title: {generated-title}
description: {generated-description}
tags: {generated-tags}
resource: {relative-path}
generated: { by: agent:team-repair, at: {today}T00:00:00Z }
id: {generated-id}
cdr_ref: {from CDR_LOOKUP or null}
created: {today}
verified:
- { by: agent:team-repair, at: {today}T00:00:00Z }
status: stable
stale_after: 180dIf --dry-run:
### Orphan Files Detected
| File | Generated ID | Existing CDR Ref | Action |
|------|--------------|-----------------|--------|
| rules/python/new-pattern.md | rule-python-new-pattern | CDR-2026-023 | Would add frontmatter (preserving CDR ref) |
| personas/architect.md | persona-architect | null | Would add frontmatter |Otherwise, auto-fix:
For every .md file in context_modules/ (excluding index.md, log.md) that has existing frontmatter, detect and migrate v0.1 fields to v0.2. This runs on every team-repair invocation — no flag, no opt-out.
Migration rules (idempotent — skip if already v0.2):
| Detection | Action |
|---|---|
timestamp: present, generated: absent | Rewrite to generated: { by: agent:legacy, at: <timestamp value> }, delete timestamp |
timestamp: present, generated: present | Delete timestamp (v0.2 takes precedence) |
verified: is a bare string (not a list) | Rewrite to verified: [{ by: process:team-repair, at: <value>T00:00:00Z }] |
evidence: present with entries | Map each entry to sources[] entry (id, resource, title), delete evidence |
evidence: [] (empty list) | Delete field, omit sources |
modified: present | Delete (redundant with generated.at) |
age_days: present | Delete (derived at render time) |
status: absent | Add status: stable |
stale_after: absent | Add stale_after: 180d |
resource: absent | Add from file relative path |
generated already present, no v0.1 fields | Skip (already v0.2) |
Preserve custom fields (id, cdr_ref, created, type, title, description, tags) as-is per OKF §4.1.
If --dry-run:
### v0.1 → v0.2 Migration Preview
| File | Fields Migrated | Fields Added | Fields Removed |
|------|----------------|--------------|----------------|
| rules/security/sql_injection_prevention.md | timestamp→generated, verified→list | status, stale_after, resource | modified, age_days, evidence |Otherwise, rewrite frontmatter in place for each file.
Create index structure:
{
"context_modules": [
{
"file": "context_modules/rules/python/error-handling.md",
"id": "rule-python-error-handling",
"cdr_ref": "CDR-2026-001",
"type": "Rule",
"created": "2026-04-15",
"generated_at": "2026-04-15T00:00:00Z",
"verified_at": "2026-05-18T00:00:00Z",
"status": "stable",
"stale_after": "180d",
"descriptor": "Python error handling patterns and best practices"
}
],
"orphans": [
{
"file": "context_modules/rules/python/new-pattern.md",
"id": "rule-python-new-pattern",
"repaired": true
}
]
}Objective: Find all skills and build manifest entries
Skip if: --index-only or --agents-only flag provided
find "{TEAM_AI_DIRECTIVES}/skills" -mindepth 1 -maxdepth 1 -type dFor each skill directory:
SKILL.md exists (required).skills-entry.json exists (optional)From SKILL.md:
## Categories or ## Trigger Keywords section**Instruction Type**: line{
"local:./skills/{skill-name}": {
"version": "1.0.0",
"description": "{extracted from SKILL.md first paragraph}",
"categories": ["{from SKILL.md}"],
"instruction_type": "{from SKILL.md}"
}
}Skills with SKILL.md but no entry in .skills.json.
If --dry-run:
### Orphan Skills Detected
| Skill | Action |
|-------|--------|
| code-review | Would add to .skills.json |
| deployment | Would add to .skills.json |Otherwise, auto-generate entry.
Entries in .skills.json where skill directory doesn't exist.
Auto-remove invalid entries.
{
"skills": [
{
"name": "code-review",
"path": "skills/code-review/",
"has_skill_md": true,
"has_entry": false,
"repaired": true
}
],
"missing_removed": 1
}Objective: Generate OKF v0.2 per-directory index.md (§8) and log.md (§9) files from scanned context modules, then derive the flat CDR.md table from the index.md data for team-boot system prompt injection.
Skip if: --skills-only or --agents-only flag provided
For each subdirectory (rules/, personas/, examples/) and the context_modules/ root, generate an index.md file in OKF §8 list format.
context_modules/index.md (root — carries okf_version):
---
okf_version: "0.2"
---
# Context Modules
* [Rules](rules/index.md) - Team rules and workflows
* [Personas](personas/index.md) - Team personas
* [Examples](examples/index.md) - Team examplescontext_modules/rules/index.md (per-type catalog):
# Rules
* [Prevent SQL Injection](security/sql_injection_prevention.md) - Standards for preventing SQL injection vulnerabilities across all languages
* [Dependency Injection](architecture/dependency_injection.md) - Dependency injection patterns for maintainable codeEntries are derived from each module's frontmatter title and description. Sort alphabetically by title within each directory. If a module lacks description, derive from first body paragraph.
Personas and Examples follow the same pattern with # Personas and # Examples headings.
For each subdirectory, generate a log.md file in OKF §9 date-grouped format (newest first).
context_modules/rules/log.md:
# Rules Update Log
## 2026-05-23
* **Creation**: Added [Dependency Injection](architecture/dependency_injection.md) — Dependency injection patterns for maintainable code. CDR: CDR-2026-008.
* **Verification**: Verified [SQL Injection Prevention](security/sql_injection_prevention.md). CDR: CDR-2026-021.
## 2026-05-21
* **Creation**: Added [SQL Injection Prevention](security/sql_injection_prevention.md) — Standards for preventing SQL injection. CDR: CDR-2026-021.Log entries are derived from:
git log --diff-filter=A --format="%ai %s" -- <file> for creation datesverified timestamps for verification entrieslog.md content (preserve manual entries, append new)context_modules/log.md (root — aggregate):
# Context Modules Update Log
## 2026-08-12
* **Re-index**: Rebuilt all index.md and log.md files via /team-repair. Rules: {N} files, Personas: {N} files, Examples: {N} files.From the per-directory index.md data + module frontmatter, derive a flat CDR.md table for team-boot system prompt injection.
{TEAM_AI_DIRECTIVES}/CDR.md:
# Context Directive Records (Derived Index)
> ⚠️ Auto-generated by `/team-repair`. Do not edit manually.
> Source of truth: `context_modules/*/index.md` + module frontmatter.
> Decision lifecycle (Accepted/Rejected) lives in project `adlc branch drafts/cdr/`.
## CDR Index
| ID | Path | Type | Description | Generated | Verified | Age | Status |
|----|------|------|-------------|-----------|----------|-----|--------|
| CDR-2026-021 | context_modules/rules/security/sql_injection_prevention.md | Rule | Standards for preventing SQL injection... | 2026-06-14 | 2026-05-21 | 46d | stable |
| rule-frontend-routing | context_modules/rules/frontend/framework/frontend_routing.md | Rule | Client-side routing patterns... | 2026-06-15 | 2026-06-15 | 0d | stable |
**Stats**: {N} entries | Last Updated: {date}Columns:
ID: cdr_ref from frontmatter (or id if cdr_ref is null)Path: relative path from TEAM_AI_DIRECTIVESType: type from frontmatterDescription: description from frontmatter (truncated to 80 chars)Generated: generated.at date (YYYY-MM-DD)Verified: latest verified[].at date (YYYY-MM-DD)Age: days since verified dateStatus: status from frontmatter (or stable if absent)If --dry-run:
### OKF Files Preview
Would write:
- context_modules/index.md ({N} entries)
- context_modules/log.md
- context_modules/rules/index.md ({N} entries)
- context_modules/rules/log.md
- context_modules/personas/index.md ({N} entries)
- context_modules/personas/log.md
- context_modules/examples/index.md ({N} entries)
- context_modules/examples/log.md
- CDR.md ({N} derived entries)Otherwise, write all 9 files.
Objective: Generate fresh .skills.json from scanned skills
Skip if: --index-only or --agents-only flag provided
{
"skills": {
"local:./skills/code-review": {
"version": "1.0.0",
"description": "Review code following team standards and best practices",
"categories": ["review", "quality"],
"instruction_type": "Review"
}
}
}If --dry-run:
### .skills.json Preview
Would write {N} skill entriesOtherwise:
cat > "{TEAM_AI_DIRECTIVES}/.skills.json" << 'EOF'
{generated JSON}
EOFObjective: Scan team-ai-directives rules for contradictions and overlaps.
Skip if: --skills-only, --agents-only, or --freshness flag provided.
Load:
{TEAM_AI_DIRECTIVES}/context_modules/constitution.md{TEAM_AI_DIRECTIVES}/context_modules/rules/**/*.mdConflict levels:
| Level | Pattern | Severity |
|---|---|---|
| Direct Contradiction | must X vs never X | CRITICAL |
| Implicit Contradiction | Numeric/logical impossibility | ERROR |
| Exception Conflict | Base rule vs exception | WARNING |
| Scope Overlap | Overlapping rules | INFO |
| Constitution Conflict | Rule vs principle | CRITICAL |
Use team-levelup/scripts/helpers.sh conflict detection or implement inline:
skills/team/team-levelup/scripts/helpers.sh --conflicts "$TEAM_AI_DIRECTIVES/context_modules/rules"For each conflict, create a CDR in adlc branch drafts/cdr/CDR-{NNN}.md:
## CDR-{NNN}: Resolve Rule Conflict: {title}
### Status
**Discovered**
### Date
{today}
### Source
Rule conflict detection via /team-repair --validate
### Target Module
`context_modules/rules/{domain}/`
### Context Type
Rule
### Context
**Conflict Details**:
- Rule A: {path} — "{statement}"
- Rule B: {path} — "{statement}"
- Type: {critical|error|warning|info}
### Decision
**Proposed Resolution**:
1. Add exception
2. Edit rule to avoid conflict
3. Mark intentional
4. Deprecate one ruleRegenerate the local CDR index.
Handoff: if conflict CDRs created, suggest /team-levelup.
Objective: Update verified timestamps for valid directives and flag stale ones.
Skip if: --skills-only, --agents-only, or --conflicts flag provided.
For each context module file (rules, personas, examples, constitution) and skill SKILL.md:
For each eligible directive:
verified list: { by: process:team-repair, at: {today}T00:00:00Z }generated.at if content changed during this repair runlog.md:* **Verification**: Verified [{Title}](path) — no conflicts detected.Flag directives whose latest verified[].at is older than stale_after (default 180d), or whose status is deprecated.
### Stale Directives
| File | Last Verified | Age | Stale After | Status |
|---|---|---|---|---|
| rules/old-pattern.md | 2026-04-01 | 190d | 180d | stale |Skip if: --update-confidence flag is NOT provided.
Objective: Read usage data from adlc orphan branch, aggregate into
confidence scores, and update OKF frontmatter on main branch.
# Read all project usage files from adlc branch
for file in $(git -C "$TEAM_AI_DIRECTIVES" ls-tree --name-only "$ADLC_BRANCH" "reports/projects/" 2>/dev/null | grep '\.json$'); do
git -C "$TEAM_AI_DIRECTIVES" show "${ADLC_BRANCH}:${file}"
doneMerge all project JSONs, calculate:
usage_count: sum of matched across projectsapply_count: sum of applied across projectssuccess_rate: apply_count / usage_countlast_used: most recent last_used across projectstrend: rising (used in last 7 days), stable (last 30 days), falling (>30 days)projects: list of project namesWrite to adlc branch: reports/confidence-scores.json.
For each CDR in confidence-scores.json:
cdr_refconfidence: block in YAML frontmatterAdd Confidence and Usage columns to the derived CDR.md table.
Objective: Identify directives that are no longer needed because baseline models handle them natively. This is the "Harness Decay" mechanism — run evals without directives; if the model passes independently, the directive is a candidate for removal.
Skip if: --build-to-delete flag is NOT provided.
This phase makes LLM calls — it runs goldenset cases against the agent to test whether directives are still needed.
Read all goldenset directories from {TEAM_AI_DIRECTIVES}/evals/:
ls -1 "$TEAM_AI_DIRECTIVES/evals/" 2>/dev/nullFor each {directive-id} directory, read:
evals/{directive-id}/goldset.md — human-readable casesevals/{directive-id}/goldset.json — machine-readable casesIf no goldensets exist, report: "No evals found — run /team-levelup to create eval CDRs first." and skip this phase.
For each goldenset, identify its paired directive:
paired_directive from the goldenset frontmattercontext_modules/ (e.g., rules/security/sql_injection_prevention.md)For each directive+eval pair:
cases_passed / total_cases| Pass Rate | Verdict | Recommendation |
|---|---|---|
| 100% | Delete candidate | Model handles this natively — directive is obsolete |
| 80-99% | Review candidate | Model mostly handles it — consider simplifying the directive |
| < 80% | Keep | Model still needs the directive |
For every Keep (and Review candidate) verdict, ask the complementary promote-to-check question (EVAL-010): can a deterministic check (unit test / binary grader / pre-commit hook / lint rule / CI job) mechanically enforce this rule? If yes, it is a Promotion candidate — pay once for a check instead of re-injecting a fuzzy rule into every session.
## Build to Delete Report
### Candidates for Removal (model passes 100% without directive)
| Directive | Eval | Pass Rate | Recommendation |
|---|---|---|---|
| rules/security/sql_injection.md | evals/CDR-001/ | 100% (6/6) | Delete — model handles this natively now |
### Review Candidates (80-99%)
| Directive | Eval | Pass Rate | Recommendation |
|---|---|---|---|
| rules/devops/helm_packaging.md | evals/CDR-008/ | 83% (5/6) | Simplify — model mostly handles it, 1 case failed |
### Still Needed (< 80%)
| Directive | Eval | Pass Rate | Recommendation |
|---|---|---|---|
| rules/style/python_pep8.md | evals/CDR-015/ | 40% (2/5) | Keep — model still needs guidance |
### Promotion Candidates (Keep, but check-enforceable)
| Directive | Eval | Pass Rate | Proposed Check |
|---|---|---|---|
| rules/architecture/import_boundaries.md | evals/CDR-011/ | 55% (3/5) | Promote to pre-commit lint rule — file-location pattern is mechanical |For each Delete candidate (100% pass rate), create a CDR in adlc branch drafts/cdr/CDR-{NNN}.md:
## CDR-{NNN}: Delete Directive: [Title]
### Status: **Discovered**
### Date: [YYYY-MM-DD]
### Source: Build to Delete via /team-repair --build-to-delete
### Target Module: `context_modules/rules/{domain}/{file}.md` + `evals/{directive-id}/`
### Context Type: Constitution Amendment
### Descriptor: Directive is obsolete — model handles natively without the rule.
### Context
The directive `{title}` was tested by running its goldenset cases without the directive loaded.
The model passed 100% of cases (N/N), indicating the baseline model now handles this pattern natively.
The directive is a candidate for Harness Decay removal.
### Decision
Delete both the directive file and its paired eval goldenset.
### Evidence
- Directive: context_modules/rules/{domain}/{file}.md
- Eval: evals/{directive-id}/goldset.md
- Pass rate: 100% (N/N cases passed without the directive)
- Test date: [YYYY-MM-DD]Regenerate the local CDR index. Handoff: suggest /team-levelup to review deletion candidates.
For each Promotion candidate, create a CDR in adlc branch drafts/cdr/CDR-{NNN}.md:
## CDR-{NNN}: Promote Directive to Deterministic Check: [Title]
### Status: **Discovered**
### Date: [YYYY-MM-DD]
### Source: Build to Delete via /team-repair --build-to-delete
### Target Module: `context_modules/rules/{domain}/{file}.md`
### Context Type: Rule
### Descriptor: Rule is mechanically enforceable — promote to a deterministic check.
### Context
The directive `{title}` survived build-to-delete (model still needs it, pass rate < 100%),
but its pattern is mechanical — a deterministic check (unit test / binary grader /
pre-commit hook / lint rule / CI job) can enforce it without session context.
### Decision
Build the deterministic check. Once it exists and runs in CI, deprecate the CDR
or reduce it to a thin pointer (`enforced by <check path>`). Route to
`/team-levelup` action **P — Promote to check** (Phase 2b).
### Evidence
- Directive: context_modules/rules/{domain}/{file}.md
- Proposed check vehicle: [unit test | grader | pre-commit | lint | CI job]
- Pass rate without directive: N% (M/K cases) — rule still needed
- Test date: [YYYY-MM-DD]Regenerate the local CDR index again. Handoff: suggest /team-levelup to review promotion candidates (action P).
Objective: Validate draft decision records in .adlc/drafts/ for structural completeness — required frontmatter fields, required body sections, and valid enum values. This is a read-only validation mode — no files are created, modified, or deleted.
Skip if: --validate-drafts flag is NOT provided.
This phase makes NO LLM calls — it is purely mechanical file parsing and validation, like a linter.
Scan all files in the following draft directories relative to {REPO_ROOT}:
.adlc/drafts/adr/
.adlc/drafts/pdr/
.adlc/drafts/chdr/
adlc branch drafts/cdr/
.adlc/drafts/evals/For each directory, list all *.md files. If a directory does not exist, skip it silently (not an error — that draft type simply has no drafts).
If no draft files are found in any directory, report: "No draft files found in .adlc/drafts/ — nothing to validate." and skip this phase.
For each draft file, parse YAML frontmatter (between --- delimiters) and verify the following required fields are present:
| Field | Required | Valid Values | Notes |
|---|---|---|---|
status | Yes | proposed, accepted, rejected, deferred, superseded, discovered | Case-insensitive match |
date | Yes | Any non-empty string (expected YYYY-MM-DD) | Must not be empty or placeholder |
type | Yes | decision, product, pattern, incident, workaround, constraint, abandoned, eval | Case-insensitive match |
evidence | Yes | confirmed, inferred, unknown | Case-insensitive match |
source | Yes | Any non-empty string | Origin of the draft (skill name, session, etc.) |
revisit-when | Yes (present) | Empty string, N/A, or any non-empty string | Field must exist; value can be empty or N/A |
For each missing or invalid field, record:
After frontmatter, validate that the following required body sections are present as Markdown headings:
| Section | Required | Notes |
|---|---|---|
## Context (or ### Context) | Yes | Must exist as a heading |
## Decision (or ### Decision) | Yes | Must exist as a heading |
## Rejected Alternatives (or ### Rejected Alternatives) | Yes | Must exist as a heading |
## Reason (or ### Reason) | Yes | Must exist as a heading |
Heading level flexibility: accept ## or ### (or even ####) for each section. Match by heading text (case-insensitive, trimmed).
For each missing section, record:
For draft files where type is decision or abandoned, the ## Rejected Alternatives (or ### Rejected Alternatives) section must not be empty. "Empty" means:
For each violation, record:
## Draft Validation Report
**Date**: {date}
**Mode**: VALIDATE ONLY (no modifications)
### Summary
| Metric | Count |
|--------|-------|
| Draft directories scanned | {n} |
| Draft files validated | {n} |
| Files with errors | {n} |
| Files with warnings | {n} |
| Files passing validation | {n} |
| Total findings | {n} |
### Findings
| Severity | File | Line | Issue |
|----------|------|------|-------|
| Error | .adlc/drafts/adr/ADR-301.md | 3 | Missing required field: evidence |
| Error | .adlc/drafts/adr/ADR-301.md | 0 | Missing required body section: Reason |
| Error | .adlc/drafts/pdr/PDR-005.md | 7 | Invalid status value: 'draft' — expected one of: proposed, accepted, rejected, deferred, superseded, discovered |
| Warning | adlc branch drafts/cdr/CDR-010.md | 15 | Rejected Alternatives section is empty for decision type — must list at least one rejected alternative |
{If no findings:}
> **All draft files passed validation — no issues found.**/architect-clarify for ADRs, /product-clarify for PDRs, /change-clarify for ChDRs, /team-levelup for CDRs).## Team Repair Summary
**Date**: {date}
**Team Directives**: {path}
**Mode**: {DRY RUN|LIVE}
### AGENTS.md Repair
| Status | Action |
|--------|--------|
| {VALID|CREATED|OVERWRITTEN} | {No changes needed|Created from template|Re-created from template} |
### OKF index.md + log.md + CDR.md Repair
| Action | Count |
|--------|-------|
| Files scanned | {n} |
| v0.1→v0.2 migrated | {n} |
| index.md files rebuilt | {n} |
| log.md files rebuilt | {n} |
| CDR.md derived entries | {n} |
| Orphans repaired | {n} |
| Missing removed | {n} |
### .skills.json Repair
| Action | Count |
|--------|-------|
| Skills scanned | {n} |
| Valid entries | {n} |
| Orphans repaired | {n} |
| Missing removed | {n} |
### Conflict Scanning
| Metric | Count |
|---|---|
| Conflicts detected | {n} |
| Conflict CDRs created | {n} |
| Critical | {n} |
| Error | {n} |
| Warning | {n} |
| Info | {n} |
### Freshness Verification
| Metric | Count |
|---|---|---|
| Directives updated | {n} |
| Stale directives (>30d) | {n} |
| Skipped (has conflicts) | {n} |
### Draft Validation
| Metric | Count |
|--------|-------|
| Draft files validated | {n} |
| Files with errors | {n} |
| Files with warnings | {n} |
| Files passing validation | {n} |
| Total findings | {n} |
{If --validate-drafts was not run:}
> **Note**: Draft validation not run (use `--validate-drafts` to validate .adlc/drafts/)
### Files Modified
| File | Change |
|------|--------|
| {file} | {change description} |
{If --dry-run:}
> **Note**: Dry run mode - no files were modified
### Next Steps
1. Review repaired files
2. If conflict CDRs were created, run `/team-levelup` to resolve them
3. Commit changes if satisfied--dry-run to preview changes without writing--index-only, --skills-only, or --agents-only for specific targets--validate runs conflict scan + freshness; --conflicts and --freshness run each separately--validate-drafts validates .adlc/drafts/{adr,pdr,chdr,cdr,evals}/ — read-only, no modifications (like --build-to-delete, it only reports findings)| Rationalization | Reality |
|---|---|
| "The indexes look fine — no need to reindex." | Orphaned files and missing frontmatter are invisible without a full directory scan. |
| "I'll just hand-edit CDR.md to add the missing row." | Manual edits drift from actual content; a rebuild guarantees the index matches the filesystem. |
| "Dry run is unnecessary — just write the changes." | A dry run surfaces unexpected orphans and null CDR refs before any file is mutated. |
| "AGENTS.md looks valid, so I'll skip Phase 2." | Missing sections can be subtle (e.g., a renamed heading). Validation is cheap and idempotent. |
| "Skipping Step 5 — the project AGENTS.md is not my job." | The team AI directives' own AGENTS.md describes structure; the project-level AGENTS.md is what tells agents to invoke team-boot at session start. Without it, the directives remain invisible. |
| "I can skip the CDR_LOOKUP step for orphans." | Without the lookup, existing CDR refs are lost and orphaned entries get cdr_ref: null, breaking traceability. |
| "I'll just jump to the repair — no need for a health check first." | Phase 0 exists precisely because an unhealthy framework makes repairs dangerous or meaningless. Run it. |
"A [WARN] on Phase 0 is basically an [OK]." | Warnings are non-blocking for exit code but often signal drift that becomes a [FAIL] later. Track warnings across runs. |
cdr_ref: null when an existing CDR_LOOKUP entry exists — this silently severs the audit trail between a context module and its accepted CDR record..skills.json entries without parsing the actual SKILL.md — fabricated descriptions and categories make skills unsearchable and misrepresent capabilities.TEAM_AI_DIRECTIVES is empty — operating without a configured repository writes to undefined paths and corrupts the wrong workspace.AGENTS.md describes its structure, but the project-level AGENTS.md is what tells agents to invoke team-boot at session start. Without it, agents have no session-start instruction and the team AI directives remains invisible until manually loaded.[FAIL]) before any repair is attempted.{TEAM_AI_DIRECTIVES}/AGENTS.md and contains all six required sections.AGENTS.md at {REPO_ROOT}/AGENTS.md contains the <!-- TEAM_AI_DIRECTIVES START --> managed section with the event-hook awareness note, fallback team-boot invocation, Class Boots catalog, Team Context in Use output contract, and compact Decision Capture triggers..md files (excluding constitution.md).context_modules/{rules,personas,examples}/ has YAML frontmatter with a non-empty id field.cdr_ref in orphan frontmatter matches the pre-existing CDR lookup (no regression to null where a prior ref existed).SKILL.md has a corresponding entry in .skills.json..skills.json entry references a skill directory that does not exist on disk.--validate.--validate-drafts was run: every draft file in .adlc/drafts/{adr,pdr,chdr,cdr,evals}/ was scanned and findings reported (if any).--validate-drafts was run: no files in .adlc/drafts/ were created, modified, or deleted (validation-only, read-only mode).--validate-drafts was run: draft validation findings include file path, line number, and issue description for each finding.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.team-ai-directives/ relative to project root.../team-setup/team-helpers.sh / ../team-setup/team-helpers.ps1 — Shared scripts (canonical in team-setup) used for path resolution.Factor XI (Directives as Code) — maintains integrity of version-controlled team directives.
© tikalk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in skills/team/team-repair of tikalk/adlc-team-skills.
Open the folder on GitHubat commit 4c4ad44
Team Repair next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Team Repair this skilltikalk/adlc-team-skills | 141 | — | ~13k | Automated safety check: Pass | MIT | |
| Trellis Session Insightmindfold-ai/Trellis | 15k | 4 repos | ~1.7k | Automated safety check: Pass | AGPL-3.0 | |
| Openspec Verify ChangeFission-AI/OpenSpec | 71k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Warp Factory Fileswarpdotdev/warp | 65k | 1 repos | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Migrate Core Code to Submodulestinyhumansai/openhuman | 42k | — | ~2.6k | Automated safety check: Pass | GPL-3.0 | |
| Analyze Logsactivepieces/activepieces | 25k | 1 repos | ~1.6k | Automated safety check: Pass | MIT |
mindfold-ai/Trellis
Reach into past AI conversation history through the trellis mem CLI.
Fission-AI/OpenSpec
Verify implementation matches OpenSpec change artifacts. An agent skill from Fission-AI/OpenSpec.
warpdotdev/warp
Authors and edits file-based Warp software factory definitions rooted at factory.yaml, covering agents, automations, scorers and webhooks, and validates them before a pull request.
tinyhumansai/openhuman
Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.
activepieces/activepieces
Analyze application logs from the .evlog/logs/ directory. An agent skill from activepieces/activepieces.
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
tikalk/adlc-team-skills
A skill your agent uses when a session starts or resumes after compaction (auto via the sessionstart and sessioncompact event hooks) and the team AI directives context — constitution, CDR index…
tikalk/adlc-team-skills
A skill your agent uses when ADRs need review, gaps need filling, or ADR status must be approved as Accepted before architecture generation.
tikalk/adlc-team-skills
A skill your agent uses when reviewing, accepting, rejecting, or deferring ChDRs mined by change-init, validating inferred decisions against their git and issue evidence before promotion to project…
tikalk/adlc-team-skills
A skill your agent uses when you want guided mining of git history, structured change-story clustering, or comprehensive rationale recovery before documenting.
tikalk/adlc-team-skills
A skill your agent uses when accepted ChDRs are ready for promotion from drafts to project memory at docs/adlc/memory/chdr/ and the boot-facing chdr.md index needs regenerating.
tikalk/adlc-team-skills
A skill your agent uses when evaluation results need triage and loop-closing — spec failures route to deterministic checks or context rules, generalization failures to the evaluator backlog.
Categories
A skill your agent uses when indexes are inconsistent, orphans are detected, after bulk changes to team-ai-directives, or for periodic directives health validation; --build-to-delete proposes rules…. Team Repair is an agent skill from tikalk/adlc-team-skills.adlc/drafts/ without modifying them.
Team Repair fits situations like: indexes are inconsistent; orphans are detected; after bulk changes to team-ai-directives; for periodic directives health validation.
Run `npx skills add tikalk/adlc-team-skills --skill team-repair -a claude-code`. Or copy the skill folder (skills/team/team-repair in tikalk/adlc-team-skills) into .claude/skills/team-repair in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tikalk/adlc-team-skills --skill team-repair -a codex`. Or copy the skill folder (skills/team/team-repair in tikalk/adlc-team-skills) into .agents/skills/team-repair in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tikalk/adlc-team-skills --skill team-repair -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/team-repair, .gemini/skills/team-repair, .github/skills/team-repair and .opencode/skills/team-repair in your project.
Going by SKILL.md and its folder, Team Repair needs a shell and PowerShell for the scripts in its folder and the command-line tools its instructions call (git and bash). Our summary lists: A Bash shell; PowerShell.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Team Repair is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 13k tokens (SKILL.md is roughly 51k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Team Repair: Trellis Session Insight (mindfold-ai/Trellis, 15k stars), Openspec Verify Change (Fission-AI/OpenSpec, 71k stars), Warp Factory Files (warpdotdev/warp, 65k stars) and Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tikalk (a GitHub organization) maintains it in tikalk/adlc-team-skills, which has 141 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 8, 2026.
Source: tikalk/adlc-team-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.