| Build a final, machine-readable argument snapshot from current H3 sections and refresh section fingerprints before merge.
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill argument-selfloop
Create the final C5 snapshot consumed by merge and later audit.
Despite the historical Skill name, the current implementation is not an
autonomous rewrite loop. It reads the final H3 files, assigns bounded structural
move labels, writes a compact consistency contract, refreshes section hashes,
and fails when required prose is absent or too thin.
section writing
-> style and numeric hygiene
-> logic polish
-> paragraph compaction
-> argument snapshot
-> optional transitions
-> merge
Running the snapshot after every section mutator prevents the ledger and
manifest from describing an earlier draft.
sections/outline/outline.ymlqueries.mdoutput/PARAGRAPH_CURATION_REPORT.mdoutput/ARGUMENT_SELFLOOP_TODO.mdoutput/SECTION_ARGUMENT_SUMMARIES.jsonloutput/ARGUMENT_SKELETON.mdsections/sections_manifest.jsonlSECTION_ARGUMENT_SUMMARIES.jsonl contains one record per expected H3 and one
record per paragraph. Current move labels are deterministic signals drawn from:
setup, thesis, contrast, evidence, evaluation, limitation, synthesis, takeaway
They make section shape inspectable; they do not prove that an argument is
scientifically valid. ARGUMENT_SKELETON.md contains a
## Consistency Contract and a chapter-level map. It is a writer-facing audit
artifact, never reader-facing paper content.
ARGUMENT_SKELETON.md contains ## Consistency Contract;sections_manifest.jsonl carries current bytes and sha256 values.On FAIL, inspect ARGUMENT_SELFLOOP_TODO.md and route the named section back to
its writer or evidence owner. This Skill does not apply the repair itself.
uv run python .codex/skills/argument-selfloop/scripts/run.py \
--workspace workspaces/<name>
Optional runner fields are --unit-id, --inputs, --outputs, and
--checkpoint.
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take willoscar/argument-selfloop from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.