Skip to content

feat: add external-resource-context skill, ui-analyzer agent, and recipe-front-adjust#122

Merged
shinpr merged 16 commits intomainfrom
feat/external-resource-context
May 3, 2026
Merged

feat: add external-resource-context skill, ui-analyzer agent, and recipe-front-adjust#122
shinpr merged 16 commits intomainfrom
feat/external-resource-context

Conversation

@shinpr
Copy link
Copy Markdown
Owner

@shinpr shinpr commented May 3, 2026

Summary

  • New cross-cutting skill external-resource-context that captures access methods for resources outside the repository (design source, design system, API schema, IaC source, secret store, visual verification environment, etc.) in a two-tier file: docs/project-context/external-resources.md for environment-stable facts and per-feature External Resources Used sections inside UI Spec / Design Doc. Distributed across all three plugins (dev-workflows, dev-workflows-frontend, dev-skills).
  • New frontend agent ui-analyzer that reads the project's external-resources file, fetches design / design-system / guideline sources via inherited MCP access (uses disallowedTools so the parent's tool set carries through), and analyzes the existing UI codebase. Runs in parallel with codebase-analyzer for frontend and fullstack design.
  • New frontend recipe /recipe-front-adjust for UI adjustment workflows on already-implemented features. The edit / MCP-verify / refine loop runs in the parent session because that loop needs MCP access on every iteration; subagents handle one-shot tasks (UI fact gathering, work plan creation, quality checks). Scale is judged from a user-confirmed write set against the documentation-criteria Creation Decision Matrix.
  • recipe-front-design, recipe-fullstack-implement, and monorepo-flow.md are updated to invoke the external-resource hearing protocol and ui-analyzer alongside codebase-analyzer.
  • UI Spec and Design Doc templates gain an External Resources Used section (UI Spec: top-level; Design Doc: subsection of Background and Context).
  • task-executor, task-executor-frontend, quality-fixer, and quality-fixer-frontend consult the project-tier external-resources file via the new skill when their work references it.
  • Version bumped to 0.18.0.
  • README is restructured: decision table at the top of Quick Start, common setup hoisted, the duplicated workflow pipeline (previously rendered four times) is consolidated, FAQ entries that duplicated Quick Start are removed, captions added under each Mermaid figure, contrastive phrasings and em-dashes removed.

Why

AI agents understand the codebase but not the external resources surrounding it. Asking the user about MCP access, design source location, or schema source on every recipe run wastes context and creates inconsistency between agents. The skill captures these once in a deterministic location that downstream agents read directly, and the ui-analyzer agent uses inherited MCP access to fetch heavy design source content inside its own context window so the parent session stays focused.

UI adjustment work has a different shape from full design or full build. It is bounded in scope but requires an iterative loop comparing the live code against a design source. The standard task-executor-frontend uses a tools allowlist that excludes MCP, so the verification loop cannot run there. recipe-front-adjust keeps the loop in the parent session and delegates only the steps that fit a single subagent call.

Tool Inheritance Note

ui-analyzer uses disallowedTools: Write, Edit, MultiEdit, NotebookEdit and omits the tools allowlist entirely. Per Claude Code documentation, when both tools and disallowedTools are set, the final tool set is the intersection, which excludes MCP. Using disallowedTools alone lets the parent session's full MCP set carry through. This was caught and fixed during review.

Test plan

  • pnpm sync regenerates plugin trees consistently
  • pnpm sync:check reports all plugin subdirectories in sync
  • pnpm check:skills-index reports all 11 skills consistent
  • Lefthook validate-plugins passes for marketplace.json and every plugin.json
  • No production-specific terminology in branch name, commits, or diff
  • Manual smoke test: install dev-workflows-frontend@0.18.0 and run /recipe-front-adjust against a sample component
  • Manual smoke test: install dev-workflows-frontend@0.18.0 and run /recipe-front-design end to end to verify hearing + parallel analyzer integration

