From c0c4e2730e4b645ba1448adadbb5975959b13c40 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 12 Aug 2026 02:09:58 +0000 Subject: [PATCH] fix(architecture): remove false CLAUDE_PLUGIN_DATA substitution claim The improve Gotcha incorrectly stated the token does not substitute in skill markdown. Plugins-reference puts skill and agent content in the 'anywhere the placeholder appears' row. The operative rule is unchanged: never use CLAUDE_PLUGIN_DATA for the durable candidate artifact because it collides across projects. Fixes #2207. Co-authored-by: Kyle Sexton --- plugins/architecture/.claude-plugin/plugin.json | 2 +- plugins/architecture/CHANGELOG.md | 12 ++++++++++++ plugins/architecture/skills/improve/SKILL.md | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/plugins/architecture/.claude-plugin/plugin.json b/plugins/architecture/.claude-plugin/plugin.json index 24c9df79d..5e2dcda01 100644 --- a/plugins/architecture/.claude-plugin/plugin.json +++ b/plugins/architecture/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", "name": "architecture", - "version": "0.5.0", + "version": "0.5.1", "description": "Scans an existing codebase for module-level architecture friction — shallow modules, seam leaks, and locality gaps — using Ousterhout's deep-module lens, presents candidates as a self-contained HTML report, and runs an interview loop on the selected candidate before handing off for planning.", "author": { "name": "Melodic Software", diff --git a/plugins/architecture/CHANGELOG.md b/plugins/architecture/CHANGELOG.md index 87ca795e0..3b4cdc607 100644 --- a/plugins/architecture/CHANGELOG.md +++ b/plugins/architecture/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to the `architecture` plugin are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning. +## [0.5.1] + +### Fixed + +- **The `improve` Gotcha no longer asserts `${CLAUDE_PLUGIN_DATA}` cannot substitute in skill content + (#2207).** The plugins reference puts skill and agent content in the "anywhere the placeholder + appears" row (, Environment variables, fetched + 2026-08-12). The operative rule is unchanged — never store the durable candidate artifact there; + even resolved it is plugin-global and collides per-codebase candidates across projects. The 0.3.6 + changelog entry's wording is preserved per + [upstream-drift](../../docs/conventions/upstream-drift/README.md). + ## [0.5.0] ### Removed diff --git a/plugins/architecture/skills/improve/SKILL.md b/plugins/architecture/skills/improve/SKILL.md index 1e2047934..608687014 100644 --- a/plugins/architecture/skills/improve/SKILL.md +++ b/plugins/architecture/skills/improve/SKILL.md @@ -68,5 +68,5 @@ Graceful degradation — where a named step below is not available in the consum Observed failure history — patterns that have actually bitten. Add here when a new one surfaces. -- **The durable candidate artifact is a per-project memory-tier file, never `${CLAUDE_PLUGIN_DATA}`.** That token does not substitute in skill markdown content (it is a hook/monitor/MCP path substitution only), and even resolved it points at a plugin-global dir that collides candidates across projects. The artifact resolves through the marketplace topic-docs convention (the plugin's topic-docs [binding](../../reference/topic-docs.md)) — memory tier, default `.work//`. A `${CLAUDE_PROJECT_DIR}/.claude/...` path is also wrong: `.claude/` generated output is reserved for observability, and an unignored artifact there leaks scan output into git. +- **The durable candidate artifact is a per-project memory-tier file, never `${CLAUDE_PLUGIN_DATA}`.** Even resolved it points at a plugin-global dir that collides candidates across projects. The artifact resolves through the marketplace topic-docs convention (the plugin's topic-docs [binding](../../reference/topic-docs.md)) — memory tier, default `.work//`. A `${CLAUDE_PROJECT_DIR}/.claude/...` path is also wrong: `.claude/` generated output is reserved for observability, and an unignored artifact there leaks scan output into git. - **Scan-agent claims are shipped only after Phase 1.5 reproduction.** Explore agents have a demonstrated error rate: a real run reported a service "registered but never composed — a bug in the seam" that one grep disproved (it *is* consumed, via a different consumer, with tests). Any candidate headed for a `Strong` badge and any runtime-bug / dead-code claim is reproduced against the actual code before it reaches the user-facing report — the report lends every claim its authority, so an unreproduced overstatement is cheap to make and expensive to reputation.