Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 19 additions & 32 deletions .agents/skills/protocol-migration/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,24 +57,18 @@ When migrating:
You may normalize formatting only when the meaning is unchanged and unambiguous:

- Add a space between numbers and units.
- Standardize temperature formatting to `37 °C`.
- Standardize volume units to `µL`, `mL`, `L`, using the micro sign `µ` consistently.
- Standardize concentration units to `mM`, `µM`, `nM`, `% (w/v)`, etc., using the micro sign `µ` consistently.
- Standardize time units to full words: `seconds`, `minutes`, `hours`.
- Standardize chemical names to match the source but with consistent formatting (e.g. `Tris-HCl` instead of `Tris HCl`).
- Use full-word time units: `seconds`, `minutes`, `hours`.
- Use standard units and spacing, for example `37 °C`, `10 µL`, `1 mM`, `100 nM`.
- Standardize pH formatting to `pH 7.4`.
- Standardize chemical formulas with HTML subscripts, for example H2O to H<sub>2</sub>O. Similarly for other chemical formulas (e.g. MgCl2 to MgCl<sub>2</sub>).
- Standardize chemical names without changing meaning, for example `Tris-HCl` instead of `Tris HCl`.
- Standardize chemical formulas with HTML subscripts, for example H2O to H<sub>2</sub>O and MgCl2 to MgCl<sub>2</sub>.
- Do not use Unicode subscript characters such as `₂`.
- Standardize `RNAseq` or `RNA-Seq` to `RNA-seq`. Same for `ChIP-seq`, `ATAC-seq`, etc.
- Use numbered lists for procedural actions in sequence. For other non-procedural content, bullets are better. Note-like text such as Note, NB, Optional, Recommended, and Warning should use blockquote style such as `> **Note**`.
- Normalize bullet formatting and markdown table formatting.
- Normalize heading structure to match the repository template.
- For reaction mixes and anything tabular, place them inside a table as in template.
- For image-based tables, convert to Markdown tables wherever this is legible and unambiguous; otherwise retain the image at the correct protocol location with `CHECK:` explaining why it could not be safely converted.
- Normalize markdown headings, bullets, and tables.
- "Note" or "NOTE" or "NB" or "Optional" or "Recommended" or "Warning" are normalized to start with `>` (example `> **Note**`) and are placed immediately after the step they refer to, or at the end of the protocol if they clearly refer to the whole protocol.
- Standardize names such as `RNAseq` or `RNA-Seq` to `RNA-seq`, and similarly for `ChIP-seq`, `ATAC-seq`, and related names.
- Use numbered lists for procedural actions in sequence, bullets for non-procedural lists, and tables for reaction mixes or other tabular content.
- Normalize note-like labels such as Note, NB, Optional, Recommended, and Warning to blockquote style, for example `> **Note:**`.
- Normalize headings, bullets, Markdown tables, and `Contents` links to match the repository template.
- Convert image-based tables to Markdown tables when legible and unambiguous; otherwise retain the image with `CHECK:`.
- Remove empty columns from tables.
- Synchronize `Contents` with actual headings in the protocol.

## Disallowed changes
- Do not infer omitted concentrations, times, temperatures, or volumes.
Expand All @@ -92,30 +86,23 @@ You may normalize formatting only when the meaning is unchanged and unambiguous:
- Do not omit protocol-relevant images, image-based tables, figures, diagrams, or visual instructions.

## Output requirements
- edit `README.md`
- use the template headings exactly
- use the template headings in `README.md`
- keep all source content
- add `CHECK:` markers for uncertainty
- use `CHECK:` only for genuine unresolved uncertainty. If no uncertainty remains, do not mention `CHECK:` at all
- add `# Migration notes`
- after drafting, add a short summary in `# Migration notes` covering:
- Only edit `README.md`.
- Use the template headings exactly.
- Keep all source content.
- Keep the Ule Lab Protocol Template attribution badge at the top of the file, but do not add or preserve a template release-version badge.
- Remove the template instruction note and the "Template repository: Click `Use this template`..." note.
- Add `CHECK:` markers only for genuine unresolved uncertainty.
- Add an `# Migration notes` section covering:
- imported protocol metadata from `source-metadata.yml`, using only non-blank lines
- `template_version` from `template-metadata.yml`
- formatting normalizations performed
- ambiguities and uncertainty flagged
- content placed in `## Unplaced content`
- add `# Migration notes` including:
- imported protocol metadata from `source-metadata.yml`, using only the non-blank lines
- template_version from `template-metadata.yml`
- ambiguous mappings
- normalized formatting changes
- extracted images converted to Markdown tables
- extracted images retained in `README.md`
- extracted images omitted because they were decorative or duplicated non-protocol content
- extracted images that could not be confidently classified or converted, marked with `CHECK:`
- extracted images that could not be confidently classified or converted
- content copied verbatim but not confidently placed
- keep `[![Created with Ule Lab Protocol Template](https://img.shields.io/badge/created%20with-Ule%20Lab%20Protocol%20Template-blue)](https://github.com/ulelab/protocol-template)` at the top of the file
- remove the template instruction note
- delete the "Template repository: Click `Use this template` to create a new protocol repo..." note

