Agent skill

Cross Language Check

by flonat in flonat/flonat-research

Replicate a quantitative analysis in a second language (R↔Python↔Stata↔Julia) and compare outputs for implementation errors.

MITAuto-check passedResearch & Science

Install Cross Language Check

skills CLI
$ npx skills add flonat/flonat-research --skill cross-language-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install flonat/flonat-research cross-language-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cross-language-check .claude/skills/cross-language-check && rm -rf skills-src

Use ~/.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/

Facts

Skill name
cross-language-check
GitHub stars
146
Token cost
~2.1k tokens
SKILL.md length
772 words
Files
1
Skills in repo
83
Repo updated
First seen
Licence
MIT

At a glance

Replicate a quantitative analysis in a second language (R↔Python↔Stata↔Julia) and compare outputs for implementation errors.

  • Works in 6 steps: Parse Source Script → Choose Target Language → Translate → …
  • An existing empirical result needs independent cross-language verification
  • SKILL.md covers Output Path, When to Use, When NOT to Use and Workflow, plus 3 more sections
  • Calls bash

What it does

Cross Language Check is an agent skill from flonat/flonat-research. Replicate a quantitative analysis in a second language (R↔Python↔Stata↔Julia) and compare outputs for implementation errors. Use when an existing empirical result needs independent cross-language verification. Not for reviewing one implementation in place; use $code-suite.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Research & Science, covering Econometrics and empirical research. It works with Python. The repository describes itself as: Shareable Claude Code + Codex infrastructure for PhD researchers — skills, agents, hooks, and rules for academic workflows. The licence is MIT.

When your agent uses it

  • An existing empirical result needs independent cross-language verification
  • Tasks that involve Econometrics and empirical research

Example prompts

  • “/cross-language-check”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash(uv*, Rscript*, stata*, julia*, diff*, mkdir*, ls*, cp*), Read, Write, Edit, Glob, Grep, Agent

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Parse Source Script
  2. Choose Target Language
  3. Translate
  4. Run Both & Compare
  5. Diagnose Discrepancies
  6. Report

What it can do on your machine

Read from SKILL.md and the folder at commit da27600. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(uv*
    • Rscript*
    • stata*
    • julia*
    • diff*
    • mkdir*
    • ls*
    • cp*)
    • Read
    • Write

    …and 4 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cross Language Check loads about 2.1k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 772 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from flonat/flonat-research at commit da27600, republished under its MIT licence (© flonat). 772 words, ~2,066 tokens.

