Use when working in HyperCube-main and the task is to take a structured PubMed-style CSV, send each row to the LM Studio model on the other computer, write an augmented screened CSV, and review the results. Best for CSVs shaped like pubmed_data.csv with ResearchQuestion, Title, and Abstract fields.
This skill runs HyperCube's row-wise literature screening flow against the remote LM Studio node and summarizes the resulting output CSV.
Use it when the user wants to:
pubmed_data.csv or another similarly formatted CSVztopWork from the real project source:
/home/paulwasthere/AndroidStudioProjects/HyperCube-mainPrimary files:
/home/paulwasthere/AndroidStudioProjects/HyperCube-main/pubmed_data.csv/home/paulwasthere/AndroidStudioProjects/HyperCube-main/screenPubMedCsv.mjs/home/paulwasthere/AndroidStudioProjects/HyperCube-main/WORKFLOW_TO_LM_STUDIO.md/home/paulwasthere/AndroidStudioProjects/HyperCube-main/PROJECT_SUMMARY.md/home/paulwasthere/AndroidStudioProjects/HyperCube-main/RESEARCH_STYLE_SUMMARY.mdRemote node assumptions:
ssh ztophttp://192.168.68.82:1234qwen2.5-3b-instructIf the user asks to verify the remote machine first, check:
ssh ztop "%USERPROFILE%\\.lmstudio\\bin\\lms.exe" statusssh ztop "%USERPROFILE%\\.lmstudio\\bin\\lms.exe" psssh ztop "%USERPROFILE%\\.lmstudio\\bin\\lms.exe" lsBefore running the batch, confirm the CSV contains the row-level evidence needed by the screener:
ResearchQuestionTitleAbstractThe screening script can tolerate extra columns. It appends LLM fields without removing the original data.
Standard full run:
cd /home/paulwasthere/AndroidStudioProjects/HyperCube-main
node screenPubMedCsv.mjs \
--input pubmed_data.csv \
--output /tmp/pubmed_data.screened.full.csv
Use --limit for a small validation run:
node screenPubMedCsv.mjs \
--input pubmed_data.csv \
--output /tmp/pubmed_data.screened.test.csv \
--limit 5
Override the endpoint or model only when the user explicitly wants a different target:
node screenPubMedCsv.mjs \
--input pubmed_data.csv \
--endpoint http://127.0.0.1:1235/v1/chat/completions \
--model qwen2.5-3b-instruct
For long unattended jobs, prefer host-local execution on ztop:
screenPubMedCsv.mjs to C:\Users\mailf\screeningrun_ventwaveforms_remote.cmdhttp://127.0.0.1:1234/v1/chat/completions on the remote machineThis reduces coordinator involvement and is the preferred overnight mode.
After the run, inspect:
LlmStatusLlmFitForReviewLlmErrorLlmReason valuesUseful summary pattern:
python3 - <<'PY'
import csv
from collections import Counter
path = '/tmp/pubmed_data.screened.full.csv'
with open(path, newline='', encoding='utf-8') as f:
rows = list(csv.DictReader(f))
print('rows=', len(rows))
print('status_counts=', dict(Counter(r['LlmStatus'] for r in rows)))
print('fit_counts=', dict(Counter(r['LlmFitForReview'] for r in rows)))
print('error_rows=', sum(1 for r in rows if r['LlmError']))
PY
If the user wants the file preserved in the repo, copy it into the project folder:
cp /tmp/pubmed_data.screened.full.csv \
/home/paulwasthere/AndroidStudioProjects/HyperCube-main/pubmed_data.screened.full.csv
When closing out the task, summarize:
The system prompt and JSON schema are part of the method, not incidental details. The screening script uses structured output so the model response can be parsed deterministically and written back into CSV columns. The final screened CSV is produced by mapping schema-valid JSON into tabular fields.
The current workflow is intended for first-pass screening, not final literature review judgment. Retrieval remains recall-oriented; the LLM step is a precision-oriented triage layer over the structured CSV.
If the run fails or behaves unexpectedly:
lms.exe statuslms.exe psResearchQuestion, Title, and AbstractLlmError is transport-related or prompt-relatedUse the project docs when the user wants background or write-ups:
/home/paulwasthere/AndroidStudioProjects/HyperCube-main/WORKFLOW_TO_LM_STUDIO.md/home/paulwasthere/AndroidStudioProjects/HyperCube-main/PROJECT_SUMMARY.md/home/paulwasthere/AndroidStudioProjects/HyperCube-main/RESEARCH_STYLE_SUMMARY.md