🤖 Generated with Claude Code

shinpr and others added 12 commits May 3, 2026 21:55
Introduce a cross-cutting skill that captures access methods for
resources outside the repository (design origin, design system, API
schema, IaC source, secrets, visual verification environment, etc.)
and persists them where downstream agents can find them deterministically.

The skill defines:
- Two-tier storage: docs/project-context/external-resources.md for
  environment-stable facts; per-feature External Resources Used sections
  inside UI Spec or Design Doc for feature-specific identifiers.
- Single-source-of-truth rule: feature-tier sections reference project
  tier by label and never duplicate URLs / MCP names / access commands.
- Hearing protocol with file-existence branching (absent → full hearing;
  present → confirm update first, then optional diff hearing).
- Two-phase hearing: structured AskUserQuestion per axis (with
  対象外/N/A as a choice) then a single self-declaration prompt for
  resources the structured questions did not cover.
- Domain references (frontend/backend/api/infra) so unused domains do
  not consume context.

Templates: ui-spec-template adds a top-level External Resources Used
section; design-template adds an External Resources Used subsection
under Background and Context.

Registered in dev-workflows, dev-workflows-frontend, dev-skills.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…gents

Add external-resource-context to the skills frontmatter of agents that
write or consume documents containing the External Resources Used
section, and add explicit body integration where the agent's workflow
needs to consult external resources.

Writers (UI Spec / Design Doc):
- ui-spec-designer: load skill; Step 4 fills the External Resources
  Used section by reading the project-tier file and listing only
  feature-specific identifiers.
- technical-designer / technical-designer-frontend: load skill; new
  Gate 0 subsection "External Resources Integration" mirrors the
  Agreement Checklist gate and instructs the agent to read the project
  tier and carry forward the feature subset, escalating when the
  project-tier file is missing.

Implementers / verifiers:
- task-executor / task-executor-frontend: load skill; task-executor-
  frontend gets a body section "External Resources Consultation"
  defining the lookup order (consuming document section -> project
  tier -> declared access mechanism) and an escalation path when a
  needed resource is unspecified.
- quality-fixer / quality-fixer-frontend: load skill so visual
  verification environment and other access methods are recognized
  during quality checks.

Other readers (code-verifier, document-reviewer, work-planner,
codebase-analyzer) consult the saved file directly via the Read tool
and do not load the skill, keeping their preloaded context budgets
unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a frontend-only specialist that analyzes existing UI code for
facts the general codebase-analyzer does not cover: visual component
structure, DOM order at call sites, props/variant patterns, CSS layout
state (flex/grid, gap, wrap, logical properties), state x display
matrices, display conditions (feature flags, role/permission, route,
region/tenant, page context), i18n format and key conventions,
accessibility attributes, and generated UI artifact readiness.

Designed to run in parallel with codebase-analyzer before frontend
design. The two agents have complementary scopes — codebase-analyzer
owns data, contracts, dependencies, and quality assurance mechanisms;
ui-codebase-analyzer owns the visual and interaction surface.

Output is a JSON object whose focusAreas[] entries the consumer
prefixes with `ui:` to disambiguate from codebase-analyzer's facts
(prefixed `code:`). technical-designer-frontend's Input Parameters
section is updated to accept both inputs and merge their focusAreas
into a single Fact Disposition Table.

Registered in dev-workflows-frontend (frontend-only). The
subagents-orchestration-guide skill lists the agent, adds a Call
Example, and notes the parallel invocation pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-adjust

Update recipe-front-design Step 1.5 to run the external-resource-context
hearing protocol with file-existence branching (absent → full hearing;
present → confirm update first, then optional diff hearing). Update
Step 3 to invoke codebase-analyzer and ui-codebase-analyzer in parallel,
passing both JSON outputs to technical-designer-frontend with `code:`
and `ui:` prefixes on fact_id values.

