Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ devflow/
└── .memory/ # Working memory files — per-project
```

**Install paths**: Commands → `~/.claude/commands/devflow/`, Agents → `~/.claude/agents/devflow/`, Skills → `~/.claude/skills/` (flat), Scripts → `~/.devflow/scripts/`
**Install paths**: Commands → `~/.claude/commands/devflow/`, Agents → `~/.claude/agents/devflow/`, Skills → `~/.claude/skills/devflow:*/` (namespaced), Scripts → `~/.devflow/scripts/`

## Development Loop

Expand Down Expand Up @@ -128,7 +128,7 @@ Working memory files live in a dedicated `.memory/` directory:

**Coder Handoff Artifact**: Sequential Coder phases write `.docs/handoff.md` after each phase. Survives context compaction (unlike PRIOR_PHASE_SUMMARY). Every Coder reads it on startup. Deleted by implementation-orchestration after pipeline completes.

**Universal Skill Installation**: All skills from all plugins are always installed, regardless of plugin selection. Skills are tiny markdown files. This ensures orchestration skills (review-orchestration, resolve-orchestration) can spawn agents that depend on skills from other plugins. Only commands and agents remain plugin-specific.
**Universal Skill Installation**: All skills from all plugins are always installed, regardless of plugin selection. Skills are tiny markdown files installed as `~/.claude/skills/devflow:{name}/` (namespaced to avoid collisions with other plugin ecosystems). Source directories in `shared/skills/` stay unprefixed — the `devflow:` prefix is applied at install-time only. Shadow overrides live at `~/.devflow/skills/{name}/` (unprefixed); when shadowed, the installer copies the user's version to the prefixed install target. Only commands and agents remain plugin-specific.

**Model Strategy**: Explicit model assignments in agent frontmatter override the user's session model. Opus for analysis agents (reviewer, scrutinizer, shepherd), Sonnet for execution agents (coder, simplifier, resolver, skimmer), Haiku for I/O agents (git, synthesizer, validator).

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,14 +311,14 @@ Session context is saved and restored automatically via Working Memory hooks —

### Skill Shadowing

Override any DevFlow skill with your own version. Shadowed skills survive `devflow init` — they won't be overwritten on reinstall or upgrade.
Override any DevFlow skill with your own version. Shadowed skills survive `devflow init` — your version is copied to the install target on each init instead of DevFlow's.

```bash
# Create a personal override (copies current version as reference)
npx devflow-kit skills shadow core-patterns

# Edit your override
vim ~/.claude/skills/core-patterns/SKILL.md
vim ~/.devflow/skills/core-patterns/SKILL.md

# List all overrides
npx devflow-kit skills list-shadowed
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/file-organization.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ The `skills` and `agents` arrays declare which shared assets this plugin needs.
|-------|------|-------|
| Commands | `~/.claude/commands/devflow/` | Namespaced |
| Agents | `~/.claude/agents/devflow/` | Namespaced |
| Skills | `~/.claude/skills/` | Flat (auto-discovery) |
| Skills | `~/.claude/skills/devflow:*/` | Namespaced (`devflow:` prefix) |
| Scripts | `~/.devflow/scripts/` | Helper scripts |
| Hooks | `~/.devflow/scripts/hooks/` | Working Memory hooks |
| Settings | `~/.claude/settings.json` | DevFlow configuration |
Expand Down
38 changes: 19 additions & 19 deletions plugins/devflow-code-review/commands/code-review-teams.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ Run a comprehensive code review of the current branch by spawning a review team

#### Step 0a: Discover Worktrees