## Verification
After drafting, verify the migration against the source:
Expand Down
51 changes: 19 additions & 32 deletions .claude/skills/protocol-migration/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,24 +57,18 @@ When migrating:
You may normalize formatting only when the meaning is unchanged and unambiguous:

- Add a space between numbers and units.
- Standardize temperature formatting to `37 °C`.
- Standardize volume units to `µL`, `mL`, `L`, using the micro sign `µ` consistently.
- Standardize concentration units to `mM`, `µM`, `nM`, `% (w/v)`, etc., using the micro sign `µ` consistently.
- Standardize time units to full words: `seconds`, `minutes`, `hours`.
- Standardize chemical names to match the source but with consistent formatting (e.g. `Tris-HCl` instead of `Tris HCl`).
- Use full-word time units: `seconds`, `minutes`, `hours`.
- Use standard units and spacing, for example `37 °C`, `10 µL`, `1 mM`, `100 nM`.
- Standardize pH formatting to `pH 7.4`.
- Standardize chemical formulas with HTML subscripts, for example H2O to H<sub>2</sub>O. Similarly for other chemical formulas (e.g. MgCl2 to MgCl<sub>2</sub>).
- Standardize chemical names without changing meaning, for example `Tris-HCl` instead of `Tris HCl`.
- Standardize chemical formulas with HTML subscripts, for example H2O to H<sub>2</sub>O and MgCl2 to MgCl<sub>2</sub>.
- Do not use Unicode subscript characters such as `₂`.
- Standardize `RNAseq` or `RNA-Seq` to `RNA-seq`. Same for `ChIP-seq`, `ATAC-seq`, etc.
- Use numbered lists for procedural actions in sequence. For other non-procedural content, bullets are better. Note-like text such as Note, NB, Optional, Recommended, and Warning should use blockquote style such as `> **Note**`.
- Normalize bullet formatting and markdown table formatting.
- Normalize heading structure to match the repository template.
- For reaction mixes and anything tabular, place them inside a table as in template.
- For image-based tables, convert to Markdown tables wherever this is legible and unambiguous; otherwise retain the image at the correct protocol location with `CHECK:` explaining why it could not be safely converted.
- Normalize markdown headings, bullets, and tables.
- "Note" or "NOTE" or "NB" or "Optional" or "Recommended" or "Warning" are normalized to start with `>` (example `> **Note**`) and are placed immediately after the step they refer to, or at the end of the protocol if they clearly refer to the whole protocol.
- Standardize names such as `RNAseq` or `RNA-Seq` to `RNA-seq`, and similarly for `ChIP-seq`, `ATAC-seq`, and related names.
- Use numbered lists for procedural actions in sequence, bullets for non-procedural lists, and tables for reaction mixes or other tabular content.
- Normalize note-like labels such as Note, NB, Optional, Recommended, and Warning to blockquote style, for example `> **Note:**`.
- Normalize headings, bullets, Markdown tables, and `Contents` links to match the repository template.
- Convert image-based tables to Markdown tables when legible and unambiguous; otherwise retain the image with `CHECK:`.
- Remove empty columns from tables.
- Synchronize `Contents` with actual headings in the protocol.

## Disallowed changes
- Do not infer omitted concentrations, times, temperatures, or volumes.
Expand All @@ -92,30 +86,23 @@ You may normalize formatting only when the meaning is unchanged and unambiguous:
- Do not omit protocol-relevant images, image-based tables, figures, diagrams, or visual instructions.