Add recipe-front-adjust as a separate, lighter recipe for UI adjustment
workflows on already-implemented features. Its scope is hearing →
UI fact collection → scale judgment → optional work plan → handoff to
the implementation phase. It does not run task execution or quality
fixing itself; the implementation recipe owns those gates. The handoff
message names the next recipe in user-facing text only, keeping the
recipe body free of cross-recipe internal references.

Scale judgment uses documentation-criteria's Creation Decision Matrix:
1-2 files run inline; 3-5 files require an approved work plan; 6+ files
or any ADR condition trigger an escalation back to the full design
phase.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ication

Three coordinated changes addressing single-responsibility, MCP tool
access constraints, and tier separation between recipes.

1. Rename ui-codebase-analyzer to ui-analyzer with expanded scope
   - Scope now covers external UI sources (design origin, design
     system catalog, guidelines) fetched via MCP/URL/file in addition
     to the original codebase analysis.
   - Tools field switches from allowlist to disallowedTools (Write,
     Edit, MultiEdit, NotebookEdit denied) so the agent inherits the
     parent session's MCP access. Heavy fetches stay inside the
     subagent's own context window.
   - Output JSON schema gains an externalResources section recording
     fetch_status per axis (designOrigin, designSystem, guidelines,
     visualVerification).
   - Dependency-direction principle preserved: the skill carries the
     protocol; the agent body trusts the skill.

2. Restructure recipe-front-adjust to a self-execution pattern
   - Adjustment work depends on iterative MCP-driven verification
     (fetch design source, compare, refine, re-verify). Subagents
     using a tools allowlist cannot perform this loop because their
     allowlist excludes MCP. Delegating implementation to the standard
     task-executor-frontend would break the loop.
   - The recipe now runs the adjustment edits and MCP verification in
     the parent session itself, and delegates only steps that do not
     require MCP: ui-analyzer (UI fact gathering with inherited MCP
     access), work-planner (3-5 file plan creation), and
     quality-fixer-frontend (typecheck/lint/test).
   - Core Identity changes from "I am an orchestrator" to "I am a
     guided executor" to reflect the actual responsibility shape.
   - The recipe is end-to-end: it does not hand off to other
     implementation recipes.

3. Update recipe-front-design, recipe-fullstack-implement, and
   monorepo-flow.md to use ui-analyzer
   - codebase-analyzer and ui-analyzer now run in parallel before
     ui-spec-designer (so UI Spec authoring can consume external
     source fetched_summaries) and feed technical-designer-frontend
     for the Design Doc phase.
   - Hearing step is added before fact gathering in both flows.
   - monorepo-flow.md's Large/Medium tables and prompt templates
     reference ui-analyzer alongside codebase-analyzer.

4. Trim duplicated protocol text from agents and templates
   - ui-spec-designer, technical-designer, technical-designer-frontend,
     and task-executor-frontend now reference the
     external-resource-context skill in one line instead of repeating
     its protocol.
   - ui-spec-template and design-template's External Resources Used
     sections drop the explanatory prose and keep just the structural
     placeholder.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Review identified critical execution-precision issues. Apply fixes in
priority order.

P1 — execution-correctness (was broken):

1. ui-analyzer frontmatter MCP inheritance bug. The agent had both
   tools: (allowlist) and disallowedTools: set, so per Claude Code
   semantics the final tool set was the intersection — MCP tools
   were excluded despite the body claiming inheritance. Remove the
   tools: field; rely on disallowedTools alone so the parent
   session's MCP set is inherited. The agent's core purpose
   (containing heavy MCP fetches in its own context) only works
   after this fix.

2. recipe-front-adjust task_file contract. Previous text instructed
   the orchestrator to pass "synthesized scope description" as
   task_file when no work plan exists. quality-fixer-frontend
   expects task_file to be a path and uses filesModified for write
   set scope; a non-path falls back to git diff HEAD, which is
   empty after per-unit commits. Branch the prompt: Branch A omits
   task_file and passes filesModified explicitly; Branch B passes
   both an actual plan path and filesModified.

