Feature-marker
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in feature-marker-dist/feature-marker/install.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
This tool is a Claude Code skill that orchestrates the full feature development lifecycle. It automates the pipeline from Product Requirements (PRD) directly to implementation and Pull Requests, including multi-feature autonomous scheduling and platform integration for GitHub, GitLab, and Azure DevOps.
Security Assessment
The overall risk is rated as Medium. The tool is designed to execute shell commands and interact with source control platforms, which inherently requires access to your local file system and code repositories. While no hardcoded secrets were detected and the permissions scan passed, the automated code scanner flagged a failure for a `rm -rf` (recursive force deletion) command inside the installation script (`install.sh`). Although potentially standard for cleaning up temporary files during setup, destructive force-deletion commands always warrant manual review to ensure they cannot be accidentally exploited to delete critical local data.
Quality Assessment
The project shows active maintenance, with its most recent code push occurring today. It benefits from a clear description, an easy-to-understand README, and is properly licensed under the permissive MIT license. However, it currently suffers from extremely low community visibility. With only 5 stars on GitHub and no known compatible CLI integrations listed, the tool has not yet been widely adopted or battle-tested by a large user base. This means you are relying heavily on a single developer's code.
Verdict
Use with caution. The MIT license and active maintenance are positives, but the low community adoption and destructive `rm -rf` flag in the installation script mean you should review the setup scripts before executing them.
AI-powered feature development orchestrator — PRD → Tech Spec → Tasks → Implementation → Tests → PR — with checkpoint/resume, 5 execution modes, and auto-detection for GitHub/GitLab/Azure DevOps. Claude Code skill.
AI-powered feature development orchestrator — PRD → Tech Spec → Tasks → Implementation → Tests → PR — with checkpoint/resume, 5 execution modes, autonomous multi-feature orchestration, and auto-detection for GitHub/GitLab/Azure DevOps. Claude Code skill.
claude code skill · feature workflow automation · PRD to PR pipeline · checkpoint resume · AI development orchestrator
feature-marker is a Claude Code skill that orchestrates the complete feature development lifecycle — from requirements to pull request — with checkpoint/resume, multi-platform support, 5 execution modes, and an autonomous multi-feature orchestrator that reads a backlog, creates isolated worktrees per feature, and drains the backlog with configurable autonomy levels.
Installation
Choose your preferred installation method:
Skills CLI (Recommended)
The fastest way to install and keep up to date.
# Install
npx skills add Viniciuscarvalho/Feature-marker
# Update to latest version
npx skills update
NPX
Requires Node.js 18+.
# Install
npx @viniciuscarvalho/feature-marker install
# Check status
npx @viniciuscarvalho/feature-marker status
# Uninstall
npx @viniciuscarvalho/feature-marker uninstall
Homebrew (macOS/Linux)
For Homebrew users on macOS and Linux.
# Add tap and install
brew tap viniciuscarvalho/tap
brew install feature-marker
# Complete installation to ~/.claude
feature-marker-install
Uninstall:
feature-marker-uninstall
brew uninstall feature-marker
Manual
Clone and run the install script directly.
git clone https://github.com/Viniciuscarvalho/Feature-marker.git
cd Feature-marker
./feature-marker-dist/feature-marker/install.sh
Usage
# In Claude Code
/feature-marker prd-user-authentication
# Interactive mode
/feature-marker --interactive prd-user-authentication
# Launch TUI
feature-marker-tui
Orchestrator
The orchestrator evolves feature-marker from a single-feature skill into an autonomous system that drains an entire backlog — creating isolated worktrees, running the full pipeline per feature, and propagating context across features.
Quick Start
# 1. Define your backlog
cat features.md
# 2. Configure (optional — sensible defaults)
cat orchestrator/config.yml
# 3. Run
./scripts/orchestrator.sh
Backlog Adapters
Features can come from any source. Each adapter normalizes items into a canonical JSON schema:
| Adapter | Source | Command |
|---|---|---|
| Markdown | Local features.md file |
node scripts/adapters/markdown.js features.md |
| GitHub | Issues by label via gh CLI |
node scripts/adapters/github.js feature-marker |
| Linear | Issues by team via GraphQL | LINEAR_API_KEY=... node scripts/adapters/linear.js ENG |
Markdown format:
## [FEAT] feat-001: Add Multi-Tenant Auth
Description here
- labels: auth, multi-tenant
- priority: high
## [BLOCKED] feat-002: Billing Integration
Depends on: feat-001
- labels: billing
- priority: medium
Supported statuses: FEAT (backlog), WIP (in-progress), DONE, BLOCKED.
Autonomy Levels
| Level | Behavior | Best for |
|---|---|---|
| supervised | Pauses after each pipeline phase for explicit approval | New projects, critical features |
| checkpoint (default) | Runs full pipeline, creates PR, human reviews and merges | Established projects, medium-risk |
| full_auto | Runs pipeline, creates PR, enables auto-merge after CI | Low-risk features, batch operations |
Configuration
All orchestrator behavior is controlled via orchestrator/config.yml:
source:
adapter: markdown # markdown | github | linear
file: features.md # for markdown adapter
autonomy: checkpoint # supervised | checkpoint | full_auto
execution:
base_branch: main
skip_done: true
skip_blocked: true
worktrees:
base_path: .worktrees # where worktrees are created
branch_prefix: feat # branches named feat/<id>
auto_cleanup: true # remove worktrees after done/pr-created
memory:
carry_forward_from: global-context.md # cross-feature context file
error_pattern_window: 5 # keep last N error patterns
env_refresh: true # re-run env discovery between features
safety:
breaking_change_pause: true # pause on breaking changes
schema_migration_review: true # pause on schema changes
max_file_changes: 50 # pause if feature touches >50 files
pr_creation:
strategy: draft # draft | ready | none
auto_assign: true
Inline priority is also supported in feature titles: ## [FEAT] feat-001: My Feature [p:high]
How It Works
features.md → adapter → backlog.json → orchestrator loop:
┌─────────────────────────────────────────────────┐
│ for each feature (sorted by priority): │
│ 1. Create isolated git worktree │
│ 2. Inject cross-feature context │
│ 3. Seed PRD from backlog description │
│ 4. Invoke feature-marker pipeline │
│ 5. Collect results + error patterns │
│ 6. Propagate context to next feature │
│ 7. Create PR (if autonomy allows) │
│ 8. Cleanup worktree │
└─────────────────────────────────────────────────┘
→ status.json (Kanban) + terminal progress + benchmark
Benchmark
| Metric | Baseline | With Orchestrator |
|---|---|---|
| Features per session | 1 | 5+ |
| Manual intervention per feature | ~10 touchpoints | 0 (checkpoint mode) |
| Context-aware task completion | ~60% | 85%+ |
| Cross-feature conflicts | Unknown | <10% |
| Time from backlog to PR | Manual | <10min per feature |
Platform Support
feature-marker works with any tech stack — agnostic by default, iOS-aware when detected:
- 🍎 iOS/Swift —
swift test+ SwiftLint + XcodeBuildMCP simulator validation - 🟨 Node.js/TypeScript — auto-detects npm/yarn/pnpm/bun + Jest/Vitest
- 🦀 Rust —
cargo test+cargo clippy - 🐍 Python —
pytest+ ruff/flake8 - 🐹 Go —
go test+go vet
iOS/Xcode projects get additional simulator validation via XcodeBuildMCP (optional).
Features
- Artifact Generation — Auto-generates PRD, Tech Spec, and Tasks from requirements
- Spec Accuracy Pipeline — Context gathering, prompt enrichment, PRD/TechSpec/Tasks validation, AC lock checkpoint
- 4-Phase Workflow — Analysis → Implementation → Tests → Commit & PR
- Per-Task Validation — Lint + related tests after each task; structured failure recovery with auto-fix
- Checkpoint/Resume — Pause anytime, resume where you left off
- Stack Detection — Auto-detects iOS, Node.js, Rust, Python, Go for correct test/lint commands
- Git Platform Detection — Auto-detects GitHub, Azure DevOps, GitLab for PR creation
- Multiple Modes — Full workflow, tasks-only, Ralph Loop, Spec-Driven, or Test Only
- Custom Personas — Domain-specific review personas with auto-trigger by feature keywords
- Multi-Feature Orchestrator — Reads a backlog (Markdown, GitHub Issues, or Linear), creates isolated worktrees, and processes features autonomously with priority sorting and dependency resolution
- Cross-Feature Context — Each feature benefits from decisions made in previous features via automatic context propagation
- Autonomy Levels — Supervised (pause per phase), Checkpoint (human reviews PR), or Full Auto (end-to-end)
- Safety Guardrails — Breaking change detection pauses execution; schema change warnings; configurable retry limits
- Status & Observability — Real-time
status.jsonfor Kanban integration, terminal progress display, per-feature timing - TUI Application — Rich terminal interface for visual workflow management
- Menu Bar App — Native Swift/SwiftUI macOS app (839 KB binary)
Custom Personas
feature-marker ships with 5 built-in review personas for the Spec-Driven mode. Each persona focuses on a specific domain and auto-activates when feature keywords match its triggers.
Setup
/feature-marker --setup-personas
This installs personas to .claude/spec-workflow/personas/ for the current project.
Built-in Personas
| Persona | Triggers | Focus |
|---|---|---|
| Firebase Cost Reviewer | firestore, collection, query, listener | Query costs, N+1, unbounded reads |
| iOS Performance Reviewer | swift, ios, swiftui, list, scroll, animation | Main thread, image caching, lazy rendering |
| API Security Reviewer | api, route, endpoint, auth, token, webhook | Auth bypass, input validation, rate limiting |
| Payment Flow Reviewer | stripe, payment, checkout, webhook, subscription | Idempotency, replay, network failure |
| Data Migration Reviewer | migration, schema, breaking, rename, remove | Rollback plan, zero-downtime, data integrity |
Custom Personas
Create .claude/spec-workflow/personas/my-persona.md:
---
name: My Custom Reviewer
triggers: [keyword1, keyword2, keyword3]
applies_to: [large-feature, api-change]
---
You review specs for [your domain].
### Your perspective
[What you care about and why]
### What you look for
[Specific issues to catch]
### When to pass
"[Your LGTM phrase]"
Custom personas always have priority over built-in personas with the same name.
Execution Modes
| Mode | Description |
|---|---|
| Full Workflow | Generate artifacts + run all phases |
| Tasks Only | Skip generation, use existing files |
| Ralph Loop | Autonomous self-correcting execution |
| Spec-Driven | Multi-agent review with worktree isolation |
| Test Only | Run tests phase exclusively (Swift Testing, Jest, pytest, etc.) |
Requirements
Commands in ~/.claude/commands/:
create-prd.mdgenerate-spec.mdgenerate-tasks.md
Templates in ~/.claude/docs/specs/:
prd-template.mdtechspec-template.mdtasks-template.md
Get these from mindkit or create your own.
Project Structure
Feature documents (per feature):
./tasks/prd-{feature-name}/
├── prd.md
├── techspec.md
└── tasks.md
Feature-marker state (checkpoint & progress):
.claude/feature-state/{feature-name}/
├── checkpoint.json
├── analysis.md
├── plan.md
├── progress.md
└── test-results.md
Orchestrator (multi-feature pipeline):
orchestrator/
└── config.yml # Declarative configuration
scripts/
├── orchestrator.sh # Main loop controller
├── worktree-manager.sh # Worktree lifecycle (create/remove/cleanup)
├── parse-config.js # YAML config → shell vars
├── feedback-collector.sh # Cross-feature context + error patterns
├── environment-discovery.sh # Runtime environment manifest
├── status-writer.js # status.json + terminal progress
└── adapters/
├── markdown.js # Markdown backlog parser
├── github.js # GitHub Issues adapter (via gh CLI)
└── linear.js # Linear adapter (via GraphQL)
schemas/
├── backlog-item-schema.json # Canonical backlog item schema
└── results-schema.json # Pipeline results schema (v2)
.orchestrator/ # Generated at runtime
├── status.json # Real-time Kanban data
├── global-context.md # Cross-feature context accumulator
├── error-patterns.json # Structured error tracking
├── environment.manifest.json # Runtime environment snapshot
├── state/{feature-id}/ # Per-feature state
│ ├── status.json
│ ├── context.md
│ ├── results.json
│ └── logs/
└── results/ # Collected run logs
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT © Vinicius Carvalho
Built with 🤖 for the AI-assisted development community
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi