skilly. Buy ad slot
All skills
Research · Testing / AGENT SKILL

backward-traceability

lingzhi227/agent-research-skills
1.7K installs 358 GitHub stars
0

Link numbers in a paper's PDF to the code that produced them for reproducibility and integrity checks.
Make every number in the final PDF traceable to the exact code line that produced it. Uses \hypertarget/\hyperlink LaTeX commands and \num{formula} evaluated at compile time. Use for reproducibility and data integrity verification.

BEFORE YOU INSTALL

Understand the trade-offs.

SECURITY REVIEW

Not yet assessed

Review the original instructions and requested permissions before installing.

No security review is available for this catalog entry yet.

SKILL QUALITY

Not yet assessed

How clearly the skill guides your agent, how complete its workflow is, and how you can check the outcome.

No quality assessment is available for this catalog entry yet.

The full skill.

Original instructions from the publisher’s SKILL.md

# Backward Traceability

Make every number in the final PDF hyperlink back to the exact code line that produced it.

## Input

- `$0` — Paper project directory containing code and LaTeX files

## References

- Traceability patterns and LaTeX commands: `~/.claude/skills/backward-traceability/references/traceability-patterns.md`

## Scripts

### Scan hypertarget/hyperlink references
```bash
python ~/.claude/skills/backward-traceability/scripts/ref_numeric_values.py \
  --scan paper/main.tex --output report.json
```

Reports: all hypertargets, hyperlinks, orphan references, unreferenced numeric values.

### Verify cross-reference integrity
```bash
python ~/.claude/skills/backward-traceability/scripts/ref_numeric_values.py \
  --verify paper/main.tex --code-output results.txt
```

Cross-checks values between paper text and code output. Reports mismatches.

## Workflow

### Step 1: Tag Code Outputs
For every numeric value produced by experiment code, add hypertarget tags:

```python
# In experiment code output:
print(f"\\hypertarget{{R1a}}{{45.3}}")  # Mean accuracy
print(f"\\hypertarget{{R1b}}{{2.1}}")   # Std deviation
```

Label format: `{prefix}{line_number}{letter}` where letter = a, b, c... for multiple values on same line.

### Step 2: Reference in Paper Text
Use `\hyperlink` to create clickable references in the paper:

```latex
Our method achieves \hyperlink{R1a}{45.3}\% accuracy
($\pm$\hyperlink{R1b}{2.1}).
```

### Step 3: Use \num for Computed Values
For values derived from other values, use `\num{}` for compile-time evaluation:

```latex
% \num{formula, "explanation"} → evaluated at compile time
The improvement is \num{45.3 - 38.7, "accuracy gain"}\%.
```

### Step 4: Generate Appendix Code Listing
Create an appendix with the full code listing, with `\hypertarget` anchors at relevant lines:

```latex
\section*{Appendix: Code Listing}
\begin{lstlisting}[escapechar=@]
@\hypertarget{code1}{}@result = model.evaluate(test_data)
@\hypertarget{code2}{}@accuracy = result['accuracy']
\end{lstlisting}
```

### Step 5: Verify Traceability
- Every number in the paper text must have a corresponding `\hypertarget` in the code
- Every `\num{}` formula must evaluate correctly
- Click-test: every hyperlink in the PDF must jump to the correct code line

## LaTeX Setup

Required packages:
```latex
\usepackage{hyperref}
\usepackage{listings}
```

## Rules

- Every numeric result in the paper MUST trace to code output
- Never manually type numbers — always reference tagged outputs
- Use `\num{}` for any derived/computed values
- Code listing in appendix must match actual executed code
- Verify all hyperlinks resolve correctly after compilation

## Related Skills
- Upstream: [experiment-code](../experiment-code/), [data-analysis](../data-analysis/)
- Downstream: [paper-compilation](../paper-compilation/)
- See also: [paper-assembly](../paper-assembly/)