From majestic-engineer
Refines feature ideas with targeted questions, gathers research signals and acceptance criteria, interviews for decisions, and classifies features in blueprint workflows.
npx claudepluginhub majesticlabs-dev/majestic-marketplace --plugin majestic-engineerThis skill uses the workspace's default tool permissions.
Handles Steps 1-5 of the blueprint workflow: Idea Refinement, Research Decision Signals, Interview decision, Acceptance Criteria gathering, and Feature Classification.
Conducts short adaptive interview (2-6 questions) to clarify feature intent and business context, then launches /team-feature with compiled brief. Use for vague requests or explicit pre-build discussions.
Guides feature design via codebase context exploration and structured questions on goals, users, scope, and timelines. Use for planning new features or architecture changes.
Autonomously researches feature requests or architecture documents, explores codebase patterns, identifies ambiguities and gaps, produces feature-context.md for orchestrator without making technical decisions.
Share bugs, ideas, or general feedback.
Handles Steps 1-5 of the blueprint workflow: Idea Refinement, Research Decision Signals, Interview decision, Acceptance Criteria gathering, and Feature Classification.
feature_description: string # Raw feature description from user
Quick clarification before deep discovery. Catches misunderstandings early with 1-3 targeted questions.
Trigger when:
feature_description < 100 charactersSkip when:
If triggered:
AskUserQuestion:
question: "Quick check - what's the primary goal?"
header: "Goal"
options:
- label: "Add new capability"
description: "Feature that doesn't exist yet"
- label: "Fix broken behavior"
description: "Something that should work but doesn't"
- label: "Improve existing feature"
description: "Enhancement to current functionality"
- label: "Refactor/cleanup"
description: "Better code without behavior change"
Follow-up (if answer reveals gaps):
If goal == "Add new capability":
AskUserQuestion:
question: "Who will use this and when?"
header: "Context"
options:
- label: "End users in the app"
- label: "Admins/internal team"
- label: "Developers/API consumers"
- label: "Automated systems"
If goal == "Fix broken behavior":
AskUserQuestion:
question: "How does it fail?"
header: "Symptom"
options:
- label: "Error/crash"
- label: "Wrong output"
- label: "Missing data"
- label: "Performance issue"
Max 3 questions total. After refinement:
refined_description = original + goal + context/symptom (if asked)
Output skip offer:
"Got it: {refined_description}. Ready to proceed, or clarify further?"
During refinement, gather signals to inform the research decision in blueprint-research.
Infer from conversation:
| Signal | How to Detect |
|---|---|
user_familiarity | Points to existing code examples? Knows where files live? → high |
user_intent | "Quick fix", "ship today" → speed / "want it right", "research first" → thoroughness |
topic_risk | Keywords: auth, payment, stripe, security, encrypt, API key, webhook → high |
uncertainty_level | "Not sure how", "what's the best way", exploring options → high |
If signals unclear, quick probe:
AskUserQuestion:
question: "What matters more for this task?"
header: "Priority"
options:
- label: "Get it done fast"
description: "Good enough solution, ship quickly"
- label: "Get it done right"
description: "Research best practices first"
Store signals for research phase.
Suggest interview when:
Skip interview for:
If interview suggested:
AskUserQuestion:
question: "This feature could benefit from a requirements interview. Explore in depth first?"
options:
- "Yes, interview me first" → Invoke /majestic:interview with feature_description
- "No, proceed to planning" → Continue
MANDATORY: Ask what "done" means.
AC describes feature behaviors only. Quality gates (tests, lint, review) handled by other agents.
AskUserQuestion:
question: "What behavior must work for this feature to be done?"
header: "Done when"
multiSelect: true
options:
- label: "User can perform action"
description: "Feature enables a specific user action"
- label: "System responds correctly"
description: "API/backend behaves as expected"
- label: "UI displays properly"
description: "Visual elements render correctly"
- label: "Data is persisted"
description: "Changes are saved to database"
Good AC examples:
Bad AC examples (handled elsewhere):
Capture verification method for each criterion:
| Criterion | Verification |
|---|---|
| User can login | curl -X POST /login or manual |
| Form validates | rspec spec/features/signup_spec.rb |
| API returns 404 | curl /api/nonexistent |
| Type | Detection Keywords | Action |
|---|---|---|
| UI | page, component, form, button, modal, design, view, template | Check design system |
| DevOps | terraform, ansible, infrastructure, cloud, docker, deploy, server | Delegate to devops-plan |
| API | endpoint, route, controller, request, response, REST, GraphQL | Standard flow |
| Data | migration, model, schema, database, query | Standard flow |
UI Feature Flow:
/majestic:config design_system_pathdocs/design/design-system.md/majestic:ux-brief firstDevOps Feature Flow:
Skill(skill: "majestic-devops:devops-plan")
When working on an unfamiliar codebase, gather structural context before feature planning.
| Area | What to Check |
|---|---|
| Architecture | ARCHITECTURE.md, README.md, CONTRIBUTING.md, CLAUDE.md, AGENTS.md |
| Issue/PR patterns | .github/PULL_REQUEST_TEMPLATE*, .github/ISSUE_TEMPLATE/ |
| Contribution guidelines | Coding standards, testing requirements, review processes |
| Codebase patterns | Naming conventions, module boundaries, implementation patterns |
ast-grep via Bash for syntax-aware structural matching when text search is insufficient:
ast-grep --pattern 'class $NAME < ApplicationRecord' --lang ruby
## Repository Research Summary
### Architecture & Structure
- Project organization and tech stack
- Key architectural decisions
### Conventions
- Issue/PR formatting and labels
- Coding standards and testing requirements
### Implementation Patterns
- Common code patterns and naming conventions
- Project-specific practices
### Recommendations
- How to align with project conventions
- Areas needing clarification
discovery_result:
refined_description: string # Original + refinement context
refinement_skipped: boolean
interview_conducted: boolean
interview_output: string | null # If interview was run
acceptance_criteria:
- criterion: string
verification: string
feature_type: "ui" | "devops" | "api" | "data" | "general"
design_system_path: string | null # For UI features
# Research decision signals (for blueprint-research)
user_familiarity: high | medium | low
user_intent: speed | thoroughness
topic_risk: high | medium | low
uncertainty_level: high | medium | low
ready_for_research: boolean