Back to skills
SkillHub ClubRun DevOpsDevOpsFull StackIntegration

workflow-reconciliation

A sophisticated workflow reconciliation tool that systematically detects and fixes state drift in plugin development workflows with clear 5-phase orchestration and robust error handling.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
162
Hot score
96
Updated
March 20, 2026
Overall rating
A8.0
Composite score
6.8
Best-practice grade
A92.0

Install command

npx @skill-hub/cli install glittercowboy-plugin-freedom-system-workflow-reconciliation
workflow-managementstate-reconciliationgit-workflowplugin-developmentautomation

Repository

glittercowboy/plugin-freedom-system

Skill path: .claude/skills/workflow-reconciliation

A sophisticated workflow reconciliation tool that systematically detects and fixes state drift in plugin development workflows with clear 5-phase orchestration and robust error handling.

Open repository

Best for

Primary workflow: Run DevOps.

Technical facets: DevOps, Full Stack, Integration.

Target audience: Plugin developers using the Freedom System workflow, especially those working with multi-stage plugin development and state management.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: glittercowboy.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install workflow-reconciliation into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/glittercowboy/plugin-freedom-system before adding workflow-reconciliation to shared team environments
  • Use workflow-reconciliation for devops workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: workflow-reconciliation
description: Reconcile workflow state files to ensure checkpoints are properly updated. Use when state files are out of sync, after subagent completion without handoff, when switching workflows, or when user runs /reconcile command.
---

# workflow-reconciliation

Detect current workflow context, validate state file currency, and remediate gaps to prevent checkpoint amnesia.

## When to Invoke This Skill

- User explicitly runs `/reconcile [PluginName?]`
- Other skills detect state drift (plugin-workflow, ui-mockup)
- After subagent completion if handoff file missing
- When switching between workflows

**NOT invoked** for normal checkpoint completion (plugin-workflow handles that internally). ONLY for detected drift or explicit /reconcile command.

## Core Responsibilities

<orchestration_pattern>
  This skill follows a 5-phase pattern:

  1. Context Detection → Identify workflow, stage, plugin
  2. Rule Loading → Load expected state for workflow+stage
  3. Gap Analysis → Compare filesystem vs expected state
  4. Report Generation → Show gaps with proposed fixes
  5. Remediation → Execute user's chosen fix strategy

  <progress_tracking>
    Copy this checklist to track reconciliation progress:

    ```
    Reconciliation Progress:
    - [ ] Phase 1: Context Detection
    - [ ] Phase 2: Rule Loading
    - [ ] Phase 3: Gap Analysis
    - [ ] Phase 4: Report Generation
    - [ ] Phase 5: Remediation Execution
    ```
  </progress_tracking>
</orchestration_pattern>

## Phase 1: Context Detection

<context_detection enforcement="blocking">
  <required_analysis>
    Detect current workflow context by analyzing:

    <detection_method priority="1" source=".continue-here.md">
      IF .continue-here.md exists in current plugin directory:
        - Extract YAML frontmatter (workflow, stage, status, phase)
        - This is authoritative source of workflow state
    </detection_method>

    <detection_method priority="2" source="PLUGINS.md">
      IF plugin name provided as argument:
        - Read PLUGINS.md entry for plugin
        - Extract status emoji (💡 Ideated, 🚧 Stage N, ✅ Working, 📦 Installed)
    </detection_method>

    <detection_method priority="3" source="filesystem_analysis">
      IF no handoff file found:
        - Analyze files created/modified in session
        - Infer workflow from file patterns:
          - .ideas/creative-brief.md → plugin-ideation
          - .ideas/mockups/v*-ui.html → ui-mockup
          - Source/*.cpp changes + CHANGELOG.md → plugin-improve
          - plugins/*/CMakeLists.txt → plugin-workflow (Stage 1+)
    </detection_method>
  </required_analysis>

  <validation>
    BEFORE proceeding to gap analysis:
    - MUST identify workflow name
    - MUST identify current stage/phase
    - MUST identify plugin name (if workflow is plugin-specific)

    IF unable to detect context: BLOCK with error showing detected values and suggest providing plugin name.
  </validation>
</context_detection>

## Phase 2: Rule Loading

<reconciliation_rules>
  <rule_loading>
    1. Use jq to extract ONLY needed section from assets/reconciliation-rules.json
       - Example: `jq '.["plugin-workflow"].stages["2"]' reconciliation-rules.json`
       - Do NOT load entire 90-line file into context
    2. Lookup workflow name from context detection
    3. Lookup stage (for plugin-workflow) or phase (for other workflows) from context detection
    4. Extract reconciliation rule for current workflow + stage/phase
    5. If workflow not found in reconciliation-rules.json: BLOCK with error "Unknown workflow: {name}"
  </rule_loading>

  <rule_application>
    For current workflow and stage, validate:
    - All state_files exist and are current
    - All required_files exist
    - PLUGINS.md status matches expected
    - Git commit exists for this stage completion
  </rule_application>
</reconciliation_rules>

## Phase 3: Gap Analysis

