rekursiv-ai/trackinizer/paper

Claude Code and agent skill by rekursiv-ai/trackinizer

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

ALWAYS invoke this skill when creating, uploading, or completing a trackinizer Paper (bibliographic node) -- full field cascade, DOI resolution, companion WebResults, cites vs proves. Do not write the Paper directly -- invoke this skill first.

Install

npx vskill@latest install rekursiv-ai/trackinizer/paper

SKILL.md

Paper — authoring expectations

Populate a Paper node as completely as the public record allows. Every bibliographic field is best-effort ("try"): attempt each via the source cascade below, fill what resolves, record what does not — never fail the node for a missing optional field, never invent a value, never write a placeholder.

Per-kind expectations doc (SoT). Fields are owned by types/inquiries.py; write grammar by ../SKILL.md. This file owns what a complete Paper looks like and how to source it.

Completeness bar

A well-formed Paper has attempted (filled OR gap-noted) every field: title, authors, abstract, publish_date, venue, publication_type, source, plus doi resolution, companion WebResults, and ≥1 label. Report which fields stayed empty and WHY (source had no value vs. not attempted — the latter is a bug).

abstract vs description — do not conflate

  • `abstract` is the paper's OWN abstract, quoted (lightly trimmed/whitespace-

collapsed) from the source. It is verbatim third-party text. Never write your own analysis, relevance-to-our-project notes, "closest prior art" verdicts, or any editorializing here — that corrupts the record and misleads every future reader who trusts abstract to be the source's words.

  • `description` is YOUR long-form body: editorial commentary, why this paper

matters to the current work, how it relates to a Belief, caveats, the edge-relevance rationale. Put every first-person / project-specific note here.

  • Rule of thumb: if a sentence would not appear in the published paper, it does

