skillpanel/maister/development
Claude Code and agent skill by skillpanel/maister
- community
Checking that the SKILL.md file is still in the repository.
Unified orchestrator for all development tasks. ALWAYS execute when invoked — never skip for 'straightforward' tasks. Phases adapt based on detected task characteristics rather than predetermined types. Use for any development work that modifies code.
Install
npx vskill@latest install skillpanel/maister/developmentSKILL.md
Development Orchestrator
Unified workflow for all development tasks — bug fixes, enhancements, and new features. Phases activate based on context and analysis findings, not predetermined task types.
Initialization
BEFORE executing any phase, you MUST complete these steps:
Step 0: Session-reminder conflict resolution (decide ONCE)
Before doing anything else, settle this policy now and do not re-litigate it at any gate:
`→ MANDATORY GATE` markers fire regardless of session-reminders, permission mode, or prior approval patterns. Auto / acceptEdits / bypassPermissions modes, reminders saying "work without stopping" / "continue without asking" / "minimize clarifying questions," and compaction summaries showing the user approving every prior gate do NOT exempt you from invoking AskUserQuestion at a gate. They apply only to your discretionary clarifications.
If you find yourself reasoning "the user has been approving everything, so I can skip this gate" or "auto-mode is on, so I should minimize questions" — that reasoning IS the failure mode. STOP and fire the gate.
Full framework rule: ../orchestrator-framework/references/orchestrator-patterns.md § 2 and § 2.1.
Step 1: Load Framework Patterns
Read the framework reference file NOW using the Read tool:
../orchestrator-framework/references/orchestrator-patterns.md- Delegation rules, interactive mode, state schema, initialization, context passing, issue resolution
Step 2: Detect Research Context
If argument is a research folder path (matches .maister/tasks/research/*):
- Auto-detect research folder, extract task description from
research_context.research_question - Read research artifacts (see Research-Based Development section below)
- Set
research_referencein state automatically
If `--research=<path>` flag provided:
- Read research artifacts from specified path
- Copy to
analysis/research-context/ - Set
research_referencein state
Step 3: Initialize Workflow
- Capture the clock: run
date -u +"%Y-%m-%dT%H:%M:%SZ"via Bash NOW — you do NOT know the time from context. Every timestamp written this turn (created,updated,generated,phases[].started) uses this value. Date-only orT00:00:00Zvalues are the documented failure mode (orchestrator-patterns.md § 4 Timestamp Rule). Re-rundatein later turns before writing timestamps. - Create Task Items: Use
TaskCreatefor all phases (see Phase Configuration), then set dependencies withTaskUpdate addBlockedBy - Create Task Directory:
.maister/tasks/development/YYYY-MM-DD-task-name/ - Initialize State: Create
orchestrator-state.ymlwith task info and research reference - Set up Operator Dashboard (orchestrator-patterns.md § 8) — first read
.maister/config.ymland setorchestrator.options.html_output(default true if the file/key is absent) andorchestrator.options.mockup_format(defaulthtml; read by Phase 4). When `html_output` is false, SKIP this entire step — nodashboard.html, nodashboard-data.js, no browser auto-open — and proceed. Otherwise: copy../orchestrator-framework/assets/dashboard.htmlto the task root asdashboard.html, write the initialdashboard-data.js(all phases pending), then auto-open it in the user's browser (open/xdg-open/startper platform, passing the plain absolute filesystem path — NEVER a hand-builtfile://URL; on failure just print the path — never block). On resume: re-copydashboard.htmlonly if missing; regeneratedashboard-data.jsfrom state; then auto-open it in the browser again (same opener as a new task — the OS focuses an already-open tab rather than duplicating). - Discover project documentation: Read
.maister/docs/INDEX.md(if exists), extract ALL file paths from the "Project Documentation" section. This includes predefined docs (vision, roadmap, tech-stack, architecture) AND any user-added project docs (e.g., deployment.md, api-strategy.md). Store complete list asproject_context.project_doc_pathsin state.
Step 4: Ingest Design Context
Mockups and design artifacts become binding inputs to implementation when present. Auto-detect from three sources and unify under analysis/design-context/. Skip silently when no sources exist — non-UI tasks see no change.
Source 1 — Product-design task path: If the argument resolves to a .maister/tasks/product-design/* directory (presence of outputs/product-brief.md or analysis/mockups/):
- Copy
outputs/product-brief.md→analysis/design-context/brief.md - Copy
analysis/mockups/*→analysis/design-context/mockups/
Source 2 — Inline mockup references in task description: Scan the task description for absolute or relative paths ending in .html, .png, .jpg, .jpeg, .gif, .svg, .pdf, plus design-tool URLs (Figma, Sketch Cloud, Zeplin):
- For each resolvable local file: copy into
analysis/design-context/mockups/ - For URLs: append the link to
analysis/design-context/external-links.md(do not fetch — leave to user)
Source 3 — Legacy locations (resumed tasks, mid-flight migrations): If analysis/visuals/ or analysis/ui-mockups.md is populated and analysis/design-context/ does not yet exist, migrate the legacy contents into design-context/ (visuals → mockups/, ui-mockups.md → ascii/ui-mockups.md).
After ingestion (when design-context/ was populated):
- Generate
analysis/design-context/INDEX.mdenumerating every screen/component with stable IDs (e.g.,screen:login,component:user-card) inferred from filenames and content. One row per screen/component with: id, source mockup, brief description. - Set
task_context.design_referenceandphase_summaries.design(one-paragraph summary + path to INDEX.md).
Skip if no sources detected — proceed to phase execution without design-context/.
Output:
Operator Visibility (applies to every phase)
Config gate: these rules assumeoptions.html_outputis true (read from.maister/config.ymlat init, default true). When false: skip rule 2 entirely (no dashboard — nodashboard.html/dashboard-data.js, no browser open, no rewrites) and rule 3's companions (do NOT passhtml_style_guide_path; subagents write md only). Rule 1 (§ 7 TL;DR blocks), rule 4, andphase_summariesin state stay active either way.
Cross-cutting rules from orchestrator-patterns.md apply throughout this workflow:
- Artifact Summary Contract (§ 7): every artifact-writing subagent prompt MUST include the contract instruction (artifacts open with TL;DR / Key Decisions / Open Questions / Risks (the writer heading is
## Open Questions / Risks)). At context extraction, liftdecisions,risks, andartifactsintophase_summaries.[phase](shared entry shape, § 4). - Dashboard upkeep (§ 8): rewrite
dashboard-data.jsat every phase START (mark itin_progressbefore delegating), BEFORE firing every exit gate (register the finished phase's artifacts/summary/decisions/risks so the operator reviews them on the dashboard while answering — status staysin_progressuntil the gate passes), after every phase completion (including skips, with reason), every gate decision, every verification cycle, and at finalization. It is a terse projection of state — never duplicate artifact content into it. - HTML companions (§ 9): pass
html_style_guide_path(absolute path to../orchestrator-framework/references/html-report-style.md) to specification-creator, implementation-planner, and e2e-test-verifier. Register returnedhtml_pathvalues inphase_summaries.[phase].artifacts[].html. - State writes (§ 4 Write Rule): update
orchestrator-state.ymlkey by key in place, validate it with a re-read after every write, and stop withAskUserQuestionon a malformed file — never continue on a state file the operator tooling cannot read.
When to Use
Use for all development tasks: bug fixes, enhancements, new features, and any work that modifies code.
DO NOT use for: Performance optimization, security remediation, migrations, documentation-only, pure refactoring (use specialized orchestrators).
Phase Configuration
| Phase | content | activeForm | Activation | |
|---|---|---|---|---|
| 1 | "Analyze codebase & clarify requirements" | "Analyzing codebase & clarifying" | Always | |
| 2 | "Analyze gaps & clarify scope" | "Analyzing gaps & clarifying scope" | Always | |
| 3 | "Write failing test (TDD Red)" | "Writing failing test" | When has_reproducible_defect | |
| 4 | "Generate UI mockups" | "Generating UI mockups" | When ui_heavy | |
| 5 | "Gather requirements & create specification" | "Gathering requirements & creating specification" | Always | |
| 6 | "Audit specification" | "Auditing specification" | Always (conditional) | |
| 7 | "Plan implementation" | "Planning implementation" | Always | |
| 8 | "Execute implementation" | "Executing implementation" | Always | |
| 9 | "Verify test passes (TDD Green)" | "Verifying test passes" | When Phase 3 was executed | |
| 10 | "Prompt verification options" | "Prompting verification options" | Always | |
| 11 | "Verify implementation & resolve issues" | "Verifying implementation" | Always | |
| 12 | "Run E2E tests" | "Running E2E tests" | When e2e_enabled | |
| 13 | "Generate user documentation" | "Generating user documentation" | When user_docs_enabled | |
| 14 | "Finalize workflow" | "Finalizing workflow" | Always |
Workflow Phases
Phase 1: Codebase Analysis & Clarifications
Purpose: Comprehensive codebase exploration followed by scope/requirements clarification Execute:
- Skill tool -
maister:codebase-analyzer - Update state with analysis results
- Direct - use AskUserQuestion for max 5 critical clarifying questions
- Save clarifications to
analysis/clarifications.md
Output: analysis/codebase-analysis.md, analysis/clarifications.md State: Update task_context.risk_level, phase_summaries.codebase_analysis, task_context.clarifications_resolved
→ AUTO-CONTINUE — Do NOT end turn, do NOT prompt user. Proceed immediately to Phase 2.
Phase 2: Gap Analysis & Scope Clarification
Purpose: Compare current vs desired state, detect task characteristics, then resolve scope/approach decisions Execute:
- Task tool -
maister:gap-analyzersubagent - Extract and store structured data from gap-analyzer result:
a. Read task_characteristics from gap-analyzer output — 5 fields: has_reproducible_defect, modifies_existing_code, creates_new_entities, involves_data_operations, ui_heavy b. Write all 5 fields to orchestrator-state.yml at task_context.task_characteristics c. Read risk_level from output and write to task_context.risk_level d. Extract phase summary (1-2 sentences) and write to phase_summaries.gap_analysis e. SELF-CHECK: "Did I read the 5 task_characteristics from the gap-analyzer output and write them to state? Let me re-read orchestrator-state.yml to verify the values match the gap-analyzer output."
⛔ DECISION GATE (mandatory — do NOT skip):
- Parse
decisions_neededfrom gap-analyzer output - If
decisions_needed.criticalORdecisions_needed.importantis non-empty: - MUST use
AskUserQuestion— every decision is its own single-select question with its own option set (never flattened into a single question's option list). Critical decisions: one call each with full context. Important decisions: may be grouped as up to 4 separate questions within one call (orchestrator-patterns.md § 3 Decision Gate Pattern) - If both are empty: Note "No scope decisions needed" in state
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/maister/skills/development/SKILL.md
Popularity
- Repository stars
- 257
- Repository forks
- 37
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/skillpanel/maister/development)