From b7d825184aece02d686102ec6f893546a8d7607e Mon Sep 17 00:00:00 2001 From: Dean Sharon Date: Wed, 18 Mar 2026 21:18:28 +0200 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20consistency=20audit=20batch=20?= =?UTF-8?q?=E2=80=94=20H2,=20M3,=20M7=20from=20#142?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - H2: ambient-router description updated to standard "This skill should be used when..." format - M3: simplifier agent gains Output and Boundaries sections matching scrutinizer pattern - M7: add homepage/repository/license/keywords metadata to 3 plugin.json files (ambient, audit-claude, self-review) Closes remaining HIGH and MEDIUM findings. M1 (acceptable), M4 and M6 (by-design) closed without code changes. H3/H4/H6/M2/M5/M8 were already fixed in PRs #145-147. Refs #142 --- .../.claude-plugin/plugin.json | 10 ++++++ .../.claude-plugin/plugin.json | 9 ++++++ .../.claude-plugin/plugin.json | 9 ++++++ shared/agents/simplifier.md | 32 ++++++++++++++++++- shared/skills/ambient-router/SKILL.md | 5 +-- 5 files changed, 60 insertions(+), 5 deletions(-) diff --git a/plugins/devflow-ambient/.claude-plugin/plugin.json b/plugins/devflow-ambient/.claude-plugin/plugin.json index 20f0532..3aac1a3 100644 --- a/plugins/devflow-ambient/.claude-plugin/plugin.json +++ b/plugins/devflow-ambient/.claude-plugin/plugin.json @@ -5,6 +5,16 @@ "name": "Dean0x" }, "version": "1.5.0", + "homepage": "https://github.com/dean0x/devflow", + "repository": "https://github.com/dean0x/devflow", + "license": "MIT", + "keywords": [ + "ambient", + "intent", + "classification", + "skills", + "auto-load" + ], "agents": [], "skills": [ "ambient-router" diff --git a/plugins/devflow-audit-claude/.claude-plugin/plugin.json b/plugins/devflow-audit-claude/.claude-plugin/plugin.json index 7c7dab3..2298b5d 100644 --- a/plugins/devflow-audit-claude/.claude-plugin/plugin.json +++ b/plugins/devflow-audit-claude/.claude-plugin/plugin.json @@ -5,6 +5,15 @@ "name": "Dean0x" }, "version": "1.5.0", + "homepage": "https://github.com/dean0x/devflow", + "repository": "https://github.com/dean0x/devflow", + "license": "MIT", + "keywords": [ + "audit", + "claude-md", + "best-practices", + "lint" + ], "agents": [], "skills": [] } diff --git a/plugins/devflow-self-review/.claude-plugin/plugin.json b/plugins/devflow-self-review/.claude-plugin/plugin.json index 8c5f44f..5a60b73 100644 --- a/plugins/devflow-self-review/.claude-plugin/plugin.json +++ b/plugins/devflow-self-review/.claude-plugin/plugin.json @@ -5,6 +5,15 @@ "name": "Dean0x" }, "version": "1.5.0", + "homepage": "https://github.com/dean0x/devflow", + "repository": "https://github.com/dean0x/devflow", + "license": "MIT", + "keywords": [ + "self-review", + "simplifier", + "scrutinizer", + "quality" + ], "agents": [ "simplifier", "scrutinizer", diff --git a/shared/agents/simplifier.md b/shared/agents/simplifier.md index 22b9985..4d93fa4 100644 --- a/shared/agents/simplifier.md +++ b/shared/agents/simplifier.md @@ -60,4 +60,34 @@ Your refinement process: 5. Verify the refined code is simpler and more maintainable 6. Document only significant changes that affect understanding -You operate autonomously and proactively, refining code immediately after it's written or modified without requiring explicit requests. Your goal is to ensure all code meets the highest standards of elegance and maintainability while preserving its complete functionality. \ No newline at end of file +You operate autonomously and proactively, refining code immediately after it's written or modified without requiring explicit requests. Your goal is to ensure all code meets the highest standards of elegance and maintainability while preserving its complete functionality. + +## Output + +Return structured completion status: + +```markdown +## Simplification Report + +### Changes Applied +- {file}: {description of simplification} + +### Changes Skipped +- {reason not simplified — would change behavior / already clean} + +### Files Modified +- {file} ({change description}) +``` + +## Boundaries + +**Escalate to orchestrator:** +- Changes that would alter observable behavior or break tests +- Simplifications requiring new dependencies or architectural changes +- Files outside the recently modified scope (unless instructed) + +**Handle autonomously:** +- Naming improvements, dead code removal, nesting reduction +- Import sorting and organization +- Redundant abstraction elimination +- Comment cleanup (remove obvious, keep non-obvious) \ No newline at end of file diff --git a/shared/skills/ambient-router/SKILL.md b/shared/skills/ambient-router/SKILL.md index ecae954..e040528 100644 --- a/shared/skills/ambient-router/SKILL.md +++ b/shared/skills/ambient-router/SKILL.md @@ -1,9 +1,6 @@ --- name: ambient-router -description: >- - Classify user intent and response depth for ambient mode. Auto-loads relevant - skills without explicit command invocation. Used by /ambient command and - always-on UserPromptSubmit hook. +description: This skill should be used when classifying user intent for ambient mode, auto-loading relevant skills without explicit command invocation. Used by /ambient command and always-on UserPromptSubmit hook. user-invocable: false allowed-tools: Read, Grep, Glob --- From d3584525335b8bc7eaece8603f026363dd01bfbd Mon Sep 17 00:00:00 2001 From: Dean Sharon Date: Wed, 18 Mar 2026 21:33:58 +0200 Subject: [PATCH 2/2] fix: document allowed-tools exceptions and sync plugin descriptions (L2, L3) - L2: Update CLAUDE.md to acknowledge intentional allowed-tools exceptions (git skills need Bash, interactive skills need AskUserQuestion, persistence skills need Write) - L3: Sync plugin descriptions across all 3 sources (plugin.json, plugins.ts, marketplace.json) using plugin.json as canonical source. 9 plugins had divergent descriptions with missing details. Refs #142 --- .claude-plugin/marketplace.json | 18 +++++++++--------- CLAUDE.md | 2 +- src/cli/plugins.ts | 18 +++++++++--------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 0a7da53..aa9369b 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -80,7 +80,7 @@ { "name": "devflow-core-skills", "source": "./plugins/devflow-core-skills", - "description": "Auto-activating quality enforcement skills", + "description": "Auto-activating quality enforcement skills - foundation layer for all DevFlow plugins", "version": "1.5.0", "keywords": [ "skills", @@ -114,7 +114,7 @@ { "name": "devflow-typescript", "source": "./plugins/devflow-typescript", - "description": "TypeScript language patterns (type safety, generics, utility types)", + "description": "TypeScript language patterns - type safety, generics, utility types, type guards", "version": "1.5.0", "keywords": [ "typescript", @@ -125,7 +125,7 @@ { "name": "devflow-react", "source": "./plugins/devflow-react", - "description": "React framework patterns (hooks, state, composition, performance)", + "description": "React framework patterns - hooks, state management, composition, performance", "version": "1.5.0", "keywords": [ "react", @@ -136,7 +136,7 @@ { "name": "devflow-accessibility", "source": "./plugins/devflow-accessibility", - "description": "Web accessibility patterns (WCAG, ARIA, keyboard navigation)", + "description": "Web accessibility patterns - WCAG compliance, ARIA roles, keyboard navigation, focus management", "version": "1.5.0", "keywords": [ "accessibility", @@ -148,7 +148,7 @@ { "name": "devflow-frontend-design", "source": "./plugins/devflow-frontend-design", - "description": "Frontend design patterns (typography, color, spacing, motion)", + "description": "Frontend design patterns - typography, color systems, spacing, motion, responsive design", "version": "1.5.0", "keywords": [ "design", @@ -159,7 +159,7 @@ { "name": "devflow-go", "source": "./plugins/devflow-go", - "description": "Go language patterns (error handling, interfaces, concurrency)", + "description": "Go language patterns - error handling, interfaces, concurrency, package design", "version": "1.5.0", "keywords": [ "go", @@ -170,7 +170,7 @@ { "name": "devflow-python", "source": "./plugins/devflow-python", - "description": "Python language patterns (type hints, protocols, data modeling)", + "description": "Python language patterns - type hints, protocols, dataclasses, async programming", "version": "1.5.0", "keywords": [ "python", @@ -181,7 +181,7 @@ { "name": "devflow-java", "source": "./plugins/devflow-java", - "description": "Java language patterns (records, sealed classes, composition)", + "description": "Java language patterns - records, sealed classes, composition, modern Java features", "version": "1.5.0", "keywords": [ "java", @@ -192,7 +192,7 @@ { "name": "devflow-rust", "source": "./plugins/devflow-rust", - "description": "Rust language patterns (ownership, error handling, type system)", + "description": "Rust language patterns - ownership, borrowing, error handling, type-driven design", "version": "1.5.0", "keywords": [ "rust", diff --git a/CLAUDE.md b/CLAUDE.md index 73ac341..d2c1f49 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -129,7 +129,7 @@ Working memory files live in a dedicated `.memory/` directory: - 3-tier system: Foundation (shared patterns), Specialized (auto-activate), Domain (language/framework) - Each skill has one non-negotiable **Iron Law** in its `SKILL.md` - Target: ~120-150 lines per SKILL.md with progressive disclosure to `references/` -- Skills are read-only (`allowed-tools: Read, Grep, Glob`) +- Skills default to read-only (`allowed-tools: Read, Grep, Glob`); exceptions: git/review skills add `Bash`, interactive skills add `AskUserQuestion`, and `knowledge-persistence`/`self-review` add `Write` for state persistence - All skills live in `shared/skills/` — add to plugin `plugin.json` `skills` array, then `npm run build` ### Agents diff --git a/src/cli/plugins.ts b/src/cli/plugins.ts index b59928b..34f2531 100644 --- a/src/cli/plugins.ts +++ b/src/cli/plugins.ts @@ -21,7 +21,7 @@ export interface PluginDefinition { export const DEVFLOW_PLUGINS: PluginDefinition[] = [ { name: 'devflow-core-skills', - description: 'Auto-activating quality enforcement (foundation layer)', + description: 'Auto-activating quality enforcement skills - foundation layer for all DevFlow plugins', commands: [], agents: [], skills: ['core-patterns', 'docs-framework', 'git-safety', 'git-workflow', 'github-patterns', 'input-validation', 'search-first', 'test-driven-development', 'test-patterns'], @@ -85,7 +85,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-typescript', - description: 'TypeScript language patterns (type safety, generics, utility types)', + description: 'TypeScript language patterns - type safety, generics, utility types, type guards', commands: [], agents: [], skills: ['typescript'], @@ -93,7 +93,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-react', - description: 'React framework patterns (hooks, state, composition, performance)', + description: 'React framework patterns - hooks, state management, composition, performance', commands: [], agents: [], skills: ['react'], @@ -101,7 +101,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-accessibility', - description: 'Web accessibility patterns (WCAG, ARIA, keyboard navigation)', + description: 'Web accessibility patterns - WCAG compliance, ARIA roles, keyboard navigation, focus management', commands: [], agents: [], skills: ['accessibility'], @@ -109,7 +109,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-frontend-design', - description: 'Frontend design patterns (typography, color, spacing, motion)', + description: 'Frontend design patterns - typography, color systems, spacing, motion, responsive design', commands: [], agents: [], skills: ['frontend-design'], @@ -117,7 +117,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-go', - description: 'Go language patterns (error handling, interfaces, concurrency)', + description: 'Go language patterns - error handling, interfaces, concurrency, package design', commands: [], agents: [], skills: ['go'], @@ -125,7 +125,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-java', - description: 'Java language patterns (records, sealed classes, composition)', + description: 'Java language patterns - records, sealed classes, composition, modern Java features', commands: [], agents: [], skills: ['java'], @@ -133,7 +133,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-python', - description: 'Python language patterns (type hints, protocols, data modeling)', + description: 'Python language patterns - type hints, protocols, dataclasses, async programming', commands: [], agents: [], skills: ['python'], @@ -141,7 +141,7 @@ export const DEVFLOW_PLUGINS: PluginDefinition[] = [ }, { name: 'devflow-rust', - description: 'Rust language patterns (ownership, error handling, type system)', + description: 'Rust language patterns - ownership, borrowing, error handling, type-driven design', commands: [], agents: [], skills: ['rust'],