بنقرة واحدة
solve
Solve a Linguistics Olympiad Rosetta Stone problem
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Solve a Linguistics Olympiad Rosetta Stone problem
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | solve |
| description | Solve a Linguistics Olympiad Rosetta Stone problem |
| disable-model-invocation | true |
| argument-hint | [file-path] |
If $ARGUMENTS is not empty:
/ or ./, or ends with .md or .txt)$ARGUMENTS as inline problem textIf $ARGUMENTS is empty:
/solve examples/problem.md)."/ or ./, or ends with .md or .txt), read that fileStore the resulting text as the raw problem text for subsequent steps.
date +"%Y-%m-%d_%H-%M-%S" via BashWORKSPACE="claude-code/workspace/{timestamp}"mkdir -p "$WORKSPACE/hypotheses/round-1"
$WORKSPACE/problem-raw.md using the Write toolPrint: "Extracting problem structure..."
Use the extractor agent:
{WORKSPACE}/problem-raw.md{WORKSPACE}/problem.mdAfter the extractor completes:
{WORKSPACE}/problem.md exists using the Bash tool (test -f)"Extraction failed -- no problem.md produced. Aborting." and stopThis loop runs up to 3 rounds. For each round N (starting at 1):
Round 1:
Print: "Round 1: Generating 3 perspectives..."
Read {WORKSPACE}/problem.md and generate 3 diverse linguistic perspectives. For each perspective, create:
Choose from angles such as: morphological analysis (affixes, roots, agglutination), syntactic analysis (word order, modifier placement), phonological analysis (sound changes, vowel harmony), agreement/concord patterns (person, number, gender, case), semantic/pragmatic features (tense, aspect, evidentiality), orthographic patterns (special characters, spelling rules). Ensure all 3 perspectives are genuinely different angles.
Round 2+:
Print: "Round {N}: Analyzing gaps and generating targeted perspectives..."
Read {WORKSPACE}/verification.md from the previous round. Identify which rules failed and which sentences had errors. Generate 2-3 targeted perspectives that address the specific failures and gaps. Create the round directory:
mkdir -p "$WORKSPACE/hypotheses/round-{N}"
For each perspective P (1 to the number of perspectives), sequentially:
Print: "Generating perspective {P} of {count}: {perspective_name}..."
Use the hypothesizer agent:
{WORKSPACE}/problem.md{name} -- {description}{N}, Perspective: {P}{WORKSPACE}/hypotheses/round-{N}/perspective-{P}.mdRead baseline rules and vocabulary from: {WORKSPACE}/solution.mdAfter the hypothesizer completes:
{WORKSPACE}/hypotheses/round-{N}/perspective-{P}.md exists"Perspective {P} failed -- continuing with remaining perspectives" and append the error to {WORKSPACE}/errors.mdFor each perspective P that produced an output file, sequentially:
Print: "Verifying perspective {P}: {perspective_name}..."
This is the multi-call verification orchestration. The /solve skill itself orchestrates individual verifier calls and aggregates results.
Step 4c.1: Extract rules and sentences from perspective and problem
Read {WORKSPACE}/hypotheses/round-{N}/perspective-{P}.md to get the list of rule titles (each ### {title} under ## Rules).
Read {WORKSPACE}/problem.md to get dataset sentences and questions.
Step 4c.2: Test rules (one per call)
For each rule title in the perspective:
Step 4c.3: Test sentences (one per call, blind translation)
For each dataset sentence (from the ## Dataset table in problem.md):
For each question in problem.md (from ## Questions):
Step 4c.4: Aggregate and write verification file
Compute:
Note: questions are NOT included in the pass rate denominator (they have no expected answer).
Write {WORKSPACE}/hypotheses/round-{N}/verification-{P}.md with this structure:
# Verification: Perspective {P}
## Summary
- Rules tested: {rules_total}
- Rules passed: {rules_passed}
- Rules failed: {rules_failed}
- Sentences tested: {sentences_total}
- Sentences passed: {sentences_passed}
- Sentences failed: {sentences_failed}
- Pass rate: {pass_rate}%
## Rule Results
### {Rule title}
**Status:** {PASS|FAIL|NEEDS_UPDATE}
**Notes:** {reasoning from verifier}
(repeat for each rule)
## Sentence Results
| # | {Foreign} | Expected {Target} | Generated {Target} | Status | Notes |
|---|-----------|-------------------|---------------------|--------|-------|
(one row per dataset sentence)
## Question Coverage
| # | Direction | Translation | Notes |
|---|-----------|-------------|-------|
(one row per question -- for logging, not pass rate)
If the verification file could not be written (e.g., all verifier calls failed): print "Verification of perspective {P} failed -- continuing" and append the error to {WORKSPACE}/errors.md
For each perspective that has a verification file:
## Summary section of {WORKSPACE}/hypotheses/round-{N}/verification-{P}.mdPass rate: {N}% valuePrint: "Round {N} results: {name1} {rate1}%, {name2} {rate2}%, {name3} {rate3}%"
If no perspectives produced valid verification results, print an error and abort.
Print: "Synthesizing best rules from all perspectives..."
Use the synthesizer agent:
{WORKSPACE}/hypotheses/round-{N}/perspective-*.md{WORKSPACE}/hypotheses/round-{N}/verification-*.md{WORKSPACE}/problem.md{WORKSPACE}/solution.md{WORKSPACE}/solution.mdAfter the synthesizer completes:
{WORKSPACE}/solution.md exists{WORKSPACE}/solution.mdPrint: "Checking convergence..."
This is the multi-call verification orchestration for the merged solution. The /solve skill itself orchestrates individual verifier calls and aggregates results.
Step 4f.1: Extract rules and sentences from solution and problem
Read {WORKSPACE}/solution.md to get the list of rule titles (each ### {title} under ## Rules).
Read {WORKSPACE}/problem.md to get dataset sentences and questions.
Step 4f.2: Test rules (one per call)
For each rule title in the solution:
Step 4f.3: Test sentences (one per call, blind translation)
For each dataset sentence (from the ## Dataset table in problem.md):
For each question in problem.md (from ## Questions):
Step 4f.4: Aggregate and write verification file
Compute:
Note: questions are NOT included in the pass rate denominator (they have no expected answer).
Write {WORKSPACE}/verification.md with this structure:
# Final Verification
## Summary
- Rules tested: {rules_total}
- Rules passed: {rules_passed}
- Rules failed: {rules_failed}
- Sentences tested: {sentences_total}
- Sentences passed: {sentences_passed}
- Sentences failed: {sentences_failed}
- Pass rate: {pass_rate}%
## Rule Results
### {Rule title}
**Status:** {PASS|FAIL|NEEDS_UPDATE}
**Notes:** {reasoning from verifier}
(repeat for each rule)
## Sentence Results
| # | {Foreign} | Expected {Target} | Generated {Target} | Status | Notes |
|---|-----------|-------------------|---------------------|--------|-------|
(one row per dataset sentence)
## Question Coverage
| # | Direction | Translation | Notes |
|---|-----------|-------------|-------|
(one row per question -- for logging, not pass rate)
After writing verification.md, read the ## Summary section and check the pass rate:
If pass rate is 100% (all rules pass, all sentences pass):
"Converged! All rules pass verification."If not converged and round < 3:
"Round {N} pass rate: {rate}%. Starting round {N+1}..."If not converged and round = 3:
"Maximum rounds reached. Using best result (pass rate: {rate}%)."Read {WORKSPACE}/verification.md (produced by Step 4f).
Extract the pass rate from the ## Summary section.
If pass rate is 100%:
"Step 4f already converged at 100%. Skipping to answer step."{WORKSPACE}/solution.mdOtherwise:
"Starting verify-improve loop (iteration 0 pass rate: {rate}%)..."{WORKSPACE}/solution.md{WORKSPACE}/verification.mdFor iteration I (1 to 4):
Print: "Iteration {I}: Improving rules..."
Use the improver agent:
After the improver completes:
{WORKSPACE}/improved-{I}.md exists using test -f"Improvement failed at iteration {I}. Using last known good solution." and append to {WORKSPACE}/errors.md, then break out of the loopSet CURRENT_SOLUTION to {WORKSPACE}/improved-{I}.md
Print: "Iteration {I}: Verifying rules..."
This is the multi-call verification orchestration. The /solve skill itself orchestrates individual verifier calls and aggregates results.
Step 5c.1: Extract rules and sentences from current solution and problem
Read {CURRENT_SOLUTION} to get the list of rule titles (each ### {title} under ## Rules).
Read {WORKSPACE}/problem.md to get dataset sentences and questions.
Step 5c.2: Test rules (one per call)
For each rule title in the solution:
Step 5c.3: Test sentences (one per call, blind translation)
For each dataset sentence (from the ## Dataset table in problem.md):
For each question in problem.md (from ## Questions):
Step 5c.4: Aggregate and write verification file
Compute:
Note: questions are NOT included in the pass rate denominator (they have no expected answer).
Write {WORKSPACE}/verification-{I}.md with this structure:
# Verification: Iteration {I}
## Summary
- Rules tested: {rules_total}
- Rules passed: {rules_passed}
- Rules failed: {rules_failed}
- Sentences tested: {sentences_total}
- Sentences passed: {sentences_passed}
- Sentences failed: {sentences_failed}
- Pass rate: {pass_rate}%
## Rule Results
### {Rule title}
**Status:** {PASS|FAIL|NEEDS_UPDATE}
**Notes:** {reasoning from verifier}
(repeat for each rule)
## Sentence Results
| # | {Foreign} | Expected {Target} | Generated {Target} | Status | Notes |
|---|-----------|-------------------|---------------------|--------|-------|
(one row per dataset sentence)
## Question Coverage
| # | Direction | Translation | Notes |
|---|-----------|-------------|-------|
(one row per question -- for logging, not pass rate)
Set CURRENT_VERIFICATION to {WORKSPACE}/verification-{I}.md
Print: "Iteration {I}: {pass_rate}% ({rules_passed}/{rules_total} rules, {sentences_passed}/{sentences_total} sentences)"
If pass_rate is 100%:
"Converged at iteration {I}! All rules and sentences pass."If I = 4 (max iterations reached):
"Maximum iterations reached. Final pass rate: {pass_rate}%.""Failing rules: {comma-separated failing rule titles}""Failing sentences: {comma-separated failing sentence numbers}"Otherwise:
Print: "Generating answers from validated rules..."
Use the answerer agent:
After the answerer completes:
{WORKSPACE}/answers.md exists using test -f"Answer generation failed." and append to {WORKSPACE}/errors.mdRead {CURRENT_SOLUTION} to extract the rules (from ## Rules section) and vocabulary (from ## Vocabulary section).
Read {WORKSPACE}/answers.md to extract translated answers (from each ## Q{N} section).
Read {CURRENT_VERIFICATION} to get the overall pass rate (from ## Summary) and per-rule results (from ## Rule Results).
If CURRENT_VERIFICATION is not set (100% convergence at Step 4f with no verify-improve loop), use {WORKSPACE}/verification.md.
Print: ""
Print: "--- Results ---"
Print: ""
Print: "Rules:"
For each rule (### {title} under ## Rules in CURRENT_SOLUTION):
## Rule Results section"{N}. {title} -- {one-line description}"" [FAIL] {reasoning}"Print: ""
Print: "Answers:"
If {WORKSPACE}/answers.md exists (check with test -f):
For each question section (## Q{N} in answers.md):
- Extract the input sentence (from **Input:** line) and translation (from **Translation:** or **Revised translation:** line, preferring revised if present)
- Print: "{Q_ID}: {input} -> {translation}"
If {WORKSPACE}/answers.md does not exist:
Print: "No answers generated -- see errors.md for details."
Print: ""
Extract the pass rate from CURRENT_VERIFICATION's ## Summary section.
Print: "Pass rate: {rate}%"
If {WORKSPACE}/errors.md exists (check with test -f):
Read it and check for errors that affected the outcome -- look for entries where Recovered is "No" or entries that mention fallback/degraded behavior.
If any such errors exist:
Print: ""
Print: "Warnings:"
For each relevant error:
Print: "- {agent}: {message}"
Read {CURRENT_SOLUTION} for the full rules and vocabulary sections.
Read {CURRENT_VERIFICATION} for per-rule verification status and reasoning.
Read {WORKSPACE}/answers.md for translated answers (if it exists).
If {WORKSPACE}/errors.md exists (check with test -f), read it for pipeline notes.
If CURRENT_VERIFICATION is not set (100% convergence at Step 4f with no verify-improve loop), use {WORKSPACE}/verification.md.
Collect verification history:
Read {WORKSPACE}/verification.md and extract the pass rate from ## Summary (this is iteration 0).
For I = 1 to 4:
Check if {WORKSPACE}/verification-{I}.md exists (using test -f via Bash).
If it exists, read it and extract the pass rate from ## Summary.
Write {WORKSPACE}/solution-complete.md using the Write tool with the structure defined in references/workspace-format.md (## solution-complete.md template).
Key formatting rules for the solution file:
> Problem: See problem.md (do not include problem content inline)- Iteration {N}: {rate}% with iteration 0 labeled - Iteration 0 (initial): {rate}%Do NOT include: