Skip to content
Back to skills

Init

ASecurity

Set up an ACL paper project for the acl-paper skills (literature folder, report.md, CLAUDE.md, Python env, checks).

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythongogit

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add NilsHellwig/acl-paper-skills --skill init --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Init?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Init
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nilshellwig-init/badge)](https://www.skillsdirectory.com/skills/nilshellwig-init)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: init
description: Set up an ACL paper project for the acl-paper skills (literature folder, report.md, CLAUDE.md, Python env, checks).
disable-model-invocation: true
---

Prepare the current folder, which holds a paper written with the official ACL LaTeX template, for the other acl-paper skills. LaTeX setup is out of scope: the template is assumed to be there.

`PK` below means `python3 ${CLAUDE_PLUGIN_ROOT}/scripts/paperkit.py`, run from the project root.

Ask the user every question in this skill; settle nothing by yourself. Existing files are extended, never overwritten.

## 1. Find the paper

Find `.tex` files that contain `\documentclass` and `\usepackage[...]{acl}`. One hit is the main file. Several hits: ask which. None: stop and say this plugin expects the ACL template (github.com/acl-org/acl-style-files).

## 2. pdftotext

Run `command -v pdftotext`. When it is missing, stop with ⚠️ and give the install command (macOS: `brew install poppler`, Debian/Ubuntu: `sudo apt install poppler-utils`, Windows: poppler via conda-forge or WSL). Re-check once the user says it is installed, then continue.

## 3. Python environment

The scripts for the literature sources run in a Python environment the user picks. Collect the candidates, then ask with AskUserQuestion:

- existing envs in the project (`.venv/`, `venv/`, `env/`)
- conda envs (`conda env list`, if conda exists)
- a new `uv` venv `.venv` in the project (offer only if `uv` exists, create only if picked)
- a path the user types

Resolve the choice to the interpreter's absolute path (`<env>/bin/python`) and confirm it runs (`<python> --version`, 3.10 or newer).

## 4. Packages

First settle the English variant. Run `PK detect-english --main-tex <main.tex>`: it counts American and British spellings in the existing text and returns a recommendation with its reason. Ask with AskUserQuestion, putting the recommended variant first with "(Recommended)" and the counts in its description (e.g. "British: 14 of 16 variant spellings, such as analyse, modelling"). Name mixed usage when both counts are above zero, since `proofread` will then flag the minority spellings.

Also ask, in the same AskUserQuestion round, whether the literature goes into git (check `git rev-parse --is-inside-work-tree`; outside a repo, still ask, since the project may become one or sync to Overleaf):

- `files` (Recommended): ignore `literature/pdf/` and `literature/md/`. Publishers' PDFs are often not redistributable and make the repo large; notes, index and `archive.bib` stay versioned, and `PK add` can re-fetch the papers.
- `all`: ignore the whole `literature/` folder, notes and archive included.
- `none`: version everything, for private repos where co-authors should get the PDFs too.

Also ask, in the same round, what the paper is submitted to; `guidelines-check`, `camera-ready`, `reviewer`, `rebuttal`, `revision` and `proofread` branch on it:

- `venue`: `acl-arr` (ACL, EMNLP, NAACL, ... via ARR) or `semeval` (a SemEval shared task; its rules and submission differ from ARR).
- `paper_type`: `long` or `short` for `acl-arr`; `semeval-system` or `semeval-task` for `semeval`.
- `stage`: `review` (the version for peer review) or `camera-ready` (accepted, final version). The `acl{...}` option in the main file hints at it.

Then run `PK init --python <python> --main-tex <main.tex> --english <us|uk> --gitignore <files|all|none> --venue <venue> --paper-type <type> --stage <stage>`. It writes `paper.config.json` (including `venue`, `paper_type`, `stage`), `literature/{pdf,md,notes}/`, `literature/archive.bib`, `literature/index.md` and `report.md`, keeping what exists.

Then run `PK doctor`. For each source with missing packages it prints the exact install command. Show it and ask before running it. (`acl-anthology` needs `typing_extensions` alongside; the command already lists it.)

Tell the user that the first ACL Anthology search downloads the Anthology metadata (about 300 MB, git clone) into `~/.cache/acl-paper/anthology`, shared by all projects. Offer to fetch it now with `PK anthology-update`.

## 5. Bib keys

Read the paper bib named in `paper.config.json`. Native keys are the source's own: ACL Anthology keys look like `hellwig-etal-2025-still`, arXiv keys like `vaswani2023attentionneed`. When existing entries follow another scheme, show three examples and ask which scheme new entries follow. Store the answer as `key_scheme` in `paper.config.json` (`native`, or a short description such as `AuthorYear like Smith2020`). Later skills apply it without asking again.

The template's `custom.bib` ships sample entries (`Aho:72`, ...). The first bib sync moves every uncited entry into `literature/archive.bib`; say so.

## 6. CLAUDE.md

No `CLAUDE.md`: copy `${CLAUDE_PLUGIN_ROOT}/templates/CLAUDE.md`. Existing one: add each missing section of the template (`Purpose`, `Project`, `Literature rules`, `Style`, `Terminology`) and leave the rest untouched.

Then fill `## Style`. Strongly recommend doing it now, because the `writing` and `proofread` skills read the user's own rules from there. Offer:

1. the example profile `${CLAUDE_PLUGIN_ROOT}/templates/style-profile.md`: show it, let the user drop or change rules, insert the rest
2. a short interview: British or American spelling, words they dislike, citation habits, caption and table conventions
3. leave it empty for now (say what that costs)

## 7. Finish

Run `PK sync` and `PK doctor`. Report what was created, the chosen environment, and any ⚠️ still open. Close with the next steps: `/acl-paper:proofread` for a first report, the `acl-anthology` and `arxiv` skills for literature, `/acl-paper:new-source` for further sources.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.