Marketplace managing-workflow
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/brendanshields/managing-workflow" ~/.claude/skills/aiskillstore-marketplace-managing-workflow && rm -rf "$T"
skills/brendanshields/managing-workflow/SKILL.mdOrbit Workflow
Single skill for specification-driven development. Artifacts are the source of truth.
Initialization
<context-loading> Before any workflow action, load full context with a single Bash call:node plugins/spec/skills/managing-workflow/scripts/context-loader.js
This returns JSON with:
: Recommended next actionsuggestion
: Active feature state and artifactscurrent
: All features with frontmatter statefeatures.active
: Features needing attentionfeatures.in_progress
: Available architecture docsarchitecture_files
Use this context for all decisions. Avoid additional Read calls for state detection. </context-loading>
Phase Detection
Phase is stored in spec.md frontmatter
status field:
| Status | Artifacts | Next Action |
|---|---|---|
| None | Create spec.md |
| spec.md (no [CLARIFY]) | Create plan.md |
| spec.md with [CLARIFY] | Resolve questions |
| spec.md + plan.md | Create tasks.md |
| tasks.md has | Execute tasks |
| All tasks | Archive or new feature |
Frontmatter Schema
spec.md Frontmatter
--- id: 001-feature-name title: Human Readable Title status: specification # initialize|specification|clarification|planning|implementation|complete priority: P1 # P1|P2|P3 created: 2025-11-27 updated: 2025-11-27 progress: tasks_total: 0 tasks_done: 0 owner: team-name tags: - api - auth ---
Updating Frontmatter
On every phase transition, use the skill's built-in scripts:
# Update status and timestamp node plugins/spec/skills/managing-workflow/scripts/update-status.js \ ".spec/features/{feature}/spec.md" "planning" # Log activity with ISO timestamp node plugins/spec/skills/managing-workflow/scripts/log-activity.js \ ".spec/features/{feature}/metrics.md" "Plan created"
Or with Edit tool - update the status line in frontmatter.
Phase Gates (MANDATORY)
You MUST validate before ANY phase transition. This is NOT optional.
# REQUIRED before every phase change RESULT=$(node plugins/spec/skills/managing-workflow/scripts/validate-phase.js \ ".spec/features/{feature}" "{target-phase}") # Check result - DO NOT PROCEED if invalid if [[ $(echo "$RESULT" | jq -r '.valid') != "true" ]]; then echo "BLOCKED: $(echo "$RESULT" | jq -r '.suggestion')" # Create the missing artifact before continuing fi
Phase Prerequisites
| Target Phase | Required Artifacts | If Missing |
|---|---|---|
| specification | None | - |
| clarification | spec.md | Create spec first |
| planning | spec.md (no [CLARIFY]) | Resolve clarifications |
| implementation | spec.md, plan.md, tasks.md | Create missing artifacts |
| complete | All tasks | Complete remaining tasks |
Enforcement Rules
- NEVER skip directly to implementation - plan.md and tasks.md MUST exist
- NEVER mark complete with unchecked tasks - all
must be[ ][x] - If validation fails: Create the missing artifact, don't proceed
- For simple features: Use quick-plan template (see plugins/spec/skills/managing-workflow/templates/quick-plan.md)
Quick Planning Option
For simple features (bug fixes, < 3 files), use streamlined templates:
- Combined plan with inline tasksplugins/spec/skills/managing-workflow/templates/quick-plan.md
- Minimal task listplugins/spec/skills/managing-workflow/templates/quick-tasks.md
This ensures artifacts exist while reducing overhead for small changes.
Workflow Actions
Initialize New Feature
- Ask user for feature name and description
- Generate feature ID:
{NNN}-{kebab-name} - Create directory and files in parallel:
mkdir -p .spec/features/{id}
Create these files simultaneously:
with frontmatterspec.md
with tracking templatemetrics.md
- Set session:
set_feature "{id}"
spec.md Template
--- id: {id} title: {title} status: specification priority: P2 created: {date} updated: {date} progress: tasks_total: 0 tasks_done: 0 --- # Feature: {title} ## Overview {description} ## User Stories ### US1: {story title} As a {role}, I want {goal} so that {benefit}. **Acceptance Criteria:** - [ ] AC1.1: {criterion} - [ ] AC1.2: {criterion} ## Technical Constraints - {constraint} ## Out of Scope - {exclusion}
metrics.md Template
# Metrics: {title} ## Progress | Phase | Status | Updated | |-------|--------|---------| | Specification | pending | | | Clarification | pending | | | Planning | pending | | | Implementation | 0/0 | | ## Activity | Timestamp | Event | |-----------|-------|
Note: All timestamps use ISO 8601 format:
2025-11-27T10:30:00Z
Define Specification
- Load context to check for related archived features
- If related found, ask: "Found similar feature '{name}'. Reference it?"
- Ask user for feature requirements (use AskUserQuestion for scope/priority)
- Generate user stories with acceptance criteria
- Mark unclear items with
[CLARIFY] - Ask user to review
spec.md - If approved:
- Update frontmatter:
(orstatus: specification
if tags exist)clarification - Update metrics.md
- Update frontmatter:
Clarify
- Find all
tags in spec.md[CLARIFY] - Batch into groups of max 4 questions
- Use AskUserQuestion to resolve each batch
- Update spec.md with answers, remove
tags[CLARIFY] - Ask user to review changes
- When all resolved and approved, update frontmatter:
status: specification
Create Plan
- Validate spec completeness (no [CLARIFY] tags)
- Read spec.md
- Generate technical plan with:
- Architecture decisions
- Components and their purposes
- Data models
- API design (if applicable)
- Integration points
- Write plan.md
- Ask user to review
plan.md - If approved:
- Update frontmatter:
status: planning - Update metrics.md
- Update frontmatter:
plan.md Template
# Technical Plan: {title} ## Architecture {architecture decisions and rationale} ## Components | Component | Purpose | Dependencies | |-----------|---------|--------------| | {name} | {purpose} | {deps} | ## Data Models {model definitions} ## API Design {endpoints if applicable} ## Implementation Phases 1. **Phase 1**: {description} 2. **Phase 2**: {description} ## Risks | Risk | Impact | Mitigation | |------|--------|------------| | {risk} | {impact} | {mitigation} |
Create Tasks
- Read spec.md + plan.md
- Break into tasks with parallel groups and dependencies:
## Parallel Group A - [ ] T001: {task} [P1] - [ ] T002: {task} [P1] ## Parallel Group B [depends:A] - [ ] T003: {task} [P1] [depends:T001,T002]
- Tag critical changes:
,[critical:schema]
,[critical:api][critical:types] - Write tasks.md
- Ask user to review
tasks.md - If approved:
- Update frontmatter:
status: implementation - Update progress in frontmatter:
tasks_total: {count} - Update metrics.md
- Update frontmatter:
tasks.md Template
# Tasks: {title} ## Parallel Group A - [ ] T001: {description} [P1] - [ ] T002: {description} [P1] ## Parallel Group B [depends:A] - [ ] T003: {description} [P1] [depends:T001,T002] - [ ] T004: {description} [P2] [depends:T001] ## Sequential - [ ] T005: {description} [P1] [critical:api] [depends:T003,T004] --- ## Legend - `[P1/P2/P3]` - Priority level - `[depends:X,Y]` - Task dependencies - `[critical:type]` - Requires extra review (schema, api, types, auth) - `[estimate:S/M/L]` - Size estimate
Implement
GATE CHECK REQUIRED - Before implementing, MUST validate:
# MANDATORY: Run this before any implementation RESULT=$(node plugins/spec/skills/managing-workflow/scripts/validate-phase.js \ ".spec/features/{feature}" "implementation") # If not valid, STOP and create missing artifacts if [[ $(echo "$RESULT" | jq -r '.valid') != "true" ]]; then MISSING=$(echo "$RESULT" | jq -r '.missing') echo "Cannot implement: missing $MISSING" # Go back and create: plan.md or tasks.md fi
Only after validation passes, delegate to
task-implementer agent:
Task: task-implementer agent Feature: {feature-path} Tasks file: .spec/features/{feature}/tasks.md Execute tasks in parallel groups where possible. Update task checkboxes as completed. Report any blockers.
After implementation:
- Update frontmatter progress:
tasks_done: {count} - If all complete, update:
status: complete
Validate
Delegate to
artifact-validator agent:
Task: artifact-validator agent Feature: {feature-path} Validate: 1. Spec completeness (all AC have tasks) 2. Plan coverage (all US have implementation) 3. Task consistency (dependencies valid)
Archive Feature
When feature is complete:
- Ask user: "Archive this feature?"
- If yes: a. Check for repeatable patterns in completed work b. If patterns detected (2+ similar files/tasks), offer tooling suggestions
- Run archive_feature
node plugins/spec/skills/managing-workflow/scripts/archive-feature.js "{feature-id}"
- If new skills/agents were created during the feature:
- Inform user: "New tooling was created. Restart Claude to use it."
- Suggest:
to resume after restartclaude --continue
- Suggest next action from context loader
Tooling Check on Archive
Before archiving, analyze the completed feature for automation opportunities:
Pattern Detection (only for repeatable tasks): - Created 3+ similar files? → Suggest generator skill - Wrote 3+ test files? → Suggest testing-code skill - Added 3+ API endpoints? → Suggest api-testing agent - Similar task structure repeated? → Suggest workflow skill
Skip tooling suggestions if:
- Feature was one-off (migration, unique integration)
- Pattern count < 2
- Similar tooling already exists
If tooling is created:
## New Tooling Created | Type | Name | Location | |------|------|----------| | Skill | {name} | .claude/skills/{name}/ | | Agent | {name} | .claude/agents/{name}.md | **Restart Required**: Run `claude --continue` to use new tooling.
User Questions
Use AskUserQuestion strategically:
On Initialize
questions: - header: "Project Type" question: "What type of project is this?" options: - label: "Greenfield" description: "New project from scratch" - label: "Brownfield" description: "Existing codebase"
On Feature Selection (multiple features)
questions: - header: "Feature" question: "Which feature to work on?" options: - label: "{feature-1}" description: "{status} - {progress}" - label: "{feature-2}" description: "{status}" - label: "New Feature" description: "Start fresh"
On Implementation Start
questions: - header: "Execution" question: "How to execute tasks?" options: - label: "Guided" description: "Confirm each task" - label: "Autonomous" description: "Execute all, report at end"
Error Handling
- Missing artifact → Start from that phase
- Validation fails → Show gaps, offer to fix
- Task blocked → Log blocker, skip to next, report at end
- Frontmatter missing → Add it on next update
Parallel Execution Guidelines
Execute in parallel when independent:
- File creation (spec.md + metrics.md)
- Multiple validations
- Independent task groups
Execute sequentially when dependent:
- Spec → Plan → Tasks
- Dependent task groups