Direction Picker
nexu-io/open-design
Resolves the visual direction at the plan stage from the brief and design system, without asking the user.
Project guide direction line via three-horizon fusion. An agent skill from jongwony/epistemic-protocols.
$ npx skills add jongwony/epistemic-protocols --skill realign -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jongwony/epistemic-protocols realign --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/jongwony/epistemic-protocols.git skills-src && mkdir -p .claude/skills && cp -r skills-src/epistemic-cooperative/skills/realign .claude/skills/realign && 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 "realign" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/epistemic-cooperative/skills/realign into .claude/skills/realign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "realign", 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/jongwony/epistemic-protocols/tree/main/epistemic-cooperative/skills/realignType 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 jongwony/epistemic-protocols --skill realign -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jongwony/epistemic-protocols realign --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .agents/skills && cp -r skills-src/epistemic-cooperative/skills/realign .agents/skills/realign && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "realign" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/epistemic-cooperative/skills/realign into .agents/skills/realign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "realign", 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 jongwony/epistemic-protocols --skill realign -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jongwony/epistemic-protocols realign --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/epistemic-cooperative/skills/realign .cursor/skills/realign && 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 "realign" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/epistemic-cooperative/skills/realign into .cursor/skills/realign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "realign", 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/jongwony/epistemic-protocols.git --path epistemic-cooperative/skills/realign--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 jongwony/epistemic-protocols --skill realign -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jongwony/epistemic-protocols realign --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/epistemic-cooperative/skills/realign .gemini/skills/realign && 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 "realign" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/epistemic-cooperative/skills/realign into .gemini/skills/realign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "realign", 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 jongwony/epistemic-protocols realignInstalls 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 jongwony/epistemic-protocols --skill realign -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .github/skills && cp -r skills-src/epistemic-cooperative/skills/realign .github/skills/realign && 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 "realign" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/epistemic-cooperative/skills/realign into .github/skills/realign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "realign", 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 jongwony/epistemic-protocols --skill realign -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jongwony/epistemic-protocols realign --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jongwony/epistemic-protocols.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/epistemic-cooperative/skills/realign .opencode/skills/realign && 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 "realign" agent skill from https://github.com/jongwony/epistemic-protocols/tree/main/epistemic-cooperative/skills/realign into .opencode/skills/realign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "realign", 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.
realignProject guide direction line via three-horizon fusion. An agent skill from jongwony/epistemic-protocols.
Realign is an agent skill from jongwony/epistemic-protocols. Project guide direction line via three-horizon fusion. Invoke with /realign.
Its SKILL.md is about 7.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Epistemic protocols for Claude Code — structure human-AI interaction quality at every decision point - https://epistemic-protocols.com. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit af5aa79. 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.
Shell commands in SKILL.md call:
gitFrom 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.
Realign loads about 7.2k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 2,326 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); files beside SKILL.md are not scanned.
The full file from jongwony/epistemic-protocols at commit af5aa79, republished under its MIT licence (© jongwony). 2,326 words, ~7,153 tokens.
.claude/skills/realign/SKILL.md (or your agent's skills folder).Project Direction Horizon Fusion — when the user wants the project guide's direction line to remain a faithful fusion of (i) what is currently inscribed, (ii) what externally surfaced direction signals jointly testify, and (iii) what the user presently pre-understands the project to be doing, scan and elicit each horizon, propose a fused candidate with a per-horizon transformation trace, shape the candidate through dialectical exchange, and write the confirmed line back to the project guide. Type: (HorizonsUnfused, AI, INDUCE-with-fusion, ThreeHorizons) → FusedDirection.
Invoke directly with /realign when the project guide's current direction line no longer fuses with the external work landscape and the user's present sense of the project.
Realign (Periagoge specialization, "fusing horizons"): A dialogical act of resolving the unfusion of three horizons — the project guide's currently inscribed direction, externally surfaced direction signals from configured channels, and the user's present pre-understanding — into a single recognized direction line, where AI scans the inscribed direction and the configured channels, elicits the user's pre-understanding as a separate horizon (not as an attribute list of the channel signals), composes a fusion candidate with a per-horizon trace marking what was preserved, what was transformed, and what was dropped in each horizon, shapes the candidate through dialectical moves, and inscribes the confirmed line back to the project guide. Direction mutation belongs to the user's per-step verdict and final confirmation acts.
This skill is a Periagoge family extension. Generic Periagoge (/induce) crystallizes an unnamed essence from an instance set into a session-text abstraction. Realign narrows the instance axis to three named horizons (each independently surfaced) and extends the output axis with a fusion trace plus a writable project-guide line update. The dialectical triangulation core is preserved (Phase 2 candidate shaping carries its own widen / narrow / fuse / reorient / confirm / dismiss vocabulary, defined in this file at Phase 2 and in LOOP), but the pre-shaping step adds a verifiable per-horizon fusion trace and the post-confirmation step adds a write that crosses the preserves/mutates boundary that /induce itself respects.
Horizon-fusion discipline: An additive paste that appends the user's pre-understanding to the inscribed direction line as a clause is not horizon fusion — it is an addendum. Fusion requires that any of the three horizons may be transformed or dropped in service of the fused candidate; the per-horizon trace surfaces this explicitly so the user can verify that no horizon was preserved by silent default. The constraint applies symmetrically: the inscribed line is not privileged over the external signals or the user's pre-understanding, and vice versa.
Pre-understanding elicitation discipline: The user's pre-understanding is a separate horizon, not a derivation from the surfaced channel signals. Phase 1's pre-understanding sub-step elicits the user's present sense of the project as a free utterance before the channel-derived fusion candidate is composed; conflating the channel attribute list with the user's pre-understanding collapses two horizons into one and produces a fused candidate that fails the symmetry condition above.
Self-referential consistency: When the project guide whose direction line is the write target prescribes principles that this skill's prose should also follow (for example, the project-agnostic discipline of this skill's vocabulary), the skill's own SKILL.md must satisfy those principles. This is not a chicken-and-egg paradox but a fixed point: the user's act of confirming the fused candidate is what guarantees the consistency between the candidate and the principles it is expected to satisfy.
Invoke this skill when:
Skip when:
/probe)/induce directly)| Skill | Subject | Operation | Output | Persistence |
|---|---|---|---|---|
/probe | Deficit recognition fit review | RECOGNIZE | ProtocolRoute or FitReviewNote | Session text |
/induce | Abstraction crystallization | INDUCE | CrystallizedAbstraction | Session text |
/realign | Three-horizon fusion of project guide direction | INDUCE-with-fusion | FusedDirection or NoFusionNote | Project guide direction line |
The skill family coexists by subject and persistence — none replaces the others. Realign is for keeping the project guide's direction line a faithful fusion of three horizons; the other skills serve forward-looking or in-conversation needs.
Determine the audit scope before scanning. Two decisions:
{ open issues, pull-request reviews including bot reviews, closed disposition trajectory, current session utterances }; the user may add, remove, or substitute channelsIf the user invocation does not specify scope, present a Constitution interaction soliciting the two decisions before proceeding to Phase 1. If scope is fully specified, accept it and proceed. The project guide path is not bound at Phase 0 — substrate discovery for Horizon A happens within Phase 1 (the inscribed-direction surfacing sub-step) so that the binding can absorb the convention-inference and ambiguity-resolution work without pre-formalization at scope time.
Surface each of the three horizons independently before composing any fusion candidate.
Horizon A — inscribed direction: Search the project's substrate for the inscribed direction. Convention-inferred candidate guides (for example, CLAUDE.md, AGENTS.md, README.md at the project root); within each candidate, enumerated marker headers (for example, Northstar, Mission, Vision, Direction, Statement of Intent) plus an Emergent slot for project-specific markers. If a single candidate × marker pair is found, present it as Horizon A. If multiple candidates or markers are found, present them as a Constitution interaction so the user constitutes which pair is Horizon A (and therefore the Phase 3 write target). If nothing is found, Horizon A is empty — the fusion still proceeds with Horizons B and C, and the user is invited to designate a path × marker for the Phase 3 write target during Phase 2 shaping or Phase 3 approval. The --guide=<path> invocation argument, when supplied, overrides convention-inference and binds Horizon A directly to the given path; the marker is then either auto-detected within the file or supplied by --direction-marker=<header>.
Horizon B — external-signals direction: Scan the configured channels and aggregate the direction-bearing signals; the aggregation is a structured summary, not a fusion candidate.
Horizon C — user pre-understanding: Elicit the user's present pre-understanding of the project's direction as a free utterance. This sub-step is a separate Constitution interaction; it precedes any fusion candidate so the user's pre-understanding is recorded independently of the channel-derived summary. The interaction makes explicit that an attribute list of the channel signals is not a substitute — what is requested is the user's own present sense of the project.
After all three horizons are surfaced, compose a fusion candidate and a per-horizon transformation trace. The trace marks, for each horizon, which content was preserved into the candidate, which content was transformed, and which content was dropped. Each entry cites the originating horizon excerpt so the user can verify the trace is faithful.
Phase 1 emits the surfaced horizons and the candidate-with-trace as text output. The candidate becomes the input to Phase 2.
Present the candidate-with-trace and propose AI verdict before yielding turn for user constitution:
AI proposed move: <Confirm | Widen(axis) | Narrow(axis) | Fuse(adjacent) | Reorient(axis) | Dismiss> — one-paragraph justification: which horizon contributions the candidate balances, which were transformed under the proposal, and why the proposal dominates alternatives at this step.
Then present the dialectical Constitution interaction:
How does the fused candidate need to be shaped?
Options:
1. Confirm — the candidate fuses the three horizons faithfully; carry forward to Phase 3 integration
2. Widen(axis) — broaden the candidate along the named axis; specify the axis
3. Narrow(axis) — restrict the candidate along the named axis; specify the axis
4. Fuse(adjacent) — fuse with an adjacent abstraction; specify the adjacent reference
5. Reorient(axis) — turn the candidate onto an orthogonal axis; specify the new axis
6. Dismiss — the candidate is not a faithful fusion; exit without writeEach shaping move regenerates the candidate-with-trace and re-presents Phase 2. The loop continues until V = Confirm or V = Dismiss or attempt cap is reached.
When V = Confirm, present the final fused line and the per-horizon trace for user approval:
Fused direction line:
<fused_line>
Per-horizon trace:
Horizon A (inscribed direction): <preserved | transformed | dropped excerpts>
Horizon B (external signals): <preserved | transformed | dropped excerpts>
Horizon C (user pre-understanding): <preserved | transformed | dropped excerpts>
Write target: <project_guide_path> (single direction line)
Rollback: git revert / git checkoutThen propose AI disposition before yielding turn for user constitution: AI proposed disposition: <Approve | Modify | Reject | Defer> — one-paragraph rationale referencing the trace, write target, and rollback path.
Then present the final approval Constitution interaction:
How would you like to proceed with the fused line?
Options:
1. Approve — write the fused line to <write_target>, replacing the existing direction line
2. Modify — adjust the fused line before write (specify how)
3. Reject — discard the fused candidate; the existing direction line remains unchanged; emit NoFusionNote
4. Defer — emit the fused line and trace as a session-text artifact without writingAfter response:
After integration, log the disposition. The write (Approve) closes the loop — the fused line becomes the new prejudgment baseline for the next /realign invocation against the same project guide.
── FLOW ──
Realign(scope) → Phase0(scope, user_confirm) →
scoped(scope): Bind(Horizon_A, Qc) → Surface(Horizon_A, Horizon_B) → Elicit(Horizon_C, Qc) →
Compose(candidate, trace) → present(candidate, trace) → Qc(shape) → Stop → V →
Confirm: Phase3
Widen(axis) | Narrow(axis) | Fuse(adjacent) | Reorient(axis): regenerate(candidate, trace) → re-present Phase 2
Dismiss: emit(NoFusionNote) → converge
Phase3: present(fused_line, trace, write_target, rollback) → Qc(approve) → Stop → A →
Approve: Write(fused_line, project_guide) → emit(FusedDirection)
Modify(adjustments): regenerate(candidate, trace) → re-present Phase 3
Reject: emit(NoFusionNote) → no write
Defer: emit(FusedDirectionDraft) → no write
converge
── MORPHISM ──
ThreeHorizons
→ resolve_scope(user_confirm) -- Phase 0 scope determination (channels, cross_session)
→ bind(Horizon_A, user_confirm) -- Phase 1 inscribed-direction binding (convention-inferred path × marker, disambiguated when ambiguous, empty when nothing inscribed)
→ surface(Horizon_A, Horizon_B) -- Phase 1 inscribed direction + external-signals direction
→ elicit(Horizon_C, user) -- Phase 1 user pre-understanding (separate Constitution interaction)
→ compose(candidate, trace) -- Phase 1 fusion candidate + per-horizon transformation trace
→ present(candidate, V) -- Phase 2 dialectical shaping
→ [V = Confirm: Phase 3; V = shape-move: regenerate; V = Dismiss: NoFusionNote]
→ present(fused_line, trace, A) -- Phase 3 final approval
→ [A = Approve: write(fused_line, project_guide); else: no write]
→ emit(FusedDirection | NoFusionNote | FusedDirectionDraft)
-- inscription on Approve, session text on other dispositions
→ FusedDirection | NoFusionNote | FusedDirectionDraft
requires: horizons_unfused(scope) ∧ scope_resolved(user)
deficit: HorizonsUnfused
preserves: ProjectGuideHistory -- read-only audit; horizons are derived
invariant: Recognition over Direction-Mutation, Fusion over Addendum
-- ProjectGuideDirectionLine is mutated at Phase 3 Approve;
-- mutation is gated by Phase 3 Constitution final approve;
-- rollback is git operation on the project guide
── TYPES ──
Scope = { channels: Set(Channel), cross_session: Bool }
Channel ∈ { OpenIssues, PullRequestReviews, ClosedDispositionTrajectory, CurrentSessionUtterances } ∪ Emergent
BindingSource ∈ { ExplicitArg, ConventionInferenceUnique, UserDisambiguation, EmptyInscription }
Horizon ∈ { InscribedDirection, ExternalSignalsDirection, UserPreUnderstanding }
HorizonContent = { horizon: Horizon, content: String, citations: List(String) }
HorizonRole ∈ { Preserved, Transformed, Dropped }
TraceEntry = { horizon: Horizon, role: HorizonRole, excerpt: String }
FusionCandidate = { line: String, trace: List(TraceEntry) }
V = ShapingMove ∈ { Confirm, Widen(axis), Narrow(axis), Fuse(adjacent), Reorient(axis), Dismiss }
A = ApprovalDisposition ∈ { Approve, Modify(adjustments), Reject, Defer }
FusedDirection = session text { fused_line, trace, write_path, rollback_hint }
NoFusionNote = session text { surfaced_horizons, dismissed_candidate, dismiss_reason }
FusedDirectionDraft = session text { fused_line, trace, suggested_apply_path }
Phase ∈ {0, 1, 2, 3}
── SCOPE-BINDING ──
bind(scope) = explicit_arg ∪ defaults
Priority: explicit_arg > defaults
/realign --channels=<set> → Scope.channels = <set>
/realign --cross-session → Scope.cross_session = true
/realign --guide=<path> → Optional Phase 1 Horizon_A override (binds the inscribed-direction path directly, bypassing convention-inference)
/realign --direction-marker=<hdr> → Optional Phase 1 Horizon_A override (binds the inscribed-direction marker header within the chosen path)
/realign (alone) → Scope.channels = default set; Scope.cross_session = false; Horizon_A is resolved by Phase 1 convention-inference with Constitution disambiguation when ambiguous
When Phase 0 defaults are inferred, Phase 0 surfaces them in the scope-confirmation Constitution interaction so the user can override before scan begins.
── PHASE TRANSITIONS ──
Phase 0: scope_seed → resolve_defaults → Qc(scope_confirm) → Stop → Scope -- scope determination [Tool]
Phase 1: Scope → InferGuide(convention) → Qc(horizon_a_bind) → Stop → (path, marker) -- Horizon_A binding (skipped when --guide / --direction-marker fully specify) [Tool]
(path, marker) → Read(path, marker) → Horizon_A -- inscribed direction (empty when nothing inscribed) [Tool]
Scope → Scan(channels) → Horizon_B -- external-signals direction [Tool]
Qc(pre_understanding) → Stop → Horizon_C -- user pre-understanding (separate gate) [Tool]
Compose(Horizon_A, Horizon_B, Horizon_C) → candidate, trace -- fusion candidate + trace
Phase 2: present(candidate, trace) → Qc(shape) → Stop → V → integrate -- dialectical shaping [Tool]
V ∈ {Widen, Narrow, Fuse, Reorient} → regenerate(candidate, trace) → Phase 2 re-entry
V = Dismiss → emit(NoFusionNote) → converge
V = Confirm → Phase 3
Phase 3: present(fused_line, trace, write_target, rollback) → Qc(approve) → Stop → A -- final Constitution interaction [Tool]
A = Approve → Write(fused_line, project_guide) → emit(FusedDirection)
A = Modify → regenerate(candidate, trace) → Phase 3 re-entry
A = Reject → emit(NoFusionNote)
A = Defer → emit(FusedDirectionDraft)
── LOOP ──
Phase 2 shaping loop max 5 iterations. Exhausted: surface assembled candidate as FusedDirectionDraft (defer) → converge.
Phase 3 Modify re-entry max 3 iterations. Exhausted: surface assembled candidate as FusedDirectionDraft (defer) → converge.
Convergence evidence: per disposition, emit one of {FusedDirection, NoFusionNote, FusedDirectionDraft}.
── CONVERGENCE ──
fused = ∃ step ∈ history : V(step) = Confirm
approved = A ∈ {Approve, Reject, Defer}
written = A = Approve ∧ write_succeeded
session_text(realign) ∋ {FusedDirection | NoFusionNote | FusedDirectionDraft}
── TOOL GROUNDING ──
-- Realization: Constitution → TextPresent+Stop; Extension → TextPresent+Proceed
Phase 0 resolve_defaults (sense) → Internal analysis (default channel set assembly)
Phase 0 scope_from_arg (extension) → TextPresent+Proceed (when explicit_arg fully specifies scope; proceed with bound scope; Phase 3 Modify re-entry can adjust)
Phase 0 Qc (constitution) → present (scope confirmation; when scope partially or fully inferred)
Phase 1 InferGuide (sense) → Internal analysis (convention-inferred guide candidate set × enumerated direction markers + Emergent slot)
Phase 1 Qc (constitution) → present (Horizon A binding; constitutive user pair selection when convention-inference returns multiple candidates × markers; relayed when convention-inference returns a unique pair or when --guide / --direction-marker fully specifies)
Phase 1 Read (observe) → Read (inscribed direction at the bound path × marker; empty Horizon A when nothing inscribed is acceptable input to fusion)
Phase 1 Scan (observe) → Read / Grep / Bash (channel substrates per channel kind: open issues, pull-request reviews, closed disposition trajectory, current session utterances)
Phase 1 Qc (constitution) → present (user pre-understanding; constitutive user utterance; conflation with channel attribute list is the failure mode this gate is designed to prevent)
Phase 1 Compose (sense) → Internal analysis (fusion candidate + per-horizon transformation trace; horizons are not privileged against each other; addendum patterns are surfaced as preserved-with-no-transformation traces for user verification)
Phase 2 present (extension) → TextPresent+Proceed (candidate-with-trace pre-gate)
Phase 2 Qc (constitution) → present (dialectical shaping; constitutive user verdict per shaping step; widen / narrow / fuse / reorient / confirm / dismiss vocabulary defined at Phase 2 of this file)
Phase 2 integrate (track) → Internal Λ update (shaping-move recording; candidate regeneration on shape moves)
Phase 3 present (extension) → TextPresent+Proceed (fused line + trace + write target + rollback pre-gate)
Phase 3 Qc (constitution) → present (final approval; writable side effect; user authority required)
Phase 3 Write (transform) → Write / Edit (fused line replaces existing direction line in project guide; Approve disposition only)
Phase 3 emit (extension) → TextPresent+Proceed (FusedDirection or NoFusionNote or FusedDirectionDraft, per disposition)
converge (extension) → TextPresent+Proceed (convergence evidence trace)
── MODE STATE ──
Λ = { phase: Phase, scope: Scope,
horizon_a_binding: { path: Optional(Path), marker: Optional(String), source: BindingSource },
Horizon_A: HorizonContent, Horizon_B: HorizonContent, Horizon_C: HorizonContent,
candidate: Optional(FusionCandidate),
shaping_history: List<(FusionCandidate, V)>, shape_iterations: Nat, modify_iterations: Nat,
fused_line: Optional(String), write_path: Optional(Path),
disposition: Optional(A), active: Bool, cause_tag: String }
── COMPOSITION ──
*: product — (D₁ × D₂) → (R₁ × R₂). Realign composes with `/probe` upstream when a probe disposition routes to /realign. Realign composes with `/induce` laterally when an in-conversation abstraction crystallization references the project guide direction (the crystallized abstraction may be inscribed to the direction line via a subsequent /realign invocation). Composition targets are determined at runtime by disposition and session context, not by a pre-committed structural registry — Realign is a utility skill, not a core protocol.Read paths:
cross_session = trueWrite paths:
git revert or git checkout); a separate timestamped backup is not created because the project guide is expected to be under version control./realign invocation. Layer 1/Layer 2 separation is enforced.git revert or git checkout on the direction line. The rollback hint is surfaced in the Phase 3 Constitution interaction so the user knows the rollback path before approving (Rule 5 reinforcement).© jongwony, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in epistemic-cooperative/skills/realign of jongwony/epistemic-protocols.
Open the folder on GitHubat commit af5aa79
Realign 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 |
|---|---|---|---|---|---|---|
| Realign this skilljongwony/epistemic-protocols | 173 | — | ~7.2k | Automated safety check: Pass | MIT | |
| Direction Pickernexu-io/open-design | 100k | — | ~472 | Automated safety check: Warn | Apache-2.0 | |
| Frontend Design Directionaffaan-m/ECC | 275k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Horizon Trackruvnet/ruflo | 74k | — | ~744 | Automated safety check: Notes | MIT | |
| Direction Attributethedaviddias/Front-End-Checklist | 74k | — | ~534 | Automated safety check: Pass | MIT | |
| Configuring Horizoncoollabsio/coolify | 63k | 4 repos | ~898 | Automated safety check: Pass | MIT |
nexu-io/open-design
Resolves the visual direction at the plan stage from the brief and design system, without asking the user.
affaan-m/ECC
Set an ECC-specific frontend design direction for production UI work.
ruvnet/ruflo
Track long-horizon objectives across multiple sessions with milestone checkpoints, progress persistence, and drift detection
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing templates, rendered HTML, or shared components related to Set text direction for RTL languages.
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
autonomous-ai/openharness
Create and revise a usable brand identity and coordinated launch materials from a business brief, using the Forme project and the person's own artwork, text and production requirements.
jongwony/epistemic-protocols
This skill should be used when the user asks to "run the outcome eval", "paired bare vs protocol", "which decisions did the protocol surface", "count what the AI asked or presented", "does /inquire…
jongwony/epistemic-protocols
This skill should be used when the user asks to "run the eval", "test whether the protocol actually works at runtime", "check type realization", "measure protocol fulfillment", "run the…
jongwony/epistemic-protocols
This skill should be used when the user asks to "verify protocols", "check consistency before commit", "validate definitions", "run pre-commit checks", "verify soundness", or wants to ensure…
jongwony/epistemic-protocols
This skill should be used when the user asks to "audit plugin encapsulation", "check self-containment semantics", "find contributor-knowledge assumptions", or invokes /encapsulation.
jongwony/epistemic-protocols
This skill should be used when the user asks to "formal review", "formal lens review", or invokes /formal-review.
jongwony/epistemic-protocols
The user vaguely recalls something discussed before but cannot name it — one session, or a line of work, topic, or settled concept across several: find it in past records to recognize.
Project guide direction line via three-horizon fusion. An agent skill from jongwony/epistemic-protocols. Realign is an agent skill from jongwony/epistemic-protocols. Project guide direction line via three-horizon fusion.
Run `npx skills add jongwony/epistemic-protocols --skill realign -a claude-code`. Or copy the skill folder (epistemic-cooperative/skills/realign in jongwony/epistemic-protocols) into .claude/skills/realign in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jongwony/epistemic-protocols --skill realign -a codex`. Or copy the skill folder (epistemic-cooperative/skills/realign in jongwony/epistemic-protocols) into .agents/skills/realign 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 jongwony/epistemic-protocols --skill realign -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/realign, .gemini/skills/realign, .github/skills/realign and .opencode/skills/realign in your project.
Going by SKILL.md and its folder, Realign needs the command-line tools its instructions call (git).
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. Review the folder before installing.
Realign is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.2k tokens (SKILL.md is roughly 29k 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 Realign: Direction Picker (nexu-io/open-design, 100k stars), Frontend Design Direction (affaan-m/ECC, 275k stars), Horizon Track (ruvnet/ruflo, 74k stars) and Direction Attribute (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jongwony (a GitHub user) maintains it in jongwony/epistemic-protocols, which has 173 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 8, 2026.
Source: jongwony/epistemic-protocols on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.