1. **Discover reviewable worktrees** using the `worktree-support` skill discovery algorithm:
1. **Discover reviewable worktrees** using the `devflow:worktree-support` skill discovery algorithm:
- Run `git worktree list --porcelain` → parse, filter (skip protected/detached/mid-rebase), dedup by branch, sort by recent commit
- See `~/.claude/skills/worktree-support/SKILL.md` for the full 7-step algorithm and canonical protected branch list
- See `~/.claude/skills/devflow:worktree-support/SKILL.md` for the full 7-step algorithm and canonical protected branch list
2. **If `--path` flag provided:** use only that worktree, skip discovery
**`--path` validation**: Before proceeding, verify the path exists as a directory and appears in `git worktree list` output. If not: report error and stop.
3. **If only 1 reviewable worktree** (the common case): proceed as single-worktree flow — zero behavior change
Expand Down Expand Up @@ -80,7 +80,7 @@ Per worktree, detect file types in diff using `DIFF_RANGE` to determine conditio
| Dependency files changed | dependencies |
| Docs or significant code | documentation |

**Skill availability check**: Language/ecosystem reviews (typescript, react, accessibility, frontend-design, go, java, python, rust) require their optional skill plugin to be installed. Before adding a conditional perspective, use Read to check if `~/.claude/skills/{focus}/SKILL.md` exists. If Read returns an error (file not found), **skip that perspective** — the language plugin isn't installed. Non-language reviews (database, dependencies, documentation) use skills bundled with this plugin and are always available.
**Skill availability check**: Language/ecosystem reviews (typescript, react, accessibility, frontend-design, go, java, python, rust) require their optional skill plugin to be installed. Before adding a conditional perspective, use Read to check if `~/.claude/skills/devflow:{focus}/SKILL.md` exists. If Read returns an error (file not found), **skip that perspective** — the language plugin isn't installed. Non-language reviews (database, dependencies, documentation) use skills bundled with this plugin and are always available.

### Phase 2: Spawn Review Team