## Output requirements
- edit `README.md`
- use the template headings exactly
- use the template headings in `README.md`
- keep all source content
- add `CHECK:` markers for uncertainty
- use `CHECK:` only for genuine unresolved uncertainty. If no uncertainty remains, do not mention `CHECK:` at all
- add `# Migration notes`
- after drafting, add a short summary in `# Migration notes` covering:
- Only edit `README.md`.
- Use the template headings exactly.
- Keep all source content.
- Keep the Ule Lab Protocol Template attribution badge at the top of the file, but do not add or preserve a template release-version badge.
- Remove the template instruction note and the "Template repository: Click `Use this template`..." note.
- Add `CHECK:` markers only for genuine unresolved uncertainty.
- Add an `# Migration notes` section covering:
- imported protocol metadata from `source-metadata.yml`, using only non-blank lines
- `template_version` from `template-metadata.yml`
- formatting normalizations performed
- ambiguities and uncertainty flagged
- content placed in `## Unplaced content`
- add `# Migration notes` including:
- imported protocol metadata from `source-metadata.yml`, using only the non-blank lines
- template_version from `template-metadata.yml`
- ambiguous mappings
- normalized formatting changes
- extracted images converted to Markdown tables
- extracted images retained in `README.md`
- extracted images omitted because they were decorative or duplicated non-protocol content
- extracted images that could not be confidently classified or converted, marked with `CHECK:`
- extracted images that could not be confidently classified or converted
- content copied verbatim but not confidently placed
- keep `[![Created with Ule Lab Protocol Template](https://img.shields.io/badge/created%20with-Ule%20Lab%20Protocol%20Template-blue)](https://github.com/ulelab/protocol-template)` at the top of the file
- remove the template instruction note
- delete the "Template repository: Click `Use this template` to create a new protocol repo..." note

## Verification
After drafting, verify the migration against the source:
Expand Down
52 changes: 21 additions & 31 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,24 +49,18 @@ When migrating:
## Allowed formatting normalization
You may normalize formatting only when the meaning is unchanged and unambiguous:
- Add a space between numbers and units.
- Standardize temperature formatting to `37 °C`.
- Standardize volume units to `µL`, `mL`, `L`, using the micro sign `µ` consistently.
- Standardize concentration units to `mM`, `µM`, `nM`, `% (w/v)`, etc., using the micro sign `µ` consistently.
- Standardize time units to full words: `seconds`, `minutes`, `hours`.
- Standardize chemical names to match the source but with consistent formatting (e.g. `Tris-HCl` instead of `Tris HCl`).
- Use full-word time units: `seconds`, `minutes`, `hours`.
- Use standard units and spacing, for example `37 °C`, `10 µL`, `1 mM`, `100 nM`.
- Standardize pH formatting to `pH 7.4`.
- Standardize chemical formulas with HTML subscripts, for example H2O to H<sub>2</sub>O. Similarly for other chemical formulas (e.g. MgCl2 to MgCl<sub>2</sub>).
- Standardize chemical names without changing meaning, for example `Tris-HCl` instead of `Tris HCl`.
- Standardize chemical formulas with HTML subscripts, for example H2O to H<sub>2</sub>O and MgCl2 to MgCl<sub>2</sub>.
- Do not use Unicode subscript characters such as `₂`.
- Standardize `RNAseq` or `RNA-Seq` to `RNA-seq`. Same for `ChIP-seq`, `ATAC-seq`, etc.
- Use numbered lists for procedural actions in sequence. For other non-procedural content, bullets are better. Note-like text such as Note, NB, Optional, Recommended, and Warning should use blockquote style such as `> **Note**`.
- Normalize bullet formatting and markdown table formatting.
- Normalize heading structure to match the repository template.
- For reaction mixes and anything tabular, place them inside a table as in template.
- For image-based tables, convert to Markdown tables wherever this is legible and unambiguous; otherwise retain the image at the correct protocol location with `CHECK:` explaining why it could not be safely converted.
- Normalize markdown headings, bullets, and tables.
- "Note" or "NOTE" or "NB" or "Optional" or "Recommended" or "Warning" are normalized to start with `>` (example `> **Note**`) and are placed immediately after the step they refer to, or at the end of the protocol if they clearly refer to the whole protocol.
- Standardize names such as `RNAseq` or `RNA-Seq` to `RNA-seq`, and similarly for `ChIP-seq`, `ATAC-seq`, and related names.
- Use numbered lists for procedural actions in sequence, bullets for non-procedural lists, and tables for reaction mixes or other tabular content.
- Normalize note-like labels such as Note, NB, Optional, Recommended, and Warning to blockquote style, for example `> **Note:**`.
- Normalize headings, bullets, Markdown tables, and `Contents` links to match the repository template.
- Convert image-based tables to Markdown tables when legible and unambiguous; otherwise retain the image with `CHECK:`.
- Remove empty columns from tables.
- Synchronize `Contents` with actual headings in the protocol.

## Disallowed changes
- Do not infer omitted concentrations, times, temperatures, or volumes.
Expand All @@ -85,27 +79,23 @@ You may normalize formatting only when the meaning is unchanged and unambiguous:

