expcap

star 22

Use agent-experience-capitalization as a project-owned, team-shareable engineering memory layer for coding agents. Use it to activate prior experience before work, save reusable lessons after work, inspect save/get/log health, and diagnose Milvus-centric retrieval.

huisezhiyin By huisezhiyin schedule Updated 4/27/2026

name: expcap description: Use agent-experience-capitalization as a project-owned, team-shareable engineering memory layer for coding agents. Use it to activate prior experience before work, save reusable lessons after work, inspect save/get/log health, and diagnose Milvus-centric retrieval.

Expcap

Positioning

This skill is the recommended entrypoint. The expcap CLI is the execution layer behind it.

expcap does not compete with personal memory in Codex, Claude Code, or other agents. It focuses on project-level, team-level, and organization-level engineering experience assets: shareable, reviewable, and deliverable with the codebase.

Default runtime profile:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap"
  • Assets remain project-owned even when stored outside the project directory.
  • Runtime data goes under $HOME/.expcap/projects/... by default.
  • Milvus is the core semantic retrieval layer.
  • SQLite is a lightweight state index, activation log, and fallback path.
  • Activation returns sourced candidates; the current agent decides whether each asset applies to the task.
  • New chat should still run expcap auto-start even for projects marked inactive; the label is mainly for reporting and coverage analysis.

When To Use

  • Before coding work, activate relevant project experience.
  • After completed work, save reusable lessons, rules, patterns, or context.
  • When checking usage, activation feedback, asset temperature, review status, candidate queues, or new assets.
  • When validating the save/get/log loop.
  • When diagnosing Milvus, SQLite, centralized storage, or shared backend configuration.
  • When installing project-owned/team-shareable memory into another repository.

Default Commands

Start a task by activating experience:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap auto-start --task "<task summary>" --workspace "$PWD"

During a task, run event-driven delta recall only when the conversation changes:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap progressive-recall --task "<task summary>" --workspace "$PWD" --message "<new error/file/phase/topic signal>"

When a real task confirms whether the activation helped, record it:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap feedback --workspace "$PWD" --activation-id "<activation id>" --help-signal supported_strong

Finish a task by saving experience:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap auto-finish --task "<task summary>" --workspace "$PWD" --verification-status passed --result-status success

Check runtime health:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap status --workspace "$PWD"
EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap doctor --workspace "$PWD"
EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap dashboard --workspace "$PWD"

Sync the Milvus retrieval index:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap sync-milvus --workspace "$PWD" --include-shared

Benchmark Milvus retrieval quality:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap benchmark-milvus --workspace "$PWD" --sample-size 5 --limit 3 --include-shared

benchmark-milvus 会先同步当前 embedding profile 对应的 Milvus index,避免 profile 切换或 fallback 被误判成召回失败。

Optional real embedding provider:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" EXPCAP_EMBEDDING_PROVIDER=openai OPENAI_API_KEY="..." EXPCAP_OPENAI_EMBEDDING_MODEL=text-embedding-3-small EXPCAP_OPENAI_EMBEDDING_DIM=128 expcap benchmark-milvus --workspace "$PWD"

If the OpenAI API key is missing, expcap should fall back to hash and expose that fallback in retrieval_backends.milvus.embedding.

Milvus Lite DB files are namespaced by embedding profile so provider/dimension changes do not mix vectors in one local index.

Hosted Milvus can be used by setting:

EXPCAP_RETRIEVAL_BACKEND=milvus EXPCAP_RETRIEVAL_INDEX_URI=https://milvus.example.com EXPCAP_RETRIEVAL_INDEX_TOKEN="..." expcap doctor --workspace "$PWD" --deep-retrieval-check

Use EXPCAP_MILVUS_DB_NAME and EXPCAP_MILVUS_COLLECTION when the hosted Milvus deployment requires a specific database or collection name.

Install into another project:

EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap install-project --workspace /path/to/project
EXPCAP_STORAGE_PROFILE=user-cache EXPCAP_HOME="$HOME/.expcap" expcap install-project --workspace /path/to/project --project-status inactive

Operating Rules

  • Run auto-start before substantive analysis, edits, or verification.
  • Use progressive-recall only for meaningful new signals: new errors, new files/modules, topic drift, or phase changes. Do not run it on every turn.
  • Use feedback after a real validation result so linked assets can refresh their temperature and review status.
  • Treat active / inactive as a reporting label. If a new chat starts in the project, auto-start should still run by default.
  • If experience is activated, summarize what matched, why it matched, and how it affects the current strategy.
  • Run auto-finish after a coherent task is complete or a stable lesson has emerged.
  • Do not save when the task is unresolved, the conclusion is unstable, the change is only a temporary workaround, verification is missing, or the user asked not to record.
  • Treat repository-specific experience as project scope by default.
  • Promote to cross-project only after the lesson has been validated across more than one project.
  • Store project conventions, historical decisions, and directory constraints as context or rule assets when they guide future work.
  • Do not make users memorize commands. Run the workflow for them and report the result, source, and risk.

Diagnostics

Watch these status fields:

  • activation_feedback_summary: whether activations helped.
  • feedback_cleanup: stale unresolved activations that were auto-closed as unclear.
  • candidate_review_queue: candidates waiting for review.
  • asset_effectiveness_summary: asset temperature and review status.
  • retrieval_backends: Milvus core retrieval readiness and SQLite lightweight index health.
  • dashboard: local read-only HTML view of assets, retrieval contribution, quality signals, write frequency, and candidate review queues.
  • project_activity: whether the current workspace is active for default reporting and coverage analysis.
  • backend_configuration: active local, user-cache, shared, or hybrid profile.

If Milvus Lite is locked or unavailable, the runtime may degrade to JSON/SQLite so work can continue. Treat that as reduced retrieval quality and prioritize Milvus recovery for meaningful testing.

Install via CLI
npx skills add https://github.com/huisezhiyin/agent-experience-capitalization --skill expcap
Repository Details
star Stars 22
call_split Forks 4
navigation Branch main
article Path SKILL.md
More from Creator