Skills¶
Skills are bundled in the shared lightcone-cli agent bundle.
Claude Code and Codex expose them through the plugin manifests; Pi
installs the same bundle as a local package and aliases the top-level
/lc-* entry points through its extension. They give the agent a
structured, phase-by-phase workflow for the most common research
operations.
If you're a researcher trying to use these, the Agent Workflow page in the user guide is the friendly version. This page is for maintainers.
Available skills¶
The /lc-from-* family is parallel by what you start from: a question,
code, or a paper. /lc-from-paper is the entry point of a six-skill
paper-reproduction bundle; the five bundle siblings stand alone and are
user-invokable directly.
Project lifecycle¶
| Skill | Command | Purpose |
|---|---|---|
| lc-new | /lc-new |
Scope a research question into an astra.yaml, with optional literature extraction. |
| lc-from-code | /lc-from-code |
Wrap an existing codebase in ASTRA: scan, generate spec, parameterize, run. |
| lc-from-paper | /lc-from-paper |
Reproduce a published paper in ASTRA — interview-first driver that hands off to a ralph loop for the long middle. |
| lc-feedback | /lc-feedback |
File a GitHub issue against the right Lightcone repo with auto-collected context. |
| ralph | /ralph |
Author a constitution and run a ralph loop against it. Used by lc-from-paper for the long middle; standalone for any other long-running work. |
Paper-reproduction bundle (sibling skills)¶
Co-located with lc-from-paper so a single lc init brings the full
toolkit. Each stands alone and is user-invokable; lc-from-paper
dispatches them by role during the reproduction.
| Skill | Command | Purpose |
|---|---|---|
| ralph | /ralph |
Loop substrate. lc-from-paper's INTERVIEW invokes ralph's Authoring mode to draft the per-paper constitution; ACQUIRE's hand-off invokes the launcher; each iteration runs ralph's Loop protocol. Also user-invokable standalone (see the Project lifecycle row above). |
| paper-extraction | /paper-extraction |
Turn an arXiv ID or DOI into a standardized work/reference/ directory: substrate, figures, tables, citations (with resolved DOIs), and a stub astra.yaml. |
| narrative | /narrative |
Author the narrative: prose and decision rationale: against an existing astra.yaml, in paper-reproduction, retrofit, or co-drafting mode. |
| figure-comparison | /figure-comparison |
Build a self-contained HTML side-by-side: paper figures, tables, and numerics vs reproduced artifacts. |
| check-sentence-by-sentence | /check-sentence-by-sentence |
Static audit of paper claims against code locations (file:line or NOT FOUND). |
See the bundle README for the rationale behind co-location vs plugin install.
Reference skills (auto-primed via session-start)¶
Not direct entry points — invoked by other skills (or by Claude directly when relevant) to load reference content into the working session. The session-start hook names both in its primer, so Claude is aware they exist from the first turn.
| Skill | Command | Purpose |
|---|---|---|
astra |
/astra |
Reference for the astra.yaml spec: structure, decisions, options, prior insights, findings, evidence, sub-analyses, narrative anchors, composition mechanics. |
lc-cli |
/lc-cli |
Reference for lc workflow: commands, the Spec-Code Invariant, status interpretation, failure diagnosis, multiverse runs, publishing via WRROC. |
These intentionally don't appear in the top-level README — researchers use the project-lifecycle skills directly; the reference skills are infrastructure.
How a skill is wired¶
Each skill is a claude/lightcone/skills/<name>/SKILL.md file with
YAML frontmatter:
---
name: lc-new
description: >
Scope a new ASTRA analysis from a research question...
allowed-tools: Read, Write(astra.yaml), Edit(astra.yaml), Glob, Grep, Bash(astra:*), ...
argument-hint: "[DESCRIPTION]"
---
The frontmatter configures Claude Code: which tools the skill may
invoke, and what the slash command's argument hint looks like. The
body is the prompt — phase definitions, rules, references to guide
files, anti-patterns. The skill bundles its own helper scripts under
scripts/ and its loop prompt template under assets/ when relevant.
Plugin layout¶
.claude-plugin/marketplace.json # marketplace manifest at repo root
claude/lightcone/ # shared agent-bundle root
├── .claude-plugin/plugin.json # Claude plugin manifest
├── .codex-plugin/plugin.json # Codex plugin manifest
├── package.json # Pi package manifest (skills + extension)
├── extensions/lightcone.ts # Pi extension (hooks + /lc-* aliases)
├── skills/
│ ├── lc-new/{SKILL.md, references/*.md}
│ ├── lc-from-code/SKILL.md
│ ├── lc-from-paper/{SKILL.md, references/*.md, templates/{constitution.md, CLAUDE.md}}
│ ├── lc-feedback/SKILL.md
│ ├── ralph/{SKILL.md, references/*.md, scripts/ralph}
│ ├── paper-extraction/{SKILL.md, scripts/*.py}
│ ├── narrative/{SKILL.md, references/*.md}
│ ├── figure-comparison/{SKILL.md, scripts/*.py}
│ ├── check-sentence-by-sentence/SKILL.md
│ ├── astra/SKILL.md # reference: astra.yaml spec
│ └── lc-cli/SKILL.md # reference: lc workflow
├── agents/lc-extractor.md # literature subagent for /lc-new
├── hooks/hooks.json # hook config (SessionStart, PostToolUse)
├── scripts/*.sh # hook handlers (venv, validate-on-save, session-start primer)
└── templates/CLAUDE.md # the project CLAUDE.md template
Both .claude-plugin/marketplace.json and claude/lightcone/ are
force-included into the wheel via
pyproject.toml::tool.hatch.build.targets.wheel.force-include, so
lc init can run claude plugin marketplace add, codex plugin
marketplace add, or pi install against the wheel's install
directory whether you're working from source or PyPI.
Other plugin files¶
The two reference skills (/astra and /lc-cli) live under skills/ and are listed in the Reference skills section above. Remaining plugin files:
| File | Purpose |
|---|---|
claude/lightcone/agents/lc-extractor.md |
Literature extraction subagent invoked by /lc-new. |
claude/lightcone/scripts/session-start.sh |
Session-start hook — surfaces validation + materialization status and primes Claude with the substrate CLIs and reference skill names. |
Authoring a new skill¶
See Authoring Skills.