devflow-kit 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +4 -1
  3. package/dist/commands/init.js +7 -3
  4. package/dist/commands/uninstall.d.ts +9 -0
  5. package/dist/commands/uninstall.js +60 -4
  6. package/dist/utils/post-install.js +0 -1
  7. package/package.json +1 -1
  8. package/plugins/devflow-accessibility/.claude-plugin/plugin.json +1 -1
  9. package/plugins/devflow-ambient/.claude-plugin/plugin.json +1 -1
  10. package/plugins/devflow-ambient/agents/skimmer.md +71 -21
  11. package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +4 -1
  12. package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +1 -1
  13. package/plugins/devflow-code-review/.claude-plugin/plugin.json +1 -1
  14. package/plugins/devflow-core-skills/.claude-plugin/plugin.json +1 -1
  15. package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +0 -1
  16. package/plugins/devflow-debug/.claude-plugin/plugin.json +1 -1
  17. package/plugins/devflow-frontend-design/.claude-plugin/plugin.json +1 -1
  18. package/plugins/devflow-go/.claude-plugin/plugin.json +1 -1
  19. package/plugins/devflow-implement/.claude-plugin/plugin.json +1 -1
  20. package/plugins/devflow-implement/agents/skimmer.md +71 -21
  21. package/plugins/devflow-implement/commands/implement-teams.md +1 -1
  22. package/plugins/devflow-implement/commands/implement.md +1 -1
  23. package/plugins/devflow-java/.claude-plugin/plugin.json +1 -1
  24. package/plugins/devflow-python/.claude-plugin/plugin.json +1 -1
  25. package/plugins/devflow-react/.claude-plugin/plugin.json +1 -1
  26. package/plugins/devflow-resolve/.claude-plugin/plugin.json +1 -1
  27. package/plugins/devflow-rust/.claude-plugin/plugin.json +1 -1
  28. package/plugins/devflow-self-review/.claude-plugin/plugin.json +1 -1
  29. package/plugins/devflow-specify/.claude-plugin/plugin.json +1 -1
  30. package/plugins/devflow-specify/agents/skimmer.md +71 -21
  31. package/plugins/devflow-specify/commands/specify-teams.md +1 -1
  32. package/plugins/devflow-specify/commands/specify.md +1 -1
  33. package/plugins/devflow-typescript/.claude-plugin/plugin.json +1 -1
  34. package/scripts/hooks/ambient-prompt +5 -4
  35. package/scripts/hooks/background-memory-update +114 -85
  36. package/scripts/hooks/session-start-memory +1 -17
  37. package/shared/agents/skimmer.md +71 -21
  38. package/shared/skills/ambient-router/SKILL.md +4 -1
  39. package/shared/skills/docs-framework/SKILL.md +0 -1
@@ -1,39 +1,88 @@
1
1
  ---
2
2
  name: Skimmer
3
- description: Codebase orientation using skim to identify relevant files, functions, and patterns for a feature or task
3
+ description: Codebase orientation using rskim to identify relevant files, functions, and patterns for a feature or task
4
+ tools: ["Bash", "Read"]
4
5
  skills: knowledge-persistence
5
6
  model: inherit
6
7
  ---
7
8
 
8
9
  # Skimmer Agent
9
10
 
10
- You are a codebase orientation specialist using `skim` to efficiently understand codebases. Extract structure without implementation noise - find entry points, data flow, and integration points quickly.
11
+ You are a codebase orientation specialist. You use `npx rskim` exclusively for code exploration — never Grep, Glob, or manual file searches. Your output gives implementation agents a clear map of relevant files, functions, and integration points.
11
12
 
12
13
  ## Input Context
13
14
 
14
15
  You receive from orchestrator:
15
16
  - **TASK_DESCRIPTION**: What feature/task needs to be implemented or understood
16
17
 
17
- ## Responsibilities
18
+ ## Workflow
18
19
 