<gap_analysis enforcement="blocking">
  <validation_sequence enforce_order="true">
    <check order="1" category="contract_immutability" required="true">
      For contract files (.ideas/*.md):
        - Check if workflow is plugin-workflow AND stage is 1, 2, or 3
        - If YES: WARN user that contracts are immutable during implementation
        - Suggest completing current stage or rolling back to Stage 0
        - BLOCK remediation of contract files during Stages 1-3
    </check>

    <check order="2" category="file_existence" required="true">
      Use parallel Read tool calls to check all required_files simultaneously.
      For each required_file in reconciliation rule:
        - Check file exists at expected path (relative to plugins/{PluginName}/)
        - Example: CMakeLists.txt → plugins/{PluginName}/CMakeLists.txt
        - Record as GAP if missing
    </check>

    <check order="3" category="state_file_currency" required="true">
      Read .continue-here.md YAML frontmatter:
        - Extract: stage, phase, status, workflow, last_updated
        - Compare to detected context
        - Record as GAP if mismatch

      Read PLUGINS.md entry for plugin:
        - Extract status emoji
        - Compare to expected status from reconciliation rule
        - Record as GAP if mismatch
    </check>

    <check order="4" category="git_status" required="true">
      Run git status:
        - Identify unstaged changes (modified, deleted)
        - Identify staged but uncommitted changes
        - Identify untracked files matching required_files pattern
        - Record as GAP if uncommitted changes exist
    </check>
  </validation_sequence>

  <gap_aggregation>
    Aggregate all gaps into structured report:
    {
      "file_existence_gaps": [
        {"file": "CMakeLists.txt", "status": "missing", "expected_path": "plugins/{PluginName}/CMakeLists.txt"}
      ],
      "state_currency_gaps": [
        {"file": ".continue-here.md", "field": "stage", "current": "2", "expected": "3"}
      ],
      "git_status_gaps": [
        {"file": "Source/PluginProcessor.cpp", "status": "modified", "staged": false}
      ]
    }
  </gap_aggregation>

  <validation>
    MUST complete all 4 check categories before generating report.
    IF any check fails to execute: BLOCK with error.
  </validation>
</gap_analysis>

## Phase 4: Report Generation

<reconciliation_report>
  <report_generation>
    1. Aggregate gap analysis results
    2. Generate proposed actions based on gaps found
    3. Format report with visual dividers
    4. Display report to user
  </report_generation>

  <checkpoint_protocol>
    After displaying report, MUST present decision menu and WAIT.

    <decision_menu format="inline_numbered_list" forbidden_tool="AskUserQuestion">
      Present options based on gap severity:

      <menu_options category="no_gaps_found">
        1. All good - return to workflow (recommended)
        2. Show me the state files anyway
        3. Force reconciliation (update timestamps)
        4. Other
      </menu_options>

      <menu_options category="minor_gaps" condition="only_timestamp_drift">
        1. Fix automatically - Update timestamps and commit
        2. Show me the diffs first
        3. Update .continue-here.md only
        4. Skip reconciliation
        5. Other
      </menu_options>

      <menu_options category="major_gaps" condition="missing_files_or_uncommitted">
        1. Fix everything automatically - Create/update files and commit
        2. Show me the diffs first - Preview before committing
        3. Fix files only (no commit) - Update files but don't commit
        4. Update .continue-here.md only - Minimal checkpoint
        5. Skip reconciliation - I'll handle manually
        6. Other
      </menu_options>

    </decision_menu>

    <blocking_wait>
      WAIT for user response - NEVER auto-proceed.
    </blocking_wait>
  </checkpoint_protocol>
</reconciliation_report>

## Phase 5: Remediation Execution

<remediation_strategies>
  <shared_error_handling>
    For all strategies: If git operations fail, display error and return to decision menu. For persistent issues, suggest /research.
  </shared_error_handling>

  Based on user's menu choice, execute appropriate strategy:

  <strategy id="fix_everything_automatically">
    1. Update all state files with current context
    2. Create missing required files (if possible)
    3. Stage all changes: git add [files]
    4. Commit with workflow-appropriate message
    5. Verify commit succeeded: git log -1 --oneline
    6. Confirm completion
  </strategy>

  <strategy id="show_diffs_first">
    1. For each file to be updated: show clear diff preview
    2. Wait for user confirmation
    3. Return to decision menu with modified options:
       - Proceed with commit
       - Abort reconciliation
       - Other
  </strategy>

  <strategy id="fix_files_only">
    1. Update state files (.continue-here.md, PLUGINS.md)
    2. Verify files written successfully and YAML is valid
    3. Do NOT stage or commit
    4. Confirm files updated
  </strategy>

  <strategy id="update_handoff_only">
    1. Update .continue-here.md with current context
    2. Verify file written successfully and YAML is valid
    3. Leave other files unchanged
    4. Confirm minimal checkpoint complete
  </strategy>

  <strategy id="skip_reconciliation">
    1. Exit without changes
    2. Warn user to reconcile manually before workflow resume
  </strategy>
</remediation_strategies>

## Reference Files

- [reconciliation-rules.json](assets/reconciliation-rules.json) - Workflow-specific expectations (includes commit message templates)
- [handoff-formats.md](references/handoff-formats.md) - .continue-here.md structure per workflow
- [reconciliation-examples.md](assets/reconciliation-examples.md) - Example reports and outputs

## Success Criteria

Reconciliation succeeds when:

**State Files**:
- .continue-here.md exists with current workflow, stage/phase, and timestamp
- PLUGINS.md status emoji matches expected state for current stage
- All required_files from reconciliation rule exist at expected paths

**Git Status**:
- No uncommitted workflow artifacts (all tracked files clean or committed)
- No staged but uncommitted changes
- Latest commit message follows workflow-appropriate convention

**Workflow Continuity**:
- Workflow can resume without context loss
- No checkpoint amnesia at workflow boundaries
- State files pass reconciliation-rules.json validation
workflow-reconciliation | SkillHub