verify-bidirectional
A skill that immediately updates the baseline and reflects it in the next session when the user raises a counter-argument to an AI recommendation.
Skill by chrono-meta
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/chrono-meta-verify-bidirectional
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/verify-bidirectional
What's inside
- Skill name
verify-bidirectional- Description
- A skill that immediately updates the baseline and reflects it in the next session when the user raises a counter-argument to an AI recommendation. Triggered by "is that right?", "re-examine this", "something seems off here". Explicit /verify-bidirectional call also possible.
- License
- MIT
- Instructions
- 339 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (1)
- SKILL.md
SKILL.md (first lines)
# verify-bidirectional — Bidirectional Self-Validation Automation
Automates the processing procedure for bidirectional self-validation. Three stages: user counter-argument → baseline update → next session reflection.
## Trigger Conditions
Immediately **after** this harness AI recommendation/agreement/decision is committed, when the user raises a refinement challenge:
1. **Proposition refinement**: "isn't it more like..." / "I'd say..." / "what about this" / "what's the root?"
2. **Baseline grep trigger**: User cross-references own assets, memory, CLAUDE.md rules, past decisions
3. **Meta-level trigger**: "if you have objections" / "double-check" / "essence" / "root cause"
4. **Side validation result**: User runs independent tools (`/skills` · `gh` · external fetch) → catches mismatch with this harness AI hypothesis
### Natural Language Triggers (works without internal vocabulary)
Also triggered in external user environments by these natural language phrases:
| Phrase | Intent |
|---|---|
| "is that right?", "re-examine this" | Request AI recommendation re-validation |
| "something seems off", "this doesn't feel right" | Counter-argument / refinement |
| "I think you said something different before" | Catch inconsistency with past decisions |
| "can you be more precise?" | Proposition refinement trigger |
| "what's your basis?", "why do you think that?" | Baseline grep trigger |
| "check that one more time" | Self-validation request |
### 🟥 5. Prescriptive doctrine statement — the category that fell through (added 2026-08-16)
Every trigger above is shaped as **doubt about a claim**. A large class of operator correction is not
doubt at all — it is a **standing rule being handed over**, stated as fact or instruction:
| Shape | Real examples (2026-08-16 session) |
|---|---|
| *"X should also include Y"* | *"입장리뷰에는 정적리뷰뿐만 아니라 **동적리뷰도 포함되어야 할 거야**"* |
| *"the real point of X is Z"* (redefining, not doubting) | *"부스팅보다 인큐베이터의 장점은 그 레포 전체를 감싸서 …**모든 것을 조작할 수 있는 권한**이 있는 거야"* |
| *"isn't this too late / wrong-ordered?"* (rhetorical, expects agreement) | *"이 실패가 CI 확인 단계에서야 발견되는 건 매우 **늦은 게 아닐까**"* |
| *"from now on, do W at Z"* | *"앞으로도 마감할 때 그 갈래로 이어갈 수 있게 **알아서 정리해줘**"* |
**Why these were missed 4 times out of 4** — they sit in the blind spot between the triggers (which
expect a *challenge*) and the Exceptions below (which release a *simple correction* with "no
review"). A doctrine statement is neither: it does not dispute a claim, and it is not a one-off fix
to apply and forget. Treated as the exception, it gets a verbal acknowledgment and evaporates at
session end. **Measured**: four such statements in one session, all acknowledged in conversation,
**zero landed in any file** until a later review grepped for them and found nothing.
**The tell is grammatical, and it is language-independent** — the listed phrases above are all
English interrogatives, which is why a Korean declarative (`~해야 할 거야` · `~인 거야` · `~아닐까`)
matched none of them. Do not fix this by appending more literals (Grep-Collision Treadmill, P10);
the discriminator is: **does this utterance describe how I should behave from now on, rather than
what is wrong with this one output?** If yes, it is this category regardless of language or phrasing.
**Required action** — an acknowledgment is not compliance. The statement must land **in a file** in
the same session: canon (`CLAUDE.md` / `knowledge/`) if it governs future behavior, memory if it is
about this operator, a signal file if it needs a decision first. Then say WHERE it landed, so the
operator can see it did.
**Exceptions** (this skill does NOT apply):
- Simple user correction ("this is wrong, redo it") = direct negation → immediate correction (no review).
⚠️ **Not the same as category 5 above** — "redo this" is scoped to one output; "from now on do X"
is a standing rule. When both readings fit, take it as category 5: over-landing costs a file edit,
under-landing loses the rule entirely.
- This harness AI self-catch (no external counter-argument) = `fact-checker` rule (narrow 1 / broad N+1)
## Execution Steps
### Step 1. Immediate Baseline Update Channel Processing
Treat user's statement as **external refinement material**. **Do NOT attempt to defend against it** — acknowledge possibility of partial weakening or correction of initial recommendation.
Core proposition: "refinement challenge ≠ fundamental negation". Priority is identifying where the initial recommendation is weakened.
**Evidence gate (overwrite ≠ soften)** — closes the sycophancy/steering vector where a bare assertion
("that's wrong, re-examine") flips a baseline with zero evidence (judge-robustness swarm, 2026-06-13).
"Do NOT defend" still holds for *this conversation's proposition* (anti-stubbornness is the point), but a
**persistent-baseline overwrite** (a rule, asset, memory, or `knowledge/` claim — anything that outlives
this session) requires a **supporting basis**, not mere pushback:
- **(a)** the user cited a file / line / commit / URL / past decision **and the cited content actually
supports the challenge** — verified by *reading it*, not by its mere existence (an irrelevant-but-real
citation is the out-of-context-grounding trap, the same vector phantom-quench guards), **or**
- **(b)** the Step 2 grep returns an actual contradiction that *supports the challenge* (not just any
conflict with the original) — surfaced literally.
If a baseline overwrite is implied but **neither holds**, do not silently rewrite: verdict is **ESCALATE**
— surface *"this would overwrite baseline {X} with no cited evidence; confirm override, or provide a
source?"* and block the Step 4 cascade until the operator answers. Softening a local in-conversation
proposition (no persistent asset changed) proceeds as before — the gate fires only on persistent-baseline
writes. **Sequencing**: this gate is written in Step 1, but Step 4 is what enumerates affected persistent
assets — so if Step 4 later identifies *any* persistent asset to write, **re-apply this gate before Step
4.5** even if the original challenge first looked like a mere soften. This is **not** restored AI defensiveness: the AI still does not argue the user is wrong; it only
declines to *fabricate a baseline change* the evidence does not support (mirror of the steel-quench/phantom
mechanical-anchor principle — judged verdicts bind to evidence).
### Step 2. Consistency Area Grep (3-step mandatory)
Grep to find which rules, assets, or propositions conflict with the initial recommendation:
**Scope priority**:
1. `memory feedback_*.md` (especially operating model rules — meta principles, warning lines)
2. `CLAUDE.md` Sync/Push Protocol, asset ownership table
3. `tracks/*/learnings/feedback_*.md` — this harness AI's own rules
4. `knowledge/shared/harness-core/*.md` — higher-level framework
**Mandatory grep keywords** (baseline consistency guard):
- "drift" · "asset ownership" (CLAUDE.md)
- Asset names, abbreviations, identifiers explicitly stated in user's message
**External users**: Replace with your own environment's baseline keywords (prioritize asset names, abbreviations, identifiers from user's message).
### Step 3. Fact-Checker Self-Catch Mark
Mark the corrected weakened proposition as a fact-checker self-catch:
```
fact-checker self-catch #N (narrow 1 / broad N+1)
- This harness AI initial recommendation: {summary}
- Refinement challenge: {user's statement}
- Corrected recovery: {updated proposition}
- Consistency rule: {grep result}From chrono-meta/forge-harness, MIT.
More from chrono-meta/forge-harness
- 0.651score
persona-cast
chrono-meta
One-line doorway that lets a field harness review an artifact (a screen, a spec, a PR, a page) through a pre-built cast of review-shaped personas — web-review…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
cross-ecosystem-synergy-detection
chrono-meta
Automatically discovers useful combinations (synergy pairs) across multiple installed plugins and skills, and presents them as a ranked table.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
meta-prompt-builder
chrono-meta
Generates structured prompts to send to each agent in an agent dispatch plan.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
deliberation
chrono-meta
Multi-perspective synthesis structure — Innovator (propose) → Devil-Advocate (challenge) → Mediator (synthesize) 3-layer execution.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
return-path-gate
chrono-meta
Audits SKILL.md files in plugins/ for return-path gate compliance.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
video-ingest
chrono-meta
Ingests a video's content (YouTube and similar) for agent context, routing by capability, task need, and video length — a natively multimodal engine (Gemini…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
pipeline-conductor
chrono-meta
Chains the four core FH verification pipelines (harvest-loop → steel-quench → phantom-quench → sim-conductor) into a single gated sweep.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-plan
chrono-meta
Prepare stage of QP — builds a surface inventory of a web page or desktop app (routes, menus, forms, dialogs), checks it is MECE (no overlap, nothing missing…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-run
chrono-meta
Automation stage of QP — executes the test cases from qp-plan against the live app through the session's adapter (Playwright MCP for web, computer-use MCP for…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
convergence-loop
chrono-meta
A universal gate-reinforcement meta-skill that replaces the "single-pass = done" pattern with a converging loop of up to N rounds.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
token-budget-gate
chrono-meta
Estimates token cost before a multi-step task and outputs a 4-tier Green/Yellow/Orange/Red gate verdict.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
contention-layer
chrono-meta
When two skills, agents, or independent research tracks produce conflicting verdicts on the same output, reads the conflict as a signal rather than an error…
SkillAFreshness: A★ 30Claude Code +9
Signals
- Stars
- 30
- Forks
- 1
- Open issues
- 2
- Last commit (this folder)
- Sep 30, 2026 (28 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/chrono-meta/forge-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from chrono-meta
- 0.651score
persona-cast
chrono-meta
One-line doorway that lets a field harness review an artifact (a screen, a spec, a PR, a page) through a pre-built cast of review-shaped personas — web-review…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
cross-ecosystem-synergy-detection
chrono-meta
Automatically discovers useful combinations (synergy pairs) across multiple installed plugins and skills, and presents them as a ranked table.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
meta-prompt-builder
chrono-meta
Generates structured prompts to send to each agent in an agent dispatch plan.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
video-ingest
chrono-meta
Ingests a video's content (YouTube and similar) for agent context, routing by capability, task need, and video length — a natively multimodal engine (Gemini…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
return-path-gate
chrono-meta
Audits SKILL.md files in plugins/ for return-path gate compliance.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-plan
chrono-meta
Prepare stage of QP — builds a surface inventory of a web page or desktop app (routes, menus, forms, dialogs), checks it is MECE (no overlap, nothing missing…
SkillAFreshness: A★ 30Claude Code +9
Cite this page
verify-bidirectional skill. Agent Mart. https://agentmart.dev/skills/chrono-meta-verify-bidirectional (last updated 2026-10-24)