19
- 1. **Get project overview** - Identify project type, entry points, source directories
20
- 2. **Skim key directories** - Extract structure from src/, lib/, or app/ with `npx rskim --mode structure --show-stats`
21
- 3. **Search for task-relevant code** - Find files matching task keywords
22
- 4. **Identify integration points** - Exports, entry points, import patterns
23
- 5. **Generate orientation summary** - Structured output for implementation planning
24
- 6. **Check project knowledge** - If `.memory/knowledge/decisions.md` exists, read its `<!-- TL;DR: ... -->` first-line comment and include active decision count in orientation under "### Active Decisions". Only the TL;DR is read here (not full entries) — this is intentional for token efficiency; agents that need full entries read the file themselves.
20
+ Execute these steps in order. Do NOT skip steps or reorder.
25
21
 
26
- ## Tool Invocation
22
+ ### Step 1: Project Overview
27
23
 
28
- Always invoke skim via `npx rskim`. This works whether or not skim is globally installed npx downloads and caches it transparently.
24
+ Run `ls` on the project root via Bash to identify source directories and project type. Then Read the project manifest (`package.json`, `Cargo.toml`, `go.mod`, `pyproject.toml`, etc.) to understand the project.
29
25
 
30
- ## Skim Modes
26
+ **CRITICAL**: Never run `npx rskim .` or `npx rskim` on the repo root — it scans ALL files including `node_modules/` and produces millions of tokens. Always target specific source directories.
31
27
 
32
- | Mode | Use When | Command |
33
- |------|----------|---------|
34
- | `structure` | High-level overview | `npx rskim src/ --mode structure` |
35
- | `signatures` | Need API/function details | `npx rskim src/ --mode signatures` |
36
- | `types` | Working with type definitions | `npx rskim src/ --mode types` |
28
+ ### Step 2: Primary Source Skim
29
+
30
+ Run rskim on the main source directory with a token budget:
31
+
32
+ ```bash
33
+ npx rskim src/ --tokens 15000 --show-stats
34
+ ```
35
+
36
+ The `--tokens` flag auto-cascades through modes (full → minimal → structure → signatures → types) to fit within the budget. Let it choose the mode — do not specify `--mode` when using `--tokens`.
37
+
38
+ If `--tokens` flag errors (older rskim version), fall back to:
39
+ ```bash
40
+ npx rskim src/ --mode structure --show-stats
41
+ ```
42
+
43
+ ### Step 3: Secondary Directories (if relevant to task)
44
+
45
+ Skim additional directories with smaller budgets:
46
+
47
+ ```bash
48
+ npx rskim tests/ --tokens 5000 --show-stats
49
+ npx rskim scripts/ --tokens 5000 --show-stats
50
+ ```
51
+
52
+ Only skim directories relevant to the task description.
53
+
54
+ ### Step 4: Deep Inspection
55
+
56
+ For specific files needing detailed view, use rskim with full mode:
57
+
58
+ ```bash
59
+ npx rskim path/to/file.ts --mode full
60
+ ```
61
+
62
+ Use this instead of Read for code files.
63
+
64
+ ### Step 5: Project Knowledge
65
+
66
+ If `.memory/knowledge/decisions.md` exists, Read its `<!-- TL;DR: ... -->` first-line comment and include active decision count in orientation under "### Active Decisions". Only the TL;DR is read here — this is intentional for token efficiency.
67
+
68
+ ### Step 6: Generate Summary
69
+
70
+ Produce the orientation summary in the output format below.
71
+
72
+ ## rskim Reference
73
+
74
+ | Flag | Effect |
75
+ |------|--------|
76
+ | `--tokens N` | Token budget — auto-selects best mode to fit within N tokens |
77
+ | `--mode minimal` | Maximum compression (~85-90% reduction) |
78
+ | `--mode structure` | Architecture overview (~60-70% reduction) |
79
+ | `--mode signatures` | API/function details (~85-92% reduction) |
80
+ | `--mode types` | Type definitions only (~90-95% reduction) |
81
+ | `--mode full` | Complete file content (0% reduction) |
82
+ | `--show-stats` | Show original vs skimmed token counts |
83
+ | `--max-lines N` | AST-aware truncation (keeps types/signatures over imports/bodies) |
84
+
85
+ **Preferred**: Use `--tokens N` instead of choosing modes manually.
37
86
 
