majesticlabs-dev/majestic-marketplace

run-blueprint

Execute all tasks in a blueprint using build-task workflow

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill run-blueprint

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Run Blueprint

Execute all tasks in a blueprint plan sequentially, respecting dependencies.

Input

plan_path: $ARGUMENTS (required)

Task Tracking Setup

TASK_TRACKING = config_read("task_tracking.enabled", "false")

If TASK_TRACKING:
  BLUEPRINT_ID = "run-blueprint-{timestamp}"
  TASK_MAP = {}  # Maps T1, T2 etc to Claude Task IDs

Workflow

1. Load Blueprint

Read(file_path: plan_path)

Parse the ## Implementation Tasks section:

IDTaskPointsDependenciesStatus
T1Setup auth middleware2-⏳
T2Create login endpoint2T1⏳

Task status icons:

  • ⏳ Pending
  • 🔄 In Progress
  • ✅ Completed
  • 🔴 Failed

1.5. Create Tasks from Table (if tracking enabled)

If TASK_TRACKING:
  For each ROW in implementation_tasks:
    TASK = TaskCreate:
      subject: "{ROW.id}: {ROW.task}"
      activeForm: "Building {ROW.task}"
      metadata: {blueprint_id: BLUEPRINT_ID, task_id: ROW.id, points: ROW.points, source: plan_path}
    TASK_MAP[ROW.id] = TASK.id

  # Set up dependencies
  For each ROW in implementation_tasks where ROW.dependencies != "-":
    BLOCKED_BY = [TASK_MAP[dep] for dep in ROW.dependencies.split(",")]
    TaskUpdate(TASK_MAP[ROW.id], addBlockedBy: BLOCKED_BY)

2. Find Next Task

If TASK_TRACKING:
  TASKS = TaskList()
  BLUEPRINT_TASKS = filter(TASKS, task.metadata.blueprint_id == BLUEPRINT_ID)
  NEXT_TASK = first(BLUEPRINT_TASKS where status == "pending" AND blockedBy.length == 0)
Else:
  For each task in Implementation Tasks:
    If task.status == ⏳:
      If task.dependencies all ✅:
        NEXT_TASK = task
        Break

If no task found (all ✅ or 🔴): Go to Step 5.

3. Execute Task

Skill("build-task") "{task.id}" --no-ship

4. Update Status

If TASK_TRACKING:
  CLAUDE_TASK_ID = TASK_MAP[NEXT_TASK.id]
  TaskUpdate(CLAUDE_TASK_ID, status: "in_progress")
  # After build completes
  If build succeeded: TaskUpdate(CLAUDE_TASK_ID, status: "completed")
  If build failed: TaskUpdate(CLAUDE_TASK_ID, status: "completed", metadata: {result: "failed"})

# Always update markdown (for visibility in file)
Edit(file_path: plan_path):
  If build succeeded: task.status = ✅
  If build failed: task.status = 🔴

Go to Step 2 (next task).

5. Ship

When all tasks are ✅ or 🔴:

Skill("ship-it")

Task ID Formats

SystemFormatExample
GitHub Issues#{number}#123
Linear{PROJECT}-{number}PROJ-123
BeadsBEADS-{number}BEADS-123
File-basedTODO-{number}TODO-123

Error Handling

ScenarioAction
Task build failsMark 🔴, continue to next task
All dependencies failedSkip task, mark 🔴
Blueprint file not foundError, exit
No tasks section foundError, exit
aus demselben Repository

Weitere Skills

Alle Skills