devflow-kit
Advanced tools
+14
-0
@@ -8,2 +8,15 @@ # Changelog | ||
| ## [1.7.0] - 2026-03-20 | ||
| ### Added | ||
| - **Version update notification** — statusline shows magenta `⬆ X.Y.Z` badge when newer devflow-kit is available (24h cached npm check, fully async) | ||
| ### Fixed | ||
| - **Skimmer agent** — enforce rskim usage via `tools: ["Bash", "Read"]` platform restriction and strict sequential workflow; prevents fallback to Grep/Glob | ||
| - **Init multiselect** — remove redundant "(optional)" suffix from plugin hints | ||
| - **Init multiselect** — hide `audit-claude` plugin (not production-ready; still installable via `--plugin=audit-claude`) | ||
| - **Statusline portability** — replace macOS-only `stat -f %m` with portable `get_mtime()` helper (macOS + Linux) | ||
| --- | ||
| ## [1.6.1] - 2026-03-20 | ||
@@ -919,2 +932,3 @@ | ||
| [Unreleased]: https://github.com/dean0x/devflow/compare/v1.4.0...HEAD | ||
| [1.7.0]: https://github.com/dean0x/devflow/compare/v1.6.1...v1.7.0 | ||
| [1.6.1]: https://github.com/dean0x/devflow/compare/v1.6.0...v1.6.1 | ||
@@ -921,0 +935,0 @@ [1.6.0]: https://github.com/dean0x/devflow/compare/v1.5.0...v1.6.0 |
@@ -124,7 +124,7 @@ import { Command } from 'commander'; | ||
| const choices = DEVFLOW_PLUGINS | ||
| .filter(pl => pl.name !== 'devflow-core-skills' && pl.name !== 'devflow-ambient') | ||
| .filter(pl => pl.name !== 'devflow-core-skills' && pl.name !== 'devflow-ambient' && pl.name !== 'devflow-audit-claude') | ||
| .map(pl => ({ | ||
| value: pl.name, | ||
| label: pl.name.replace('devflow-', ''), | ||
| hint: pl.description + (pl.optional ? ' (optional)' : ''), | ||
| hint: pl.description, | ||
| })); | ||
@@ -131,0 +131,0 @@ const preSelected = DEVFLOW_PLUGINS |
+1
-1
| { | ||
| "name": "devflow-kit", | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "description": "Agentic Development Toolkit for Claude Code - Enhance AI-assisted development with intelligent commands and workflows", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
| --- | ||
| name: Skimmer | ||
| description: Codebase orientation using skim to identify relevant files, functions, and patterns for a feature or task | ||
| description: Codebase orientation using rskim to identify relevant files, functions, and patterns for a feature or task | ||
| tools: ["Bash", "Read"] | ||
| skills: knowledge-persistence | ||
@@ -10,3 +11,3 @@ model: inherit | ||
| 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. | ||
| 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. | ||
@@ -18,23 +19,71 @@ ## Input Context | ||
| ## Responsibilities | ||
| ## Workflow | ||
| 1. **Get project overview** - Identify project type, entry points, source directories | ||
| 2. **Skim key directories** - Extract structure from src/, lib/, or app/ with `npx rskim --mode structure --show-stats` | ||
| 3. **Search for task-relevant code** - Find files matching task keywords | ||
| 4. **Identify integration points** - Exports, entry points, import patterns | ||
| 5. **Generate orientation summary** - Structured output for implementation planning | ||
| 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. | ||
| Execute these steps in order. Do NOT skip steps or reorder. | ||
| ## Tool Invocation | ||
| ### Step 1: Project Overview | ||
| Always invoke skim via `npx rskim`. This works whether or not skim is globally installed — npx downloads and caches it transparently. | ||
| 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. | ||
| ## Skim Modes | ||
| **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. | ||
| | Mode | Use When | Command | | ||
| |------|----------|---------| | ||
| | `structure` | High-level overview | `npx rskim src/ --mode structure` | | ||
| | `signatures` | Need API/function details | `npx rskim src/ --mode signatures` | | ||
| | `types` | Working with type definitions | `npx rskim src/ --mode types` | | ||
| ### Step 2: Primary Source Skim | ||
| Run rskim on the main source directory with a token budget: | ||
| ```bash | ||
| npx rskim src/ --tokens 15000 --show-stats | ||
| ``` | ||
| 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`. | ||
| If `--tokens` flag errors (older rskim version), fall back to: | ||
| ```bash | ||
| npx rskim src/ --mode structure --show-stats | ||
| ``` | ||
| ### Step 3: Secondary Directories (if relevant to task) | ||
| Skim additional directories with smaller budgets: | ||
| ```bash | ||
| npx rskim tests/ --tokens 5000 --show-stats | ||
| npx rskim scripts/ --tokens 5000 --show-stats | ||
| ``` | ||
| Only skim directories relevant to the task description. | ||
| ### Step 4: Deep Inspection | ||
| For specific files needing detailed view, use rskim with full mode: | ||
| ```bash | ||
| npx rskim path/to/file.ts --mode full | ||
| ``` | ||
| Use this instead of Read for code files. | ||
| ### Step 5: 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 — this is intentional for token efficiency. | ||
| ### Step 6: Generate Summary | ||
| Produce the orientation summary in the output format below. | ||
| ## rskim Reference | ||
| | Flag | Effect | | ||
| |------|--------| | ||
| | `--tokens N` | Token budget — auto-selects best mode to fit within N tokens | | ||
| | `--mode minimal` | Maximum compression (~85-90% reduction) | | ||
| | `--mode structure` | Architecture overview (~60-70% reduction) | | ||
| | `--mode signatures` | API/function details (~85-92% reduction) | | ||
| | `--mode types` | Type definitions only (~90-95% reduction) | | ||
| | `--mode full` | Complete file content (0% reduction) | | ||
| | `--show-stats` | Show original vs skimmed token counts | | ||
| | `--max-lines N` | AST-aware truncation (keeps types/signatures over imports/bodies) | | ||
| **Preferred**: Use `--tokens N` instead of choosing modes manually. | ||
| ## Output | ||
@@ -46,6 +95,6 @@ | ||
| ### Project Type | ||
| {Language/framework from package.json, Cargo.toml, etc.} | ||
| {Language/framework from manifest} | ||
| ### Token Statistics | ||
| {From skim --show-stats: original vs skimmed tokens} | ||
| {From rskim --show-stats: original vs skimmed tokens} | ||
@@ -84,3 +133,3 @@ ### Directory Structure | ||
| 3. **Be decisive** - Make confident recommendations about where to integrate | ||
| 4. **Token efficiency** - Use skim stats to show compression ratio | ||
| 4. **Token efficiency** - Use rskim token budgets and stats to show compression ratio | ||
| 5. **Task-focused** - Only explore what's relevant to the task | ||
@@ -91,3 +140,3 @@ | ||
| **Handle autonomously:** | ||
| - Directory structure exploration | ||
| - Directory structure exploration via rskim | ||
| - Pattern identification | ||
@@ -97,3 +146,4 @@ - Generating orientation summaries | ||
| **Escalate to orchestrator:** | ||
| - 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 | ||
| - No source directories found (ask user for structure) | ||
| - Ambiguous project structure (report findings, ask for clarification) |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
| --- | ||
| name: Skimmer | ||
| description: Codebase orientation using skim to identify relevant files, functions, and patterns for a feature or task | ||
| description: Codebase orientation using rskim to identify relevant files, functions, and patterns for a feature or task | ||
| tools: ["Bash", "Read"] | ||
| skills: knowledge-persistence | ||
@@ -10,3 +11,3 @@ model: inherit | ||
| 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. | ||
| 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. | ||
@@ -18,23 +19,71 @@ ## Input Context | ||
| ## Responsibilities | ||
| ## Workflow | ||
| 1. **Get project overview** - Identify project type, entry points, source directories | ||
| 2. **Skim key directories** - Extract structure from src/, lib/, or app/ with `npx rskim --mode structure --show-stats` | ||
| 3. **Search for task-relevant code** - Find files matching task keywords | ||
| 4. **Identify integration points** - Exports, entry points, import patterns | ||
| 5. **Generate orientation summary** - Structured output for implementation planning | ||
| 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. | ||
| Execute these steps in order. Do NOT skip steps or reorder. | ||
| ## Tool Invocation | ||
| ### Step 1: Project Overview | ||
| Always invoke skim via `npx rskim`. This works whether or not skim is globally installed — npx downloads and caches it transparently. | ||
| 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. | ||
| ## Skim Modes | ||
| **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. | ||
| | Mode | Use When | Command | | ||
| |------|----------|---------| | ||
| | `structure` | High-level overview | `npx rskim src/ --mode structure` | | ||
| | `signatures` | Need API/function details | `npx rskim src/ --mode signatures` | | ||
| | `types` | Working with type definitions | `npx rskim src/ --mode types` | | ||
| ### Step 2: Primary Source Skim | ||
| Run rskim on the main source directory with a token budget: | ||
| ```bash | ||
| npx rskim src/ --tokens 15000 --show-stats | ||
| ``` | ||
| 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`. | ||
| If `--tokens` flag errors (older rskim version), fall back to: | ||
| ```bash | ||
| npx rskim src/ --mode structure --show-stats | ||
| ``` | ||
| ### Step 3: Secondary Directories (if relevant to task) | ||
| Skim additional directories with smaller budgets: | ||
| ```bash | ||
| npx rskim tests/ --tokens 5000 --show-stats | ||
| npx rskim scripts/ --tokens 5000 --show-stats | ||
| ``` | ||
| Only skim directories relevant to the task description. | ||
| ### Step 4: Deep Inspection | ||
| For specific files needing detailed view, use rskim with full mode: | ||
| ```bash | ||
| npx rskim path/to/file.ts --mode full | ||
| ``` | ||
| Use this instead of Read for code files. | ||
| ### Step 5: 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 — this is intentional for token efficiency. | ||
| ### Step 6: Generate Summary | ||
| Produce the orientation summary in the output format below. | ||
| ## rskim Reference | ||
| | Flag | Effect | | ||
| |------|--------| | ||
| | `--tokens N` | Token budget — auto-selects best mode to fit within N tokens | | ||
| | `--mode minimal` | Maximum compression (~85-90% reduction) | | ||
| | `--mode structure` | Architecture overview (~60-70% reduction) | | ||
| | `--mode signatures` | API/function details (~85-92% reduction) | | ||
| | `--mode types` | Type definitions only (~90-95% reduction) | | ||
| | `--mode full` | Complete file content (0% reduction) | | ||
| | `--show-stats` | Show original vs skimmed token counts | | ||
| | `--max-lines N` | AST-aware truncation (keeps types/signatures over imports/bodies) | | ||
| **Preferred**: Use `--tokens N` instead of choosing modes manually. | ||
| ## Output | ||
@@ -46,6 +95,6 @@ | ||
| ### Project Type | ||
| {Language/framework from package.json, Cargo.toml, etc.} | ||
| {Language/framework from manifest} | ||
| ### Token Statistics | ||
| {From skim --show-stats: original vs skimmed tokens} | ||
| {From rskim --show-stats: original vs skimmed tokens} | ||
@@ -84,3 +133,3 @@ ### Directory Structure | ||
| 3. **Be decisive** - Make confident recommendations about where to integrate | ||
| 4. **Token efficiency** - Use skim stats to show compression ratio | ||
| 4. **Token efficiency** - Use rskim token budgets and stats to show compression ratio | ||
| 5. **Task-focused** - Only explore what's relevant to the task | ||
@@ -91,3 +140,3 @@ | ||
| **Handle autonomously:** | ||
| - Directory structure exploration | ||
| - Directory structure exploration via rskim | ||
| - Pattern identification | ||
@@ -97,3 +146,4 @@ - Generating orientation summaries | ||
| **Escalate to orchestrator:** | ||
| - 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 | ||
| - No source directories found (ask user for structure) | ||
| - Ambiguous project structure (report findings, ask for clarification) |
@@ -56,3 +56,3 @@ --- | ||
| "Orient in codebase for: {task description} | ||
| Use skim to identify relevant files, functions, integration points" | ||
| Run rskim on source directories (NOT repo root) to identify relevant files, functions, integration points" | ||
| ``` | ||
@@ -59,0 +59,0 @@ |
@@ -56,3 +56,3 @@ --- | ||
| "Orient in codebase for: {task description} | ||
| Use skim to identify relevant files, functions, integration points" | ||
| Run rskim on source directories (NOT repo root) to identify relevant files, functions, integration points" | ||
| ``` | ||
@@ -59,0 +59,0 @@ |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
| --- | ||
| name: Skimmer | ||
| description: Codebase orientation using skim to identify relevant files, functions, and patterns for a feature or task | ||
| description: Codebase orientation using rskim to identify relevant files, functions, and patterns for a feature or task | ||
| tools: ["Bash", "Read"] | ||
| skills: knowledge-persistence | ||
@@ -10,3 +11,3 @@ model: inherit | ||
| 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. | ||
| 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. | ||
@@ -18,23 +19,71 @@ ## Input Context | ||
| ## Responsibilities | ||
| ## Workflow | ||
| 1. **Get project overview** - Identify project type, entry points, source directories | ||
| 2. **Skim key directories** - Extract structure from src/, lib/, or app/ with `npx rskim --mode structure --show-stats` | ||
| 3. **Search for task-relevant code** - Find files matching task keywords | ||
| 4. **Identify integration points** - Exports, entry points, import patterns | ||
| 5. **Generate orientation summary** - Structured output for implementation planning | ||
| 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. | ||
| Execute these steps in order. Do NOT skip steps or reorder. | ||
| ## Tool Invocation | ||
| ### Step 1: Project Overview | ||
| Always invoke skim via `npx rskim`. This works whether or not skim is globally installed — npx downloads and caches it transparently. | ||
| 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. | ||
| ## Skim Modes | ||
| **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. | ||
| | Mode | Use When | Command | | ||
| |------|----------|---------| | ||
| | `structure` | High-level overview | `npx rskim src/ --mode structure` | | ||
| | `signatures` | Need API/function details | `npx rskim src/ --mode signatures` | | ||
| | `types` | Working with type definitions | `npx rskim src/ --mode types` | | ||
| ### Step 2: Primary Source Skim | ||
| Run rskim on the main source directory with a token budget: | ||
| ```bash | ||
| npx rskim src/ --tokens 15000 --show-stats | ||
| ``` | ||
| 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`. | ||
| If `--tokens` flag errors (older rskim version), fall back to: | ||
| ```bash | ||
| npx rskim src/ --mode structure --show-stats | ||
| ``` | ||
| ### Step 3: Secondary Directories (if relevant to task) | ||
| Skim additional directories with smaller budgets: | ||
| ```bash | ||
| npx rskim tests/ --tokens 5000 --show-stats | ||
| npx rskim scripts/ --tokens 5000 --show-stats | ||
| ``` | ||
| Only skim directories relevant to the task description. | ||
| ### Step 4: Deep Inspection | ||
| For specific files needing detailed view, use rskim with full mode: | ||
| ```bash | ||
| npx rskim path/to/file.ts --mode full | ||
| ``` | ||
| Use this instead of Read for code files. | ||
| ### Step 5: 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 — this is intentional for token efficiency. | ||
| ### Step 6: Generate Summary | ||
| Produce the orientation summary in the output format below. | ||
| ## rskim Reference | ||
| | Flag | Effect | | ||
| |------|--------| | ||
| | `--tokens N` | Token budget — auto-selects best mode to fit within N tokens | | ||
| | `--mode minimal` | Maximum compression (~85-90% reduction) | | ||
| | `--mode structure` | Architecture overview (~60-70% reduction) | | ||
| | `--mode signatures` | API/function details (~85-92% reduction) | | ||
| | `--mode types` | Type definitions only (~90-95% reduction) | | ||
| | `--mode full` | Complete file content (0% reduction) | | ||
| | `--show-stats` | Show original vs skimmed token counts | | ||
| | `--max-lines N` | AST-aware truncation (keeps types/signatures over imports/bodies) | | ||
| **Preferred**: Use `--tokens N` instead of choosing modes manually. | ||
| ## Output | ||
@@ -46,6 +95,6 @@ | ||
| ### Project Type | ||
| {Language/framework from package.json, Cargo.toml, etc.} | ||
| {Language/framework from manifest} | ||
| ### Token Statistics | ||
| {From skim --show-stats: original vs skimmed tokens} | ||
| {From rskim --show-stats: original vs skimmed tokens} | ||
@@ -84,3 +133,3 @@ ### Directory Structure | ||
| 3. **Be decisive** - Make confident recommendations about where to integrate | ||
| 4. **Token efficiency** - Use skim stats to show compression ratio | ||
| 4. **Token efficiency** - Use rskim token budgets and stats to show compression ratio | ||
| 5. **Task-focused** - Only explore what's relevant to the task | ||
@@ -91,3 +140,3 @@ | ||
| **Handle autonomously:** | ||
| - Directory structure exploration | ||
| - Directory structure exploration via rskim | ||
| - Pattern identification | ||
@@ -97,3 +146,4 @@ - Generating orientation summaries | ||
| **Escalate to orchestrator:** | ||
| - 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 | ||
| - No source directories found (ask user for structure) | ||
| - Ambiguous project structure (report findings, ask for clarification) |
@@ -56,3 +56,3 @@ --- | ||
| "Orient in codebase for requirements exploration: {feature} | ||
| Find: project structure, similar features, patterns, integration points | ||
| Run rskim on source directories (NOT repo root) to find: project structure, similar features, patterns, integration points | ||
| Return: codebase context for requirements (not implementation details)" | ||
@@ -59,0 +59,0 @@ ``` |
@@ -56,3 +56,3 @@ --- | ||
| "Orient in codebase for requirements exploration: {feature} | ||
| Find: project structure, similar features, patterns, integration points | ||
| Run rskim on source directories (NOT repo root) to find: project structure, similar features, patterns, integration points | ||
| Return: codebase context for requirements (not implementation details)" | ||
@@ -59,0 +59,0 @@ ``` |
@@ -7,3 +7,3 @@ { | ||
| }, | ||
| "version": "1.6.1", | ||
| "version": "1.7.0", | ||
| "homepage": "https://github.com/dean0x/devflow", | ||
@@ -10,0 +10,0 @@ "repository": "https://github.com/dean0x/devflow", |
+1
-0
@@ -27,2 +27,3 @@ # DevFlow | ||
| - **Parallel debugging** — competing hypotheses investigated simultaneously | ||
| - **Version notifications** — statusline shows an update badge when a newer version is available | ||
| - **35 quality skills** — 9 auto-activating core, 8 optional language/ecosystem, plus specialized review, agent, and orchestration skills | ||
@@ -29,0 +30,0 @@ |
+71
-21
| --- | ||
| name: Skimmer | ||
| description: Codebase orientation using skim to identify relevant files, functions, and patterns for a feature or task | ||
| description: Codebase orientation using rskim to identify relevant files, functions, and patterns for a feature or task | ||
| tools: ["Bash", "Read"] | ||
| skills: knowledge-persistence | ||
@@ -10,3 +11,3 @@ model: inherit | ||
| 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. | ||
| 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. | ||
@@ -18,23 +19,71 @@ ## Input Context | ||
| ## Responsibilities | ||
| ## Workflow | ||
| 1. **Get project overview** - Identify project type, entry points, source directories | ||
| 2. **Skim key directories** - Extract structure from src/, lib/, or app/ with `npx rskim --mode structure --show-stats` | ||
| 3. **Search for task-relevant code** - Find files matching task keywords | ||
| 4. **Identify integration points** - Exports, entry points, import patterns | ||
| 5. **Generate orientation summary** - Structured output for implementation planning | ||
| 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. | ||
| Execute these steps in order. Do NOT skip steps or reorder. | ||
| ## Tool Invocation | ||
| ### Step 1: Project Overview | ||
| Always invoke skim via `npx rskim`. This works whether or not skim is globally installed — npx downloads and caches it transparently. | ||
| 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. | ||
| ## Skim Modes | ||
| **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. | ||
| | Mode | Use When | Command | | ||
| |------|----------|---------| | ||
| | `structure` | High-level overview | `npx rskim src/ --mode structure` | | ||
| | `signatures` | Need API/function details | `npx rskim src/ --mode signatures` | | ||
| | `types` | Working with type definitions | `npx rskim src/ --mode types` | | ||
| ### Step 2: Primary Source Skim | ||
| Run rskim on the main source directory with a token budget: | ||
| ```bash | ||
| npx rskim src/ --tokens 15000 --show-stats | ||
| ``` | ||
| 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`. | ||
| If `--tokens` flag errors (older rskim version), fall back to: | ||
| ```bash | ||
| npx rskim src/ --mode structure --show-stats | ||
| ``` | ||
| ### Step 3: Secondary Directories (if relevant to task) | ||
| Skim additional directories with smaller budgets: | ||
| ```bash | ||
| npx rskim tests/ --tokens 5000 --show-stats | ||
| npx rskim scripts/ --tokens 5000 --show-stats | ||
| ``` | ||
| Only skim directories relevant to the task description. | ||
| ### Step 4: Deep Inspection | ||
| For specific files needing detailed view, use rskim with full mode: | ||
| ```bash | ||
| npx rskim path/to/file.ts --mode full | ||
| ``` | ||
| Use this instead of Read for code files. | ||
| ### Step 5: 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 — this is intentional for token efficiency. | ||
| ### Step 6: Generate Summary | ||
| Produce the orientation summary in the output format below. | ||
| ## rskim Reference | ||
| | Flag | Effect | | ||
| |------|--------| | ||
| | `--tokens N` | Token budget — auto-selects best mode to fit within N tokens | | ||
| | `--mode minimal` | Maximum compression (~85-90% reduction) | | ||
| | `--mode structure` | Architecture overview (~60-70% reduction) | | ||
| | `--mode signatures` | API/function details (~85-92% reduction) | | ||
| | `--mode types` | Type definitions only (~90-95% reduction) | | ||
| | `--mode full` | Complete file content (0% reduction) | | ||
| | `--show-stats` | Show original vs skimmed token counts | | ||
| | `--max-lines N` | AST-aware truncation (keeps types/signatures over imports/bodies) | | ||
| **Preferred**: Use `--tokens N` instead of choosing modes manually. | ||
| ## Output | ||
@@ -46,6 +95,6 @@ | ||
| ### Project Type | ||
| {Language/framework from package.json, Cargo.toml, etc.} | ||
| {Language/framework from manifest} | ||
| ### Token Statistics | ||
| {From skim --show-stats: original vs skimmed tokens} | ||
| {From rskim --show-stats: original vs skimmed tokens} | ||
@@ -84,3 +133,3 @@ ### Directory Structure | ||
| 3. **Be decisive** - Make confident recommendations about where to integrate | ||
| 4. **Token efficiency** - Use skim stats to show compression ratio | ||
| 4. **Token efficiency** - Use rskim token budgets and stats to show compression ratio | ||
| 5. **Task-focused** - Only explore what's relevant to the task | ||
@@ -91,3 +140,3 @@ | ||
| **Handle autonomously:** | ||
| - Directory structure exploration | ||
| - Directory structure exploration via rskim | ||
| - Pattern identification | ||
@@ -97,3 +146,4 @@ - Generating orientation summaries | ||
| **Escalate to orchestrator:** | ||
| - 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 | ||
| - No source directories found (ask user for structure) | ||
| - Ambiguous project structure (report findings, ask for clarification) |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
2484006
0.28%276
0.36%