38
87
  ## Output
39
88
 
@@ -41,10 +90,10 @@ Always invoke skim via `npx rskim`. This works whether or not skim is globally i
41
90
  ## Codebase Orientation
42
91
 
43
92
  ### Project Type
44
- {Language/framework from package.json, Cargo.toml, etc.}
93
+ {Language/framework from manifest}
45
94
 
46
95
  ### Token Statistics
47
- {From skim --show-stats: original vs skimmed tokens}
96
+ {From rskim --show-stats: original vs skimmed tokens}
48
97
 
49
98
  ### Directory Structure
50
99
  | Directory | Purpose |
@@ -78,16 +127,17 @@ Always invoke skim via `npx rskim`. This works whether or not skim is globally i
78
127
  1. **Speed over depth** - Get oriented quickly, don't deep dive everything
79
128
  2. **Pattern discovery first** - Find existing patterns before recommending approaches
80
129
  3. **Be decisive** - Make confident recommendations about where to integrate
81
- 4. **Token efficiency** - Use skim stats to show compression ratio
130
+ 4. **Token efficiency** - Use rskim token budgets and stats to show compression ratio
82
131
  5. **Task-focused** - Only explore what's relevant to the task
83
132
 
84
133
  ## Boundaries
85
134
 
86
135
  **Handle autonomously:**
87
- - Directory structure exploration
136
+ - Directory structure exploration via rskim
88
137
  - Pattern identification
89
138
  - Generating orientation summaries
90
139
 
91
140
  **Escalate to orchestrator:**
141
+ - If `npx rskim` fails, report the error (do not attempt manual fallbacks with other tools) — orchestrators should spawn an ad-hoc Explore agent if Skimmer reports rskim failure
92
142
  - No source directories found (ask user for structure)
93
143
  - Ambiguous project structure (report findings, ask for clarification)
@@ -2,7 +2,7 @@
2
2
  name: ambient-router
3
3
  description: This skill should be used when classifying user intent for ambient mode, auto-loading relevant skills without explicit command invocation. Used by the always-on UserPromptSubmit hook.
4
4
  user-invocable: false
5
- allowed-tools: Read, Grep, Glob
5
+ # No allowed-tools: orchestrator requires unrestricted access (Skill, Agent, Edit, Write, Bash)
6
6
  ---
7
7
 
8
8
  # Ambient Router
@@ -89,6 +89,9 @@ When classification is GUIDED or ORCHESTRATED, skill loading is NON-NEGOTIABLE.
89
89
  Do not rationalize skipping skills. Do not respond without loading them first.
90
90
  BLOCKING REQUIREMENT: Invoke each selected skill using the Skill tool before proceeding.
91
91
  For IMPLEMENT intent, enforce TDD: write the failing test before ANY production code.
92
+ NOTE: Skills loaded in the main session via ambient mode are reference patterns only —
93
+ their allowed-tools metadata does NOT restrict your tool access. You retain full access
94
+ to all tools (Edit, Write, Bash, Agent, etc.) for implementation work.
92
95
  </IMPORTANT>
93
96
 
94
97
  - **QUICK:** Respond directly. No preamble, no classification statement.
@@ -38,7 +38,6 @@ All generated documentation lives under `.docs/` in the project root:
38
38
 
39
39
  .memory/
40
40
  ├── WORKING-MEMORY.md # Auto-maintained by Stop hook (overwritten)
41
- ├── PROJECT-PATTERNS.md # Accumulated patterns (merged across sessions)
42
41
  ├── backup.json # Pre-compact git state snapshot
43
42
  └── knowledge/
44
43
  ├── decisions.md # Architectural decisions (ADR-NNN format)