v1.0.5 — Post-V2 doc hot-fix
Post-V2 doc hot-fix wave: six doc-only fixes from the V2 MoPla Snapshot
validation retro. Skill-content + plugin-manifest only release; no
@formtrieb/cdf-core / @formtrieb/cdf-mcp version bumps.
Fixed
- A1 — both
SKILL.mdfiles gain a§0.5 · Read-Path Resolution
anchor clarifying thatRead/yq/jqpaths in the skill and
itsreferences/+shared/docs resolve relative to the
SKILL.md base, not relative to the user'scwd. Eliminates the
ls-discovery friction observed in V2 first-touch runs and gives a
one-shot recovery instruction (find ~/.claude/plugins -name SKILL.md -path "*<skill-name>*") when the harness doesn't auto-
resolve the relative path. - A2-doc —
synthesis.md§0 (Inputs) appends a Large-file
fallback (>25k Read tokens) paragraph cross-referencing the yq+jq
recipe intool-leverage.md§4. Walker outputs exceeding the
25,000-tokenReadlimit (typical for DSes with ≥150
component_sets) no longer block synthesis: the contract holds, only
the read-strategy changes. Probe walker file size first
(ls -lh .cdf-cache/phase-1-output.yaml); branch directly to
fallback if >2 MB. - A3 —
tool-leverage.md§4 adds a §4.2 YAML extraction
(mikefarah yq + jq) sub-section documenting the
yq -o=json '...' file.yaml | jq '...'pipe pattern. Mikefarahyq
rejects inline jq-style object construction (yq '.foo | {bar: .baz}'); the pipe pattern is the canonical fallback. Includes
WRONG / RIGHT examples. - A4 —
walker-invocation.md§2 documents the
total↔indexed_countfield-name drift between what the walker
emits (ds_inventory.component_sets.total) and what the snapshot
schema expects (indexed_count). Both refer to the same metric
(union of tree-resolved + remote-only sets); the alias-mapping is
authoritative until the walker rename ships in v1.8.0. - A5-doc —
synthesis.md§2.7 (theming) appends a Fallback when
theming_matrix.collections: []is empty recipe. When the walker
emits an empty collections list (typical when.cdf.config.yaml
has no explicitresolver:block butregime: tokens-studiois
set andtokens/$themes.jsonexists on disk), operators can derive
theming-modifiers via a singlejq -r 'group_by(.group) | …'
invocation againsttokens/$themes.json. Cross-validation note
against component-side VARIANTS included. - A6 —
walker-invocation.md§2 adds an Output-Shape Examples
block for jq/yq query construction. Several walker fields emit
flat-string arrays (NOT object arrays) —standalone_components.*,
pages.separators[],libraries.linked[],doc_frames_detected[].
Documents the WRONG.utility[].name(returns null) vs RIGHT
.utility[]query shapes.
Deferred to v1.8.0 (Synthesis-as-Code wave)
- A2-walker —
cdf_extract_figma_filesummary_onlymode emitting
phase-1-summary.yaml(drops inlinepropertyDefinitionsfor25k cases)
- A5-walker — walker auto-resolves
theming_matrix.collections
fromtokens/$themes.jsonwhenregime: tokens-studioand no
explicitresolver:is configured - A7 — Renderer hyphen-line-break lint (cosmetic)
- B5 —
libraries.linkedwalker output bug — under fresh-chat
investigation in v1.8.0
Accepted as platform constant
- A8 — ToolSearch round-trip latency for first-time MCP tool
invocation. Documented in v1.0.4'stool-leverage.md§1
deferred-tool note; no further action.
No package version bumps in v1.0.5
@formtrieb/cdf-core@1.0.xand@formtrieb/cdf-mcp@1.7.xunchanged.mcp.jsonstill pins@formtrieb/cdf-mcp@^1.7.2- Skill-content + plugin-manifest only release
Upgrade for existing installs
claude plugin marketplace update cdf
claude plugin update cdf@cdf
# Fully quit Claude Code (Cmd+Q) and relaunch — closing the window
# is not enough; the MCP launcher needs to reload .mcp.json env.