not belong in abstract. It belongs in description (or on the citation edge's note).

There is no separate doi field — a DOI goes in source as doi:10.xxxx/yyy. For an arXiv paper, source = arXiv:NNNN.NNNNN and the DOI (if resolved) may be noted in description.

Source cascade (attempt each in order; first hit wins)

FieldCascadeNotes
titleS2 batch → arXiv API <title> → Crossrefcollapse whitespace
authorsS2 authors[].name → arXiv <name> → Crossref author[]ordered byline; ~20 cap
abstractS2 abstract → arXiv <summary> → Crossref~2000 char truncate
publish_dateS2 publicationDate → arXiv <published> → Crossref issuedISO. Never FABRICATE a date: no epoch, no invented -01-01. But a source's genuine year-only date (Crossref returns YYYY-01-01) is REAL — keep it. Distinguish by provenance: a -01-01 that came WITH authors from a real Crossref hit is a legit year-only date; a -01-01 with no source behind it is a fabricated placeholder — leave empty instead.
venueS2 venue → Crossref container-titlecanonical name below
publication_typeCrossref type / inferencearticle, inproceedings, misc
doiS2 externalIds.DOI → Crossref bibliographic queryresolve EVEN for arXiv papers
sourcethe scheme-tagged id chosenarXiv:... / doi:... / https://...
google_scholar_cluster_idONLY when a Scholar result is already in handthe Scholar data-cid cluster handle — the paper's stable Scholar IDENTITY, present for EVERY indexed paper (cited or not). Set it when a search/cited_by/related result already carries it; coexists with source.
google_scholar_cites_idONLY when a Scholar result shows citationsthe Scholar cites_id cited-by pivot handle — the "cited by N" link, present ONLY once a paper HAS citations. An uncited paper legitimately has none; leaving it empty is normal, not a gap.

Set BOTH whenever either is used/needed/known. A single Scholar result (search/cited_by/related) carries cluster_id AND (if the paper is cited) cites_id together — so if you have a reason to record one, record both from the same result; never persist one and drop the other you already hold. The only asymmetry is that an uncited paper has a cluster_id but no cites_id (normal, not a gap).

Do NOT issue a Scholar search just to obtain either handle: every Scholar call is rate-limited and risks a CAPTCHA. Free to set from a result already in hand; never worth a dedicated fetch.

Canonical venues

Store venue names without years, volume numbers, or Proceedings of. Put workshops, tracks, and Findings in subvenue.

Canonical preprint/nontraditional names: arXiv, TechRxiv, SSRN, ARC Prize.

Canonical conference names: AAAI, ACL, AISTATS, CoLLAs, COLT, CoNLL, CogSci, CVPR, CVPRW, EMNLP, GCWCN, ICASSP, ICLR, ICML, ICRA, IDC, IJCAI, KDD, NeurIPS, SCA/HPCAsia Workshops, UAI.

Canonical journal/proceedings names: ACM TIST, ACM TOPML, Artificial Intelligence and Law, Artificial Life, Automatica, Cognition, JMLR, Nature, Neurocomputing, PACMPL, Pattern Recognition Letters, Physical Review B, Physical Review E, PLOS ONE, PNAS, Science, Science Advances, TMLR.

Known aliases normalize to those exact strings. Examples:

  • Advances in Neural Information Processing Systems 38 (NeurIPS 2025) →

NeurIPS.

  • International Conference on Machine Learning → ICML.
  • `The Thirteenth International Conference on Learning Representations

(ICLR 2025) → ICLR`.

  • Findings of the Association for Computational Linguistics: ACL 2026 →

venue ACL, subvenue Findings.

  • Mechanistic Interpretability Workshop at NeurIPS 2025 → venue NeurIPS,

subvenue Mechanistic Interpretability Workshop.

  • arXiv.org and mixed arXiv/award strings → arXiv; preserve the award in

subvenue.

Unlisted journals retain their official title. When an alias is discovered, add it to the shared venue-alias table rather than storing a new spelling.

Source-link verification

Real-GET every non-arXiv source before completion; a plausible URL or copied index result is not evidence that the source resolves. Follow redirects and verify the final response identifies the intended paper. A 403 proves only that the current transport is blocked: retry with Zendriver before calling the link dead. A connection failure shared by every URL on one host is a host or egress failure, not evidence that each path is wrong. Replace genuinely dead links with an authoritative DOI, proceedings page, or stable project record.

For graph-wide audits, test every active non-arXiv source, retain the per-Paper result, and stop completion while any link remains untested or unresolved.

DOI resolution

https://api.crossref.org/works?query.bibliographic=<title>&rows=1 with a User-Agent: ... (mailto:you@example) for the polite pool. Fuzzy-match the returned title before accepting — Crossref returns a nearest hit even on a miss. A preprint DOI (Research-Square/Zenodo) is valid but is NOT a venue.

Non-published sources are first-class

Benchmark records (ARC especially) are Kaggle-like: much of the field is GitHub repos, Kaggle notebooks/writeups, blogs, theses, workshop PDFs with no arXiv id. Make these real Paper nodes:

  • source = URL; publication_type = misc; label non-published.
  • title = page/repo title (slug if none); abstract = README/snippet when available.
  • Never drop a citer for lacking an arXiv id — that discards exactly the

effort these benchmarks care about.

Companion WebResults (code / data / project page)

Every paper: try to find and attach companions.

  1. Parse the paper PDF for github.com/github.io/kaggle.com/huggingface.co/

gitlab.com/project-page URLs; also check S2 externalIds and the abstract.

  1. Filter dependency/library repos (faiss, d3pm, generic forks) — keep the

paper's OWN artifact.

  1. Create + link: trax webresult title to "Code: <slug>" url to <URL> then

trax paper <seq> produces webresult <wseq>. Dedup WebResults on url. See ../webresult/SKILL.md.

Citation edges

  • Paper→Paper bibliographic citation = cites_paper (`trax paper A cites paper

B): historical, no valence, provenance-neutral. Add an edge to every in-graph reference. This is NOT proves/favors (those target Belief/Experiment — see ../belief/SKILL.md`).

  • Getting a paper's references is usually a PDF-read, not an API call. S2 and

arXiv only carry reference lists for older, well-indexed papers; for anything recent (the common case) S2 returns nothing, so you fetch the PDF and parse its bibliography for arXiv ids / DOIs — treat PDF-reading references as the norm, not a fallback. Cascade: S2 references+citations → PDF bibliography (recent papers, and non-arXiv references like repo URLs S2 never has) → Google Scholar cited_by for the recent / non-published tail. (Bulk graph-scale harvest is the survey-snowball research skill; one paper's refs still follow this cascade.)

Labels

  • Domain/version tags only where the paper's own text pins them (e.g.

arcagi1/2/3 when it RAN that split); when unpinned use arc-version-unverified (domain equivalent) rather than guessing.

  • Provenance tag for how the node entered (scholar, closure, snowball,

manual) — makes audits filterable.

Idempotency

Dedup on source before creating: skip if present; fill only MISSING fields on a partial row. Never create a second row for an existing source — that becomes a supersedes cleanup later (survey-snowball).

Lifecycle

A Paper starts active while you are still resolving its fields. Once it is fully populated (fields attempted, companions linked, citation edges wired) and has passed its completeness check, mark it `status complete` (trax paper <seq> status to complete). complete means "done being authored, verified" — not "the paper was published." A row missing fields that CAN still be filled stays active; a row whose remaining gaps are genuinely unresolvable (flag no-bib-record) may still be completed. Re-open to active only if new fields become fillable.

Common mistakes

  • Writing your own analysis into `abstract` instead of description — the

abstract must stay the source's verbatim words (see §abstract vs description).

  • Dropping a non-arXiv citer instead of making it a misc node.
  • FABRICATING a -01-01/epoch date with no source behind it (leave empty

instead) — but do NOT strip a genuine year-only -01-01 a source actually returned.

  • Fabricating authors/venue on a cascade miss — leave empty, note the gap.
  • Skipping DOI resolution for arXiv papers (they often have one).
  • Attaching a dependency repo as the companion WebResult.
  • Using proves/favors for a paper→paper citation (wrong target kind; use

cites).

  • Creating a duplicate row instead of filling the existing one.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/rekursiv-ai/trackinizer/paper/badge)](https://verified-skill.com/skills/rekursiv-ai/trackinizer/paper)

Something wrong with this skill or its page? Tell us.