add-journal — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited add-journal (Agent Skill) and scored it 91/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} is the classic direct prompt-injection phrasing. Placed in a skill body that the agent reads as trusted instructions, it tries to make the agent abandon its prior rules and follow whatever comes next — a full system-prompt override.
ignore/disregard/forget … previous instructions sentence.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate two profiles per journal from its author guidelines: a detailed write-paper profile (~100-150 lines) and a compact find-journal profile (~30 lines). Write profile content in English; the library is shared.
Profiles live in one of two tiers. Pick the target in Phase 0, before any extraction.
${CLAUDE_SKILL_DIR}/../find-journal/POLICY.md):
${CLAUDE_SKILL_DIR}/../write-paper/references/journal_profiles/${CLAUDE_SKILL_DIR}/../find-journal/references/journal_profiles/$HOME/.claude/private-journal-profiles/write-paper/$HOME/.claude/private-journal-profiles/find-journal/POLICY.md also documents promotion from private to public.
public or private).before proceeding; it is the primary data source.
This skill does not judge whether a journal is legitimate. For an unfamiliar publisher, check DOAJ membership (for open-access titles) and indexing before writing a profile, and tell the user.
If the user does not state the target tier, ASK before proceeding.
Private profiles need not clear the public bar line by line, but the journal's own Author Guidelines page must still be the primary source: no inference from adjacent journals, no AI policy copied from the publisher family.
field against the live source, or can paste the relevant sections.
inferred from a sibling journal.
../find-journal/POLICY.md before commit.
If the target is public but the user cannot attest to (2) and (3), switch the target to private and say that promotion can happen later once the checklist is cleared.
Before any extraction:
${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/*.mdIf found, report the paths. If present in only one directory, offer to create only the missing counterpart; if in both, offer to update or abort. Do NOT proceed to Phase 2 without user direction.
login-gated, JavaScript-heavy, or sparse, fall back to Path B.
silently when a fetch fails.
Mark any field that cannot be determined as [TODO: verify at journal site].
For the write-paper profile: full name; abbreviation; publisher; ISSN (print/online); frequency; Impact Factor with its JCR year; OA model; acceptance rate; peer-review type; manuscript types with word, abstract, reference and figure limits; abstract format (structured or not, headings, word limit); required sections for an Original Article; statistical requirements (p-value format, CI, effect sizes); figure specs (DPI, format, color, max count); cover letter requirements.
For the find-journal profile: a 1-2 sentence scope paragraph; 15-20 comma-separated scope keywords; accepted article types; classification (tier Q1/Q2, OA, field).
Present the extracted metadata as a structured summary. Ask:
If the user's information conflicts with the source, present the conflict and ask. Do NOT proceed to Phase 3 until the user confirms or corrects.
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 | JMIR_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 for the compact format.
The detailed profile /write-paper loads when drafting for this journal. Read ${CLAUDE_SKILL_DIR}/references/write_paper_profile_template.md when writing it and fill the literal template.
Follow the canonical 11-section order exactly. /write-paper Phase 7 and /find-journal read these profiles positionally — a reordered, renamed, or omitted section silently degrades both:
model, acceptance rate, peer-review type
and mark them [TODO: verify at journal site]: exact p-values to 2-3 significant figures (p < 0.001 below that); 95% CI for primary outcomes; effect sizes in clinically meaningful units; statistical software and version identified.
stance, and the policy URL
similar journals (society, scope emphasis, impact factor range, distinguishing features)
Fill rules. Never guess a value. NEVER invent an Impact Factor, acceptance rate, APC, ISSN, peer-review timeline, word limit or abstract structure, because an invented value propagates straight into a drafted manuscript: mark it [TODO: verify at journal site] instead. Use an approximate range (e.g., "~15-20%") only when the source supports it. Where the journal publishes no dedicated AI policy, cite the publisher-level policy and say so explicitly.
Follow the canonical format exactly:
# {Full Name}
## Identity
- **Abbreviation:** {abbrev}
- **Publisher:** {publisher}
- **ISSN:** {print} / {online}
- **Homepage:** {URL}
- **Author guidelines:** {URL}
## Scope
{1-2 sentence scope description.}
## Scope Keywords
{comma-separated keywords, 15-20 terms}
## Article Types Accepted
- Original Article
- Review Article
- ...
## Classification
- **Tier:** {Q1/Q2}
- **Open Access:** {Full OA / Hybrid / Subscription}
- **Field:** {field}
## Special Notes
{2-3 sentences on positioning, unique aspects, society affiliation.} AI policy: {1-line summary from write-paper profile's AI Writing Disclosure Policy section — e.g., "language editing only, dual disclosure required, AI images banned." or "follows ICMJE — disclose AI use in Methods."}Present BOTH complete draft profiles. Ask:
Do NOT write files until the user approves both profiles.
Spaces to underscores, special characters removed: "Journal of Clinical Oncology" -> Journal_of_Clinical_Oncology.md; "JACC" -> JACC.md; "JAMA Network Open" -> JAMA_Network_Open.md.
Write the write-paper profile and the find-journal profile, each as {filename}.md, into the directory pair chosen in Phase 0 (Key Directories). For private, create the two private directories if missing. Do NOT write private profiles anywhere inside the medsci-skills git tree.
Do not edit SKILL.md, README.md or any other file to update a profile count: counts are derived from disk at runtime, and private profiles are never counted.
Report the target tier and the paths written, then:
public: remind the user to commit the two profile files (staged by path) with a messagerecording which pages were opened and on what date, as POLICY.md requires.
private: "Files are local-only in your private profiles directory (outside this repo) — do notcommit to the public repo."
For several journals in one session:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.