npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ai4paper/apaper-plugin

v0.2.2

Published

Academic paper authoring plugin for OpenCode and Claude Code.

Readme

apaper-plugin

An academic paper-authoring toolkit for AI coding agents. It bundles writing and figure skills together with the apaper-mcp paper-research MCP server so a single setup gives your agent everything it needs to search the literature, draft IEEE-style prose, and generate publication- quality figures.

Install it as a Claude Code plugin, load the standalone npm plugin in OpenCode, or add the skills and MCP server to OpenAI Codex (or any other agent supported by the skills CLI).

What's inside

Skills (skills/)

Sourced from isomoes/skills:

| Skill | Purpose | | ------------------ | --------------------------------------------------------------- | | writing | Revise and strengthen academic prose; applies IEEE journal rules for journal work. | | creating-figures | Publication-quality scientific figures (TikZ/CeTZ). |

MCP server (.mcp.json)

Wires up @ai4paper/apaper-mcp, which exposes tools for searching IACR / DBLP / Google Scholar / arXiv, collecting BibTeX entries, and downloading papers. The server is launched on demand via npx -y @ai4paper/apaper-mcp, so no global install is needed.

OpenCode plugin (index.ts)

The npm package exports an OpenCode plugin that registers the packaged skills and the Python apaper-mcp server automatically. The MCP server runs through uvx, so it stays independently updated without being reimplemented in JavaScript.

Install for Claude Code

From a marketplace (recommended)

This repo ships its own .claude-plugin/marketplace.json, so you can add it as a marketplace and install in two commands:

/plugin marketplace add ai4paper/apaper-plugin
/plugin install apaper-plugin@apaper

The bundled MCP server is registered automatically. Once the plugin is enabled, the skills are namespaced under the plugin name, e.g. /apaper-plugin:writing.

Install for OpenCode

Install uv so the plugin can launch the Python MCP server, then install the npm plugin:

opencode plugin @ai4paper/apaper-plugin

Alternatively, add it directly to opencode.json or opencode.jsonc:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@ai4paper/apaper-plugin"]
}

OpenCode loads both bundled skills directly from the npm package. The plugin also registers apaper-mcp with the command uvx apaper-mcp. An existing mcp.apaper-mcp configuration is preserved, so you can override or disable the server in your own config. Restart OpenCode after changing the plugin configuration.

Install for Codex

Codex doesn't use the Claude plugin system, so the skills and MCP server are added separately.

Skills — via the skills CLI

Use the skills CLI (npx skills) to copy the skills into Codex. No global install — npx fetches it on demand:

# Install both skills for Codex (project-local, under .agents/skills/)
npx skills add ai4paper/apaper-plugin -a codex

# Install globally instead (under ~/.codex/skills/)
npx skills add ai4paper/apaper-plugin -a codex -g

# Pick specific skills by name
npx skills add ai4paper/apaper-plugin -a codex --skill writing creating-figures

Add -y to skip the confirmation prompt, or --list to preview the available skills without installing.

MCP server — via config.toml

Register apaper-mcp in Codex's config (~/.codex/config.toml for all projects, or .codex/config.toml inside a trusted project):

[mcp_servers.apaper-mcp]
command = "npx"
args = ["-y", "@ai4paper/apaper-mcp"]

Or add it from the command line, which writes the same entry for you:

codex mcp add apaper-mcp -- npx -y @ai4paper/apaper-mcp

Run /mcp in the Codex TUI to confirm the server is connected.

Local development

Clone this repo and point Claude Code at it directly:

git clone https://github.com/ai4paper/apaper-plugin
claude --plugin-dir ./apaper-plugin

After editing skills or the manifest, run /reload-plugins in Claude Code to pick up the changes without restarting.

Run the OpenCode plugin tests and inspect the npm package contents with:

npm ci
npm run typecheck
npm test
npm run pack:check

Release publishing uses npm trusted publishing through GitHub OIDC. See prompt/release.md for the first manual publish and subsequent tag-release process.

License

MIT. See LICENSE.