Principles (always active)
Do not use tools for the sake of using tools. For every task, first ask:What is the most efficient, most stable, most professional, and most reproducible way? Prefer reproducible (code/script) > one-off manual work; prefer the stack already in the project > introducing new dependencies.
Task → Recommended Tool Mapping
- Literature search:arXiv/OpenAlex/Semantic Scholar/Crossref API、agent-browser/browser-use、Exa/Parallel Web。
- Browser automation: For CLI-oriented/stable cases, use agent-browser (native Rust CLI, direct CDP connection, accessibility-tree snapshot +
@eNcitation location, keep-alive between commands, observable panel on port 4848, firstagent-browser skills get coreto discover usage); for Python-oriented integration, use browser-use (Agent(task,llm,browser)+await agent.run(), based on Playwright,@tools.actionadd custom tools,use_cloud=Trueuse stealth cloud browser).Submission system web operations(form filling, uploading, status checking in OpenReview/Editorial Manager, etc.) can install agent-browser-type skills (about 438K installs, last_checked 2026-06),Light does not build its own browser automation, introduce external skills as needed and evaluate source security. - Data processing: pandas (small to medium) / polars (fast) / DuckDB·polars streaming·dask (beyond memory); quality ydata-profiling/Deepchecks/Great Expectations.
- Statistics/scientific computing: Python (statsmodels/scipy/sklearn), R (advanced statistics/plotting), MATLAB (signal/control/numerical).
- Plotting: matplotlib/seaborn/plotly/altair, ggplot2, Origin (journal curves), TikZ/Graphviz/Mermaid (framework flowcharts), Illustrator/Inkscape (fine retouching), Visio.
- Typesetting: LaTeX (latexmk/TinyTeX/TeX Live), Word (python-docx), Pandoc (interconversion).
- Document processing:PDF/DOCX/PPTX/XLSX skill、MarkItDown、unstructured.io、Apache Tika。
- PPT:python-pptx/PptxGenJS、Marp、reveal.js、Beamer、PowerPoint/Canva/Gamma。
- Frontend:Next.js/React、shadcn/ui、Tailwind、ECharts/D3。
- Backend:FastAPI/Django/Spring Boot、Postgres/Redis、Docker。
- API calls: If there is an OpenAPI description, follow
paths→operationId+parameter schema+securitySchemesfor deterministic calls and parse according to the response schema; do not guess from prose documentation (see references.md for field details). - Cloud compute: For Python serverless/GPU training/sandboxes, use Modal (in-code
@app.function(gpu=..., image=...)to define the environment, billed by the second; see references.md for commands and primitives). - Versioning/experiments:Git、DVC、MLflow、W&B、Hydra、Snakemake。
- Automation/CI: For repository event triggers, use GitHub Actions (test-on-push, schedule, automatic building of paper PDFs/figures, release); for local data dependency orchestration, use Snakemake/Make—the two are complementary (Actions handles "what event triggers," Snakemake handles "data dependencies between steps," see references.md).
- Reference management:Zotero/pyzotero、JabRef、Better BibTeX。
- Environment: For pure Python, prefer uv; for compiled scientific libraries/CUDA/cross-language, use conda (mamba/miniforge); for existing Poetry projects, continue with Poetry.
Key Decision Points for Selection
- Data scale → choose library (pandas vs polars vs dask).
- One-off vs reproducible → manual vs script.
- Output destination → determines format (vector graphics for submission, png for presentation).
- Team/reproducibility needs → whether to use versioning and experiment management.
- Stability > novelty: choose mature, actively maintained tools (CONVENTIONS dependency security).
Withnumeric thresholdsthe full decision matrix (data <100MB pandas / 2-50GB polars / >TB Spark; submission vector vs presentation png≥150dpi; skill install count≥1K, etc.) see references/decision_matrix.md, load as needed.
Automatically detect project tech stack
When entering an existing project, or when the user asks "what tools should this project use", run the detection script first instead of manually going through a checklist:
python scripts/detect_stack.py <项目目录> # 读 package.json/pyproject.toml/requirements.txt/environment.yml
python scripts/detect_stack.py <项目目录> --json # 机器可读
python scripts/detect_stack.py --self-test # 无项目时合成清单自检
The script identifies dependencies → gives selection recommendations by category (only gives ones that hit built-in rules; marks no signal for misses, does not fabricate), and based on lock files (uv.lock/poetry.lock/environment.yml/Dockerfile) gives environment/reproducibility recommendations. Report according to assets/stack_detection_report.md.
Python environment selection
- Pure Python/PyPI:uv(Rust, 10-100x faster than pip).
uv init→uv add→uv lock(writes uv.lock cross-platform lock file)→uv sync(deterministic install)→uv run;uv python install/pinreplaces pyenv;uvxfor running tools temporarily. - Compiled scientific libraries/CUDA/non-Python dependencies (HDF5/MKL)/cross-language:conda。
conda create→activate→install conda-forge::pkg→conda env export(environment.yml reproducibility); for speedup use mamba, for minimal install use miniforge(defaults to conda-forge, avoids Anaconda licensing). - For existing projects use Poetry:
poetry add/install(according to poetry.lock)/run/build/publish, dependency groups split into main/dev. All three rely on lock files to ensure reproducibility; do not mix pip+conda in the same environment. - Containerized reproducibility:Docker Dockerfile pin
FROMversion tag (avoid latest), put dependency installation layers first and source COPY later to reuse cache,.dockerignoreexclude clutter, use-vvolume for data, use compose for multiple services, use multi-stage builds for slim images.
Multi-tool collaboration
A task often spans tools: e.g. "experiment→W&B logging→pandas aggregation→seaborn plotting→LaTeX typesetting→Zotero citation". Plan the data transfer format between tools (CSV/JSON/Parquet) to reduce manual handling.
Tool discovery
When new capabilities are needed, in order:
- First check existing skills: first look at the skills.sh leaderboard (by total install count, top ones like vercel-labs/agent-skills, anthropics/skills are both 100K+, last_checked 2026-06), then
npx skills find [关键词]search. Quality thresholds:install count preferably 1K+, <100 be cautious; repositories with GitHub star <100 are questionable; official sources (anthropics/vercel-labs/microsoft) are more trustworthy. List for the user name/purpose/install count/source/link/install command, after agreementnpx skills add <owner/repo@skill> -g -y(-g global, -y skip confirmation); if no hits, be honest, switch to general capabilities, and suggestnpx skills init <name>building your own. (Install counts change over time; always include last_checked when citing specific numbers.) - Connect external data/tools: check available MCP server(reference ones Everything/Fetch/Filesystem/Git/Memory/Sequential-Thinking/Time; for TS use
npx -y @modelcontextprotocol/server-*, for Python useuvx mcp-server-*, on Windows npx needscmd /cwrapper; registry.modelcontextprotocol.io has more). Firsttools/list/resources/listsee what is exposed before calling. - Build your own skill: use the skill-creator route——
SKILL.md(frontmatter only name/description)+scripts/+references/+assets/, three-level progressive disclosure, the description enumerates trigger scenarios to prevent under-triggering, and the body uses imperative sentences to explain "why". Evaluation loop: real test prompts → with-skill vs baseline quantitative comparison → read transcripts to generalize, don't overfit → extract repeated tasks intoscripts/. (For skill-creator/Autoskill details, see references.md.) Introducing any third-party skill/MCP server is equivalent to authorizing external instructions and code; first evaluate the source and security. See references.md for details.
Resource list (bundled)
scripts/detect_stack.py(tech stack detection,--self-testoffline self-check),references/decision_matrix.md(decision matrix with numeric thresholds),references.md(per-tool endpoints/commands/pitfalls).- Presentation templates
assets/:stack_detection_report.md(detection report),skill_discovery_report.md(skill discovery, single/multiple candidates/no-match fallback),mcp_discovery_report.md(MCP discovery, including tools/list and resources/list probe checklist). Both discovery templates include 2026-06 tested entry points and HTTP codes.
Connection
Provides the "what to use to do it" judgment for all skills; works in coordination with a06 (directory), a02 (version tools), and a03 (code stack).
For per-tool hard information (real endpoints/commands/parameters/pitfalls), see references.md in the same directory.