3. Backend executor and quality-fixers loaded the skill in
   frontmatter without a corresponding body section to act on it.
   Add concise External Resources Consultation sections to
   task-executor (backend), quality-fixer, and quality-fixer-frontend
   matching the pattern already present in task-executor-frontend.
   The trigger phrase in task-executor-frontend itself is also
   tightened from "When the task references an external resource"
   to a concrete trigger naming the task file's Investigation
   Targets, Dependencies, and external-resources file references.

P2 — branching and routing precision:

4. Scale judgment in recipe-front-adjust used filesAnalyzed as the
   evidence base, but ui-analyzer's filesAnalyzed is the read set,
   not the write set. Add candidateWriteSet[] (with confidence
   labels) to ui-analyzer's output schema; recipe-front-adjust now
   confirms the write set with the user via AskUserQuestion before
   applying the Creation Decision Matrix. Workflow Overview and
   Completion Criteria reflect the new step.

5. recipe-front-adjust Execution Protocol bullet 1 mixed delegated
   and non-delegated items inside a single "Delegate" list. Split
   into "Delegate to subagents" and "Run in the parent session" so
   readers cannot mistake the hearing step for a delegated call.

6. Naming drift: technical-designer-frontend Input Parameters
   referenced "ui-codebase-analyzer" after the rename to ui-analyzer.
   Rename the section header and prose to match.

7. ui-analyzer prompt in recipe-front-adjust set scale: 'unknown',
   which is not a value requirement-analyzer's enum produces.
   Change to 'small' so downstream branching that consults scale
   has a defined value to work with.

P3 — style and precision polish:

8. Positive-form rewrites for four BP-001 violations in skill and
   agent text (feature-tier ownership rule, hearing responsibility,
   MCP unavailable handling, heavy-fetch limit).

9. Feature-tier format unified: skill body example now points to
   the table format defined in references/template.md instead of
   demonstrating a free-form alternative.

10. ui-analyzer Quality Checklist gains explicit guidance that
    sections outside the affected scope should be emitted as empty
    arrays / minimal placeholders — preventing speculative
    enumeration that bloats the output for small adjustments.

11. recipe-front-adjust MCP wording: previous text generalized
    "subagents whose tools allowlist excludes MCP". Clarify that
    the verification loop's multi-step shape is what makes a single
    subagent call insufficient, while ui-analyzer (a one-shot
    subagent using disallowedTools) does inherit MCP correctly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Several recently-added passages explain *why* the configuration is
what it is, rather than *what* the agent or recipe should do. The
agent already has the configuration in its frontmatter and the
protocol in the loaded skill, so the explanatory prose only consumes
context budget without changing execution. Remove or compress:

- ui-analyzer "Tool Scope" section (frontmatter is the source of
  truth; the agent does not decide its own tool set).
- ui-analyzer "Boundary with codebase-analyzer" filler sentences;
  keep the routing table and the disambiguation rule.
- ui-analyzer Step 12 "candidate vs commitment" rationale; the
  recipe owns that distinction.
- recipe-front-adjust Context paragraph compressed; the lengthy
  comparison to other recipes was framing for human readers.
- recipe-front-adjust "Why this differs from other recipes" block
  removed entirely — the protocol bullets above already define
  the action shape.
- recipe-front-adjust Step 5 leading sentence (Subagents are not
  used here because...) removed; the heading already states
  "(parent session)".
- recipe-front-adjust Step 1 / Step 2 / Step 3 narrative leads
  trimmed; numbered steps and Agent invocation blocks carry the
  action.
- recipe-front-adjust Step 6 task_file rationale paragraph
  removed; the Branch A / Branch B prompt construction is the
  action and stands alone.