Download SKILL.mdSave it as .claude/skills/cross-language-check/SKILL.md (or your agent's skills folder).
name
cross-language-check
description
Replicate a quantitative analysis in a second language (R↔Python↔Stata↔Julia) and compare outputs for implementation errors. Use when an existing empirical result needs independent cross-language verification. Not for reviewing one implementation in place; use $code-suite.
allowed-tools
Bash(uv*, Rscript*, stata*, julia*, diff*, mkdir*, ls*, cp*), Read, Write, Edit, Glob, Grep, Agent
argument-hint
<script-path> [--target r|python|stata|julia]

Cross-Language Replication Check

Level 1 of the verification hierarchy: same specification → same estimate across languages. If two independent implementations disagree, at least one has a bug.

Output Path

Per rules/review-artefact-routing.md (auto-loads in research projects (path-scoped to paper-*/ and paper/)):

  • Source slug: cross-language-check
  • Write reports to: reviews/<scope>/cross-language-check/<YYYY-MM-DD-HHMM>.md inside the project, where <scope> is the paper slug (e.g., paper-jtp) for paper-level checks or _project for project-level checks. Path is relative to the research project root, not the Task-Management repo.
  • Never at project root (./CRITIC-REPORT.md-style filenames are forbidden — pre-rule layout).
  • Idempotency: if today's file exists, append a same-day descriptor ({date}-revision.md, {date}-r2.md, {date}-pre-submission.md) — never overwrite.
  • Index update: if reviews/INDEX.md exists, write a one-line entry under "Latest per source" pointing at the new file. Otherwise review-recap will rebuild the index next time it runs.
  • Infrastructure repos (Task-Management, atlas-workspace, etc.): this section does not apply — the path-scoped rule won't load there.

When to Use

  • Before submitting a paper with quantitative results
  • When you suspect a subtle bug in estimation code
  • After refactoring analysis scripts
  • As a robustness check that reviewers increasingly expect
  • When switching languages for a collaborator

When NOT to Use

  • Pure simulation code with no statistical estimation → computational-experiments
  • The analysis is trivial (descriptive stats only) — not worth the overhead
  • The source script uses language-specific packages with no equivalent (e.g., bespoke Bayesian MCMC)

Workflow

Phase 1: Parse Source Script
  1. Read the source script — identify language, packages, estimation calls
  2. Extract the specification:
    • Data loading and cleaning steps
    • Variable construction and transformations
    • Estimation command(s) with exact formula/model specification
    • Standard error clustering, weights, fixed effects
    • Sample restrictions and filters
  3. Identify key outputs — point estimates, standard errors, p-values, confidence intervals, N
  4. Flag untranslatable elements — language-specific features that may need adaptation (e.g., R formula syntax, Stata factor variables, Python sklearn pipelines)
Phase 2: Choose Target Language

If --target is specified, use that. Otherwise:

SourceDefault targetRationale
RPythonWidest package overlap
PythonRStrongest econometrics ecosystem
StataRBoth strong on panel/causal methods
JuliaPythonClosest syntax mapping

Ask the user to confirm if the default seems wrong for the specific analysis.

Phase 3: Translate

Write the replication script to code/replication/ (or src/replication/):

code/replication/{original_name}_{target_lang}.{ext}

Translation rules:

  1. Mirror the specification exactly — same formula, same controls, same sample restrictions
  2. Use equivalent packages (see shared/multi-language-conventions.md for mappings)
  3. Match output format — both scripts should produce a CSV with columns: estimate, se, pvalue, ci_lower, ci_upper, n, model_label
  4. Document every adaptation — comment blocks explaining where the translation required judgment calls
  5. Use the same data file — both scripts read from the same cleaned dataset
Show full SKILL.md (346 more words)Show less
Phase 4: Run Both & Compare
  1. Run the source script, capture output CSV
  2. Run the replication script, capture output CSV
  3. Comparison thresholds:
MetricThresholdVerdict
Point estimatesDiffer by < 0.1%PASS
Point estimatesDiffer by 0.1–1%WARN — likely rounding or optimizer differences
Point estimatesDiffer by > 1%FAIL — investigate
Standard errorsDiffer by < 1%PASS
Standard errorsDiffer by 1–5%WARN — check SE type (robust, clustered, HC1 vs HC3)
Standard errorsDiffer by > 5%FAIL — likely different SE computation
Sample size NMust be identicalFAIL if different — data filtering diverged
  1. Generate comparison table saved to code/replication/comparison.md:
markdown
| Model | Estimate (source) | Estimate (replica) | Diff (%) | SE (source) | SE (replica) | Diff (%) | N match | Verdict |
Phase 5: Diagnose Discrepancies

If any FAIL or WARN:

  1. Check N first — if sample sizes differ, the data pipeline diverged (most common source of bugs)
  2. Check SE type — HC1 vs HC3 vs clustered vs bootstrap defaults differ across languages
  3. Check optimizer — MLE/GLM may converge to different optima with different starting values
  4. Check missing value handling — NA dropping rules differ (R drops per-variable, Stata drops listwise, Python varies)
  5. Check factor variable encoding — reference category defaults differ across languages

Report the root cause, not just the symptom.

Phase 6: Report

Save to code/replication/cross-language-report.md:

markdown
# Cross-Language Replication Report

**Source:** {source_path} ({source_language})
**Replica:** {replica_path} ({target_language})
**Date:** {date}

## Summary
- Models checked: N
- PASS: N | WARN: N | FAIL: N

## Comparison Table
[from Phase 4]

## Discrepancies
[from Phase 5, if any]

## Verdict
[REPLICATED | REPLICATED WITH NOTES | FAILED — action required]

Common Package Mappings

TaskRPythonStataJulia
OLS + FEfixest::feolslinearmodels.PanelOLSreghdfeFixedEffectModels.reg
IVfixest::feols (iv syntax)linearmodels.IV2SLSivregress 2slsFixedEffectModels.reg
DiDdid::att_gtdifferencescsdid—
Clustered SEvcov = ~clustercov_type='clustered'vce(cluster var)Vcov.cluster(:var)
Logit/Probitglm(family=binomial)statsmodels.LogitlogitGLM.jl

Log to REVIEW-STATE.md (final step)

Write the comparison report to reviews/<scope>/cross-language-check/<YYYY-MM-DD-HHMM>.md (where <scope> is the paper slug for paper-level checks or _project for project-level checks; mkdir -p reviews/<scope>/cross-language-check/ first). Then append a row to the project's REVIEW-STATE.md:

bash
bash <skills-root>/_shared/review-state-log.sh \
  --check cross-language-check \
  --paper "<paper-{venue} dir, or — for project-level cross-language checks>" \
  --verdict "<MATCH|DIVERGENCE>" \
  --score "<pass-count>/<total-comparisons>" \
  --open-issues "<fail-count>/<total-comparisons>" \
  --report "reviews/<scope>/cross-language-check/<YYYY-MM-DD-HHMM>.md" \
  --notes "<one-line: e.g. 'all match within tol'; or 'IV SE differs in §4'>" \
  [--trigger "pre-submission-report|review-cluster"]
  • Verdict: MATCH if every comparison passes (within tolerance); DIVERGENCE if any FAIL.
  • Score: PASS count / total comparisons.
  • Open issues: FAIL count / total at run time.
  • Trigger: pass orchestrator name only if invoked as a sub-agent. Otherwise omit.

Schema: the installed shared resource shared/review-state-schema.md.

Cross-References

ResourceWhen read
shared/multi-language-conventions.mdPhase 3 (language-specific style)
multi-perspective/references/computational-many-analysts.mdContext (verification hierarchy)
the code-review agentPhase 6 (optionally review both scripts)
replication-package skillAfter (include both scripts in replication materials)

© flonat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/cross-language-check of flonat/flonat-research.

Open the folder on GitHubat commit da27600

Compare with similar skills

Cross Language Check 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.

Cross Language Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cross Language Check this skillflonat/flonat-research146—~2.1kAutomated safety check: PassMIT
Stata C Pluginsdylantmoore/stata-skill2911 repos~5.8kAutomated safety check: PassCustom licence
Capture Environmentpedrohcgs/claude-code-my-workflow1.7k—~2.8kAutomated safety check: NotesMIT
Fin Data Acquisitioncsmar432/finai-research109—~2kAutomated safety check: PassMIT
Empirical Research MethodsCitrus-bit/Anaxa120—~1.9kAutomated safety check: PassCC-BY-SA-4.0
Diagnosepedrohcgs/claude-code-my-workflow1.7k—~4.2kAutomated safety check: PassMIT

Similar skills

  • Stata C Plugins

    dylantmoore/stata-skill

    Develop high-performance C/C++ plugins for Stata using the stplugin.h SDK.

    291 GitHub starsUsed in 1 repo~5.8k tokens
    Research & ScienceAuto-check passed
  • Capture Environment

    pedrohcgs/claude-code-my-workflow

    Snapshot the computational environment for a replication package — detects the analysis stack (R / Stata / Python) and emits the right lockfiles (renv.lock + sessionInfo.txt, requirements.txt /…

    1.7k GitHub stars~2.8k tokensUpdated 11 days ago
    Research & ScienceAuto-check: notes
  • Fin Data Acquisition

    csmar432/finai-research

    根据REFINEDDESIGN.md中的变量定义,自动获取所需数据并生成可执行的回归分析脚本(Python/Stata)。

    109 GitHub stars~2k tokensUpdated 3 days ago
    Research & ScienceAuto-check passed
  • A skill your agent uses for empirical social-science research, applied economics, public policy, education, finance, management, sociology, psychology, epidemiology, or public-health data studies.

    120 GitHub stars~1.9k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Diagnose

    pedrohcgs/claude-code-my-workflow

    Root-cause a failing or wrong empirical result with a disciplined reproduce → minimise → hypothesise → instrument → fix loop, instead of guessing-and-poking.

    1.7k GitHub stars~4.2k tokensUpdated 11 days ago
    Research & ScienceAuto-check passed
  • Differential Audit

    pedrohcgs/claude-code-my-workflow

    Compare two implementations of the same thing — a port (R↔Python↔Stata), a reimplementation, a replication package, a refactor, or a new version against the old — so that agreement means something.

    1.7k GitHub stars~1.6k tokensUpdated 11 days ago
    Research & ScienceAuto-check: notes

More from flonat/flonat-research

All 83 skills in this repo
  • Latex Posters

    flonat/flonat-research

    Create a large-format academic poster in LaTeX using beamerposter, tikzposter, or baposter.

    146 GitHub stars~1.5k tokensUpdated 10 days ago
    Auto-check: notes
  • Skill Creator

    flonat/flonat-research

    Create, revise, and evaluate reusable AI workflow skills, including trigger-quality tests.

    146 GitHub stars~4.4k tokensUpdated 10 days ago
    Auto-check passed
  • DOCX

    flonat/flonat-research

    Create, read, edit, or convert Microsoft Word documents while preserving professional document structure.

    146 GitHub stars~1.2k tokensUpdated 10 days ago
    Auto-check passed
  • PDF

    flonat/flonat-research

    Read, create, combine, split, rotate, OCR, watermark, secure, or extract content from PDF files.

    146 GitHub stars~488 tokensUpdated 10 days ago
    Auto-check passed
  • Init Project Orchestration

    flonat/flonat-research

    Create or migrate project-level agents, repeatable project workflows, and planning state from one client-neutral contract, then render repository-scoped adapters for both Claude Code and Codex.

    146 GitHub stars~1.6k tokensUpdated 10 days ago
    Auto-check passed
  • Pre Commit Audit

    flonat/flonat-research

    Deliver a fast pre-commit safety scan: file size, anonymity (author / affiliation strings in tex/bib), hardcoded secrets, and invisible-Unicode carriers.

    146 GitHub stars~2.8k tokensUpdated 10 days ago
    Auto-check: notes

Works with

Questions about Cross Language Check

What does Cross Language Check do?

Replicate a quantitative analysis in a second language (R↔Python↔Stata↔Julia) and compare outputs for implementation errors. Cross Language Check is an agent skill from flonat/flonat-research. Replicate a quantitative analysis in a second language (R↔Python↔Stata↔Julia) and compare outputs for implementation errors.

When should I use Cross Language Check?

Cross Language Check fits situations like: an existing empirical result needs independent cross-language verification; tasks that involve Econometrics and empirical research.

How do I install Cross Language Check in Claude Code?

Run `npx skills add flonat/flonat-research --skill cross-language-check -a claude-code`. Or copy the skill folder (skills/cross-language-check in flonat/flonat-research) into .claude/skills/cross-language-check in your project. Claude Code loads it when a task matches its description.

How do I install Cross Language Check in Codex?

Run `npx skills add flonat/flonat-research --skill cross-language-check -a codex`. Or copy the skill folder (skills/cross-language-check in flonat/flonat-research) into .agents/skills/cross-language-check in your project. Codex loads it when a task matches its description.

Can I use Cross Language Check in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add flonat/flonat-research --skill cross-language-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cross-language-check, .gemini/skills/cross-language-check, .github/skills/cross-language-check and .opencode/skills/cross-language-check in your project.

What does Cross Language Check need to run?

Going by SKILL.md and its folder, Cross Language Check needs the command-line tools its instructions call (bash). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash(uv*, Rscript*, stata*, julia*, diff*, mkdir*, ls*, cp*), Read, Write, Edit, Glob, Grep, Agent.

Does Cross Language Check access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cross Language Check safe to install?

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.

What licence does Cross Language Check use?

Cross Language Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cross Language Check use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cross Language Check?

Skills that share tags, products or a category with Cross Language Check: Stata C Plugins (dylantmoore/stata-skill, 291 stars), Capture Environment (pedrohcgs/claude-code-my-workflow, 1.7k stars), Fin Data Acquisition (csmar432/finai-research, 109 stars) and Empirical Research Methods (Citrus-bit/Anaxa, 120 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cross Language Check?

flonat (a GitHub user) maintains it in flonat/flonat-research, which has 146 GitHub stars. The repository holds 83 skills in this directory. The repository was last updated on September 29, 2026.

Source: flonat/flonat-research on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.