بنقرة واحدة
wire-shared-package
Use when you need to wire a shared Python package as an editable dependency across projects.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when you need to wire a shared Python package as an editable dependency across projects.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Use when you need to audit a research project against the init-project-research template.
Use when you need to validate a paper's bibliography — cross-references \cite{} keys against .bib files or embedded \bibitem entries, finds missing/unused/typo'd keys, and checks every key against the Paperpile library via the local resolver. Deep verification mode spawns parallel agents for DOI/metadata validation at scale. Fix mode rekeys drifted keys to canonical and stages missing entries for Paperpile.
Use when you need to bootstrap a full research project with directory scaffold and Overleaf symlink.
Use when you need to create a preprint / working-paper variant of a paper currently in conference or journal format. Forks the existing Overleaf project — adds a `preprint/` subfolder using the user's `your-template` Template, ports the body content from the source paper. The preprint is accessed locally via the existing `paper-{venue}/paper/preprint/` path (subfolder under the conference paper's symlink); no separate `paper-wp/` directory. Trigger on "set up a working paper", "create a preprint", "WP version", "arXiv-ready version", "ready to preprint". Never creates a new top-level Overleaf project — always nests inside the existing one. Never uses the conference's own style (.sty / .cls); always swaps to `your-template`.
Use when you need academic proofreading of a LaTeX paper (11 check categories).
Use when you need to assemble, anonymize, or audit a replication package.
استنادا إلى تصنيف SOC المهني
| name | wire-shared-package |
| description | Use when you need to wire a shared Python package as an editable dependency across projects. |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash(uv*), Bash(ls*), Bash(mkdir*), AskUserQuestion |
| argument-hint | <package-path> [--downstream project1,project2,...] [--tier 1|2] |
Wire a shared Python package as an editable local dependency across multiple research projects. Handles pyproject.toml creation, CLAUDE.md documentation, and Atlas infrastructure tracking.
/computational-experiments scaffold modeIdentify the shared package:
pyproject.toml to get name, version, and what it providesCLAUDE.md or README.md for module inventoryuv pip install -e ".[dev]"Identify downstream projects:
| Tier | Meaning | Action |
|---|---|---|
| 1 — Direct | Uses the package's core modules in active code | Full wiring: pyproject.toml + CLAUDE.md + Atlas |
| 2 — Partial | Will use specific modules when code work begins | CLAUDE.md note + Atlas only (no pyproject.toml yet) |
| 3 — Pattern only | Borrows design patterns, no code dependency | Atlas note only |
pyproject.toml? (Tier 1 projects need one)CLAUDE.md? (all tiers need one)project_path in frontmatter)For each Tier 1 downstream project:
pyproject.tomlIf no pyproject.toml exists, create one:
[project]
name = "{project-kebab-name}"
version = "0.1.0"
description = "{one-line from CLAUDE.md}"
requires-python = ">=3.11"
dependencies = [
"{shared-package-name}",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"ruff>=0.3",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/{project_underscored_name}"]
[tool.ruff]
line-length = 99
target-version = "py311"
[tool.uv.sources]
{shared-package-name} = { path = "{relative-path-to-package}", editable = true }
If pyproject.toml already exists, add the dependency to [project] dependencies and add the [tool.uv.sources] entry.
Key: The [tool.uv.sources] section tells uv to resolve the package from a local path instead of PyPI. The relative path must be correct from the downstream project to the shared package (typically ../package-name).
Add a "Shared Package Dependency" section under ## Setup:
### Shared Package Dependency
- **`{package-name}`** installed as editable dependency from `{relative-path}/`
- Provides: {list key modules this project uses}
- Install: `uv pip install -e ".[dev]"` (resolves {package-name} via `[tool.uv.sources]`)
- Project-specific code goes in `src/{project_name}/` — shared simulation code stays in {package-name}
cd "{project-path}" && uv pip install -e ".[dev]"
Then verify imports:
uv run python -c "from {package_module} import {key_class}; print('OK')"
For each Tier 2 downstream project, add to CLAUDE.md under ## Setup:
### Shared Package Dependency (Tier 2)
- **`{package-name}`** at `{relative-path}/` — provides {what this project will use}
- When code work begins, add `{package-name}` as editable dependency via `[tool.uv.sources]` in `pyproject.toml`
- This project will extend the framework with {project-specific extensions}
No pyproject.toml changes — the dependency is documented but not yet wired.
For each downstream project that has an Atlas topic file, add a ## Shared Infrastructure section between the Description and Key References sections:
## Shared Infrastructure
- **`{package-name}`** (Tier {N} — {direct reuse|partial reuse|pattern only}): {what components are used}
- Location: `{theme}/{package-dir}/`
{if Tier 1:}
- Install: editable dependency via `pyproject.toml` `[tool.uv.sources]`
Placement: After ## Description (or ## Portfolio Bridge if present), before ## Key References.
Finding the right topic file: Search Atlas by project_path frontmatter field:
grep -rl "project_path.*{project-folder}" ~/vault/atlas/
If the shared package has a CLAUDE.md or README.md, update its downstream project table to reflect all wired projects:
## Downstream Projects
| Project | Tier | Uses |
|---------|------|------|
| {Project Name} | {1/2/3} | {components used} |
uv pip install -e . on the shared package first.pyproject.toml for Tier 2 projects. They don't have active code yet — premature wiring creates broken installs.[tool.uv.sources]. Always use relative paths from the downstream project.src/.After completing all phases:
## Shared Infrastructure sectionQuick check: grep -rl "{package-name}" ~/vault/atlas/ should return all expected topic files.
| Setting | Default | Override |
|---|---|---|
| Build backend | hatchling | Specify in args |
| Python version | >=3.11 | Match shared package |
| Source layout | src/ | Match shared package |
| Relative path | ../package-name | Auto-detect from directory structure |
| Atlas section placement | After Description, before Key References | — |