mcpbeat

Light Venue Matching

light0305/light-venue-matching

Build evidence-bound journal or conference shortlists for Light stage 12. Use after typesetting delivers venue-handoff.json/PDF/compliance facts; when an author asks where to submit, journal selection, conference fit, scope or article-type matching, publication strategy, reach/match/safety tiers, transfer order, APC/OA/indexing/deadline constraints, or predatory/hijacked-journal risk. Produces a current-source candidate registry, fit/risk/unknown reports, and an unchosen decision packet; never recompiles the PDF, invents acceptance rates, condemns a venue from soft signals, chooses without a direct user choice or explicit delegation, or submits.

60k tokens
context cost
the whole folder, loaded on every use
16
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
505
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Light0305/Light-skills --skill light-venue-matching

The instruction itself

13 sections, as written by the author

Venue matching · stage 12

Turn a delivered paper into an auditable venue decision. Read

venue-resource-map.md before a real run and

references/workflow_contract.md before producing or consuming JSON. Use

references.md to choose current sources. Start from

templates/venue_input.json; never start from model memory or a bundled venue

list.

Non-negotiable boundaries

  • Consume typesetting's venue-handoff.json. Verify its PDF path/hash,

DELIVERED, pages, page size, profile/source, compliance PASS, and zero

critical findings. Preserve paper/figure/citation/typesetting provenance.

Do not compile, reformat, inspect page boxes again, or treat stage-11

UNAVAILABLE as compliance.

  • Consume paper-writing's manuscript/claim profile through

manuscript_profile.claims_delivery with a safe relative path, schema, and

SHA-256. Do not change claims, methods, results, article type, data scale,

or evidence strength to make a venue fit. Citation owns reference

authenticity; figure owns visual honesty.

  • Treat acceptance rate, review time, APC/OA, indexing, quartile, and CFP

deadline as high-velocity fields. Require a source checked on the run date.

Otherwise emit UNKNOWN, UNAVAILABLE, or STALE; never use memory.

AVAILABLE sources must carry an auditable locator (url, query,

locator, or path), checked_at, access_tier, and authority.

Official rules/fees/deadlines require official/publisher/venue authority;

indexing and quartile require index/registry authority.

  • Treat 403/429/5xx, missing key/login/subscription, robots denial, and source

outage as UNAVAILABLE. They do not mean “not indexed,” “not in DOAJ,”

“free,” or “risky.”

  • Keep predatory/hijacked signals as visible warnings pending current,

multi-source human review. DOAJ absence, high APC, fast review, unsolicited

email, unusual volume, or one archived list is not a final verdict.

  • Never estimate an acceptance percentage or convert fit into acceptance

probability. Use official current acceptance figures only with source/date;

otherwise acceptance_likelihood.status=UNKNOWN.

  • Keep decision_point=true and chosen=null through candidate discovery,

evidence collection, ranking, and delivery. Stop and ask the user to choose.

Only an explicit light.venue_user_selection.v1 may create a selected

handoff. Record a direct choice as actor=user; if the user explicitly

delegates the choice, preserve the authorization verbatim and use

actor=agent_with_user_authorization, decision_authority=user. Never

submit. Every selection artifact must include timezone-aware selected_at

and the user's stated trade-off in because. Bind the choice to the exact

reviewed packet with decision_sha256; a changed packet or any changed

registry/evidence/fit artifact requires a new review and selection.

  • Do not invent STAGE_GATES[12], ROUTES[12], a confirmation checkpoint,

critical findings, or a back-edge. Stage 12 is a user decision point with no

configured gate or route edge.

Workflow

1. Consume the real submission artifact

Require light.typesetting_venue_handoff.v1. Run prepare only when:

  • status=DELIVERED;
  • compliance_status=PASS and critical_count=0;
  • the PDF exists and its SHA-256 matches;
  • the compliance report exists and agrees on page facts.

If any condition fails, return an input error and route the author to stage 11

without creating a stage-12 critical finding.

2. Capture the author constraints

