architecture
Use when the user asks to improve architecture, find refactoring opportunities, surface deepening opportunities, consolidate…
Use this skill when the user wants to reconcile learnings into rules, run /reconcile, propose rules from learnings, turn learnings into .claude/rules/ entries, or review what rules would be generated from current session learnings. On-demand version of session-end Phase 3.6.8.
Claude Code
$ npx -y skills add Kanevry/session-orchestrator --skill reconcile --agent claude-code
Codex
$ npx skills add Kanevry/session-orchestrator --skill reconcile -a codex -y
Cursor
$ npx skills add Kanevry/session-orchestrator --skill reconcile -a cursor -y
Gemini CLI
$ npx skills add Kanevry/session-orchestrator --skill reconcile -a gemini-cli -y
GitHub Copilot
$ npx skills add Kanevry/session-orchestrator --skill reconcile -a github-copilot -y
OpenCode
$ npx skills add Kanevry/session-orchestrator --skill reconcile -a opencode -y
Windsurf
$ npx skills add Kanevry/session-orchestrator --skill reconcile -a windsurf -y
name: reconcile
user-invocable: true
argument-hint: "[--dry-run]"
tags: [learning, rules, intelligence, meta]
model: sonnet
model-preference: sonnet
model-preference-codex: gpt-5.4-mini
model-preference-cursor: claude-sonnet-4-6
args-schema:
- flag: --dry-run
description: "Print proposals without writing anything or rendering the approval AUQ"
description: >
Use this skill when the user wants to reconcile learnings into rules, run /reconcile, propose
rules from learnings, turn learnings into .claude/rules/ entries, or review what rules would be
generated from current session learnings. On-demand version of session-end Phase 3.6.8.> **Platform Note:** State files use the platform's native directory: `.claude/` (Claude Code), `.codex/` (Codex CLI), or `.cursor/` (Cursor IDE). Shared metrics live in `.orchestrator/metrics/`. See `skills/_shared/platform-tools.md`.
The user invoked `/reconcile` with arguments: **$ARGUMENTS** — parsed in Phase 1.3 below.
**Engine seams used:** `runReconcile` (engine.mjs) · `writeApprovedRules` (writer.mjs) · `reconcile` config block · `.claude/rules/` write target.
On-demand version of the session-end Phase 3.6.8 reconciliation flow. Turns eligible learnings from `.orchestrator/metrics/learnings.jsonl` into proposed `.claude/rules/<slug>.md` entries, presenting each batch of 4 to the coordinator via AUQ multiSelect for operator approval before any file is written. Advisory-only — rules are NEVER auto-applied.
The AUQ multiSelect is the mandatory gate; there is no bypass.
on any eligible learning that would produce an `alwaysApply: true` rule — the engine structurally cannot emit always-on rules. This invariant is enforced upstream, not by this skill.
them in the idempotency sidecar only. The only module that writes `.claude/rules/` is `writer.mjs`, and only AFTER the operator approves proposals via AUQ.
`.orchestrator/runtime/reconcile-candidates.jsonl` is a mutable work-queue whose only sanctioned writer is `mergeCandidates` (`scripts/lib/reconcile/idempotency.mjs`); it is not a scratch pad, and no report, analysis run, or agent may append to it by hand. A hand-written record there corrupts downstream readers — the session-start reconcile nudge banner derives "last run" from `created_at`, so a foreign-shaped record makes a non-empty store report *no reconcile run on record*. Candidate analyses and dry-run reports write their findings to `docs/reconcile/<date>-<topic>.md`, never into the store. (Since 2026-07-31 a read-side shape guard drops records lacking `learning_key`/`created_at` and `mergeCandidates` reports the count as `skipped` — that guard is a backstop, not a licence.)
`.orchestrator/metrics/reconcile-verdicts.jsonl` resolves against the MAIN checkout (`resolveEventsLedgerRoot`) and sits beside `learnings.jsonl`, so it shares that file's tracking (vault: tracked, needs `merge=union`; this repo: host-local). Verdict lines come from `mergeCandidates`, once per terminal DECISION (`rejected`, `expired-swept`), and from `markCandidateProcessed` when a decision is stamped over a kept `written` / `already-on-disk` record (the merge keeps that record, so it cannot mirror the decision); the branch-scoped `written` / `already-on-disk` / outcome-less records stay out, because the tracked rule file's provenance marker already witnesses them across trees. After a non-dry merge the engine appends one run line with the learnings count it loaded; run recency comes from run lines only. A learning is terminal when the sidecar OR the ledger OR a `.claude/rules/` provenance marker says so. Code never rewrites the ledger; the only sanctioned hand edit is a deliberate re-open of a declined learning, and it must cover EVERY checkout: remove the learning's verdict lines from the ledger in the main checkout AND its record from the sidecar of the main checkout and of every linked worktree — otherwise the next merge in a worktree whose sidecar still holds the terminal `rejected` record appends it to the ledger again (backfill). Ceiling: a `/reconcile` in a linked worktree of the vault appends to the main checkout's tracked ledger — an uncommitted change there, committed by the vault's replica sync.
writer seams as the automatic session-end reconciliation phase — operator experience is consistent, and any fixes to the engine benefit both paths.
on-demand command and runs regardless of `reconcile.enabled`. It still honours `rule-expiry-days` and `confidence-floor` from the `reconcile` config block.
---
Read `skills/_shared/bootstrap-gate.md` and execute the gate check. If the gate is CLOSED, invoke `skills/bootstrap/SKILL.md` and wait for completion before proceeding. If the gate is OPEN, continue to Phase 1.
<HARD-GATE> Do NOT proceed past Phase 0 if GATE_CLOSED. There is no bypass. Refer to `skills/_shared/bootstrap-gate.md` for the full HARD-GATE constraints. </HARD-GATE>
---
Read and parse Session Config per `skills/
Your coding agents get an agreed plan, a check after each round of changes and a handover to the next session. A free, MIT-licensed workflow plugin for people running Claude Code, Codex CLI, Cursor IDE or Pi on a git repository.
Use when the user asks to improve architecture, find refactoring opportunities, surface deepening opportunities, consolidate…
Use this skill when running an autonomous session-orchestration loop. Chains session-start → session-plan → wave-executor →…
Use this skill when scaffolding the minimum repository structure required by session-orchestrator. Invoked automatically by the…
Use when you have a feature idea but the scope or UX is still ambiguous — runs a lightweight Socratic design dialogue (3-5 AUQ…
Use when detecting drift between CLAUDE.md (or AGENTS.md, the Codex CLI alias) / _meta narrative and live repository state. Ten…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.