skill
everything-factory-droid
A complete Factory Droid workflow system with droids, skills, commands, hooks, and cross-platform installers.A complete Factory Droid workflow system with droids, skills, commands, hooks, and cross-pl
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/r0k1n-c/everything-factory-droid itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 26, 2026Language: English | Português (Brasil) | 简体中文 | 繁體中文 | 日本語 | 한국어 | Türkçe
Fork Notice: This project is forked and adapted from everything-claude-code for Factory Droid usage. Fork 通知:本项目是从 everything-claude-code 分支并改编而来,用于 Factory Droid。
Everything Factory Droid
Factory Droid-only | 47 agents | 178 skills | 75 commands | Cross-platform installers
Language / 语言 / 語言 / Dil
English | Português (Brasil) | 简体中文 | 繁體中文 | 日本語 | 한국어 | Türkçe
A complete Factory Droid workflow system for modern engineering teams.
A curated set of agents, skills, hooks, rules, MCP configurations, installers, and command shims for Factory Droid. Built to support planning, implementation, review, safety, research, and operational workflows in one project.
This project is focused on Factory Droid as its only supported target.
The Guides
This repo is the raw code only. The guides explain everything.
| Topic | What You'll Learn |
|---|---|
| Token Optimization | Model selection, system prompt slimming, background processes |
| Memory Persistence | Hooks that save/load context across sessions automatically |
| Continuous Learning | Auto-extract patterns from sessions into reusable skills |
| Verification Loops | Checkpoint vs continuous evals, grader types, pass@k metrics |
| Parallelization | Git worktrees, cascade method, when to scale instances |
| Subagent Orchestration | The context problem, iterative retrieval pattern |
New to EFD? Start with the Usage Examples guide — end-to-end walkthroughs from first /plan to multi-agent orchestration.
Quick Start
Get up and running in under 2 minutes:
Shortest marketplace install
droid plugin marketplace add https://github.com/r0k1n-c/everything-factory-droid
droid plugin install everything-factory-droid@everything-factory-droid
cd /path/to/your-project
npx @r0k1n-c/efd-install --profile full
# or: npx @r0k1n-c/efd-install typescript
Do not run the installer inside ~/.factory/plugins/..., ~/.factory/plugins/cache/..., or the cloned everything-factory-droid/ repo unless that directory is the project you want to configure.
Step 1: Install the Plugin
# Add marketplace
droid plugin marketplace add https://github.com/r0k1n-c/everything-factory-droid
# Install plugin
droid plugin install everything-factory-droid@everything-factory-droid
Step 2: Install Rules (Required)
WARNING: Important: Factory Droid plugins cannot distribute
rulesautomatically. Install them manually:
# Run the installer from your TARGET PROJECT ROOT
cd /path/to/your-project
# Recommended: no clone needed
npx @r0k1n-c/efd-install --profile full
# Or install only what you need
npx @r0k1n-c/efd-install typescript # or python or golang or swift or php
# npx @r0k1n-c/efd-install typescript python golang swift php
# npx @r0k1n-c/efd-install --profile developer
# npx @r0k1n-c/efd-install --with lang:typescript --with capability:security
# Windows PowerShell — also run from your TARGET PROJECT ROOT
Set-Location C:\path\to\your-project
# Recommended: no clone needed
npx @r0k1n-c/efd-install --profile full
# Or install only what you need
npx @r0k1n-c/efd-install typescript # or python or golang or swift or php
# npx @r0k1n-c/efd-install typescript python golang swift php
# npx @r0k1n-c/efd-install --profile developer
# npx @r0k1n-c/efd-install --with lang:typescript --with capability:security
# Alternative: clone this repo anywhere, but still run the installer
# from your TARGET PROJECT ROOT (not inside the clone or ~/.factory/plugins/...)
git clone https://github.com/r0k1n-c/everything-factory-droid.git ~/everything-factory-droid
cd /path/to/your-project
bash ~/everything-factory-droid/install.sh typescript
# bash ~/everything-factory-droid/install.sh --profile full
Do not run install.sh inside ~/.factory/plugins/... or inside the cloned repo unless that directory is the project you actually want to configure.
For manual copy instructions see the README in the rules/ folder. When copying rules manually, copy the whole language directory (for example rules/common or rules/golang), not the files inside it, so relative references keep working and filenames do not collide.
Step 3: Start Using
# Skills are the primary workflow surface.
# Existing slash-style command names still work while EFD migrates off commands/.
# Plugin install uses the namespaced form
/plan "Add user authentication"
# Manual install keeps the shorter slash form:
# /plan "Add user authentication"
# Verify the plugin installation
droid plugin list
That's it! You now have access to 47 agents, 178 skills, and 76 legacy command shims.
Cross-Platform Support
This plugin supports Windows, macOS, and Linux for Factory Droid installs. All hooks and scripts have been rewritten in Node.js for maximum compatibility.
Package Manager Detection
The plugin automatically detects your preferred package manager (npm, pnpm, yarn, or bun) with the following priority:
- Environment variable:
FACTORY_DROID_PACKAGE_MANAGER - Project config:
.factory/package-manager.json - package.json:
packageManagerfield - Lock file: Detection from package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
- Global config:
~/.factory/package-manager.json - Fallback: First available package manager
To set your preferred package manager:
# Via environment variable
export FACTORY_DROID_PACKAGE_MANAGER=pnpm
# Via global config
node scripts/setup-package-manager.js --global pnpm
# Via project config
node scripts/setup-package-manager.js --project bun
# Detect current setting
node scripts/setup-package-manager.js --detect
Or use the /setup-pm command in Factory Droid.
Hook Runtime Controls
Use runtime flags to tune strictness or disable specific hooks temporarily:
# Hook strictness profile (default: standard)
export EFD_HOOK_PROFILE=standard
# Comma-separated hook IDs to disable
export EFD_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck"
What's Inside
This repo is a Factory Droid plugin - install it directly or copy components manually.
everything-factory-droid/
|-- .factory/ # Repo-local Factory Droid project config
| |-- settings.json # Project settings for this repo
| |-- package-manager.json # Preferred package manager for repo work
| |-- identity.json # Project identity metadata
| |-- rules/ # Repo-local Droid guardrails
|
|-- agents/ # 47 specialized subagents for delegation
| |-- planner.md # Feature implementation planning
| |-- architect.md # System design decisions
| |-- tdd-guide.md # Test-driven development
| |-- code-reviewer.md # Quality and security review
| |-- security-reviewer.md # Vulnerability analysis
| |-- build-error-resolver.md
| |-- e2e-runner.md # Playwright E2E testing
| |-- refactor-cleaner.md # Dead code cleanup
| |-- doc-updater.md # Documentation sync
| |-- docs-lookup.md # Documentation/API lookup
| |-- chief-of-staff.md # Communication triage and drafts
| |-- loop-operator.md # Autonomous loop execution
| |-- harness-optimizer.md # Harness config tuning
| |-- cpp-reviewer.md # C++ code review
| |-- cpp-build-resolver.md # C++ build error resolution
| |-- go-reviewer.md # Go code review
| |-- go-build-resolver.md # Go build error resolution
| |-- python-reviewer.md # Python code review
| |-- database-reviewer.md # Database/Supabase review
| |-- typescript-reviewer.md # TypeScript/JavaScript code review
| |-- java-reviewer.md # Java/Spring Boot code review
| |-- java-build-resolver.md # Java/Maven/Gradle build errors
| |-- kotlin-reviewer.md # Kotlin/Android/KMP code review
| |-- kotlin-build-resolver.md # Kotlin/Gradle build errors
| |-- rust-reviewer.md # Rust code review
| |-- rust-build-resolver.md # Rust build error resolution
| |-- pytorch-build-resolver.md # PyTorch/CUDA training errors
|
|-- skills/ # Workflow definitions and domain knowledge
| |-- coding-standards/ # Language best practices
| |-- clickhouse-io/ # ClickHouse analytics, queries, data engineering
| |-- backend-patterns/ # API, database, caching patterns
| |-- frontend-patterns/ # React, Next.js patterns
| |-- frontend-slides/ # HTML slide decks and PPTX-to-web presentation workflows (NEW)
| |-- article-writing/ # Long-form writing in a supplied voice without generic AI tone (NEW)
| |-- content-engine/ # Multi-platform social content and repurposing workflows (NEW)
| |-- market-research/ # Source-attributed market, competitor, and investor research (NEW)
| |-- investor-materials/ # Pitch decks, one-pagers, memos, and financial models (NEW)
| |-- investor-outreach/ # Personalized fundraising outreach and follow-up (NEW)
| |-- continuous-learning/ # Auto-extract patterns from sessions (Longform Guide)
| |-- continuous-learning-v2/ # Instinct-based learning with confidence scoring
| |-- iterative-retrieval/ # Progressive context refinement for subagents
| |-- strategic-compact/ # Manual compaction suggestions (Longform Guide)
| |-- tdd-workflow/ # TDD methodology
| |-- security-review/ # Security checklist
| |-- eval-harness/ # Verification loop evaluation (Longform Guide)
| |-- verification-loop/ # Continuous verification (Longform Guide)
| |-- videodb/ # Video and audio: ingest, search, edit, generate, stream (NEW)
| |-- golang-patterns/ # Go idioms and best practices
| |-- golang-testing/ # Go testing patterns, TDD, benchmarks
| |-- cpp-coding-standards/ # C++ coding standards from C++ Core Guidelines (NEW)
| |-- cpp-testing/ # C++ testing with GoogleTest, CMake/CTest (NEW)
| |-- django-patterns/ # Django patterns, models, views (NEW)
| |-- django-security/ # Django security best practices (NEW)
| |-- django-tdd/ # Django TDD workflow (NEW)
| |-- django-verification/ # Django verification loops (NEW)
| |-- laravel-patterns/ # Laravel architecture patterns (NEW)
| |-- laravel-security/ # Laravel security best practices (NEW)
| |-- laravel-tdd/ # Laravel TDD workflow (NEW)
| |-- laravel-verification/ # Laravel verification loops (NEW)
| |-- python-patterns/ # Python idioms and best practices (NEW)
| |-- python-testing/ # Python testing with pytest (NEW)
| |-- springboot-patterns/ # Java Spring Boot patterns (NEW)
| |-- springboot-security/ # Spring Boot security (NEW)
| |-- springboot-tdd/ # Spring Boot TDD (NEW)
| |-- springboot-verification/ # Spring Boot verification (NEW)
| |-- configure-efd/ # Interactive installation wizard (NEW)
| |-- security-scan/ # AgentShield security auditor integration (NEW)
| |-- java-coding-standards/ # Java coding standards (NEW)
| |-- jpa-patterns/ # JPA/Hibernate patterns (NEW)
| |-- postgres-patterns/ # PostgreSQL optimization patterns (NEW)
| |-- nutrient-document-processing/ # Document processing with Nutrient API (NEW)
| |-- project-guidelines-example/ # Template for project-specific skills
| |-- database-migrations/ # Migration patterns (Prisma, Drizzle, Django, Go) (NEW)
| |-- api-design/ # REST API design, pagination, error responses (NEW)
| |-- deployment-patterns/ # CI/CD, Docker, health checks, rollbacks (NEW)
| |-- docker-patterns/ # Docker Compose, networking, volumes, container security (NEW)
| |-- e2e-testing/ # Playwright E2E patterns and Page Object Model (NEW)
| |-- content-hash-cache-pattern/ # SHA-256 content hash caching for file processing (NEW)
| |-- cost-aware-llm-pipeline/ # LLM cost optimization, model routing, budget tracking (NEW)
| |-- regex-vs-llm-structured-text/ # Decision framework: regex vs LLM for text parsing (NEW)
| |-- swift-actor-persistence/ # Thread-safe Swift data persistence with actors (NEW)
| |-- swift-protocol-di-testing/ # Protocol-based DI for testable Swift code (NEW)
| |-- search-first/ # Research-before-coding workflow (NEW)
| |-- skill-stocktake/ # Audit skills and commands for quality (NEW)
| |-- liquid-glass-design/ # iOS 26 Liquid Glass design system (NEW)
| |-- foundation-models-on-device/ # Apple on-device LLM with FoundationModels (NEW)
| |-- swift-concurrency-6-2/ # Swift 6.2 Approachable Concurrency (NEW)
| |-- perl-patterns/ # Modern Perl 5.36+ idioms and best practices (NEW)
| |-- perl-security/ # Perl security patterns, taint mode, safe I/O (NEW)
| |-- perl-testing/ # Perl TDD with Test2::V0, prove, Devel::Cover (NEW)
| |-- autonomous-loops/ # Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration (NEW)
| |-- plankton-code-quality/ # Write-time code quality enforcement with Plankton hooks (NEW)
|
|-- commands/ # Legacy slash-entry shims; prefer skills/
| |-- tdd.md # /tdd - Test-driven development
| |-- plan.md # /plan - Implementation planning
| |-- e2e.md # /e2e - E2E test generation
| |-- code-review.md # /code-review - Quality review
| |-- build-fix.md # /build-fix - Fix build errors
| |-- refactor-clean.md # /refactor-clean - Dead code removal
| |-- learn.md # /learn - Extract patterns mid-session (Longform Guide)
| |-- learn-eval.md # /learn-eval - Extract, evaluate, and save patterns (NEW)
| |-- checkpoint.md # /checkpoint - Save verification state (Longform Guide)
| |-- verify.md # /verify - Run verification loop (Longform Guide)
| |-- setup-pm.md # /setup-pm - Configure package manager
| |-- go-review.md # /go-review - Go code review (NEW)
| |-- go-test.md # /go-test - Go TDD workflow (NEW)
| |-- go-build.md # /go-build - Fix Go build errors (NEW)
| |-- skill-create.md # /skill-create - Generate skills from git history (NEW)
| |-- instinct-status.md # /instinct-status - View learned instincts (NEW)
| |-- instinct-import.md # /instinct-import - Import instincts (NEW)
| |-- instinct-export.md # /instinct-export - Export instincts (NEW)
| |-- evolve.md # /evolve - Cluster instincts into skills
| |-- prune.md # /prune - Delete expired pending instincts (NEW)
| |-- pm2.md # /pm2 - PM2 service lifecycle management (NEW)
| |-- orchestrate.md # /orchestrate - Multi-agent coordination
| |-- sessions.md # /sessions - Session history management
| |-- eval.md # /eval - Evaluate against criteria
| |-- test-coverage.md # /test-coverage - Test coverage analysis
| |-- update-docs.md # /update-docs - Update documentation
| |-- update-codemaps.md # /update-codemaps - Update codemaps
| |-- python-review.md # /python-review - Python code review (NEW)
|
|-- rules/ # Always-follow guidelines (copy to ~/.factory/rules/)
| |-- README.md # Structure overview and installation guide
| |-- common/ # Language-agnostic principles
| | |-- coding-style.md # Immutability, file organization
| | |-- git-workflow.md # Commit format, PR process
| | |-- testing.md # TDD, 80% coverage requirement
| | |-- performance.md # Model selection, context management
| | |-- patterns.md # Design patterns, skeleton projects
| | |-- hooks.md # Hook architecture, TodoWrite
| | |-- agents.md # When to delegate to subagents
| | |-- security.md # Mandatory security checks
| |-- typescript/ # TypeScript/JavaScript specific
| |-- python/ # Python specific
| |-- golang/ # Go specific
| |-- swift/ # Swift specific
| |-- php/ # PHP specific (NEW)
|
|-- hooks/ # Trigger-based automations
| |-- README.md # Hook documentation, recipes, and customization guide
| |-- hooks.json # All hooks config (PreToolUse, PostToolUse, Stop, etc.)
| |-- memory-persistence/ # Session lifecycle hooks (Longform Guide)
| |-- strategic-compact/ # Compaction suggestions (Longform Guide)
|
|-- scripts/ # Cross-platform Node.js scripts (NEW)
| |-- lib/ # Shared utilities
| | |-- utils.js # Cross-platform file/path/system utilities
| | |-- package-manager.js # Package manager detection and selection
| |-- hooks/ # Hook implementations
| | |-- session-start.js # Load context on session start
| | |-- session-end.js # Save state on session end
| | |-- pre-compact.js # Pre-compaction state saving
| | |-- suggest-compact.js # Strategic compaction suggestions
| | |-- evaluate-session.js # Extract patterns from sessions
| |-- setup-package-manager.js # Interactive PM setup
|
|-- tests/ # Test suite (NEW)
| |-- lib/ # Library tests
| |-- hooks/ # Hook tests
| |-- run-all.js # Run all tests
|
|-- contexts/ # Dynamic system prompt injection contexts (Longform Guide)
| |-- dev.md # Development mode context
| |-- review.md # Code review mode context
| |-- research.md # Research/exploration mode context
|
|-- examples/ # Example configurations and sessions
| |-- AGENTS.md # Example project-level config
| |-- user-AGENTS.md # Example user-level config
| |-- saas-nextjs-AGENTS.md # Real-world SaaS (Next.js + Supabase + Stripe)
| |-- go-microservice-AGENTS.md # Real-world Go microservice (gRPC + PostgreSQL)
| |-- django-api-AGENTS.md # Real-world Django REST API (DRF + Celery)
| |-- laravel-api-AGENTS.md # Real-world Laravel API (PostgreSQL + Redis) (NEW)
| |-- rust-api-AGENTS.md # Real-world Rust API (Axum + SQLx + PostgreSQL) (NEW)
|
|-- mcp-configs/ # MCP server configurations
| |-- mcp-servers.json # GitHub, Supabase, Vercel, Railway, etc.
|
Ecosystem Tools
Skill Creator
Two ways to generate Factory Droid skills from your repository:
Option A: Local Analysis (Built-in)
Use the /skill-create command for local analysis without external services:
/skill-create # Analyze current repo
/skill-create --instincts # Also generate instincts for continuous-learning
This analyzes your git history locally and generates SKILL.md files.
Option B: GitHub App (Advanced)
For advanced features (10k+ commits, auto-PRs, team sharing):
Install GitHub App | efd.tools
# Comment on any issue:
/skill-creator analyze
# Or auto-triggers on push to default branch
Both options create:
- SKILL.md files - Ready-to-use skills for Factory Droid
- Instinct collections - For continuous-learning-v2
- Pattern extraction - Learns from your commit history
AgentShield — Security Auditor
Standalone security auditor for Factory Droid configs, misconfigurations, and prompt-injection hardening.
Scan your Factory Droid configuration for vulnerabilities, misconfigurations, and injection risks.
# Quick scan (no install needed)
npx efd-agentshield scan
# Auto-fix safe issues
npx efd-agentshield scan --fix
# Deep analysis with three Opus 4.6 agents
npx efd-agentshield scan --opus --stream
# Generate secure config from scratch
npx efd-agentshield init
What it scans: AGENTS.md, settings.json, MCP configs, hooks, agent definitions, and skills across 5 categories — secrets detection (14 patterns), permission auditing, hook injection analysis, MCP server risk profiling, and agent config review.
The --opus flag runs three Opus 4.6 agents in a red-team/blue-team/auditor pipeline. The attacker finds exploit chains, the defender evaluates protections, and the auditor synthesizes both into a prioritized risk assessment. Adversarial reasoning, not just pattern matching.
Output formats: Terminal (color-graded A-F), JSON (CI pipelines), Markdown, HTML. Exit code 2 on critical findings for build gates.
Use /security-scan in Factory Droid to run it, or add to CI with the GitHub Action.
Continuous Learning v2
The instinct-based learning system automatically learns your patterns:
/instinct-status # Show learned instincts with confidence
/instinct-import <file> # Import instincts from others
/instinct-export # Export your instincts for sharing
/evolve # Cluster related instincts into skills
See skills/continuous-learning-v2/ for full documentation.
Requirements
Factory Droid CLI Version
Minimum version: v2.1.0 or later
This plugin requires Factory Droid CLI v2.1.0+ due to changes in how the plugin system handles hooks.
Check your version:
droid --version
Important: Hooks Auto-Loading Behavior
WARNING: For Contributors: Do NOT add duplicate hook declarations outside
hooks/hooks.json. This is enforced by a regression test.
Factory Droid v2.1+ automatically loads hooks/hooks.json from installed EFD content by convention. Adding a second explicit hook declaration causes a duplicate detection error:
Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file
History: This has caused repeated fix/revert cycles in this repo (#29, #52, #103). The behavior changed between Factory Droid versions, leading to confusion. We now have a regression test to prevent this from being reintroduced.
Installation
Option 1: Install as Plugin (Recommended)
The easiest way to use this repo - install as a Factory Droid plugin:
# Add this repo as a marketplace
droid plugin marketplace add https://github.com/r0k1n-c/everything-factory-droid
# Install the plugin
droid plugin install everything-factory-droid@everything-factory-droid
Or add directly to your ~/.factory/settings.json:
{
"extraKnownMarketplaces": {
"everything-factory-droid": {
"source": {
"source": "github",
"repo": "r0k1n-c/everything-factory-droid"
}
}
},
"enabledPlugins": {
"everything-factory-droid@everything-factory-droid": true
}
}
This gives you instant access to all commands, agents, skills, and hooks.
Note: The Factory Droid plugin system does not support distributing
rulesvia plugins (current plugin limitation). Install project-local rules from your target project root, for example:cd /path/to/your-project npx @r0k1n-c/efd-install typescript # npx @r0k1n-c/efd-install --profile full # # Or, if you cloned this repo elsewhere: # bash /path/to/everything-factory-droid/install.sh typescriptIf you prefer copying files by hand:
# Clone the repo first git clone https://github.com/r0k1n-c/everything-factory-droid.git # Option A: User-level rules (applies to all projects) mkdir -p ~/.factory/rules cp -r everything-factory-droid/rules/common ~/.factory/rules/ cp -r everything-factory-droid/rules/typescript ~/.factory/rules/ # pick your stack cp -r everything-factory-droid/rules/python ~/.factory/rules/ cp -r everything-factory-droid/rules/golang ~/.factory/rules/ cp -r everything-factory-droid/rules/php ~/.factory/rules/ # Option B: Project-level rules (applies to current project only) mkdir -p .factory/rules cp -r everything-factory-droid/rules/common .factory/rules/ cp -r everything-factory-droid/rules/typescript .factory/rules/ # pick your stack
Option 2: Manual Installation
If you prefer manual control over what's installed:
# Clone the repo
git clone https://github.com/r0k1n-c/everything-factory-droid.git
# Copy agents to your Factory Droid config
cp everything-factory-droid/agents/*.md ~/.factory/droids/
# Copy rules directories (common + language-specific)
mkdir -p ~/.factory/rules
cp -r everything-factory-droid/rules/common ~/.factory/rules/
cp -r everything-factory-droid/rules/typescript ~/.factory/rules/ # pick your stack
cp -r everything-factory-droid/rules/python ~/.factory/rules/
cp -r everything-factory-droid/rules/golang ~/.factory/rules/
cp -r everything-factory-droid/rules/php ~/.factory/rules/
# Copy skills first (primary workflow surface)
# Recommended (new users): core/general skills only
for s in article-writing content-engine e2e-testing eval-harness frontend-patterns frontend-slides market-research search-first security-review strategic-compact tdd-workflow verification-loop; do
cp -r everything-factory-droid/skills/$s ~/.factory/skills/
done
# Optional: add niche/framework-specific skills only when needed
# for s in django-patterns django-tdd laravel-patterns springboot-patterns; do
# cp -r everything-factory-droid/skills/$s ~/.factory/skills/
# done
# Optional: keep legacy slash-command compatibility during migration
mkdir -p ~/.factory/commands
cp everything-factory-droid/commands/*.md ~/.factory/commands/
Add hooks to settings.json
Copy the hooks from hooks/hooks.json to your ~/.factory/settings.json.
Configure MCPs
Copy desired MCP server definitions from mcp-configs/mcp-servers.json into your official Factory Droid config in ~/.factory/settings.json, or into a project-scoped .mcp.json if you want repo-local MCP access.
Important: Replace YOUR_*_HERE placeholders with your actual API keys.
Key Concepts
Agents
Subagents handle delegated tasks with limited scope. Example:
---
name: code-reviewer
description: Reviews code for quality, security, and maintainability
tools: ["Read", "Grep", "Glob", "Bash"]
model: claude-opus-4-6
---
You are a senior code reviewer...
Skills
Skills are the primary workflow surface. They can be invoked directly, suggested automatically, and reused by agents. EFD still ships commands/ during migration, but new workflow development should land in skills/ first.
# TDD Workflow
1. Define interfaces first
2. Write failing tests (RED)
3. Implement minimal code (GREEN)
4. Refactor (IMPROVE)
5. Verify 80%+ coverage
Hooks
Hooks fire on tool events. Example - warn about console.log:
{
"matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\\\.(ts|tsx|js|jsx)$\"",
"hooks": [{
"type": "command",
"command": "#!/bin/bash\ngrep -n 'console\\.log' \"$file_path\" && echo '[Hook] Remove console.log' >&2"
}]
}
Rules
Rules are always-follow guidelines, organized into common/ (language-agnostic) + language-specific directories:
rules/
common/ # Universal principles (always install)
typescript/ # TS/JS specific patterns and tools
python/ # Python specific patterns and tools
golang/ # Go specific patterns and tools
swift/ # Swift specific patterns and tools
php/ # PHP specific patterns and tools
See rules/README.md for installation and structure details.
Which Agent Should I Use?
Not sure where to start? Use this quick reference. Skills are the canonical workflow surface; slash entries below are the compatibility form most users already know.
| I want to... | Use this command | Agent used |
|---|---|---|
| Plan a new feature | /plan "Add auth" | planner |
| Design system architecture | /plan + architect agent | architect |
| Write code with tests first | /tdd | tdd-guide |
| Review code I just wrote | /code-review | code-reviewer |
| Fix a failing build | /build-fix | build-error-resolver |
| Run end-to-end tests | /e2e | e2e-runner |
| Find security vulnerabilities | /security-scan | security-reviewer |
| Remove dead code | /refactor-clean | refactor-cleaner |
| Update documentation | /update-docs | doc-updater |
| Review Go code | /go-review | go-reviewer |
| Review Python code | /python-review | python-reviewer |
| Review TypeScript/JavaScript code | (invoke typescript-reviewer directly) | typescript-reviewer |
| Audit database queries | (auto-delegated) | database-reviewer |
Common Workflows
Slash forms below are shown because they are still the fastest familiar entrypoint. Under the hood, EFD is shifting these workflows toward skills-first definitions.
Starting a new feature:
/plan "Add user authentication with OAuth"
→ planner creates implementation blueprint
/tdd → tdd-guide enforces write-tests-first
/code-review → code-reviewer checks your work
Fixing a bug:
/tdd → tdd-guide: write a failing test that reproduces it
→ implement the fix, verify test passes
/code-review → code-reviewer: catch regressions
Preparing for production:
/security-scan → security-reviewer: OWASP Top 10 audit
/e2e → e2e-runner: critical user flow tests
/test-coverage → verify 80%+ coverage
FAQ
droid plugin list
This confirms whether the plugin is installed in the current scope.
This is the most common issue. Do NOT add a second hooks declaration outside hooks/hooks.json. Factory Droid v2.1+ automatically loads hooks/hooks.json from installed EFD content. Duplicating that configuration causes duplicate-hook errors. See #29, #52, #103.
Yes. EFD does not hardcode Anthropic-hosted transport settings. It runs locally through Factory Droid's normal CLI/plugin surface, so it works with:
- Anthropic-hosted Factory Droid
- Official Factory Droid gateway setups using
ANTHROPIC_BASE_URLandANTHROPIC_AUTH_TOKEN - Compatible custom endpoints that speak the Anthropic API Factory Droid expects
Minimal example:
export ANTHROPIC_BASE_URL=https://your-gateway.example.com
export ANTHROPIC_AUTH_TOKEN=your-token
droid
If your gateway remaps model names, configure that in Factory Droid rather than in EFD. EFD's hooks, skills, commands, and rules are model-provider agnostic once the droid CLI is already working.
Official references:
Too many MCP servers eat your context. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k.
Fix: Disable unused MCPs per project:
// In your project's .factory/settings.json
{
"disabledMcpServers": ["supabase", "railway", "vercel"]
}
Keep under 10 MCPs enabled and under 80 tools active.
Yes. Use Option 2 (manual installation) and copy only what you need:
# Just agents
cp everything-factory-droid/agents/*.md ~/.factory/droids/
# Just rules
mkdir -p ~/.factory/rules/
cp -r everything-factory-droid/rules/common ~/.factory/rules/
Each component is fully independent.
No. This project is intentionally Factory Droid-only.
See CONTRIBUTING.md. The short version:
- Fork the repo
- Create your skill in
skills/your-skill-name/SKILL.md(with YAML frontmatter) - Or create an agent in
agents/your-agent.md - Submit a PR with a clear description of what it does and when to use it
Running Tests
The plugin includes a comprehensive test suite:
# Run all tests
node tests/run-all.js
# Run individual test files
node tests/lib/utils.test.js
node tests/lib/package-manager.test.js
node tests/hooks/hooks.test.js
Contributing
Contributions are welcome and encouraged.
This repo is meant to be a community resource. If you have:
- Useful agents or skills
- Clever hooks
- Better MCP configurations
- Improved rules
Please contribute! See CONTRIBUTING.md for guidelines.
Ideas for Contributions
- Additional domain workflows and specialized agents
- Team-specific hooks, rules, and quality gates
- Install profiles, examples, and onboarding assets
- Verification and testing workflows for new stacks
- Research, operations, and internal tooling patterns
Factory Droid Focus
This project keeps only the Factory Droid-compatible surface:
./install.sh,npx efd, andnpx @r0k1n-c/efd-installall resolve to the Factory Droid target.- Project-local installs write to
.factory/. - Hook runtime files remain in
./hooks/and./scripts/so installed settings can invoke them by project-relative path. - Packaged assets are limited to Factory Droid droids, skills, commands, and settings.
| Component | Catalog | Scope |
|---|---|---|
| Agents | 47 agents | Factory Droid |
| Commands | 76 commands | Factory Droid |
| Skills | 178 skills | Factory Droid |
Background
This configuration set comes from extended day-to-day Factory Droid usage across real product work.
These configs are battle-tested across multiple production applications.
Token Optimization
Factory Droid usage can be expensive if you don't manage token consumption. These settings significantly reduce costs without sacrificing quality.
Recommended Settings
Add to ~/.factory/settings.json:
{
"model": "sonnet",
"env": {
"MAX_THINKING_TOKENS": "10000",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50"
}
}
| Setting | Default | Recommended | Impact |
|---|---|---|---|
model | opus | sonnet | ~60% cost reduction; handles 80%+ of coding tasks |
MAX_THINKING_TOKENS | 31,999 | 10,000 | ~70% reduction in hidden thinking cost per request |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE | 95 | 50 | Compacts earlier — better quality in long sessions |
Switch to Opus only when you need deep architectural reasoning:
/model opus
Daily Workflow Commands
| Command | When to Use |
|---|---|
/model sonnet | Default for most tasks |
/model opus | Complex architecture, debugging, deep reasoning |
/clear | Between unrelated tasks (free, instant reset) |
/compact | At logical task breakpoints (research done, milestone complete) |
/cost | Monitor token spending during session |
Strategic Compaction
The strategic-compact skill (included in this plugin) suggests /compact at logical breakpoints instead of relying on auto-compaction at 95% context. See skills/strategic-compact/SKILL.md for the full decision guide.
When to compact:
- After research/exploration, before implementation
- After completing a milestone, before starting the next
- After debugging, before continuing feature work
- After a failed approach, before trying a new one
When NOT to compact:
- Mid-implementation (you'll lose variable names, file paths, partial state)
Context Window Management
Critical: Don't enable all MCPs at once. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k.
- Keep under 10 MCPs enabled per project
- Keep under 80 tools active
- Use
disabledMcpServersin project config to disable unused ones
Agent Teams Cost Warning
Agent Teams spawns multiple context windows. Each teammate consumes tokens independently. Only use for tasks where parallelism provides clear value (multi-module work, parallel reviews). For simple sequential tasks, subagents are more token-efficient.
WARNING: Important Notes
Token Optimization
Hitting daily limits? See the Token Optimization Guide for recommended settings and workflow tips.
Quick wins:
// ~/.factory/settings.json
{
"model": "sonnet",
"env": {
"MAX_THINKING_TOKENS": "10000",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50",
"CLAUDE_CODE_SUBAGENT_MODEL": "haiku"
}
}
Use /clear between unrelated tasks, /compact at logical breakpoints, and /cost to monitor spending.
Customization
These configs work for my workflow. You should:
- Start with what resonates
- Modify for your stack
- Remove what you don't use
- Add your own patterns
Sponsors
This project is free and open source. Sponsors help keep it maintained and growing.
Become a Sponsor | Sponsor Tiers | Sponsorship Program
Star History
Links
- Shorthand Guide (Start Here): The Shorthand Guide to Everything Factory Droid
- Longform Guide (Advanced): The Longform Guide to Everything Factory Droid
- Security Guide: Security Guide | Thread
- Follow: @affaanmustafa
License
MIT - Use freely, modify as needed, contribute back if you can.
Star this repo if it helps. Read both guides. Build something great.