- quality-fixer / quality-fixer-frontend Consultation sections
  trimmed: drop the "(e.g., ...)" example lists; the trigger
  condition + action + escalation rule is the actual content.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- candidateWriteSet[] added to subagents-orchestration-guide
  ui-analyzer key fields list. recipe-front-adjust depends on this
  field for scale judgment, but it was missing from the orchestrator-
  facing summary, risking lookup failure.

- recipe-front-adjust drops the subagents-orchestration-guide
  reference. The recipe runs the adjustment loop in the parent
  session and is not a delegating orchestrator, so referencing the
  guide pulled the model toward the standard "delegate everything"
  pattern. Replace "Parse the response per subagents-orchestration-
  guide" with self-contained quality-fixer-frontend response routing
  that includes the blocked-reason discrimination.

- Branch B task_file is clarified as a supplementary hint;
  filesModified is the primary scope. quality-fixer-frontend's
  Quality Assurance Mechanisms lookup uses task_file when it points
  to a document with that section, but the file scope itself is
  always driven by filesModified.

- AskUserQuestion option c (edit list manually) for write-set
  confirmation now explicitly instructs a follow-up plain message
  asking the user to paste the edited list. AskUserQuestion is a
  single-round structured-choice tool; the follow-up turn was
  implicit before.

- Decision Matrix in Step 3 gains a 0-files branch. When
  candidateWriteSet[] is empty (the adjustment request did not map
  to any existing file), escalate to the user instead of falling
  through the matrix.

- ui-analyzer Quality Checklist drops the trailing
  "not enumerated speculatively" phrase. The preceding positive
  form "emitted as empty arrays / minimal placeholders" already
  defines the expected behavior; the negative tail violates BP-001.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two BP-001 violations remained in recipe-front-adjust scope section.
Convert both to positive form so the recipe body carries no negative
references to other recipes or out-of-scope items.

- Responsibility Boundary previously ended with "it does not hand
  off to other implementation recipes." That phrasing pulls the
  model toward the recipes it negates. Replace with a positive
  statement of what this recipe owns: parent session owns edits,
  verification loops, quality-result routing, and commits.

- "Out of scope:" section is reframed as an Escalation Boundary.
  The rule "escalate to the full frontend design phase when X"
  is the same constraint stated as a positive trigger condition.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Apply four in-body compressions identified in review. References/
moves are intentionally avoided because Claude Code's progressive
disclosure does not reliably load reference files mid-flow.

A. recipe-front-adjust:114 — convert "When the user has not
   configured an MCP that the verification step would normally use"
   to "When MCP access is unavailable for the verification step"
   so the fallback condition reads positively.

C. ui-analyzer Quality Checklist — trim items that restate the
   procedural Steps 1-12 and keep only the gates that test final
   output integrity (per-axis fetch_status, candidateWriteSet
   presence, focusAreas evidence pointers, scope-out empty arrays,
   single-JSON output).

H. technical-designer-frontend Implementation Sample Standards —
   the agent already loads typescript-rules and frontend-ai-guide
   skills, which carry the canonical React patterns. Replace the
   45-line code sample with a short directive that defers to those
   skills for concrete patterns.

L. technical-designer and technical-designer-frontend Quality
   Checklist — drop items that restate Gate 0-3 enforcement (which
   blocks at the corresponding Mandatory Process subsection) and
   keep items that test final-output completeness only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…tion checklist item

Two follow-up corrections from the latest review.

- technical-designer-frontend Implementation Sample directive
  previously read "defer to those skills rather than duplicating
  sample code in the design document". The phrasing could be
  misread as forbidding code examples in Design Docs entirely.
  The intent is the inverse: sample code is permitted in Design
  Docs, but it should follow the canonical patterns carried by
  the loaded skills. Replace with the positive form "When sample
  code is needed, keep it minimal and follow concrete patterns
  from those skills."

