Skip to content
Back to skills

Classic Chains

ASecurity

"Maintain and migrate langchain-classic legacy chains, retrievers,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
testingpythonapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill classic-chains --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Classic Chains?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Classic Chains
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-classic-chains/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-classic-chains)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: classic-chains
description: "Maintain and migrate langchain-classic legacy chains, retrievers,
  document loaders, memory, indexes, classic agents, evaluation, and callbacks.
  Use for compatibility fixes in libs/langchain-style classic APIs; route new v1
  agent work elsewhere."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# Classic Chains

## When to Use

Use this sub-skill when the task is about `langchain-classic` legacy workflows: classic `Chain` subclasses, retrieval QA, conversational retrieval, document loaders and transformers, memory classes, indexes, classic agents, evaluation chains, callbacks, or compatibility-preserving maintenance.

Do not use this sub-skill for new v1 agent APIs, middleware, or graph/checkpoint design; route those to `../agents-and-middleware/SKILL.md`. For shared primitives such as `Document`, `BaseRetriever`, runnables, callbacks interfaces, messages, prompts, or vector store base contracts, route to `../core-primitives/SKILL.md`.

## Legacy Policy

`langchain-classic` is the legacy package. Prefer maintenance, bug fixes, import compatibility, deprecation cleanup, and migration guidance over adding new classic-only features. Preserve public signatures and behavior unless the user explicitly asks for migration and the replacement is validated.

## Reference Map

- Read [references/legacy-api-map.md](references/legacy-api-map.md) to identify classic modules, import ownership, optional community/provider boundaries, and sibling routing.
- Read [references/maintenance-workflows.md](references/maintenance-workflows.md) for compatibility-safe edit workflows, local validation commands, and skip conditions.
- Read [references/troubleshooting.md](references/troubleshooting.md) for deprecated imports, optional dependency errors, chain key mismatches, retriever/document-loader failures, and signature preservation.
- Use [scripts/classic_import_smoke.py](scripts/classic_import_smoke.py) for a read-only installed-package import smoke check after changing import surfaces or compatibility routing.

## Practical Workflow

1. Classify the request as maintenance, compatibility, migration, or new feature. Decline or reroute new classic-only feature work unless it is needed for compatibility.
2. Locate the affected classic area: chains, agents, retrievers, document loaders/transformers, memory, indexes, evaluation, callbacks, or schema compatibility.
3. Check whether the symbol is owned by `langchain_classic`, dynamically re-exported from `langchain_community`, or shared from `langchain_core`.
4. Preserve public constructor and method signatures. Add keyword-only parameters only when unavoidable, and cover behavior with deterministic unit tests.
5. Prefer package-local validation from the classic package directory, for example `uv run --group test pytest tests/unit_tests/chains/test_conversation_retrieval.py`, when `uv` and dependencies are available.
6. If the task is migration-oriented, produce v1/core-equivalent code paths while preserving behavior with tests around inputs, outputs, memory variables, callbacks, and returned documents.

## Validation Signals

- Unit tests pass for the nearest `tests/unit_tests/...` file or directory.
- Import smoke checks pass for touched public modules in an installed package.
- Deprecation warnings remain intentional and point users toward the modern package or API.
- Chain `input_keys`, `output_keys`, memory variables, callback propagation, and async/sync behavior remain backward compatible.

## Skip Conditions

Skip network-heavy integration tests, provider API calls, vector database services, browser automation, and credential-dependent loaders unless the user explicitly supplies safe credentials and asks for those checks. If `uv` is unavailable, record that package-local tests were skipped and rely on static inspection plus the safe smoke script when a usable Python interpreter already has the packages installed.

Files in this skill

  • SKILL.md3.9 KB
  • references/legacy-api-map.md5.7 KB
  • references/maintenance-workflows.md6.2 KB
  • references/troubleshooting.md6 KB
  • scripts/classic_import_smoke.py3.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.