Comparison Prototype
Apply to explicit
or executable
comparison/
requests.
Do not auto-apply to
production implementation
or conversational exploration.
Accept a
, idea, screenshot,
,
, code, or design reference as input.
Write under
.tigerkit/prototypes/<slug>/
unless a temporary
/
is more
useful. Create parent directories only when needed, replace atomically when possible, and
do not automatically archive or edit
. Warn if the
path is tracked.
실행 전 temporary path, data boundary, verification question 또는 variant 선택이 필요하면 host별 native structured question surface를 우선 사용합니다 (Claude Code: AskUserQuestion; Codex: request_user_input; Hermes: clarify). unavailable하면 같은 확인을 plain chat으로 fallback하고 실행 후 비교 보고에는 question surface를 호출하지 않습니다.
Workflow
hypothesis/success criteria
: Derive measurable criteria from the idea, reference,
and verification question.
- : Inspect repository preflight and select the existing
toolchain/UI stack/component/token, temporary path, artifact ownership, and
integration boundary.
- : Create 2–3 s or a using realistic example I/O.
- : Execute the selected / and capture actual output or screenshots
and command results.
Record each run under
with the following receipt fields. Do not summarize the
command; record the exact executed values.
text
Command: <exact command and arguments>
CWD: <absolute worktree or route path>
Exit code: <integer>
Output: <bounded summary or absolute output path>
Artifact: <absolute path | none>; ownership: run-owned | pre-existing
Screenshot: <absolute path | N/A>; actual inspection: yes | no | N/A
- : Map evidence to criteria and summarize verified differences, unverified
items, and the next decision. If the parent contract records ,
retain the run-owned absolute and actual image inspection under
, and expose a bounded handoff containing , the
criterion, evidence directory, and producer . This proves the
comparison, not an official runtime verdict.
- : Render the applicable sections under the output contract below;
do not add a separate provenance/status block.
For unresolved UI comparisons, create 2–3 switchable, genuinely different rendered
alternatives. Do not change only colors; vary information architecture, flow, hierarchy,
navigation, or feedback. For logic, prefer a small pure harness using example input/output
and a minimal adapter.
For a web prototype, inspect the repository's run command, installed UI stack, components,
and design tokens. Reuse a safe isolated route/harness without adding dependencies or
changing manifest/lockfiles. If none exists, use a small
.tigerkit/prototypes/<slug>/index.html
,
, and
.
Compare 2–3 decision-relevant concepts while keeping content, data, and interaction state
identical. Default to 2–3 side-by-side columns on wide screens and stacked on narrow
screens. Use an explicit A/B or A/B/C toggle only when simultaneous rendering would harm
the concept or minimum legibility. Stop at A/B when a third option adds no independent
value. Do not create a prototype when repository evidence already resolves the decision.
Verify web output through
, including actual interaction,
the
/
, and
screenshots. If a development server is
required,
the exact
/
/target URL/
/
condition;
owns server start, wait, and shutdown. Check both wide and narrow only
when the
concerns responsiveness/layout. Clean up only run-owned tracked
files; preserve any
,
, and
.
Failure Paths
Record pre-existing temporary paths and run-created files before writing.
| Condition | First action | If it still fails |
|---|
| interrupted/partial write | Clean up only incomplete artifacts proven to be run-owned | ; report the unsafe cleanup path and restart condition |
| server/harness failure | Preserve the command, exit state, output, and fake/real boundary | ; do not expand into production/dependency scope |
| Execution succeeds but output/screenshot evidence is unavailable | Retry capture once within the same boundary | ; do not claim |
| ownership/state conflict with existing artifact | Preserve the existing path and record evidence | ; choose another path before writing |
| cleanup failure | Re-identify only run-owned resources and report the outcome | `Fail |
| Scope expands to production/promotion/commit | Stop the prototype and separate it into another implementation request | ; do not auto-promote |
🔴 CHECKPOINT · 🛑 STOP · Execution Boundary
Before execution, confirm the temporary path, fake/real data, and verification question.
If environment or production-scope expansion occurs, stop at
.
Before reporting, reconcile the command, actual output/screenshot, fake/real boundary, and
unverified scope. If any are missing or execution failed, the result cannot be
.
Use
Fail | Blocked | Unverifiable
.
Contract
Record decision-relevant status only once in its owning section. Start with
,
followed by
## Production implication
,
,
, and
, omitting empty sections.
owns evidence-backed conclusions;
owns discard/iterate/next decision;
owns command results;
owns alternatives/paths/run URLs and final
state;
and
owns fake/real and unverified scope. Place command mechanics after the
decision.
Use exactly one terminal status:
Pass | Fail | Blocked | Unverifiable
.
When comparing multiple criteria or variants, render
as a concise
Criterion | A | B [| C] | Conclusion | Evidence
table. Use a sentence when there is only
one user-relevant row. Record whether content/data/state remained identical. Use
for differences that were not observed and
when evidence is
absent. Do not elevate unaudited aesthetic preferences into conclusions. Summarize the
result and selection rationale in 2–5 bullets or option rows. If there are 8 or more
observations, show the top 5–7 and cite the prototype or evidence path that owns the rest.
This is a budget, not a quota.
Prohibited Patterns
- Do not call a prototype production-ready, auto-promote/commit it, or invoke
another user skill.
- Do not report fake integration as real or claim success without run evidence.
- Do not add color-only variants, dependencies, manifest/lockfile edits, unnecessary
production abstractions, or a third option with no value.