- The Quality Checklist trim in the previous commit dropped the
  Fact Disposition Table self-check from both technical-designer
  and technical-designer-frontend. Gate 1 enforces table
  population during creation, but a final self-check entry
  catches population gaps that survive the gate. Restore one
  checklist line in both files under "All modes".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bump every version field (root package.json, marketplace.json plugin
entries, generated plugin.json files) from 0.17.1 to 0.18.0 to release
the work in this branch.

README updates:
- Add a "Which plugin should I start with?" decision table at the top
  of Quick Start so the install path is decided in one read.
- Hoist the common claude + marketplace add steps and inline
  /reload-plugins next to each plugin install so the order matches
  the actual command flow.
- Drop the previous "What These Plugins Do" section. The same
  pipeline was rendered four times across the README; remove the
  duplicated phase list and keep the Mermaid figure plus the seven
  step "Behind the Scenes" list.
- Move the UI Spec rationale next to /recipe-front-design and add a
  concrete failure example (combined screen with mixed
  loading / error states).
- Add /recipe-front-adjust and ui-analyzer to the recipe and agent
  tables; add the External Resource Context entry to Built-in Best
  Practices.
- Trim the FAQ entries that duplicated Quick Start content.
- Add a one line caption under each Mermaid figure.
- Drop emoji from Mermaid nodes; keep section heading emoji.
- Replace contrastive "X, not Y" phrasings with positive forms; drop
  remaining em dashes.
- Quote the trapezoid-looking node label in the reverse engineering
  Mermaid figure ("/recipe-reverse-engineer") so Mermaid does not
  parse it as a parallelogram shape.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shinpr shinpr self-assigned this May 3, 2026
shinpr and others added 4 commits May 3, 2026 23:41
technical-designer-frontend's Input Parameters section named
ui-analyzer directly when describing the UI Analysis input. The
sibling Codebase Analysis entry uses "from codebase analysis phase"
(a phase reference), and agent body content should not name other
agents directly per the recipe -> agent -> skill dependency direction.

Change "from ui-analyzer" to "from UI analysis phase" so the two
sibling inputs share the same phase-based naming.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…escriptions

Comprehensive cleanup of cross-tier references that violate the
recipe -> agent -> skill dependency direction, and a few precision
improvements that surfaced during multi-pass review.

Dependency direction:
- Remove agent -> agent and skill -> agent references from agent
  bodies and template files. The reciprocally-isolated subagent
  context cannot see other agents' definitions, so cross-references
  contribute no execution value while risking misinformation. The
  ui-analyzer "Boundary with codebase-analyzer" section, the
  ui-spec-designer downstream-justification line, work-planner's
  task-decomposer/ui-spec-designer mentions, plan-template /
  ui-spec-template / e2e.md downstream-agent justifications are all
  removed. Cataloging skills (subagents-orchestration-guide,
  task-analyzer) keep their references because that is their core
  responsibility.
- Remove agent -> recipe reference. ui-analyzer's "calling recipe's
  responsibility" is now "calling workflow's responsibility".
- Remove skill -> skill references from non-cataloging skill content.
  The two-tier file is documented locally where it appears
  (templates, e2e.md). L1/L2/L3 levels in design-template are
  inlined instead of referencing the implementation-approach skill.
  plan-template's Phase Division Criteria stays as a same-skill
  reference; Quality Check Workflow is described inline.
- Replace ui-analyzer Input Parameters phrasing in
  technical-designer-frontend from "from ui-analyzer" to "from UI
  analysis phase" so the input descriptor names a phase rather than
  the producing agent.

Quality Checklists:
- Restore Prerequisite common ADRs / Change impact map / Error
  handling strategy in the Create/update mode lists for
  technical-designer and technical-designer-frontend. These are
  document content checks, not gate enforcement, so the earlier
  trim was over-aggressive.
- Add Integration points enumeration and Quality Assurance
  Mechanisms adopted/noted status to the All modes lists. Both
  feed downstream consumers and the previous Data-contracts-only
  line did not guarantee enumeration.