Record, without filling gaps yourself:

  • research direction, article type, methods, data scale, claims/evidence;
  • author stage, region, required indexes, OA requirement, APC ceiling;
  • hard submission deadline and acceptable review duration;
  • reach/match/safety preference and transfer strategy;
  • unacceptable venues, publishers, business models, or risks.

Mark each constraint as hard or soft. A hard author constraint can exclude; a

soft preference changes order and explanation.

Bind the claim/evidence profile to the current paper-writing artifact via

claims_delivery.path + sha256 + schema; a hand-typed manuscript profile is

not enough for stage 12.

3. Discover for recall, then verify for precision

Keep the unpublished manuscript local. Before any public or externally

authenticated search, translate it into author-approved broad field/method-family

terms and preflight the outgoing queries:

python scripts/query_privacy_gate.py `
  --input templates/query-privacy.example.json

Do not send the unpublished title, abstract, exact hypotheses, unique method or

dataset names, result sentences, tables, or figures to a public search engine.

The preflight report intentionally retains only query hashes and match categories.

Its PASS detects supplied phrase overlap; it cannot prove anonymity or rule out

re-identification.

Use the author's candidate list, current official CFPs, publisher finders, and

venue_discovery.py:

python scripts/venue_discovery.py `
  --query "author-approved broad field and method family" --rows 50 --out discovery.json

Crossref container frequency only discovers candidates. It does not establish

scope, rank, indexing, safety, or quality. Record every discovery query,

endpoint, access tier, status, and check time. Deduplicate by ISSN plus official

name; keep title conflicts for manual review.

4. Build field-level evidence

For every candidate, collect separate envelopes for:

  • official Aims & Scope and article types;
  • length/page, figure/table, supplement, anonymity, template, and format rules;
  • method/data fit and recent comparable articles;
  • OA/APC, timing, indexing/quartile, and current CFP deadline;
  • risk/hijack checks and unresolved identity conflicts.

Prefer official venue/publisher instructions for rules, authoritative indexes

for index membership, and registration metadata for identity. Keep JCR,

Scopus, Cabells, institutional lists, and paywalled fields unavailable unless

the author provides lawful access. Never scrape around access controls.

5. Prepare the canonical decision packet

python scripts/venue_evidence_gate.py `
  --spec venue-evidence.json --report venue-evidence-findings.json `
  --json-out venue-evidence-report.json
