setup

A one-time setup procedure for PhilLit, a tool for finding and reviewing research literature. It checks required command-line tools, prepares environment settings, and configures permissions in the current folder.

In plain words
What is it for?
It prepares a workspace for creating literature reviews and explains what to install or configure when setup checks fail.
Why use it?
It prevents reviews from failing because required tools, API keys, or local settings are missing.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ai-4-phi/phillit/setup
Any agent
npx skills add AI-4-Phi/PhilLit --skill setup
Clone the repo
git clone --depth 1 https://github.com/AI-4-Phi/PhilLit

Made for: Claude Code, Codex.

Per session 68 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,346 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00068 $0.01346
Opus 5 $0.00034 $0.00673
Sonnet 5 $0.00014 $0.00269
Haiku 4.5 $0.00007 $0.00135

Measured 2d ago against content hash 801e7735cad1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

setup scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/setup_workspace.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/setup/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PhilLit workspace setup

Run this once in the directory where the user will create reviews.

Communication style: keep every user-facing message to a sentence or two of plain, non-technical language. Do everything you can on the user's behalf; ask only for what only they can provide.

  1. Open with what this is. Before running anything, tell the user in 1–2 sentences, e.g.: "Let's set up PhilLit in this folder — a one-time step. I'll create the configuration for you; I'll only need your email address and one free API key."
  2. Check the environment. Run [ -x "${PHILLIT_ROOT:-}/bin/phillit-run" ] && echo ok || echo missing, command -v uv, and command -v jq.
    • If the first check prints missing, the plugin's environment isn't loaded in this session (PHILLIT_ROOT unset, empty, or stale — typically the plugin was installed or updated mid-session; the bridge only runs at session start), so every later step would fail with a cryptic "No such file or directory". Tell the user: "One quick step: please restart Claude Code in this folder, then run /phillit:setup again." and stop.
    • If uv or jq is absent, give a one-line install instruction (uv: https://docs.astral.sh/uv/getting-started/installation/ ; jq: brew install jq / apt install jq / choco install jq) and stop — jq is required by the BibTeX-validation hook and is otherwise a silent clean-install failure.
  3. Preview and ask consent. Run: bash "$PHILLIT_ROOT/bin/phillit-run" skills/setup/scripts/setup_workspace.py --plugin-root "$PHILLIT_ROOT" --dry-run Then summarize what will happen in 2–3 short bullets — do not dump the settings JSON (show it only if the user asks for details):
    • Creates a .phillit folder marker and, for any API keys not already set in the environment, a .env file to hold them (keys found in the environment are used from there — never copied into a file)
    • Lets Claude run PhilLit's research tools in this folder without asking permission each time; deleting files and system-level commands still require approval
    • Nothing is sent or published anywhere Ask whether to proceed.
  4. Apply. On approval, run the same command without --dry-run. Keys already set in the user's environment stay there — the script never copies their values into .env; it prints which ones it found (and skips creating .env when it found them all). If it found some, tell the user (e.g. "Your Brave key was already set up — I'm using it from your environment.").
  5. Collect the rest. Ask only for what is still missing, and be explicit about required vs. optional. Edit .env yourself with the answers (uncomment the key's # KEY= line and add the value) — don't make the user open a file. Keys the user skips stay commented: an active empty KEY= line would override that key with "" if the user ever exports it in their shell.
  6. Verify. Run bash "$PHILLIT_ROOT/bin/phillit-run" skills/philosophy-research/scripts/check_setup.py and report in one line: "Setup complete — ask me for a literature review whenever you're ready", or exactly what is still missing and how to fix it.
  7. Trust check. Settings changes reload live, but Claude Code ignores the new allow rules until the workspace is trusted. Check (prefer the $PWD entry; fall back to the physical path only when $PWD has no entry at all — under a symlinked cwd, e.g. OneDrive or /var/private/var, .claude.json may key either form):
    CFG="${CLAUDE_CONFIG_DIR:+$CLAUDE_CONFIG_DIR/.claude.json}"
    jq -r --arg d "$PWD" --arg p "$(pwd -P)" \
      '((.projects[$d] // .projects[$p] // {}).hasTrustDialogAccepted // false)' \
      "${CFG:-$HOME/.claude.json}"
    
    • If true (or the check itself fails): say nothing — permissions are already live.
    • If false: end the setup with this, prominently, as the final line: "One last step: restart Claude Code in this folder and choose 'Yes, I trust this folder' when asked — PhilLit's permissions only take effect after that."
  8. Updates tip. Close with one sentence: "PhilLit doesn't update automatically — to change that, open /plugin, go to Marketplaces, and turn on auto-update for phillit (or run /plugin update phillit@phillit whenever you want the latest)."

Read the full file on GitHub · 81 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 81 lines · 68 tokens per session scan A 801e7735cad1

Subscribe to this mod's changes

setup is a skill published in the GitHub repository AI-4-Phi/PhilLit (41 stars, last pushed 2d ago), licensed Apache-2.0. It adds 68 tokens to every session and 1,346 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

life-meaning

当用户问「活着的意义是什么/找不到方向/虚无感/该为什么努力」时调用。 核心理念: 生命没有外在赋予的意义(宇宙尺度一切会消失); 意义=个人创造+愿意为之受苦; 拥抱死亡是意义的入口。 不适用于: 急性自杀风险(先紧急求助)。 Triggers: 生命的意义/虚无/找不到意义/为什么活着/meaning/purpose/nihilism.

kangarooking/cangjie-skill · 118 tokens

rational-buddhism

当用户问某主张/玄学/灵修该不该信、想建立自己的验证标准、或寻找科学与精神的结合点时调用。 核心理念: 尝试一切, 亲自测试, 保持怀疑, 保留有用的, 舍弃没用的; 不可证伪的主张不进入基本真理; 冥想/接纳等内在技术可保留。 不适用于: 需要信仰安慰的临终/哀伤场景(尊重个体选择)。 Triggers: 该不该信/玄学/灵修/冥想/可证伪/验证/理性/rational buddhism/verify/belief.

kangarooking/cangjie-skill · 166 tokens

roundtable

Multi-perspective roundtable discussion — a truth-seeking moderator plus a small set of representative real figures explore one topic through disciplined debate. Use for 圆桌讨论, roundtable, 多人物观点碰撞, 让几位思想家讨论, 结构化辩论探索. Not for ordinary argumentative writing, pros/cons lists, or single-speaker explanation.

bahayonghang/my-ai-cli-toolkit · 79 tokens

academic-paper-composer

Systematic writing framework for philosophy and interdisciplinary academic papers from optimized outline to submission-ready manuscript. Use when users want to: (1) write a paper from a detailed outline, (2) ensure quality control during writing, (3) maintain consistency across chapters, (4) prepare a submission-ready…

lishix520/academic-paper-skills · 135 tokens

academic-paper-strategist

Systematic strategic planning framework for philosophy and interdisciplinary academic papers targeting preprint platforms (PhilArchive, arXiv, PhilSci-Archive). Use when users want to: (1) plan a paper on a specific topic, (2) identify research gaps and assess originality, (3) develop optimized paper outlines, (4)…

lishix520/academic-paper-skills · 201 tokens

worldview-synthesis

This skill should be used when someone wants to articulate, explore, or document their personal worldview, values, or philosophy. Triggers on "articulate my values", "figure out what I believe", "document my philosophy", "write a manifesto", "define my leadership philosophy", "explore my beliefs". Surfaces beliefs…

2389-research/worldview-synthesis · 83 tokens