From e2e-pipeline
Use when plugin documentation needs updating after feature changes, when verifying existing docs accurately reflect actual skill/agent behavior, or for periodic documentation maintenance. Scans source code with diff-aware detection, enriches with usage history from journal and memory, writes or updates docs, then verifies accuracy via live behavioral probes. Triggers on "sync e2e docs", "update e2e documentation", "doc sync", "e2e-doc-sync", "check doc coverage".
How this skill is triggered — by the user, by Claude, or both
Slash command
/e2e-pipeline:e2e-doc-syncThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Input | Route |
| Input | Route |
|---|---|
| bare invocation | → Full Sync |
--fix | → Full Sync (alias for bare — kept for backward compat) |
--check | → Report Only (no writes) |
--probe-only | → Verify Existing Docs (skip Phases 1-3 and 5, run Phase 4 on all existing docs, then Phase 6) |
--auto | → Full Sync (skip confirmation) |
--section <doc-file> | → Targeted Sync (one doc file) |
--diff <ref> | → Use explicit git diff base instead of auto-detect |
Before inventorying files, compute a diff of changed skill/agent content since the last version tag. This catches behavioral branches and other features that surface-level extraction (flags, headings) would miss.
Find diff base:
# Auto-detect: find the most recent e2e-pipeline version tag
DIFF_BASE=$(git -C ${CLAUDE_PLUGIN_ROOT} tag -l "e2e-pipeline-v*" --sort=-v:refname | head -1)
# If --diff <ref> provided, use that instead
# If no tags exist, use HEAD~10 as fallback — warn user: "No version tags found, using HEAD~10. Diff coverage may be incomplete for older changes."
Extract changed content:
git -C ${CLAUDE_PLUGIN_ROOT} diff ${DIFF_BASE}..HEAD \
-- 'skills/*/SKILL.md' 'agents/*.md' \
| grep '^+' | grep -v '^+++' | sed 's/^+//'
Group added lines by source file. Cap diff summary at 2000 chars.
references/doc-sync-context.md → load Source Map, Doc Structure, Probe Config, Post-Sync Hooksskills/*/SKILL.md → for each: extract skill name, description, all --flags, modes (from routing tables), key conceptsagents/*.md → for each: extract agent name, tools, input contract fields, dispatch triggerhooks/ → for each: extract event type, trigger condition, affected toolsdocs/*.md + README.md → for each: extract title, section headings, mentioned features, example countIf --section <doc-file>: filter Source Map to entries targeting that doc file only. Note: the orphan check (Step 4) always runs against the FULL Source Map, not the filtered subset — orphaned source files must be reported regardless of --section scope.
Output: gap_report + feature_inventory
Prerequisite: MCP tools episodic-memory and private-journal. Check each independently:
Proceed to Phase 3 with whatever enrichment was possible (full, partial, or none).
search("e2e-pipeline") → extract usage patterns, user workflows, reported issuessearch_journal("e2e-pipeline") → extract technical insights, debug findings, failed attemptsaccuracy_risk (priority for probe verification)If --check: skip to Phase 6 after this phase.
Output: enriched_gaps
Unless --auto, present enriched_gaps grouped by severity (Critical first):
For each approved gap:
auto-sync flag in Doc Structure:
yes → rewrite section entirely from sourcepartial → edit only the specific subsection, preserve hand-written contentdoc-sync-context.mdSkip if: doc-probe agent was not scaffolded (Light variant) or --check mode.
--probe-only mode (Phase 3 skipped): read ALL docs listed in Doc Structure from doc-sync-context.md. Identify sentences asserting observable behavior ("X shows Y", "when you run X, Y happens", "X supports Y"). For each claim, generate structured claim object: assertion text, probe command (from Probe Config), expected output signals. This is LLM judgment, not regex.method: cli only (skip claims for skills marked skip in Probe Config)claude -p invocations with --no-input, read-only CLI (--help, --check, --list-*), cat, grep, lsrm, delete, push, --force, reset, drop, truncate, > (redirect overwrite), git checkout --, mv, chmod, chown, pipe to xargs with write operationsskip and note: "unsafe probe command filtered"/tmp/e2e-doc-probe/claims.jsondoc-probe agent:
${CLAUDE_PLUGIN_ROOT} (standard Claude Code env var, auto-available in plugin skill context)/tmp/e2e-doc-probe/claims.json/tmp/e2e-doc-probe/reportprobe-results.json:
fail:
a. Read source code for the failing skill to understand actual behavior
b. Fix the doc to match actual behavior (docs conform to code)
c. Re-extract claims for fixed sections only
d. Re-dispatch probe (max 3 total rounds — if still failing after 3, log and move on)error:env_dependent → log, don't retry, note in reporterror:crash → log, suggest manual investigationIf --section <doc-file>: only extract claims from that doc file.
Skip if: --probe-only mode (Phase 1 inventory not available) or --check mode (report-only, no writes).
doc-sync-context.mderror:env_dependent → update Probe Config to skip (self-correcting)last_sync date, version to current plugin versionOutput summary:
| Metric | Value |
|---|---|
| Gaps found | N |
| Gaps fixed | N |
| Accuracy risks found | N |
| Probes run | N |
| Probe pass rate | N% |
| Docs created | N |
| Docs updated | N |
| Reference self-updated | yes/no |
D1 learning: check for reusable patterns worth capturing:
reference/learned-patterns.mdAuto-issue: if unfixed gaps remain (user declined, env_dependent probes, crash errors):
Post-sync hooks: read and execute plugin-specific actions from doc-sync-context.md Post-Sync Hooks section
cli, let env_dependent self-correct to skipauto-sync flag before overwriting--check and --probe-only never write docs--check skips Phase 5 (Self-Update), so the Source Map may be stale. Phase 1 Step 4 orphan check compensates: source files not in the Source Map are still flagged as Critical gaps. Do NOT rationalize "the glob found it, so it's covered" — without a Source Map entry, there is no doc target to verify against.npx claudepluginhub iamcxa/kc-claude-plugins --plugin e2e-pipelineUpdates READMEs, ADRs, docstrings, and docs after code changes using consolidation detection, slop scanning, accuracy verification, and quality gates.
Audits documentation against source code using git-based staleness detection. Run with no args for smart check or specify a path. Supports full audit, auto-fix, and check-only modes.
Orchestrates 4 documentation skills into a sequential pipeline that detects drift, applies fixes, audits coverage, and fills gaps to produce a documentation health report.