python scripts/venue_workflow.py prepare `
  --input venue-input.json --out-dir venue-run --as-of YYYY-MM-DD

Run venue_evidence_gate.py first when candidate evidence has been collected. It consumes light.venue_evidence.v2

(templates/venue-evidence.example.json, intentionally fail-closed) and checks each candidate on independent axes:

scope, article type, audience, format, cost, timeline, trust, and strategy. Do not use a single aggregate score.

Dynamic fields must carry locator, retrieved_at, valid-at/source age, timezone when relevant, and UNKNOWN/UNAVAILABLE/STALE

when not verified. Hard blockers include article type not accepted, official scope mismatch, fee over a hard APC ceiling,

unknown fee under a hard ceiling, deadline missing timezone or already passed, missing timezone-aware as_of, future

retrieved_at, identity conflict/hijack, and strategy without evidence-backed because. DOAJ/TCS/source failures remain

unresolved evidence, not adverse evidence.

Compare real PDF pages/page size/profile facts with each candidate's current

rules. Explain scope, article type, method/data, paper strength, format, APC/OA,

timing, indexing, risk, and author constraints separately. An official

article-type/page mismatch or hard author constraint may exclude. A soft risk

signal may not.

Emit reach/match/safety tiers and a transfer order. Every option needs

because plus evidence source IDs. Unknown fields lower confidence; they do

not silently lower the venue or become adverse evidence.

6. Stop at the user decision

Show the decision packet and ask one concrete question: which candidate should

be selected? Present material trade-offs and unresolved fields. Do not write a

selection file without a direct user choice or explicit delegation. Never

select an excluded candidate.

Correct:

> Candidate A is reach because scope/method fit is high but the official bar is

> above the paper profile; APC is unavailable. Candidate B is match with an

> article-type fit and current zero-APC evidence. Which do you choose?

Incorrect:

> I selected Candidate A and updated the project.

7. Apply the user's choice

After the user names a candidate or explicitly delegates the choice, copy

templates/user_selection.json, record their stated reason or verbatim

authorization, copy delivery.json.decision_sha256 into decision_sha256,

and run:

python scripts/venue_workflow.py choose `
  --decision venue-run/decision-packet.json `
  --selection user-selection.json --out-dir selected

Hand selected-venue-handoff.json and

review-rebuttal-context.json to review-rebuttal. Hand

author-submission-plan.json to the author. Both consumers receive venue

rules, evidence IDs, unknowns, manuscript profile, and stage-11 provenance.

selected_at must be timezone-aware and not earlier than the decision packet's

generated_at. choose verifies the decision digest plus the SHA-256/schema

binding of candidate registry, source evidence, fit report, and unknowns; any

drift fails closed. Recheck volatile fields on submission day and stop before

portal submission.

Script roles

  • venue_discovery.py: current, recall-oriented Crossref discovery with honest

network status.

  • query_privacy_gate.py: local outgoing-query preflight; catches supplied

private phrase/result-value overlap without echoing manuscript or query text.

  • venue_workflow.py: canonical handoff verification, field-state

normalization, fit/risk explanation, decision packet, and user-selection

handoff.

  • venue_signal.py: optional OpenAlex/DOAJ signal adapter; free OpenAlex key

may be required and each failed signal stays unavailable.

  • venue_evidence_gate.py: Round 3 multi-axis venue_evidence.v2 gate; separates scope/type/cost/timeline/trust/strategy, forbids aggregate-score decisions, preserves UNKNOWN/UNAVAILABLE/STALE, and blocks hard constraint mismatches before the user decision packet.
  • venue_fit_rank.py: legacy v1 candidate-card adapter; do not use it instead

of the canonical registry.

  • venue_risk_gate.py: optional legacy warn-only findings adapter; never a

stage-12 critical gate.

Delivery self-check

  • [ ] Real typesetting PDF/hash/pages/page-size/profile/compliance consumed?
  • [ ] Paper, citation, figure, and typesetting provenance preserved?
  • [ ] Paper-writing claim/profile artifact bound by safe relative path, schema

and SHA-256?

  • [ ] Author direction/type/method/data/stage/region/index/OA/APC/deadline/

speed/strategy/unacceptable constraints recorded?

  • [ ] Public queries use approved broad terms and pass local privacy preflight?
  • [ ] Every current field has source, query/URL, check date, access tier, and

status?

  • [ ] venue_evidence_gate.py ran on venue_evidence.v2, with no aggregate score, no premature chosen, and every candidate axis separately evidenced?
  • [ ] Deadline timezone, fee category/APC ceiling, waiver, source age, DOAJ/TCS unavailable states, and identity/hijack conflicts are explicit?
  • [ ] Unknown, 403/429/5xx, key/login, institutional, and paid fields remain

UNKNOWN/UNAVAILABLE/STALE rather than adverse evidence?

  • [ ] Official scope/type/length compared with real paper facts?
  • [ ] Soft risk stays warning and predatory/hijacked verdict stays human?
  • [ ] Reach/match/safety and transfer order each carry because and evidence?
  • [ ] decision_point=true, chosen=null, and no selected handoff before the

user's explicit choice?

  • [ ] User selection binds the reviewed decision-packet.json SHA-256, and all

four decision artifacts still match their bound hash/schema?

  • [ ] No STAGE_GATES[12], ROUTES[12], critical finding, auto-choice, or

submission invented?

Honest capability boundary

Tiering, scope fit, APC/deadline filtering, risk warnings, author-fit, and

explainable recommendations are established peer mechanisms, not unique Light

features. Light's narrower implementation gain is canonical consumption of

the real stage-11 artifact, per-field provenance/access/status, honest failure

semantics, and an enforceable unchosen→user-selected artifact transition.

Round 3 adds an executable multi-axis evidence gate so a high scope score cannot hide article-type, fee, deadline, or trust blockers.

Keyword overlap and method/selectivity bands remain decision support, not an

editorial prediction. Paid/institutional sources stay optional.

How to use it

Copy the folder

Take light0305/light-venue-matching from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.