recipe-fullstack-implement / monorepo-flow:
- Consolidate the recipe's Steps 3-5 (hearing, fact gathering, UI
  Spec) into the single "Design through Planning Phase" pointer at
  monorepo-flow.md. The previous text duplicated steps that the
  flow table already covers, risking double-execution.

Orchestration guide:
- Add external resource hearing and ui-analyzer to the Large and
  Medium planning flows so the guide matches the actual recipe
  shape.
- Mark ui-analyzer's focusAreas[] as raw fact_id; consumers apply
  the ui: prefix when merging with codebase analysis facts. This
  resolves the producer-vs-consumer prefix ambiguity.

Templates / references:
- Remove "対象外 / not applicable" Japanese tokens from the
  external-resource-context skill (SKILL.md, four domain
  references, template.md). Replaced with "Not applicable" so the
  skill text stays English-only.
- Inline L1/L2/L3 verification levels in design-template.
- Replace plan-template's abstract "documentation and quality
  skills loaded by the agent" pointer with self-contained
  descriptions of phase division and per-phase quality checks.

Descriptions:
- external-resource-context description: restore "Captures and
  persists" verb pair so the persistence behavior is visible at
  skill-selection time. Replace "downstream agents" with
  "downstream work" for portability across plugins. Add "secret
  store" to the user-mention list to match the body.
- recipe-front-adjust description: compress from 409 to 111 chars
  to match the slash-menu style of sibling recipe entries
  (66-94 chars). The skill is disable-model-invocation so the long
  trigger phrase block was unnecessary.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The Feature-Tier Template section in external-resource-context's
template.md duplicated content already owned by ui-spec-template.md
and design-template.md. The skill's responsibility is the protocol
(storage location, ownership rule, reference order); the format of
the section appended to a UI Spec or Design Doc is owned by those
document templates.

SKILL.md's Output Format section already states the placement and
heading rules for the feature-tier section, so removing the
duplicated template here loses no information.

Side effects of removal:
- Single source of truth for the feature-tier table format. Column
  changes only require editing ui-spec-template.md and
  design-template.md.
- template.md now scopes itself to the project-tier file only,
  matching its callers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two corrections that surfaced after the MCP-bias and prefix-ownership
cleanup landed.

- recipe-front-adjust line 89: Branch A previously instructed
  carrying ui-analyzer focusAreas with the "ui: prefix preserved",
  which contradicts the design that ui-analyzer emits raw fact_id
  and consumers apply prefixes only when merging with codebase
  analysis. Reword as raw fact_id with prefix application gated to
  Fact Disposition Table merges, which Branch A does not perform.

- recipe-front-adjust line 115: the loop's convergence criterion
  required the adjustment to match the design source. Design Origin
  axis allows "Existing implementation only" and "Not applicable",
  so the criterion now also accepts a user-confirmed adjustment
  target when no separate design source exists.

- Add a Task Registration block before Step 1 so the recipe's
  multi-step flow is trackable through TaskCreate / TaskUpdate.

- Remove MCP-centric framing across recipe-front-adjust and
  external-resource-context's frontend reference and template.
  Verification now reads as "verification" or "verification against
  the design source" rather than "MCP-driven verification". The
  Step 5 checklist examples list MCP, CLI, URL, file, and Storybook
  as parallel access methods; the fallback paragraph treats no
  declared automated method as the trigger for manual confirmation
  rather than treating MCP as the default.

- Drop tool-specific names from cross-cutting skill content.
  References to "Playwright / Cypress" and "pnpm exec playwright"
  are removed so the external-resource-context skill stays
  language-and-tooling-agnostic across the three plugins.

- Remove the duplicated Feature-Tier Template section from
  external-resource-context references; the feature-tier format is
  owned by ui-spec-template and design-template.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shinpr shinpr merged commit 2b45b5f into main May 3, 2026
1 check passed
@shinpr shinpr deleted the feat/external-resource-context branch May 3, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant