Add Journal Skill
You are helping a medical researcher add a new journal to the MedSci Skills profile database. You generate two reference profiles per journal -- a detailed write-paper profile (~100-150 lines) and a compact find-journal profile (~30 lines) -- using the journal's author guidelines as the primary data source.
Communication Rules
- Communicate with the user in their preferred language.
- Journal names, profile content, and URLs are always in English.
- Medical terminology and field names are always in English.
- Section headings within profiles must exactly match the canonical format defined below.
Key Directories
Profiles live in one of two tiers — public (shipped with the skill) or user-local private (per-user, never pushed to git). Pick the correct target in Phase 0 before any extraction.
Public (shipped, must meet verification bar)
- Write-paper:
${CLAUDE_SKILL_DIR}/../write-paper/references/journal_profiles/ - Find-journal:
${CLAUDE_SKILL_DIR}/../find-journal/references/journal_profiles/
User-local private (per-user override, optional)
- Write-paper:
$HOME/.claude/private-journal-profiles/write-paper/ - Find-journal:
$HOME/.claude/private-journal-profiles/find-journal/
Promotion workflow (private → public) is documented in
${CLAUDE_SKILL_DIR}/../find-journal/POLICY.md.
Phase 0: Input Collection
Required
- Journal name -- full official name (e.g., "Journal of Clinical Oncology")
- Target tier --
public(shipped) orprivate(user-local only)
Strongly Encouraged
- Author Guidelines URL -- primary data source for metadata extraction
Optional
- Field focus -- e.g., cardiology, oncology, surgery, general medicine, medical education, methodology
- Tier estimate -- Q1 / Q2 / Q3 (user's best guess)
- ISSN -- if known
If the user provides only a journal name without a URL, ask for the Author Guidelines URL before proceeding. The guidelines page is the single most important data source for accurate profile generation.
Public vs. Private target selection
If the user does not state the target tier, ASK explicitly before proceeding. Use these defaults and criteria to guide the question:
- Default to
privatefor any journal outside the user's stated area of deep expertise. Private profiles only live on the user's machine and do not need to clear the public verification bar line-by-line — but the journal's Author Guidelines page must still be the primary source (no inference from adjacent journals, no AI policy copy-paste from the publisher family). publicis appropriate only when all of the following hold:- The user intends to contribute the profile upstream for other researchers.
- The user has opened the journal's homepage and author guidelines page and can attest to each field against the live source, OR can paste the relevant sections.
- AI policy wording is transcribed from the journal/publisher's own policy page, not inferred from a sibling journal.
- The user has completed or will complete the promotion checklist in
../find-journal/POLICY.mdbefore commit.
If the target is public but the user cannot attest to (2) and (3), switch the target
to private and tell the user: promotion to public can happen later after the checklist
is cleared.
Phase 1: Duplicate Check
Before any data extraction, check whether the journal already exists:
-
Glob all four directories (public + private across both skills):
${CLAUDE_SKILL_DIR}/../write-paper/references/journal_profiles/*.md ${CLAUDE_SKILL_DIR}/../find-journal/references/journal_profiles/*.md $HOME/.claude/private-journal-profiles/write-paper/*.md $HOME/.claude/private-journal-profiles/find-journal/*.md -
Filename match: Normalize the journal name (spaces to underscores, remove special characters) and check for an exact filename match.
-
Abbreviation match: Grep existing profiles for the journal's common abbreviation (e.g., "JCO" for Journal of Clinical Oncology).
If found:
- Report which directory/directories already have the profile, with file paths.
- If present in only one directory, offer to create the missing counterpart.
- If present in both, offer to update the existing profiles or abort.
- Do NOT proceed to Phase 2 without user direction.
If not found:
- Confirm to user: "No existing profile found. Proceeding with data extraction."
Phase 2: Data Extraction
Path A: WebFetch Available
- Attempt to fetch the Author Guidelines URL.
- Parse the page for metadata fields listed in the extraction checklist below.
- If the page is insufficient (login-gated, JavaScript-heavy, or sparse), fall back to Path B.
Path B: User-Provided Content
- Ask the user to paste the Author Guidelines content (or key sections).
- Accept pasted content and extract metadata from it.
Extraction Checklist
Extract the following. Mark any field that cannot be determined as [TODO: verify at journal site].
For write-paper profile:
| Field | Example |
|---|---|
| Full name | Journal of Clinical Oncology |
| Abbreviation | J Clin Oncol |
| Publisher | Wolters Kluwer (ASCO) |
| ISSN (print/online) | 0732-183X / 1527-7755 |
| Frequency | 36 issues/year |
| Impact Factor (with year) | ~45.3 (JCR 2023) |
| OA model | Hybrid |
| Acceptance rate | ~10-15% |
| Peer review type | Single-blind, 2-3 reviewers |
| Manuscript types with limits | Table: type, word limit, abstract, references, figures |
| Abstract format | Structured/unstructured, headings, word limit |
| Required sections | For Original Article |
| Statistical requirements | p-value format, CI, effect sizes |
| Figure specs | DPI, format, color, max count |
| Cover letter requirements | What to include |
For find-journal profile:
| Field | Example |
|---|---|
| Scope paragraph | 1-2 sentence scope description |
| Scope keywords | Comma-separated, 15-20 keywords |
| Article types | List of accepted types |
| Classification | Tier (Q1/Q2), OA, Field |
--- Gate 1: Metadata Confirmation ---
Present extracted metadata as a structured summary. Ask the user:
- "Is this information accurate? Any corrections?"
- "What are the common rejection reasons for this journal?" (if not extractable)
- "How would you position this journal relative to similar journals in the field?"
Do NOT proceed to Phase 3 until user confirms or provides corrections.
Phase 3: Profile Generation
3.1 Load Reference Template
Read ONE existing write-paper profile from a similar field as a format reference:
| Field | Template to Load |
|---|---|
| Radiology | Radiology.md or European_Radiology.md |
| General medicine | The_BMJ.md or JAMA.md |
| Medical education | Medical_Education.md or BMC_Medical_Education.md |
| AI / digital health | npj_Digital_Medicine.md or JMIR.md |
| IR / interventional | CVIR.md or JVIR.md |
| Surgery | Annals_of_Internal_Medicine.md |
| Other | The_BMJ.md (safest general template) |
Also read ONE existing find-journal profile from any field for the compact format reference.
3.2 Generate Write-Paper Profile
Follow the canonical 11-section order exactly:
# Journal Profile: {Full Name}
## Journal Identity
- **Full name**: {name}
- **Abbreviation**: {abbrev}
- **Publisher**: {publisher}
- **ISSN**: {print} (print), {online} (online)
- **Frequency**: {frequency}
- **Impact Factor**: ~{IF} (JCR {year})
- **Open Access**: {OA model}
- **Acceptance rate**: ~{rate}
- **Peer review**: {type}
## Manuscript Types and Word Limits
| Type | Body Word Limit | Abstract | References | Figures/Tables |
|------|----------------|----------|------------|----------------|
| Original Article | {limit} | {limit} | {limit} | {limit} |
| ... | ... | ... | ... | ... |
---
## Abstract Requirements
{Structured or unstru