Expand Down Expand Up @@ -116,11 +116,11 @@ Spawn review teammates with self-contained prompts:
Prompt: |
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
WORKTREE_PATH: {worktree_path} (omit if cwd)
1. Read your skill: `Read ~/.claude/skills/security-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
1. Read your skill: `Read ~/.claude/skills/devflow:security-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/devflow:review-methodology/SKILL.md`
3. Read `.memory/knowledge/pitfalls.md` if it exists. Check for known pitfall patterns in the diff.
4. Get the diff: `git -C {WORKTREE_PATH} diff {DIFF_RANGE}`
5. Apply the 6-step review process from review-methodology
5. Apply the 6-step review process from devflow:review-methodology
6. Focus: injection, auth bypass, crypto misuse, OWASP vulnerabilities
7. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
8. Include file:line references for every finding
Expand All @@ -131,11 +131,11 @@ Spawn review teammates with self-contained prompts:
Prompt: |
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
WORKTREE_PATH: {worktree_path} (omit if cwd)
1. Read your skill: `Read ~/.claude/skills/architecture-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
1. Read your skill: `Read ~/.claude/skills/devflow:architecture-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/devflow:review-methodology/SKILL.md`
3. Read `.memory/knowledge/pitfalls.md` if it exists. Check for known pitfall patterns in the diff.
4. Get the diff: `git -C {WORKTREE_PATH} diff {DIFF_RANGE}`
5. Apply the 6-step review process from review-methodology
5. Apply the 6-step review process from devflow:review-methodology
6. Focus: SOLID violations, coupling, layering issues, modularity problems
7. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
8. Include file:line references for every finding
Expand All @@ -146,11 +146,11 @@ Spawn review teammates with self-contained prompts:
Prompt: |
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
WORKTREE_PATH: {worktree_path} (omit if cwd)
1. Read your skill: `Read ~/.claude/skills/performance-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
1. Read your skill: `Read ~/.claude/skills/devflow:performance-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/devflow:review-methodology/SKILL.md`
3. Read `.memory/knowledge/pitfalls.md` if it exists. Check for known pitfall patterns in the diff.
4. Get the diff: `git -C {WORKTREE_PATH} diff {DIFF_RANGE}`
5. Apply the 6-step review process from review-methodology
5. Apply the 6-step review process from devflow:review-methodology
6. Focus: N+1 queries, memory leaks, algorithm issues, I/O bottlenecks
7. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
8. Include file:line references for every finding
Expand All @@ -162,14 +162,14 @@ Spawn review teammates with self-contained prompts:
You are reviewing PR #{pr_number} on branch {branch} (base: {base_branch}).
WORKTREE_PATH: {worktree_path} (omit if cwd)
1. Read your skills:
- `Read ~/.claude/skills/complexity-patterns/SKILL.md`
- `Read ~/.claude/skills/consistency-patterns/SKILL.md`
- `Read ~/.claude/skills/test-patterns/SKILL.md`
- `Read ~/.claude/skills/regression-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/review-methodology/SKILL.md`
- `Read ~/.claude/skills/devflow:complexity-patterns/SKILL.md`
- `Read ~/.claude/skills/devflow:consistency-patterns/SKILL.md`
- `Read ~/.claude/skills/devflow:test-patterns/SKILL.md`
- `Read ~/.claude/skills/devflow:regression-patterns/SKILL.md`
2. Read review methodology: `Read ~/.claude/skills/devflow:review-methodology/SKILL.md`
3. Read `.memory/knowledge/pitfalls.md` if it exists. Check for known pitfall patterns in the diff.
4. Get the diff: `git -C {WORKTREE_PATH} diff {DIFF_RANGE}`
5. Apply the 6-step review process from review-methodology
5. Apply the 6-step review process from devflow:review-methodology
6. Focus: complexity, test gaps, pattern violations, regressions, naming
7. Classify each finding: 🔴 BLOCKING / ⚠️ SHOULD-FIX / ℹ️ PRE-EXISTING
8. Include file:line references for every finding
Expand Down Expand Up @@ -264,7 +264,7 @@ Per worktree, after successful completion:
**IMPORTANT**: Run sequentially across all worktrees (not in parallel) to avoid GitHub API conflicts.

Per worktree, if the review summary contains CRITICAL or HIGH blocking issues:
1. Read `~/.claude/skills/knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
1. Read `~/.claude/skills/devflow:knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
2. Source field: `/code-review {branch}`
3. Skip entirely if no CRITICAL/HIGH blocking issues

Expand Down
48 changes: 24 additions & 24 deletions plugins/devflow-code-review/commands/code-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ Run a comprehensive code review of the current branch by spawning parallel revie

#### Step 0a: Discover Worktrees

1. **Discover reviewable worktrees** using the `worktree-support` skill discovery algorithm:
1. **Discover reviewable worktrees** using the `devflow:worktree-support` skill discovery algorithm:
- Run `git worktree list --porcelain` → parse, filter (skip protected/detached/mid-rebase), dedup by branch, sort by recent commit
- See `~/.claude/skills/worktree-support/SKILL.md` for the full 7-step algorithm and canonical protected branch list
- See `~/.claude/skills/devflow:worktree-support/SKILL.md` for the full 7-step algorithm and canonical protected branch list
2. **If `--path` flag provided:** use only that worktree, skip discovery
**`--path` validation**: Before proceeding, verify the path exists as a directory and appears in `git worktree list` output. If not: report error and stop.
3. **If only 1 reviewable worktree** (the common case): proceed as single-worktree flow — zero behavior change
Expand Down Expand Up @@ -80,38 +80,38 @@ Per worktree, detect file types in diff using `DIFF_RANGE` to determine conditio
| Dependency files changed | dependencies |
| Docs or significant code | documentation |

**Skill availability check**: Language/ecosystem reviews (typescript, react, accessibility, frontend-design, go, java, python, rust) require their optional skill plugin to be installed. Before spawning a conditional Reviewer for these focuses, use Read to check if `~/.claude/skills/{focus}/SKILL.md` exists. If Read returns an error (file not found), **skip that review** — the language plugin isn't installed. Non-language reviews (database, dependencies, documentation) use skills bundled with this plugin and are always available.
**Skill availability check**: Language/ecosystem reviews (typescript, react, accessibility, frontend-design, go, java, python, rust) require their optional skill plugin to be installed. Before spawning a conditional Reviewer for these focuses, use Read to check if `~/.claude/skills/devflow:{focus}/SKILL.md` exists. If Read returns an error (file not found), **skip that review** — the language plugin isn't installed. Non-language reviews (database, dependencies, documentation) use skills bundled with this plugin and are always available.

### Phase 2: Run Reviews (Parallel)

Spawn Reviewer agents **in a single message**. Always run 7 core reviews; conditionally add more based on changed file types:

| Focus | Always | Pattern Skill |
|-------|--------|---------------|
| security | ✓ | security-patterns |
| architecture | ✓ | architecture-patterns |
| performance | ✓ | performance-patterns |
| complexity | ✓ | complexity-patterns |
| consistency | ✓ | consistency-patterns |
| regression | ✓ | regression-patterns |
| tests | ✓ | test-patterns |
| typescript | conditional | typescript |
| react | conditional | react |
| accessibility | conditional | accessibility |
| frontend-design | conditional | frontend-design |
| go | conditional | go |
| java | conditional | java |
| python | conditional | python |
| rust | conditional | rust |
| database | conditional | database-patterns |
| dependencies | conditional | dependencies-patterns |
| documentation | conditional | documentation-patterns |
| security | ✓ | devflow:security-patterns |
| architecture | ✓ | devflow:architecture-patterns |
| performance | ✓ | devflow:performance-patterns |
| complexity | ✓ | devflow:complexity-patterns |
| consistency | ✓ | devflow:consistency-patterns |
| regression | ✓ | devflow:regression-patterns |
| tests | ✓ | devflow:test-patterns |
| typescript | conditional | devflow:typescript |
| react | conditional | devflow:react |
| accessibility | conditional | devflow:accessibility |
| frontend-design | conditional | devflow:frontend-design |
| go | conditional | devflow:go |
| java | conditional | devflow:java |
| python | conditional | devflow:python |
| rust | conditional | devflow:rust |
| database | conditional | devflow:database-patterns |
| dependencies | conditional | devflow:dependencies-patterns |
| documentation | conditional | devflow:documentation-patterns |

Each Reviewer invocation (all in one message, **NOT background**):
```
Task(subagent_type="Reviewer", run_in_background=false):
"Review focusing on {focus}. Apply {focus}-patterns.
Follow 6-step process from review-methodology.
"Review focusing on {focus}. Apply devflow:{focus}-patterns.
Follow 6-step process from devflow:review-methodology.
PR: #{pr_number}, Base: {base_branch}
WORKTREE_PATH: {worktree_path} (omit if cwd)
DIFF_COMMAND: git -C {WORKTREE_PATH} diff {DIFF_RANGE} (omit -C flag if no WORKTREE_PATH)
Expand Down Expand Up @@ -165,7 +165,7 @@ In multi-worktree mode, report results per worktree.
**IMPORTANT**: Run sequentially across all worktrees (not in parallel) to avoid GitHub API conflicts.

Per worktree, if the review summary contains CRITICAL or HIGH blocking issues:
1. Read `~/.claude/skills/knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
1. Read `~/.claude/skills/devflow:knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
2. Source field: `/code-review {branch}`
3. Skip entirely if no CRITICAL/HIGH blocking issues

Expand Down
2 changes: 1 addition & 1 deletion plugins/devflow-debug/commands/debug-teams.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ Lead produces final report:
### Phase 9: Record Pitfall (if root cause found)

If root cause was identified with HIGH or MEDIUM confidence:
1. Read `~/.claude/skills/knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
1. Read `~/.claude/skills/devflow:knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
2. Source field: `/debug {bug description}`

## Architecture
Expand Down
2 changes: 1 addition & 1 deletion plugins/devflow-debug/commands/debug.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ Produce the final report:
### Phase 6: Record Pitfall (if root cause found)

If root cause was identified with HIGH or MEDIUM confidence:
1. Read `~/.claude/skills/knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
1. Read `~/.claude/skills/devflow:knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
2. Source field: `/debug {bug description}`

## Architecture
Expand Down
Loading
Loading