## Output requirements
When drafting a migrated protocol:
- Only edit `README.md`.
- Use the template headings exactly.
- Use the template headings in `README.md`.
- Keep all source content.
- Add `CHECK:` markers for uncertainty.
- Use `CHECK:` only for genuine unresolved uncertainty. If no uncertainty remains, do not mention `CHECK:` at all.
- Add an `# Migration notes` section listing:
- Keep the Ule Lab Protocol Template attribution badge at the top of the file, but do not add or preserve a template release-version badge.
- Remove the template instruction note and the "Template repository: Click `Use this template`..." note.
- Add `CHECK:` markers only for genuine unresolved uncertainty.
- Add an `# Migration notes` section covering:
- imported protocol metadata from `source-metadata.yml`, using only non-blank lines
- `template_version` from `template-metadata.yml`
- formatting normalizations performed
- ambiguities and uncertainty flagged
- content placed in `## Unplaced content`
- Imported protocol metadata from `source-metadata.yml`, using only the non-blank lines.
- template_version from `template-metadata.yml`.
- ambiguous mappings.
- normalized formatting changes.
- extracted images converted to Markdown tables.
- extracted images retained in `README.md`.
- extracted images omitted because they were decorative or duplicated non-protocol content.
- extracted images that could not be confidently classified or converted, marked with `CHECK:`.
- content copied verbatim but not confidently placed.
- Keep `[![Created with Ule Lab Protocol Template](https://img.shields.io/badge/created%20with-Ule%20Lab%20Protocol%20Template-blue)](https://github.com/ulelab/protocol-template)` at the top of the file.
- Delete the "Template repository: Click `Use this template` to create a new protocol repo..." note.
- Remove the template instruction note.
- extracted images converted to Markdown tables
- extracted images retained in `README.md`
- extracted images omitted because they were decorative or duplicated non-protocol content
- extracted images that could not be confidently classified or converted
- content copied verbatim but not confidently placed

## Verification
After drafting, verify the migration against the source:
Expand Down
15 changes: 12 additions & 3 deletions .github/workflows/pdf_header.tex
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,20 @@

\pagestyle{fancy}
\fancyhf{}
\setlength{\headheight}{14pt}

\fancyhead[L]{\small\href{\repoURL}{\nolinkurl{\repoURL}}}
\fancyhead[R]{\small\textbf{Commit:} \href{\commitURL}{\githash}\ \textbar\ \texttt{\gitactor}}
\fancyhead[L]{%
\begin{minipage}[t]{0.54\textwidth}
\raggedright\scriptsize\href{\repoURL}{\nolinkurl{\repoURL}}
\end{minipage}%
}
\fancyhead[R]{%
\begin{minipage}[t]{0.44\textwidth}
\raggedleft\scriptsize\textbf{Commit:} \href{\commitURL}{\githash}\ \textbar\ \texttt{\gitactor}
\end{minipage}%
}

\fancyfoot[C]{\thepage}

\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
5 changes: 5 additions & 0 deletions .github/workflows/readme-to-pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,11 @@ jobs:
-e 's/`\[X\]`/\\FAILstatus{}/g' \
README._pdf.md > README._pdf.tmp && mv README._pdf.tmp README._pdf.md

- name: Render HTML subscripts for PDF only
run: |
set -euo pipefail
sed -E 's|<sub>([^<]+)</sub>|\\textsubscript{\1}|g' README._pdf.md > README._pdf.tmp && mv README._pdf.tmp README._pdf.md

- name: Create PDF metadata definitions
run: |
set -euo pipefail
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/validate-protocol.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,23 @@ jobs:
python -m unittest discover -s tests -p 'test_*.py'

- name: Run content validation
id: content_validation
if: steps.validation_gate.outputs.should_validate == 'true'
continue-on-error: true
run: |
python scripts/validate_protocol_content.py README.md

- name: Run style validation
id: style_validation
if: steps.validation_gate.outputs.should_validate == 'true'
continue-on-error: true
run: |
python scripts/validate_protocol_style.py README.md

- name: Fail if README validation failed
if: ${{ steps.validation_gate.outputs.should_validate == 'true' && (steps.content_validation.outcome != 'success' || steps.style_validation.outcome != 'success') }}
run: |
echo "README validation failed."
echo "Content validation outcome: ${{ steps.content_validation.outcome }}"
echo "Style validation outcome: ${{ steps.style_validation.outcome }}"
exit 1
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
[![Created with Ule Lab Protocol Template](https://img.shields.io/badge/created%20with-Ule%20Lab%20Protocol%20Template-blue)](https://github.com/ulelab/protocol-template)
[![Template version](https://img.shields.io/github/v/release/ulelab/protocol-template)](https://github.com/ulelab/protocol-template/releases)

> Template repository: Click `Use this template` to create a new protocol repo. Template docs are in [docs/USING_THIS_TEMPLATE.md](https://github.com/ulelab/protocol-template/blob/main/docs/USING_THIS_TEMPLATE.md)
# TODO: Protocol title
Expand Down
Loading
Loading