[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71N84YF4VCT31GDG55ZY60J":3,"skill-same:01M71N84YF4VCT31GDG55ZY60J":292},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":64},"01M71N84YF4VCT31GDG55ZY60J","ln-1000-pipeline-orchestrator",null,"Drives a Story through full pipeline (tasks, validation, execution, quality). Use when executing a Story end-to-end from kanban board.","vitalikpestov\u002FSkills-Catalog","vitalikpestov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13882997?v=4","01M71N4QG0CWRXX4R24JQZXDDQ","Vitalik Pestov","01M71N4QGMSYRW607DDSE0CQMM",2,"MIT","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"pipeline orchestrator","orchestrator","ln","ln 1000 pipeline orchestrator","pipeline","Story","validation","board","quality","full pipeline","use","execution","true","full","kanban board","kanban","tasks","when","end","2026-11-10 10:56:23",false,"---\nname: ln-1000-pipeline-orchestrator\ndescription: \"Drives a Story through full pipeline (tasks, validation, execution, quality). Use when executing a Story end-to-end from kanban board.\"\ndisable-model-invocation: true\nlicense: MIT\n---\n\n> **Paths:** File paths (`references\u002F`, `..\u002Fln-*`) are relative to this skill directory.\n\n**Type:** L1 Orchestrator\n**Category:** 1000 Pipeline\n\n# Pipeline Orchestrator\n\nDrives a selected Story through the full pipeline (task planning -> validation -> execution -> quality gate) by invoking coordinators as Skill() calls in a single context and advancing from coordinator stage artifacts.\n\n## Purpose & Scope\n- Parse kanban board and show available Stories for user selection\n- Ask business questions in ONE batch before execution; make technical decisions autonomously\n- Drive selected Story through 4 stages: ln-300 -> ln-310 -> ln-400 -> ln-500\n- Write stage notes + checkpoints after each stage for reporting and recovery\n- Handle failures, retries, rework cycles, and escalation to user\n- Generate pipeline report with branch name, git stats, agent review info\n\n## Hierarchy\n\n```\nL0: ln-1000-pipeline-orchestrator (sequential Skill calls, single context)\n  +-- Skill(\"ln-300\") — task decomposition (internally manages stateful task-plan workers)\n  +-- Skill(\"ln-310\") — validation (internally launches configured external review agents when available)\n  +-- Skill(\"ln-400\") — execution (internally dispatches stateful task workers)\n  +-- Skill(\"ln-500\") — quality gate (internally runs artifact-first ln-510\u002Fln-520, verdict, finalization)\n```\n\n**Key principle:** ln-1000 invokes coordinators via Skill tool. Each coordinator manages its own internal worker dispatch and emits a stage artifact. ln-1000 does NOT modify existing skills — it calls them exactly as a human operator would and treats coordinator artifacts as the primary completion signal.\n\n## Task Storage Mode\n\n**MANDATORY READ:** Load `references\u002Fenvironment_state_contract.md` and `references\u002Fstorage_mode_detection.md`\n\nExtract: `task_provider` = Task Management -> Provider (`linear` | `file`).\n\n## When to Use\n- One Story ready for processing — user picks which one\n- Need end-to-end automation: task planning -> validation -> execution -> quality gate\n- Want controlled Story processing with pipeline report\n\n## Pipeline: 4-Stage State Machine\n\n**MANDATORY READ:** Load `references\u002Fpipeline_states.md` for transition rules and guards.\n**MANDATORY READ:** Load `references\u002Floop_health_contract.md`\n\n```\nBacklog       --> Stage 0 (ln-300) --> Backlog      --> Stage 1 (ln-310) --> Todo\n(no tasks)        create tasks         (tasks exist)      validate            |\n                                                          | NO-GO             |\n                                                          v                   v\n                                                       [retry\u002Fask]    Stage 2 (ln-400)\n                                                                             |\n                                                                             v\n                                                                      To Review\n                                                                             |\n                                                                             v\n                                                                      Stage 3 (ln-500)\n                                                                       |          |\n                                                                      PASS       FAIL\n                                                                       |          v\n                                                                      Done    To Rework -> Stage 2\n                                                               (branch pushed)  (max 2 cycles)\n```\n\n| Stage | Skill | Input Status | Output Status |\n|-------|-------|-------------|--------------|\n| 0 | ln-300-task-coordinator | Backlog (no tasks) | Backlog (tasks created) |\n| 1 | ln-310-multi-agent-validator | Backlog (tasks exist) | Todo |\n| 2 | ln-400-story-executor | Todo \u002F To Rework | To Review |\n| 3 | ln-500-story-quality-gate | To Review | Done \u002F To Rework |\n\n## Workflow\n\n### Phase 0: Recovery Check\n\n```\nPIPELINE=\"{skill_repo}\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Fcli.mjs\"\nrecovery = Bash: node $PIPELINE status\n\nIF recovery.active == true:\n  # Previous run interrupted — resume from CLI state\n  1. Extract: story_id, stage, resume_action from recovery JSON\n  2. Read already-written stage artifacts and runtime state\n  3. Re-read kanban board -> secondary verification only\n  4. IF recovery.state.worktree_dir exists: cd {recovery.state.worktree_dir}\n  5. Jump to Phase 4, starting from resume_action\n\nIF recovery.active == false:\n  # Fresh start — proceed to Phase 1\n```\n\n### Phase 1: Discovery, Kanban Parsing & Story Selection\n\n**MANDATORY READ:** Load `references\u002Fkanban_parser.md` for parsing patterns.\n\n1. Auto-discover `docs\u002Ftasks\u002Fkanban_board.md` (or Linear API via storage mode operations)\n2. Extract project brief from target project's CLAUDE.md (NOT skills repo):\n   ```\n   project_brief = {\n     name: \u003Cfrom H1 or first line>,\n     tech: \u003Cfrom Development Commands \u002F tech references>,\n     type: \u003Cinferred: \"CLI\", \"API\", \"web app\", \"library\">,\n     key_rules: \u003C2-3 critical rules>\n   }\n   IF not found: project_brief = { name: basename(project_root), tech: \"unknown\" }\n   ```\n3. Parse all status sections: Backlog, Todo, In Progress, To Review, To Rework\n4. Extract Story list with: ID, title, status, Epic name, task presence\n5. Filter: skip Stories in Done, Postponed, Canceled\n6. Detect task presence per Story:\n   - Has `_(tasks not created yet)_` -> **no tasks** -> Stage 0\n   - Has task lines (4-space indent) -> **tasks exist** -> Stage 1+\n7. Determine target stage per Story (see `references\u002Fpipeline_states.md` Stage-to-Status Mapping)\n8. Show available Stories and ask user to pick ONE:\n   ```\n   Project: {project_brief.name} ({project_brief.tech})\n\n   Available Stories:\n   | # | Story | Status | Stage | Skill | Epic |\n   |---|-------|--------|-------|-------|------|\n   | 1 | PROJ-42: Auth endpoint | To Review | 3 | ln-500 | Epic: Auth |\n   | 2 | PROJ-55: CRUD users | Backlog (no tasks) | 0 | ln-300 | Epic: Users |\n   | 3 | PROJ-60: Dashboard | Todo | 2 | ln-400 | Epic: UI |\n\n   AskUserQuestion: \"Which story to process? Enter # or Story ID.\"\n   ```\n9. Store selected story. Extract story brief for selected story only:\n   ```\n   description = tracker getStory(selected_story.id).body  \u002F\u002F provider-specific transport per tracker_provider_contract.md\n   story_briefs[id] = parse \u003C!-- ORCHESTRATOR_BRIEF_START\u002FEND --> markers\n   IF no markers: story_briefs[id] = { tech: project_brief.tech, keyFiles: \"unknown\" }\n   ```\n\n### Phase 2: Pre-flight Questions (ONE batch)\n\n1. Load selected Story description (metadata only)\n2. Scan for business ambiguities -- questions where:\n   - Answer cannot be found in codebase, docs, or standards\n   - Answer requires business\u002Fproduct decision (payment provider, auth flow, UI preference)\n3. Collect ALL business questions into single AskUserQuestion\n4. Technical questions -- resolve using project_brief:\n   - Library versions: MCP Ref \u002F Context7 (for `project_brief.tech` ecosystem)\n   - Architecture patterns: `project_brief.key_rules`\n   - Standards compliance: ln-310 Phase 2 handles this\n\n**Skip Phase 2** if no business questions found. Proceed directly to Phase 3.\n\n### Phase 3: Pipeline Setup\n\n#### 3.0 Linear Status Cache (Linear mode only)\n\n```\nIF storage_mode == \"linear\":\n  statuses = list_issue_statuses(teamId=team_id)\n  status_cache = {status.name: status.id FOR status IN statuses}\n\n  REQUIRED = [\"Backlog\", \"Todo\", \"In Progress\", \"To Review\", \"To Rework\", \"Done\"]\n  missing = [s for s in REQUIRED if s not in status_cache]\n  IF missing: ABORT \"Missing Linear statuses: {missing}. Configure workflow.\"\n```\n\n#### 3.1 Pre-flight: Settings Verification\n\nVerify `.claude\u002Fsettings.local.json` in target project:\n- `defaultMode` = `\"bypassPermissions\"` (required for Agent workers spawned by coordinators)\n\n#### 3.2 Worktree Isolation\n\n**MANDATORY READ:** Load `references\u002Fgit_worktree_fallback.md`\n\n```\nbranch_check = git branch --show-current\nIF branch_check matches feature\u002F* \u002F optimize\u002F* \u002F upgrade\u002F* \u002F modernize\u002F*:\n  worktree_dir = CWD\n  project_root = CWD\n  branch = branch_check\nELSE:\n  story_slug = slugify(selected_story.title)\n  branch = \"feature\u002F{selected_story.id}-{story_slug}\"\n  worktree_dir = \".hex-skills\u002Fworktrees\u002Fstory-{selected_story.id}\"\n  project_root = CWD\n\n  changes = git diff HEAD\n  IF changes not empty:\n    git diff HEAD > .hex-skills\u002Fpipeline\u002Fcarry-changes.patch\n\n  git fetch origin\n  base_branch = detect per references\u002Fgit_scope_detection.md §Base Branch Detection\n  git worktree add -b {branch} {worktree_dir} origin\u002F{base_branch}\n\n  IF .hex-skills\u002Fpipeline\u002Fcarry-changes.patch exists:\n    git -C {worktree_dir} apply .hex-skills\u002Fpipeline\u002Fcarry-changes.patch && rm .hex-skills\u002Fpipeline\u002Fcarry-changes.patch\n    IF apply fails: WARN user \"Patch conflicts -- continuing without uncommitted changes\"\n\n  cd {worktree_dir}    # All subsequent Skill calls inherit this CWD\n```\n\nCoordinators self-detect `feature\u002F*` on startup -> skip their own worktree creation (ln-400 Phase 1 step 5).\n\n#### 3.3 Initialize Pipeline State\n\n```\nBash: node $PIPELINE start \\\n  --story {selected_story.id} \\\n  --title \"{selected_story.title}\" \\\n  --storage {storage_mode} \\\n  --project-brief '{JSON.stringify(project_brief)}' \\\n  --story-briefs '{JSON.stringify(story_briefs)}' \\\n  --business-answers '{JSON.stringify(business_answers)}' \\\n  --status-cache '{JSON.stringify(status_cache)}' \\\n  --skill-repo-path \"{skill_repo}\" \\\n  --worktree-dir \"{worktree_dir}\" \\\n  --branch-name \"{branch}\"\n\nIF result.recovery == true:\n  # Active run found — resume instead of fresh start\n  Jump to Phase 4 using result.state\n```\n\n#### 3.4 Sleep Prevention (Windows only)\n\n```\nIF platform == \"win32\":\n  Bash: cp {skill_repo}\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fhooks\u002Fprevent-sleep.ps1 .hex-skills\u002Fpipeline\u002Fprevent-sleep.ps1\n  Bash: powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File .hex-skills\u002Fpipeline\u002Fprevent-sleep.ps1 &\n  sleep_prevention_pid = $!\n```\n\n### Phase 4: Pipeline Execution\n\n**MANDATORY READ:** Load `references\u002Fphases\u002Fphase4_flow.md` for ASSERT guards, stage notes, context recovery, and error handling.\n**MANDATORY READ:** Load `references\u002Fcheckpoint_format.md` for checkpoint schema.\n\n```\n# --- INITIALIZATION ---\nid = selected_story.id\ntarget_stage = determine_stage(selected_story)    # pipeline_states.md \u002F guards.mjs\n\n# --- PROGRESS TRACKER (survives compaction) ---\nTodoWrite([\n  {content: \"Stage 0: Task Decomposition (ln-300)\", status: \"pending\", activeForm: \"Decomposing tasks\"},\n  {content: \"Stage 1: Validation (ln-310)\", status: \"pending\", activeForm: \"Validating story\"},\n  {content: \"Stage 2: Execution (ln-400)\", status: \"pending\", activeForm: \"Executing tasks\"},\n  {content: \"Stage 3: Quality Gate (ln-500)\", status: \"pending\", activeForm: \"Running quality gate\"},\n  {content: \"Pipeline Report + Cleanup\", status: \"pending\", activeForm: \"Generating report\"}\n])\n\n# --- STAGE 0: Task Decomposition ---\nIF target_stage \u003C= 0:\n  Bash: node $PIPELINE advance --story {id} --to STAGE_0\n  Skill(skill: \"ln-300-task-coordinator\", args: \"{id}\")\n  Read Stage 0 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  ASSERT Stage 0 artifact: status=completed, stage=0\n  IF ASSERT fails: Bash: node $PIPELINE record-loop-health --story {id} --stage 0 --payload '{\"error\":\"Stage 0 ASSERT failed\",\"progress_detected\":false}'\n  Re-read kanban only as secondary assertion\n  IF ASSERT fails: Bash: node $PIPELINE pause --story {id} --reason \"Stage 0 artifact missing or invalid\"; ESCALATE\n  Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_0_notes_{id}.md (Key Decisions, Artifacts)\n  Bash: node $PIPELINE checkpoint --story {id} --stage 0 --plan-score {score} --tasks-remaining '{JSON tasks}' --last-action \"Tasks created\"\n\n# --- STAGE 1: Validation ---\nIF target_stage \u003C= 1:\n  Bash: node $PIPELINE advance --story {id} --to STAGE_1\n  IF advance fails (guard rejection): handle per error.recovery\n  Skill(skill: \"ln-310-multi-agent-validator\", args: \"{id}\")\n  Read Stage 1 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  ASSERT artifact verdict = GO and readiness_score >= 5\n  IF NO-GO:\n    Bash: node $PIPELINE advance --story {id} --to STAGE_1    # retry (guard auto-increments validation_retries)\n    IF advance fails: Bash: node $PIPELINE pause --story {id} --reason \"Validation retry exhausted\"; ESCALATE\n    Skill(skill: \"ln-310-multi-agent-validator\", args: \"{id}\")    # retry\n    Read retry Stage 1 artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  IF same ASSERT failure repeats without new Stage 1 artifact\u002Fcheckpoint\u002Fstatus evidence:\n    Bash: node $PIPELINE record-loop-health --story {id} --stage 1 --payload '{\"error\":\"Stage 1 ASSERT failed\",\"progress_detected\":false}'\n    IF result.pause.pause == true: ESCALATE using result.state.paused_reason\n  Re-read kanban only as secondary assertion\n  IF still NOT Todo: Bash: node $PIPELINE pause --story {id} --reason \"Validation artifact or status invalid\"; ESCALATE\n  Extract agents_info from Stage 1 artifact metadata or review runtime state\n  Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_1_notes_{id}.md (Verdict, Agent Review, Key Decisions)\n  Bash: node $PIPELINE checkpoint --story {id} --stage 1 --verdict {verdict} --readiness {score} --agents-info \"{agents}\" --last-action \"Validated\"\n\n# --- COMPACTION RECOVERY (replaces old COMPACTION GUARD) ---\n# If context compacted and vars lost: Bash: node $PIPELINE status --story {id}\n# Extract resume_action from JSON -> continue from there. No manual JSON reads needed.\n\n# --- STAGE 2+3 LOOP (rework cycle, managed by CLI guards) ---\nWHILE true:\n\n  # STAGE 2: Execution\n  IF target_stage \u003C= 2 OR (status shows rework cycle):\n    Bash: node $PIPELINE advance --story {id} --to STAGE_2\n    IF advance fails: Bash: node $PIPELINE pause --story {id} --reason \"{error}\"; ESCALATE; BREAK\n    Skill(skill: \"ln-400-story-executor\", args: \"{id}\")\n    Read Stage 2 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n    ASSERT artifact story_status = To Review\n    IF ASSERT fails: Bash: node $PIPELINE record-loop-health --story {id} --stage 2 --payload '{\"error\":\"Stage 2 ASSERT failed\",\"progress_detected\":false}'\n    Re-read kanban only as secondary assertion\n    IF ASSERT fails: Bash: node $PIPELINE pause --story {id} --reason \"Stage 2 artifact missing or invalid\"; ESCALATE; BREAK\n    git_stats = parse `git diff --stat origin\u002F{base_branch}..HEAD`\n    Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_2_notes_{id}.md (Key Decisions, Git commits)\n    Bash: node $PIPELINE checkpoint --story {id} --stage 2 --tasks-completed '{JSON done}' --git-stats '{JSON stats}' --last-action \"Implementation complete\"\n\n  # STAGE 3: Quality Gate (IMPOSSIBLE TO SKIP — next line after Stage 2)\n  Bash: node $PIPELINE advance --story {id} --to STAGE_3\n  Skill(skill: \"ln-500-story-quality-gate\", args: \"{id}\")\n  Read Stage 3 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  IF repeated identical quality FAIL has no new artifact\u002Ftask\u002Fcode delta:\n    Bash: node $PIPELINE record-loop-health --story {id} --stage 3 --payload '{\"error\":\"Stage 3 repeated quality FAIL\",\"progress_detected\":false}'\n    IF result.pause.pause == true: ESCALATE using result.state.paused_reason\n  Extract quality verdict, score, agents_info from Stage 3 artifact\n  Re-read kanban only as secondary assertion\n  Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_3_notes_{id}.md (Verdict, Score, Agent Review, Branch)\n  Bash: node $PIPELINE checkpoint --story {id} --stage 3 --verdict {verdict} --quality-score {score} --agents-info \"{agents}\" --last-action \"Quality gate: {verdict}\"\n\n  IF Story status = Done:\n    Bash: node $PIPELINE advance --story {id} --to DONE\n    BREAK\n\n  IF Story status = To Rework:\n    Read Stage 3 artifact `metadata.rework_hint` for blocking_categories and suggested_focus\n    Bash: node $PIPELINE advance --story {id} --to STAGE_2    # guard auto-increments quality_cycles\n    IF advance fails (quality_cycles >= 2):\n      Bash: node $PIPELINE pause --story {id} --reason \"Quality gate failed 2 times\"\n      ESCALATE: \"Quality gate failed after max cycles. Manual review needed.\"\n      BREAK\n    # Pass rework focus to ln-400:\n    Skill(skill: \"ln-400-story-executor\", args: \"{id} --rework-focus {blocking_categories}\")\n    CONTINUE\n\n  Bash: node $PIPELINE pause --story {id} --reason \"Unexpected Stage 3 outcome\"\n  ESCALATE: \"Story ended Stage 3 in unexpected status. Manual review needed.\"\n  BREAK\n\n### Stop Conditions (Quality Cycle)\n\n| Condition | Action |\n|-----------|--------|\n| All tasks Done + Story = Done | STOP — Story completed successfully |\n| `quality_cycles >= 2` | STOP — ESCALATE: \"Quality gate failed after max cycles. Manual review needed.\" |\n| Validation retry fails (NO-GO after retry) | STOP — ESCALATE: ask user for direction |\n| Stage 2 precondition fails | STOP — ESCALATE: \"Stage 2 incomplete, manual intervention needed\" |\n| Same stage ASSERT failure repeats without new evidence | STOP — runtime `record-loop-health` pauses with actionable reason |\n\n### Phase 5: Cleanup & Report\n\n```\n# 0. Signal pipeline complete\npre_cleanup_status = Bash: node $PIPELINE status --story {id}\nIF pre_cleanup_status.state.phase != \"DONE\":\n  Bash: node $PIPELINE advance --story {id} --to DONE\n\n# 1. Self-verify against Definition of Done\nstatus = Bash: node $PIPELINE status --story {id}\nfinal_state = status.state.phase OR \"DONE\"\nverification = {\n  story_selected:   status.state.story_id == id\n  story_processed:  final_state IN (\"DONE\", \"PAUSED\")\n}\nIF ANY verification == false: WARN user with details\n\n# 2. Read stage notes\nstage_notes = {}\nFOR N IN 0..3:\n  IF .hex-skills\u002Fpipeline\u002Fstage_{N}_notes_{id}.md exists:\n    stage_notes[N] = read file content\n  ELSE:\n    stage_notes[N] = \"(no notes captured)\"\n\n# 3. Extract branch info\nbranch_name = git branch --show-current\ngit_stats_final = git diff --stat origin\u002F{base_branch}..HEAD (if not already captured)\n\n# 4. Finalize pipeline report\ndurations = {N: stage_timestamps.stage_{N}_end - stage_timestamps.stage_{N}_start\n             FOR N IN 0..3 IF both timestamps exist}\n\nWrite docs\u002Ftasks\u002Freports\u002Fpipeline-{date}.md:\n\n  # Pipeline Report -- {date}\n\n  **Story:** {id} -- {title}\n  **Branch:** {branch_name}\n  **Final State:** {final_state}\n  **Duration:** {now() - pipeline_start_time}\n\n  ## Task Planning (ln-300)\n  | Tasks | Plan Score | Duration |\n  |-------|-----------|----------|\n  | {N} created | {score}\u002F4 | {durations[0]} |\n\n  {stage_notes[0]}\n\n  ## Validation (ln-310)\n  | Verdict | Readiness | Agent Review | Duration |\n  |---------|-----------|-------------|----------|\n  | {verdict} | {score}\u002F10 | {agents_info} | {durations[1]} |\n\n  {stage_notes[1]}\n\n  ## Implementation (ln-400)\n  | Status | Files | Lines | Duration |\n  |--------|-------|-------|----------|\n  | {result} | {files_changed} | +{added}\u002F-{deleted} | {durations[2]} |\n\n  {stage_notes[2]}\n\n  ## Quality Gate (ln-500)\n  | Verdict | Score | Agent Review | Rework | Duration |\n  |---------|-------|-------------|--------|----------|\n  | {verdict} | {score}\u002F100 | {agents_info} | {quality_cycles} | {durations[3]} |\n\n  {stage_notes[3]}\n\n  ## Pipeline Metrics\n  | Wall-clock | Rework cycles | Validation retries |\n  |------------|--------------|-------------------|\n  | {total_duration} | {quality_cycles} | {validation_retries} |\n\n# 5. Show pipeline summary to user\nPipeline Complete:\n| Story | Branch | Planning | Validation | Implementation | Quality Gate | State |\n|-------|--------|----------|------------|----------------|-------------|-------|\n| {id} | {branch} | {stage0} | {stage1} | {stage2} | {stage3} | {final_state} |\n\nReport saved: docs\u002Ftasks\u002Freports\u002Fpipeline-{date}.md\n\n# 6. Worktree cleanup\ncd {project_root}\nIF final_state == \"PAUSED\" AND worktree_dir exists AND worktree_dir != project_root:\n  git -C {worktree_dir} add -A\n  git -C {worktree_dir} commit -m \"WIP: {id} pipeline paused\" --allow-empty\n  git -C {worktree_dir} push -u origin {branch}\n  git worktree remove {worktree_dir} --force\n  Display: \"Partial work saved to branch {branch} (remote). Worktree cleaned.\"\nIF final_state == \"DONE\" AND worktree_dir exists AND worktree_dir != project_root:\n  # ln-500 committed + pushed in Phase 7. Clean worktree only.\n  git worktree remove {worktree_dir} --force\n\n# 7. Stop sleep prevention (Windows)\nIF sleep_prevention_pid:\n  kill $sleep_prevention_pid 2>\u002Fdev\u002Fnull || true\n\n# 8. Remove pipeline state files\nDelete .hex-skills\u002Fpipeline\u002F directory\n\n# 9. Report results location to user\n```\n\n## Coordinator Artifacts as Orchestration Truth\n\n- **Read coordinator artifact first** after each stage completion. Never treat prose output as completion truth\n- Re-read board after each stage only as a secondary assertion for expected status transitions\n- Coordinators (ln-300\u002F310\u002F400\u002F500) update Linear\u002Fkanban via their own logic. Lead verifies the artifact first, then checks board consistency\n- **Update algorithm:** Follow `references\u002Fkanban_update_algorithm.md` for Epic grouping and indentation\n\n## Error Handling\n\n| Situation | Detection | Action |\n|-----------|----------|--------|\n| ln-300 task creation fails | Skill returns error | Escalate to user: \"Cannot create tasks for Story {id}\" |\n| ln-310 NO-GO (Score \u003C5) | Stage 1 artifact verdict != GO | Retry once. If still NO-GO -> ask user |\n| Task in To Rework 3+ times | ln-400 reports rework loop | Escalate: \"Task X reworked 3 times, need input\" |\n| ln-500 FAIL | Stage 3 artifact verdict = FAIL | Fix tasks auto-created by ln-500. Stage 2 re-entry. Max 2 quality cycles |\n| Skill call error | Exception from Skill() | `node $PIPELINE status` -> re-invoke same Skill (runtime + artifacts handle resume) |\n| Context compression | PostCompact hook or manual detection | `node $PIPELINE status` -> extract resume_action -> continue |\n\n## Worker Invocation (MANDATORY)\n\n**Host Skill Invocation:** `Skill(skill: \"...\", args: \"...\")` is mandatory delegation.\n- Claude: call the Skill tool exactly as shown.\n- Codex: if no Skill tool exists, locate the named skill in available skills, read its `SKILL.md`, treat `args` as `$ARGUMENTS`, execute that skill workflow, then return here with its result\u002Fartifact.\n- Do not inline worker logic or mark the worker complete without executing the target skill.\n\n| Stage | Skill | Invocation |\n|-------|-------|------------|\n| 0 | ln-300-task-coordinator | `Skill(skill: \"ln-300-task-coordinator\", args: \"{id}\")` |\n| 1 | ln-310-multi-agent-validator | `Skill(skill: \"ln-310-multi-agent-validator\", args: \"{id}\")` |\n| 2 | ln-400-story-executor | `Skill(skill: \"ln-400-story-executor\", args: \"{id}\")` |\n| 3 | ln-500-story-quality-gate | `Skill(skill: \"ln-500-story-quality-gate\", args: \"{id}\")` |\n\n## TodoWrite format (mandatory)\n\n```text\n- Phase 1: Resolve Story and business context (pending)\n- Phase 2: Ask targeted business questions only if needed (pending)\n- Phase 3: Setup pipeline runtime and worktree state (pending)\n- Phase 4: Execute stage 0 -> 3 sequentially with ASSERT guards (pending)\n- Phase 5: Write report, clean worktree, and finalize runtime state (pending)\n- Phase 6: Run pipeline meta-analysis (pending)\n```\n\nTodoWrite format (mandatory):\n```\n{content: \"Stage N: {name} (ln-NNN)\", status: \"pending\", activeForm: \"{verb}ing\"}\n```\n\n## Critical Rules\n\n1. **Single Story processing.** User selects which Story to process\n2. **Coordinators via Skill.** Lead invokes ln-300\u002Fln-310\u002Fln-400\u002Fln-500 via Skill tool. Each coordinator manages its own internal worker dispatch (Agent\u002FSkill)\n3. **Skills as-is.** Never modify or bypass existing skill logic\n4. **Artifact-first verification.** After EVERY Skill call, read coordinator artifact first and re-read kanban only as secondary assertion. Lead never caches stage truth in chat state\n5. **Quality cycle limit.** Max 2 quality FAILs per Story (original + 1 rework). After 2nd FAIL, escalate to user\n6. **Worktree lifecycle.** ln-1000 creates worktree in Phase 3.4. Branch finalization (commit, push) by ln-500. Worktree cleanup by ln-1000 in Phase 5 (lead is in worktree, so ln-500 skips cleanup)\n7. **Stage notes.** Lead writes `.hex-skills\u002Fpipeline\u002Fstage_N_notes_{id}.md` after each stage for Pipeline Report\n8. **Checkpoints.** CLI scripts write run-scoped runtime state under `.hex-skills\u002Fpipeline\u002Fruntime\u002Fruns\u002F{run_id}\u002F` via `node $PIPELINE checkpoint` after each stage\n\n## Known Issues\n\n| Symptom | Likely Cause | Self-Recovery |\n|---------|-------------|---------------|\n| Lead outputs generic text after long run | Context compression destroyed state vars | `node $PIPELINE status` -> extract resume_action -> continue from there |\n| ln-400 stuck on same task | Task in rework loop | ln-400 handles internally; escalates after 3 reworks |\n\n## Anti-Patterns\n- Skipping quality gate after execution (Stage 3 is the next line after Stage 2 -- impossible to skip)\n- Treating kanban state as the primary completion signal instead of coordinator artifacts\n- Running mypy\u002Fruff\u002Fpytest directly instead of letting coordinators handle it\n- Processing multiple stories without user selection\n- Creating worktrees outside Phase 3.4 (coordinators self-detect feature\u002F*)\n- Modifying coordinator internal dispatch (ln-400's Agent\u002FSkill pattern is correct as-is)\n\n## Plan Mode Support\n\nWhen invoked in Plan Mode, show available Stories and ask user which one to plan for:\n\n1. Parse kanban board (Phase 1 steps 1-7)\n2. Show available Stories table\n3. AskUserQuestion: \"Which story to plan for? Enter # or Story ID.\"\n4. Execute Phase 2 (pre-flight questions) if business ambiguities found\n5. Resolve `skill_repo_path` -- absolute path to skills repo root\n6. Show execution plan for selected Story\n7. Write plan to plan file (using format below), call ExitPlanMode\n\n**Plan Output Format:**\n```\n## Pipeline Plan for {date}\n\n> **BEFORE EXECUTING -- MANDATORY READ:** Load `{skill_repo_path}\u002Fln-1000-pipeline-orchestrator\u002FSKILL.md` (full file).\n> After reading SKILL.md, start from Phase 3 (Pipeline Setup) using the context below.\n\n**Story:** {ID}: {Title}\n**Current Status:** {status}\n**Target Stage:** {N} ({skill_name})\n**Storage Mode:** {file|linear}\n**Project Brief:** {name} ({tech})\n**Business Answers:** {answers from Phase 2, or \"none\"}\n**Skill Repo Path:** {skill_repo_path}\n\n### Execution Sequence\n1. Read full SKILL.md + references (Phase 3 prerequisites)\n2. Setup worktree + initialize CLI-managed pipeline state (Phase 3)\n3. Execute stages sequentially via Skill() calls (Phase 4)\n4. Generate pipeline report (Phase 5)\n5. Cleanup worktree + state files (Phase 5)\n```\n\n## Definition of Done (self-verified in Phase 5)\n\n- [ ] User selected Story (`state.story_id` is set)\n- [ ] Business questions resolved (stored OR skip)\n- [ ] Story processed to terminal state (`state.phase IN (\"DONE\", \"PAUSED\")`)\n- [ ] Per-stage ASSERT verifications passed (artifact first, kanban secondary)\n- [ ] Stage notes written for each completed stage\n- [ ] Pipeline report generated (file exists at `docs\u002Ftasks\u002Freports\u002F`)\n- [ ] Pipeline summary shown to user\n- [ ] Worktree cleaned up (Phase 5 step 6)\n- [ ] Meta-Analysis run (Phase 6)\n\n## Phase 6: Meta-Analysis\n\n**MANDATORY READ:** Load  and `references\u002Fphases\u002Fphase6_meta_analysis.md`\n\nSkill type: `execution-orchestrator`. When requested, run after Phase 5. Pipeline-specific implementation (recovery map, trend tracking, assumption audit, report format) in `phase6_meta_analysis.md`.\n\n## Reference Files\n\n### Phase 4-6 Procedures (Progressive Disclosure)\n- **Pipeline flow:** `references\u002Fphases\u002Fphase4_flow.md` (ASSERT guards, stage notes, context recovery, error handling)\n- **Meta-analysis:** `references\u002Fphases\u002Fphase6_meta_analysis.md` (Recovery map, trend tracking, report format)\n\n### Core Infrastructure\n- **MANDATORY READ:** Load `references\u002Fgit_worktree_fallback.md`\n- **MANDATORY READ:** Load `references\u002Fresearch_tool_fallback.md`\n- **Pipeline states:** `references\u002Fpipeline_states.md`\n- **Checkpoint format:** `references\u002Fcheckpoint_format.md`\n- **Kanban parsing:** `references\u002Fkanban_parser.md`\n- **Kanban update algorithm:** `references\u002Fkanban_update_algorithm.md`\n- **Settings template:** `references\u002Ftemplates\u002Fsettings_template.json`\n- **Sleep prevention:** `references\u002Fscripts\u002Fhooks\u002Fprevent-sleep.ps1`\n- **Environment state:** `references\u002Fenvironment_state_contract.md`\n- **Storage mode operations:** `references\u002Fstorage_mode_detection.md`\n- **Auto-discovery patterns:** `references\u002Fauto_discovery_pattern.md`\n\n### Delegated Skills\n- `..\u002Fln-300-task-coordinator\u002FSKILL.md`\n- `..\u002Fln-310-multi-agent-validator\u002FSKILL.md`\n- `..\u002Fln-400-story-executor\u002FSKILL.md`\n- `..\u002Fln-500-story-quality-gate\u002FSKILL.md`\n\n---\n**Version:** 3.0.0\n**Last Updated:** 2026-03-19\n","> **Paths:** File paths (`references\u002F`, `..\u002Fln-*`) are relative to this skill directory.\n\n**Type:** L1 Orchestrator\n**Category:** 1000 Pipeline\n\n# Pipeline Orchestrator\n\nDrives a selected Story through the full pipeline (task planning -> validation -> execution -> quality gate) by invoking coordinators as Skill() calls in a single context and advancing from coordinator stage artifacts.\n\n## Purpose & Scope\n- Parse kanban board and show available Stories for user selection\n- Ask business questions in ONE batch before execution; make technical decisions autonomously\n- Drive selected Story through 4 stages: ln-300 -> ln-310 -> ln-400 -> ln-500\n- Write stage notes + checkpoints after each stage for reporting and recovery\n- Handle failures, retries, rework cycles, and escalation to user\n- Generate pipeline report with branch name, git stats, agent review info\n\n## Hierarchy\n\n```\nL0: ln-1000-pipeline-orchestrator (sequential Skill calls, single context)\n  +-- Skill(\"ln-300\") — task decomposition (internally manages stateful task-plan workers)\n  +-- Skill(\"ln-310\") — validation (internally launches configured external review agents when available)\n  +-- Skill(\"ln-400\") — execution (internally dispatches stateful task workers)\n  +-- Skill(\"ln-500\") — quality gate (internally runs artifact-first ln-510\u002Fln-520, verdict, finalization)\n```\n\n**Key principle:** ln-1000 invokes coordinators via Skill tool. Each coordinator manages its own internal worker dispatch and emits a stage artifact. ln-1000 does NOT modify existing skills — it calls them exactly as a human operator would and treats coordinator artifacts as the primary completion signal.\n\n## Task Storage Mode\n\n**MANDATORY READ:** Load `references\u002Fenvironment_state_contract.md` and `references\u002Fstorage_mode_detection.md`\n\nExtract: `task_provider` = Task Management -> Provider (`linear` | `file`).\n\n## When to Use\n- One Story ready for processing — user picks which one\n- Need end-to-end automation: task planning -> validation -> execution -> quality gate\n- Want controlled Story processing with pipeline report\n\n## Pipeline: 4-Stage State Machine\n\n**MANDATORY READ:** Load `references\u002Fpipeline_states.md` for transition rules and guards.\n**MANDATORY READ:** Load `references\u002Floop_health_contract.md`\n\n```\nBacklog       --> Stage 0 (ln-300) --> Backlog      --> Stage 1 (ln-310) --> Todo\n(no tasks)        create tasks         (tasks exist)      validate            |\n                                                          | NO-GO             |\n                                                          v                   v\n                                                       [retry\u002Fask]    Stage 2 (ln-400)\n                                                                             |\n                                                                             v\n                                                                      To Review\n                                                                             |\n                                                                             v\n                                                                      Stage 3 (ln-500)\n                                                                       |          |\n                                                                      PASS       FAIL\n                                                                       |          v\n                                                                      Done    To Rework -> Stage 2\n                                                               (branch pushed)  (max 2 cycles)\n```\n\n| Stage | Skill | Input Status | Output Status |\n|-------|-------|-------------|--------------|\n| 0 | ln-300-task-coordinator | Backlog (no tasks) | Backlog (tasks created) |\n| 1 | ln-310-multi-agent-validator | Backlog (tasks exist) | Todo |\n| 2 | ln-400-story-executor | Todo \u002F To Rework | To Review |\n| 3 | ln-500-story-quality-gate | To Review | Done \u002F To Rework |\n\n## Workflow\n\n### Phase 0: Recovery Check\n\n```\nPIPELINE=\"{skill_repo}\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Fcli.mjs\"\nrecovery = Bash: node $PIPELINE status\n\nIF recovery.active == true:\n  # Previous run interrupted — resume from CLI state\n  1. Extract: story_id, stage, resume_action from recovery JSON\n  2. Read already-written stage artifacts and runtime state\n  3. Re-read kanban board -> secondary verification only\n  4. IF recovery.state.worktree_dir exists: cd {recovery.state.worktree_dir}\n  5. Jump to Phase 4, starting from resume_action\n\nIF recovery.active == false:\n  # Fresh start — proceed to Phase 1\n```\n\n### Phase 1: Discovery, Kanban Parsing & Story Selection\n\n**MANDATORY READ:** Load `references\u002Fkanban_parser.md` for parsing patterns.\n\n1. Auto-discover `docs\u002Ftasks\u002Fkanban_board.md` (or Linear API via storage mode operations)\n2. Extract project brief from target project's CLAUDE.md (NOT skills repo):\n   ```\n   project_brief = {\n     name: \u003Cfrom H1 or first line>,\n     tech: \u003Cfrom Development Commands \u002F tech references>,\n     type: \u003Cinferred: \"CLI\", \"API\", \"web app\", \"library\">,\n     key_rules: \u003C2-3 critical rules>\n   }\n   IF not found: project_brief = { name: basename(project_root), tech: \"unknown\" }\n   ```\n3. Parse all status sections: Backlog, Todo, In Progress, To Review, To Rework\n4. Extract Story list with: ID, title, status, Epic name, task presence\n5. Filter: skip Stories in Done, Postponed, Canceled\n6. Detect task presence per Story:\n   - Has `_(tasks not created yet)_` -> **no tasks** -> Stage 0\n   - Has task lines (4-space indent) -> **tasks exist** -> Stage 1+\n7. Determine target stage per Story (see `references\u002Fpipeline_states.md` Stage-to-Status Mapping)\n8. Show available Stories and ask user to pick ONE:\n   ```\n   Project: {project_brief.name} ({project_brief.tech})\n\n   Available Stories:\n   | # | Story | Status | Stage | Skill | Epic |\n   |---|-------|--------|-------|-------|------|\n   | 1 | PROJ-42: Auth endpoint | To Review | 3 | ln-500 | Epic: Auth |\n   | 2 | PROJ-55: CRUD users | Backlog (no tasks) | 0 | ln-300 | Epic: Users |\n   | 3 | PROJ-60: Dashboard | Todo | 2 | ln-400 | Epic: UI |\n\n   AskUserQuestion: \"Which story to process? Enter # or Story ID.\"\n   ```\n9. Store selected story. Extract story brief for selected story only:\n   ```\n   description = tracker getStory(selected_story.id).body  \u002F\u002F provider-specific transport per tracker_provider_contract.md\n   story_briefs[id] = parse \u003C!-- ORCHESTRATOR_BRIEF_START\u002FEND --> markers\n   IF no markers: story_briefs[id] = { tech: project_brief.tech, keyFiles: \"unknown\" }\n   ```\n\n### Phase 2: Pre-flight Questions (ONE batch)\n\n1. Load selected Story description (metadata only)\n2. Scan for business ambiguities -- questions where:\n   - Answer cannot be found in codebase, docs, or standards\n   - Answer requires business\u002Fproduct decision (payment provider, auth flow, UI preference)\n3. Collect ALL business questions into single AskUserQuestion\n4. Technical questions -- resolve using project_brief:\n   - Library versions: MCP Ref \u002F Context7 (for `project_brief.tech` ecosystem)\n   - Architecture patterns: `project_brief.key_rules`\n   - Standards compliance: ln-310 Phase 2 handles this\n\n**Skip Phase 2** if no business questions found. Proceed directly to Phase 3.\n\n### Phase 3: Pipeline Setup\n\n#### 3.0 Linear Status Cache (Linear mode only)\n\n```\nIF storage_mode == \"linear\":\n  statuses = list_issue_statuses(teamId=team_id)\n  status_cache = {status.name: status.id FOR status IN statuses}\n\n  REQUIRED = [\"Backlog\", \"Todo\", \"In Progress\", \"To Review\", \"To Rework\", \"Done\"]\n  missing = [s for s in REQUIRED if s not in status_cache]\n  IF missing: ABORT \"Missing Linear statuses: {missing}. Configure workflow.\"\n```\n\n#### 3.1 Pre-flight: Settings Verification\n\nVerify `.claude\u002Fsettings.local.json` in target project:\n- `defaultMode` = `\"bypassPermissions\"` (required for Agent workers spawned by coordinators)\n\n#### 3.2 Worktree Isolation\n\n**MANDATORY READ:** Load `references\u002Fgit_worktree_fallback.md`\n\n```\nbranch_check = git branch --show-current\nIF branch_check matches feature\u002F* \u002F optimize\u002F* \u002F upgrade\u002F* \u002F modernize\u002F*:\n  worktree_dir = CWD\n  project_root = CWD\n  branch = branch_check\nELSE:\n  story_slug = slugify(selected_story.title)\n  branch = \"feature\u002F{selected_story.id}-{story_slug}\"\n  worktree_dir = \".hex-skills\u002Fworktrees\u002Fstory-{selected_story.id}\"\n  project_root = CWD\n\n  changes = git diff HEAD\n  IF changes not empty:\n    git diff HEAD > .hex-skills\u002Fpipeline\u002Fcarry-changes.patch\n\n  git fetch origin\n  base_branch = detect per references\u002Fgit_scope_detection.md §Base Branch Detection\n  git worktree add -b {branch} {worktree_dir} origin\u002F{base_branch}\n\n  IF .hex-skills\u002Fpipeline\u002Fcarry-changes.patch exists:\n    git -C {worktree_dir} apply .hex-skills\u002Fpipeline\u002Fcarry-changes.patch && rm .hex-skills\u002Fpipeline\u002Fcarry-changes.patch\n    IF apply fails: WARN user \"Patch conflicts -- continuing without uncommitted changes\"\n\n  cd {worktree_dir}    # All subsequent Skill calls inherit this CWD\n```\n\nCoordinators self-detect `feature\u002F*` on startup -> skip their own worktree creation (ln-400 Phase 1 step 5).\n\n#### 3.3 Initialize Pipeline State\n\n```\nBash: node $PIPELINE start \\\n  --story {selected_story.id} \\\n  --title \"{selected_story.title}\" \\\n  --storage {storage_mode} \\\n  --project-brief '{JSON.stringify(project_brief)}' \\\n  --story-briefs '{JSON.stringify(story_briefs)}' \\\n  --business-answers '{JSON.stringify(business_answers)}' \\\n  --status-cache '{JSON.stringify(status_cache)}' \\\n  --skill-repo-path \"{skill_repo}\" \\\n  --worktree-dir \"{worktree_dir}\" \\\n  --branch-name \"{branch}\"\n\nIF result.recovery == true:\n  # Active run found — resume instead of fresh start\n  Jump to Phase 4 using result.state\n```\n\n#### 3.4 Sleep Prevention (Windows only)\n\n```\nIF platform == \"win32\":\n  Bash: cp {skill_repo}\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fhooks\u002Fprevent-sleep.ps1 .hex-skills\u002Fpipeline\u002Fprevent-sleep.ps1\n  Bash: powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File .hex-skills\u002Fpipeline\u002Fprevent-sleep.ps1 &\n  sleep_prevention_pid = $!\n```\n\n### Phase 4: Pipeline Execution\n\n**MANDATORY READ:** Load `references\u002Fphases\u002Fphase4_flow.md` for ASSERT guards, stage notes, context recovery, and error handling.\n**MANDATORY READ:** Load `references\u002Fcheckpoint_format.md` for checkpoint schema.\n\n```\n# --- INITIALIZATION ---\nid = selected_story.id\ntarget_stage = determine_stage(selected_story)    # pipeline_states.md \u002F guards.mjs\n\n# --- PROGRESS TRACKER (survives compaction) ---\nTodoWrite([\n  {content: \"Stage 0: Task Decomposition (ln-300)\", status: \"pending\", activeForm: \"Decomposing tasks\"},\n  {content: \"Stage 1: Validation (ln-310)\", status: \"pending\", activeForm: \"Validating story\"},\n  {content: \"Stage 2: Execution (ln-400)\", status: \"pending\", activeForm: \"Executing tasks\"},\n  {content: \"Stage 3: Quality Gate (ln-500)\", status: \"pending\", activeForm: \"Running quality gate\"},\n  {content: \"Pipeline Report + Cleanup\", status: \"pending\", activeForm: \"Generating report\"}\n])\n\n# --- STAGE 0: Task Decomposition ---\nIF target_stage \u003C= 0:\n  Bash: node $PIPELINE advance --story {id} --to STAGE_0\n  Skill(skill: \"ln-300-task-coordinator\", args: \"{id}\")\n  Read Stage 0 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  ASSERT Stage 0 artifact: status=completed, stage=0\n  IF ASSERT fails: Bash: node $PIPELINE record-loop-health --story {id} --stage 0 --payload '{\"error\":\"Stage 0 ASSERT failed\",\"progress_detected\":false}'\n  Re-read kanban only as secondary assertion\n  IF ASSERT fails: Bash: node $PIPELINE pause --story {id} --reason \"Stage 0 artifact missing or invalid\"; ESCALATE\n  Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_0_notes_{id}.md (Key Decisions, Artifacts)\n  Bash: node $PIPELINE checkpoint --story {id} --stage 0 --plan-score {score} --tasks-remaining '{JSON tasks}' --last-action \"Tasks created\"\n\n# --- STAGE 1: Validation ---\nIF target_stage \u003C= 1:\n  Bash: node $PIPELINE advance --story {id} --to STAGE_1\n  IF advance fails (guard rejection): handle per error.recovery\n  Skill(skill: \"ln-310-multi-agent-validator\", args: \"{id}\")\n  Read Stage 1 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  ASSERT artifact verdict = GO and readiness_score >= 5\n  IF NO-GO:\n    Bash: node $PIPELINE advance --story {id} --to STAGE_1    # retry (guard auto-increments validation_retries)\n    IF advance fails: Bash: node $PIPELINE pause --story {id} --reason \"Validation retry exhausted\"; ESCALATE\n    Skill(skill: \"ln-310-multi-agent-validator\", args: \"{id}\")    # retry\n    Read retry Stage 1 artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  IF same ASSERT failure repeats without new Stage 1 artifact\u002Fcheckpoint\u002Fstatus evidence:\n    Bash: node $PIPELINE record-loop-health --story {id} --stage 1 --payload '{\"error\":\"Stage 1 ASSERT failed\",\"progress_detected\":false}'\n    IF result.pause.pause == true: ESCALATE using result.state.paused_reason\n  Re-read kanban only as secondary assertion\n  IF still NOT Todo: Bash: node $PIPELINE pause --story {id} --reason \"Validation artifact or status invalid\"; ESCALATE\n  Extract agents_info from Stage 1 artifact metadata or review runtime state\n  Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_1_notes_{id}.md (Verdict, Agent Review, Key Decisions)\n  Bash: node $PIPELINE checkpoint --story {id} --stage 1 --verdict {verdict} --readiness {score} --agents-info \"{agents}\" --last-action \"Validated\"\n\n# --- COMPACTION RECOVERY (replaces old COMPACTION GUARD) ---\n# If context compacted and vars lost: Bash: node $PIPELINE status --story {id}\n# Extract resume_action from JSON -> continue from there. No manual JSON reads needed.\n\n# --- STAGE 2+3 LOOP (rework cycle, managed by CLI guards) ---\nWHILE true:\n\n  # STAGE 2: Execution\n  IF target_stage \u003C= 2 OR (status shows rework cycle):\n    Bash: node $PIPELINE advance --story {id} --to STAGE_2\n    IF advance fails: Bash: node $PIPELINE pause --story {id} --reason \"{error}\"; ESCALATE; BREAK\n    Skill(skill: \"ln-400-story-executor\", args: \"{id}\")\n    Read Stage 2 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n    ASSERT artifact story_status = To Review\n    IF ASSERT fails: Bash: node $PIPELINE record-loop-health --story {id} --stage 2 --payload '{\"error\":\"Stage 2 ASSERT failed\",\"progress_detected\":false}'\n    Re-read kanban only as secondary assertion\n    IF ASSERT fails: Bash: node $PIPELINE pause --story {id} --reason \"Stage 2 artifact missing or invalid\"; ESCALATE; BREAK\n    git_stats = parse `git diff --stat origin\u002F{base_branch}..HEAD`\n    Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_2_notes_{id}.md (Key Decisions, Git commits)\n    Bash: node $PIPELINE checkpoint --story {id} --stage 2 --tasks-completed '{JSON done}' --git-stats '{JSON stats}' --last-action \"Implementation complete\"\n\n  # STAGE 3: Quality Gate (IMPOSSIBLE TO SKIP — next line after Stage 2)\n  Bash: node $PIPELINE advance --story {id} --to STAGE_3\n  Skill(skill: \"ln-500-story-quality-gate\", args: \"{id}\")\n  Read Stage 3 coordinator artifact -> Bash: node $PIPELINE record-stage-summary --story {id} --payload '{...}'\n  IF repeated identical quality FAIL has no new artifact\u002Ftask\u002Fcode delta:\n    Bash: node $PIPELINE record-loop-health --story {id} --stage 3 --payload '{\"error\":\"Stage 3 repeated quality FAIL\",\"progress_detected\":false}'\n    IF result.pause.pause == true: ESCALATE using result.state.paused_reason\n  Extract quality verdict, score, agents_info from Stage 3 artifact\n  Re-read kanban only as secondary assertion\n  Write stage notes: .hex-skills\u002Fpipeline\u002Fstage_3_notes_{id}.md (Verdict, Score, Agent Review, Branch)\n  Bash: node $PIPELINE checkpoint --story {id} --stage 3 --verdict {verdict} --quality-score {score} --agents-info \"{agents}\" --last-action \"Quality gate: {verdict}\"\n\n  IF Story status = Done:\n    Bash: node $PIPELINE advance --story {id} --to DONE\n    BREAK\n\n  IF Story status = To Rework:\n    Read Stage 3 artifact `metadata.rework_hint` for blocking_categories and suggested_focus\n    Bash: node $PIPELINE advance --story {id} --to STAGE_2    # guard auto-increments quality_cycles\n    IF advance fails (quality_cycles >= 2):\n      Bash: node $PIPELINE pause --story {id} --reason \"Quality gate failed 2 times\"\n      ESCALATE: \"Quality gate failed after max cycles. Manual review needed.\"\n      BREAK\n    # Pass rework focus to ln-400:\n    Skill(skill: \"ln-400-story-executor\", args: \"{id} --rework-focus {blocking_categories}\")\n    CONTINUE\n\n  Bash: node $PIPELINE pause --story {id} --reason \"Unexpected Stage 3 outcome\"\n  ESCALATE: \"Story ended Stage 3 in unexpected status. Manual review needed.\"\n  BREAK\n\n### Stop Conditions (Quality Cycle)\n\n| Condition | Action |\n|-----------|--------|\n| All tasks Done + Story = Done | STOP — Story completed successfully |\n| `quality_cycles >= 2` | STOP — ESCALATE: \"Quality gate failed after max cycles. Manual review needed.\" |\n| Validation retry fails (NO-GO after retry) | STOP — ESCALATE: ask user for direction |\n| Stage 2 precondition fails | STOP — ESCALATE: \"Stage 2 incomplete, manual intervention needed\" |\n| Same stage ASSERT failure repeats without new evidence | STOP — runtime `record-loop-health` pauses with actionable reason |\n\n### Phase 5: Cleanup & Report\n\n```\n# 0. Signal pipeline complete\npre_cleanup_status = Bash: node $PIPELINE status --story {id}\nIF pre_cleanup_status.state.phase != \"DONE\":\n  Bash: node $PIPELINE advance --story {id} --to DONE\n\n# 1. Self-verify against Definition of Done\nstatus = Bash: node $PIPELINE status --story {id}\nfinal_state = status.state.phase OR \"DONE\"\nverification = {\n  story_selected:   status.state.story_id == id\n  story_processed:  final_state IN (\"DONE\", \"PAUSED\")\n}\nIF ANY verification == false: WARN user with details\n\n# 2. Read stage notes\nstage_notes = {}\nFOR N IN 0..3:\n  IF .hex-skills\u002Fpipeline\u002Fstage_{N}_notes_{id}.md exists:\n    stage_notes[N] = read file content\n  ELSE:\n    stage_notes[N] = \"(no notes captured)\"\n\n# 3. Extract branch info\nbranch_name = git branch --show-current\ngit_stats_final = git diff --stat origin\u002F{base_branch}..HEAD (if not already captured)\n\n# 4. Finalize pipeline report\ndurations = {N: stage_timestamps.stage_{N}_end - stage_timestamps.stage_{N}_start\n             FOR N IN 0..3 IF both timestamps exist}\n\nWrite docs\u002Ftasks\u002Freports\u002Fpipeline-{date}.md:\n\n  # Pipeline Report -- {date}\n\n  **Story:** {id} -- {title}\n  **Branch:** {branch_name}\n  **Final State:** {final_state}\n  **Duration:** {now() - pipeline_start_time}\n\n  ## Task Planning (ln-300)\n  | Tasks | Plan Score | Duration |\n  |-------|-----------|----------|\n  | {N} created | {score}\u002F4 | {durations[0]} |\n\n  {stage_notes[0]}\n\n  ## Validation (ln-310)\n  | Verdict | Readiness | Agent Review | Duration |\n  |---------|-----------|-------------|----------|\n  | {verdict} | {score}\u002F10 | {agents_info} | {durations[1]} |\n\n  {stage_notes[1]}\n\n  ## Implementation (ln-400)\n  | Status | Files | Lines | Duration |\n  |--------|-------|-------|----------|\n  | {result} | {files_changed} | +{added}\u002F-{deleted} | {durations[2]} |\n\n  {stage_notes[2]}\n\n  ## Quality Gate (ln-500)\n  | Verdict | Score | Agent Review | Rework | Duration |\n  |---------|-------|-------------|--------|----------|\n  | {verdict} | {score}\u002F100 | {agents_info} | {quality_cycles} | {durations[3]} |\n\n  {stage_notes[3]}\n\n  ## Pipeline Metrics\n  | Wall-clock | Rework cycles | Validation retries |\n  |------------|--------------|-------------------|\n  | {total_duration} | {quality_cycles} | {validation_retries} |\n\n# 5. Show pipeline summary to user\nPipeline Complete:\n| Story | Branch | Planning | Validation | Implementation | Quality Gate | State |\n|-------|--------|----------|------------|----------------|-------------|-------|\n| {id} | {branch} | {stage0} | {stage1} | {stage2} | {stage3} | {final_state} |\n\nReport saved: docs\u002Ftasks\u002Freports\u002Fpipeline-{date}.md\n\n# 6. Worktree cleanup\ncd {project_root}\nIF final_state == \"PAUSED\" AND worktree_dir exists AND worktree_dir != project_root:\n  git -C {worktree_dir} add -A\n  git -C {worktree_dir} commit -m \"WIP: {id} pipeline paused\" --allow-empty\n  git -C {worktree_dir} push -u origin {branch}\n  git worktree remove {worktree_dir} --force\n  Display: \"Partial work saved to branch {branch} (remote). Worktree cleaned.\"\nIF final_state == \"DONE\" AND worktree_dir exists AND worktree_dir != project_root:\n  # ln-500 committed + pushed in Phase 7. Clean worktree only.\n  git worktree remove {worktree_dir} --force\n\n# 7. Stop sleep prevention (Windows)\nIF sleep_prevention_pid:\n  kill $sleep_prevention_pid 2>\u002Fdev\u002Fnull || true\n\n# 8. Remove pipeline state files\nDelete .hex-skills\u002Fpipeline\u002F directory\n\n# 9. Report results location to user\n```\n\n## Coordinator Artifacts as Orchestration Truth\n\n- **Read coordinator artifact first** after each stage completion. Never treat prose output as completion truth\n- Re-read board after each stage only as a secondary assertion for expected status transitions\n- Coordinators (ln-300\u002F310\u002F400\u002F500) update Linear\u002Fkanban via their own logic. Lead verifies the artifact first, then checks board consistency\n- **Update algorithm:** Follow `references\u002Fkanban_update_algorithm.md` for Epic grouping and indentation\n\n## Error Handling\n\n| Situation | Detection | Action |\n|-----------|----------|--------|\n| ln-300 task creation fails | Skill returns error | Escalate to user: \"Cannot create tasks for Story {id}\" |\n| ln-310 NO-GO (Score \u003C5) | Stage 1 artifact verdict != GO | Retry once. If still NO-GO -> ask user |\n| Task in To Rework 3+ times | ln-400 reports rework loop | Escalate: \"Task X reworked 3 times, need input\" |\n| ln-500 FAIL | Stage 3 artifact verdict = FAIL | Fix tasks auto-created by ln-500. Stage 2 re-entry. Max 2 quality cycles |\n| Skill call error | Exception from Skill() | `node $PIPELINE status` -> re-invoke same Skill (runtime + artifacts handle resume) |\n| Context compression | PostCompact hook or manual detection | `node $PIPELINE status` -> extract resume_action -> continue |\n\n## Worker Invocation (MANDATORY)\n\n**Host Skill Invocation:** `Skill(skill: \"...\", args: \"...\")` is mandatory delegation.\n- Claude: call the Skill tool exactly as shown.\n- Codex: if no Skill tool exists, locate the named skill in available skills, read its `SKILL.md`, treat `args` as `$ARGUMENTS`, execute that skill workflow, then return here with its result\u002Fartifact.\n- Do not inline worker logic or mark the worker complete without executing the target skill.\n\n| Stage | Skill | Invocation |\n|-------|-------|------------|\n| 0 | ln-300-task-coordinator | `Skill(skill: \"ln-300-task-coordinator\", args: \"{id}\")` |\n| 1 | ln-310-multi-agent-validator | `Skill(skill: \"ln-310-multi-agent-validator\", args: \"{id}\")` |\n| 2 | ln-400-story-executor | `Skill(skill: \"ln-400-story-executor\", args: \"{id}\")` |\n| 3 | ln-500-story-quality-gate | `Skill(skill: \"ln-500-story-quality-gate\", args: \"{id}\")` |\n\n## TodoWrite format (mandatory)\n\n```text\n- Phase 1: Resolve Story and business context (pending)\n- Phase 2: Ask targeted business questions only if needed (pending)\n- Phase 3: Setup pipeline runtime and worktree state (pending)\n- Phase 4: Execute stage 0 -> 3 sequentially with ASSERT guards (pending)\n- Phase 5: Write report, clean worktree, and finalize runtime state (pending)\n- Phase 6: Run pipeline meta-analysis (pending)\n```\n\nTodoWrite format (mandatory):\n```\n{content: \"Stage N: {name} (ln-NNN)\", status: \"pending\", activeForm: \"{verb}ing\"}\n```\n\n## Critical Rules\n\n1. **Single Story processing.** User selects which Story to process\n2. **Coordinators via Skill.** Lead invokes ln-300\u002Fln-310\u002Fln-400\u002Fln-500 via Skill tool. Each coordinator manages its own internal worker dispatch (Agent\u002FSkill)\n3. **Skills as-is.** Never modify or bypass existing skill logic\n4. **Artifact-first verification.** After EVERY Skill call, read coordinator artifact first and re-read kanban only as secondary assertion. Lead never caches stage truth in chat state\n5. **Quality cycle limit.** Max 2 quality FAILs per Story (original + 1 rework). After 2nd FAIL, escalate to user\n6. **Worktree lifecycle.** ln-1000 creates worktree in Phase 3.4. Branch finalization (commit, push) by ln-500. Worktree cleanup by ln-1000 in Phase 5 (lead is in worktree, so ln-500 skips cleanup)\n7. **Stage notes.** Lead writes `.hex-skills\u002Fpipeline\u002Fstage_N_notes_{id}.md` after each stage for Pipeline Report\n8. **Checkpoints.** CLI scripts write run-scoped runtime state under `.hex-skills\u002Fpipeline\u002Fruntime\u002Fruns\u002F{run_id}\u002F` via `node $PIPELINE checkpoint` after each stage\n\n## Known Issues\n\n| Symptom | Likely Cause | Self-Recovery |\n|---------|-------------|---------------|\n| Lead outputs generic text after long run | Context compression destroyed state vars | `node $PIPELINE status` -> extract resume_action -> continue from there |\n| ln-400 stuck on same task | Task in rework loop | ln-400 handles internally; escalates after 3 reworks |\n\n## Anti-Patterns\n- Skipping quality gate after execution (Stage 3 is the next line after Stage 2 -- impossible to skip)\n- Treating kanban state as the primary completion signal instead of coordinator artifacts\n- Running mypy\u002Fruff\u002Fpytest directly instead of letting coordinators handle it\n- Processing multiple stories without user selection\n- Creating worktrees outside Phase 3.4 (coordinators self-detect feature\u002F*)\n- Modifying coordinator internal dispatch (ln-400's Agent\u002FSkill pattern is correct as-is)\n\n## Plan Mode Support\n\nWhen invoked in Plan Mode, show available Stories and ask user which one to plan for:\n\n1. Parse kanban board (Phase 1 steps 1-7)\n2. Show available Stories table\n3. AskUserQuestion: \"Which story to plan for? Enter # or Story ID.\"\n4. Execute Phase 2 (pre-flight questions) if business ambiguities found\n5. Resolve `skill_repo_path` -- absolute path to skills repo root\n6. Show execution plan for selected Story\n7. Write plan to plan file (using format below), call ExitPlanMode\n\n**Plan Output Format:**\n```\n## Pipeline Plan for {date}\n\n> **BEFORE EXECUTING -- MANDATORY READ:** Load `{skill_repo_path}\u002Fln-1000-pipeline-orchestrator\u002FSKILL.md` (full file).\n> After reading SKILL.md, start from Phase 3 (Pipeline Setup) using the context below.\n\n**Story:** {ID}: {Title}\n**Current Status:** {status}\n**Target Stage:** {N} ({skill_name})\n**Storage Mode:** {file|linear}\n**Project Brief:** {name} ({tech})\n**Business Answers:** {answers from Phase 2, or \"none\"}\n**Skill Repo Path:** {skill_repo_path}\n\n### Execution Sequence\n1. Read full SKILL.md + references (Phase 3 prerequisites)\n2. Setup worktree + initialize CLI-managed pipeline state (Phase 3)\n3. Execute stages sequentially via Skill() calls (Phase 4)\n4. Generate pipeline report (Phase 5)\n5. Cleanup worktree + state files (Phase 5)\n```\n\n## Definition of Done (self-verified in Phase 5)\n\n- [ ] User selected Story (`state.story_id` is set)\n- [ ] Business questions resolved (stored OR skip)\n- [ ] Story processed to terminal state (`state.phase IN (\"DONE\", \"PAUSED\")`)\n- [ ] Per-stage ASSERT verifications passed (artifact first, kanban secondary)\n- [ ] Stage notes written for each completed stage\n- [ ] Pipeline report generated (file exists at `docs\u002Ftasks\u002Freports\u002F`)\n- [ ] Pipeline summary shown to user\n- [ ] Worktree cleaned up (Phase 5 step 6)\n- [ ] Meta-Analysis run (Phase 6)\n\n## Phase 6: Meta-Analysis\n\n**MANDATORY READ:** Load  and `references\u002Fphases\u002Fphase6_meta_analysis.md`\n\nSkill type: `execution-orchestrator`. When requested, run after Phase 5. Pipeline-specific implementation (recovery map, trend tracking, assumption audit, report format) in `phase6_meta_analysis.md`.\n\n## Reference Files\n\n### Phase 4-6 Procedures (Progressive Disclosure)\n- **Pipeline flow:** `references\u002Fphases\u002Fphase4_flow.md` (ASSERT guards, stage notes, context recovery, error handling)\n- **Meta-analysis:** `references\u002Fphases\u002Fphase6_meta_analysis.md` (Recovery map, trend tracking, report format)\n\n### Core Infrastructure\n- **MANDATORY READ:** Load `references\u002Fgit_worktree_fallback.md`\n- **MANDATORY READ:** Load `references\u002Fresearch_tool_fallback.md`\n- **Pipeline states:** `references\u002Fpipeline_states.md`\n- **Checkpoint format:** `references\u002Fcheckpoint_format.md`\n- **Kanban parsing:** `references\u002Fkanban_parser.md`\n- **Kanban update algorithm:** `references\u002Fkanban_update_algorithm.md`\n- **Settings template:** `references\u002Ftemplates\u002Fsettings_template.json`\n- **Sleep prevention:** `references\u002Fscripts\u002Fhooks\u002Fprevent-sleep.ps1`\n- **Environment state:** `references\u002Fenvironment_state_contract.md`\n- **Storage mode operations:** `references\u002Fstorage_mode_detection.md`\n- **Auto-discovery patterns:** `references\u002Fauto_discovery_pattern.md`\n\n### Delegated Skills\n- `..\u002Fln-300-task-coordinator\u002FSKILL.md`\n- `..\u002Fln-310-multi-agent-validator\u002FSKILL.md`\n- `..\u002Fln-400-story-executor\u002FSKILL.md`\n- `..\u002Fln-500-story-quality-gate\u002FSKILL.md`\n\n---\n**Version:** 3.0.0\n**Last Updated:** 2026-03-19\n",{"name":5,"license":15,"description":7,"disable-model-invocation":43},true,"main","fbfb242f793fdf040f3a1a6b100896c188c228c8","_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator",1,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog","https:\u002F\u002Fgithub.com\u002Fvitalikpestov","Listing on crypto exchanges","2026-06-15 22:12:56",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":43},[54,57,60],{"tool":55,"command":56},"npx","npx skills add vitalikpestov\u002FSkills-Catalog --skill ln-1000-pipeline-orchestrator",{"tool":58,"command":59},"bunx","bunx skills add vitalikpestov\u002FSkills-Catalog --skill ln-1000-pipeline-orchestrator",{"tool":61,"command":62},"pnpm","pnpm dlx skills add vitalikpestov\u002FSkills-Catalog --skill ln-1000-pipeline-orchestrator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002FSKILL.md",[65,71,75,79,83,87,91,95,99,103,107,110,114,118,122,126,130,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"README.md","REFERENCE","参考文档",5455,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002FREADME.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fagent_skill_roots_contract.md",2572,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fagent_skill_roots_contract.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fauto_discovery_pattern.md",3292,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fauto_discovery_pattern.md",{"path":80,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fcheckpoint_format.md",4332,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fcheckpoint_format.md",{"path":84,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fenvironment_state_contract.md",2341,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fenvironment_state_contract.md",{"path":88,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fepistemic_protocol.md",3505,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fepistemic_protocol.md",{"path":92,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fgit_scope_detection.md",2462,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fgit_scope_detection.md",{"path":96,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fgit_worktree_fallback.md",2936,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fgit_worktree_fallback.md",{"path":100,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":101,"sourceHtmlUrl":102},"references\u002Fkanban_parser.md",3478,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fkanban_parser.md",{"path":104,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":105,"sourceHtmlUrl":106},"references\u002Fkanban_update_algorithm.md",3017,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fkanban_update_algorithm.md",{"path":108,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":93,"sourceHtmlUrl":109},"references\u002Floop_health_contract.md","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Floop_health_contract.md",{"path":111,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Fmeta_analysis_protocol.md",1509,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fmeta_analysis_protocol.md",{"path":115,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Fphases\u002Fphase4_flow.md",2775,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fphases\u002Fphase4_flow.md",{"path":119,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Fphases\u002Fphase6_meta_analysis.md",2601,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fphases\u002Fphase6_meta_analysis.md",{"path":123,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":124,"sourceHtmlUrl":125},"references\u002Fpipeline_states.md",3404,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fpipeline_states.md",{"path":127,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":128,"sourceHtmlUrl":129},"references\u002Fresearch_tool_fallback.md",1214,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fresearch_tool_fallback.md",{"path":131,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":134,"sourceHtmlUrl":135},"references\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fartifacts.mjs","SCRIPT","脚本",2463,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fartifacts.mjs",{"path":137,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":138,"sourceHtmlUrl":139},"references\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fcli-helpers.mjs",3569,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fcli-helpers.mjs",{"path":141,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":142,"sourceHtmlUrl":143},"references\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fcore.mjs",19048,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fcore.mjs",{"path":145,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":146,"sourceHtmlUrl":147},"references\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Floop-health.mjs",7667,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Floop-health.mjs",{"path":149,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":150,"sourceHtmlUrl":151},"references\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fruntime-constants.mjs",3880,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fruntime-constants.mjs",{"path":153,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":154,"sourceHtmlUrl":155},"references\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fschemas.mjs",38117,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fschemas.mjs",{"path":157,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":158,"sourceHtmlUrl":159},"references\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fvalidate.mjs",4943,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Flib\u002Fvalidate.mjs",{"path":161,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":162,"sourceHtmlUrl":163},"references\u002Fscripts\u002Fcoordinator-runtime\u002Ftest\u002Fcli-test-helpers.mjs",1533,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fcoordinator-runtime\u002Ftest\u002Fcli-test-helpers.mjs",{"path":165,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":166,"sourceHtmlUrl":167},"references\u002Fscripts\u002Fevaluation-runtime\u002Fcli.mjs",14444,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fevaluation-runtime\u002Fcli.mjs",{"path":169,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":170,"sourceHtmlUrl":171},"references\u002Fscripts\u002Fevaluation-runtime\u002Flib\u002Fguards.mjs",9053,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fevaluation-runtime\u002Flib\u002Fguards.mjs",{"path":173,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":174,"sourceHtmlUrl":175},"references\u002Fscripts\u002Fevaluation-runtime\u002Flib\u002Fstore.mjs",12721,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fevaluation-runtime\u002Flib\u002Fstore.mjs",{"path":177,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":178,"sourceHtmlUrl":179},"references\u002Fscripts\u002Fhooks\u002Fprevent-sleep.ps1",1586,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fhooks\u002Fprevent-sleep.ps1",{"path":181,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":182,"sourceHtmlUrl":183},"references\u002Fscripts\u002Fplanning-runtime\u002Flib\u002Fcli.mjs",3949,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fplanning-runtime\u002Flib\u002Fcli.mjs",{"path":185,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":186,"sourceHtmlUrl":187},"references\u002Fscripts\u002Fplanning-runtime\u002Flib\u002Fguards.mjs",1818,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fplanning-runtime\u002Flib\u002Fguards.mjs",{"path":189,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":190,"sourceHtmlUrl":191},"references\u002Fscripts\u002Fplanning-runtime\u002Flib\u002Fstore.mjs",6938,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fplanning-runtime\u002Flib\u002Fstore.mjs",{"path":193,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":194,"sourceHtmlUrl":195},"references\u002Fscripts\u002Fstory-execution-runtime\u002Fcli.mjs",9993,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-execution-runtime\u002Fcli.mjs",{"path":197,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":198,"sourceHtmlUrl":199},"references\u002Fscripts\u002Fstory-execution-runtime\u002Flib\u002Fguards.mjs",10377,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-execution-runtime\u002Flib\u002Fguards.mjs",{"path":201,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":202,"sourceHtmlUrl":203},"references\u002Fscripts\u002Fstory-execution-runtime\u002Flib\u002Fphases.mjs",796,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-execution-runtime\u002Flib\u002Fphases.mjs",{"path":205,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":206,"sourceHtmlUrl":207},"references\u002Fscripts\u002Fstory-execution-runtime\u002Flib\u002Fstore.mjs",12170,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-execution-runtime\u002Flib\u002Fstore.mjs",{"path":209,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":210,"sourceHtmlUrl":211},"references\u002Fscripts\u002Fstory-gate-runtime\u002Fcli.mjs",9408,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-gate-runtime\u002Fcli.mjs",{"path":213,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":214,"sourceHtmlUrl":215},"references\u002Fscripts\u002Fstory-gate-runtime\u002Flib\u002Fguards.mjs",5578,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-gate-runtime\u002Flib\u002Fguards.mjs",{"path":217,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":218,"sourceHtmlUrl":219},"references\u002Fscripts\u002Fstory-gate-runtime\u002Flib\u002Fphases.mjs",712,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-gate-runtime\u002Flib\u002Fphases.mjs",{"path":221,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":222,"sourceHtmlUrl":223},"references\u002Fscripts\u002Fstory-gate-runtime\u002Flib\u002Fstore.mjs",5818,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Fstory-gate-runtime\u002Flib\u002Fstore.mjs",{"path":225,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":226,"sourceHtmlUrl":227},"references\u002Fscripts\u002Ftask-planning-runtime\u002Fcli.mjs",6812,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Ftask-planning-runtime\u002Fcli.mjs",{"path":229,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":230,"sourceHtmlUrl":231},"references\u002Fscripts\u002Ftask-planning-runtime\u002Flib\u002Fguards.mjs",3858,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Ftask-planning-runtime\u002Flib\u002Fguards.mjs",{"path":233,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":234,"sourceHtmlUrl":235},"references\u002Fscripts\u002Ftask-planning-runtime\u002Flib\u002Fphases.mjs",653,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Ftask-planning-runtime\u002Flib\u002Fphases.mjs",{"path":237,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":238,"sourceHtmlUrl":239},"references\u002Fscripts\u002Ftask-planning-runtime\u002Flib\u002Fstore.mjs",3008,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fscripts\u002Ftask-planning-runtime\u002Flib\u002Fstore.mjs",{"path":241,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":242,"sourceHtmlUrl":243},"references\u002Fstorage_mode_detection.md",2042,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Fstorage_mode_detection.md",{"path":245,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":246,"sourceHtmlUrl":247},"references\u002Ftemplates\u002Fsettings_template.json",66,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Freferences\u002Ftemplates\u002Fsettings_template.json",{"path":249,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":250,"sourceHtmlUrl":251},"scripts\u002Fcli.mjs",11614,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Fcli.mjs",{"path":253,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":254,"sourceHtmlUrl":255},"scripts\u002Flib\u002Farch-snapshot.mjs",3302,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Flib\u002Farch-snapshot.mjs",{"path":257,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":258,"sourceHtmlUrl":259},"scripts\u002Flib\u002Fguards.mjs",7085,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Flib\u002Fguards.mjs",{"path":261,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":262,"sourceHtmlUrl":263},"scripts\u002Flib\u002Fphases.mjs",359,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Flib\u002Fphases.mjs",{"path":265,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":266,"sourceHtmlUrl":267},"scripts\u002Flib\u002Fstore.mjs",8478,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Flib\u002Fstore.mjs",{"path":269,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":270,"sourceHtmlUrl":271},"scripts\u002Ftest\u002Fisolation.mjs",2029,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Ftest\u002Fisolation.mjs",{"path":273,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":274,"sourceHtmlUrl":275},"scripts\u002Ftest\u002Floop-health.mjs",1295,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Ftest\u002Floop-health.mjs",{"path":277,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":278,"sourceHtmlUrl":279},"scripts\u002Ftest\u002Fscenario-helpers.mjs",48655,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Ftest\u002Fscenario-helpers.mjs",{"path":281,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":282,"sourceHtmlUrl":283},"scripts\u002Ftest\u002Fscenarios-quality.mjs",1049,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Ftest\u002Fscenarios-quality.mjs",{"path":285,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":286,"sourceHtmlUrl":287},"scripts\u002Ftest\u002Fscenarios.mjs",998,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Ftest\u002Fscenarios.mjs",{"path":289,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":290,"sourceHtmlUrl":291},"scripts\u002Ftest\u002Fsmoke.mjs",415,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fagile-workflow\u002Fskills\u002Fln-1000-pipeline-orchestrator\u002Fscripts\u002Ftest\u002Fsmoke.mjs",[293,337,362,379,402,435],{"skillNo":294,"name":295,"nameZh":6,"description":296,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":297,"categories":298,"keywords":315,"publishedAt":336},"01M71V1MC994P553631JZSWVYD","solana-dev","Use when user asks to \"build a Solana dapp\", \"write an Anchor program\", \"create a token\", \"debug Solana errors\", \"set up wallet connection\", \"test my Solana program\", \"deploy to devnet\", or \"explain Solana concepts\" (rent, accounts, PDAs, CPIs, etc.). End-to-end Solana development playbook covering wallet connection, Anchor\u002FPinocchio programs, Codama client generation, LiteSVM\u002FMollusk\u002FSurfpool testing, and security checklists. Integrates with the Solana MCP server for live documentation search. Prefers framework-kit (@solana\u002Fclient + @solana\u002Freact-hooks) for UI, wallet-standard-first connection (incl. ConnectorKit), @solana\u002Fkit for client\u002FRPC code, and @solana\u002Fweb3-compat for legacy boundaries.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Web3\u002Fsolana-dev\u002Fskill\u002FSKILL.md",[299,304,307,310],{"categoryNo":300,"categoryName":301,"taxonomyType":302,"taxonomyTypeDesc":303},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":305,"categoryName":306,"taxonomyType":302,"taxonomyTypeDesc":303},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":308,"categoryName":309,"taxonomyType":302,"taxonomyTypeDesc":303},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":311,"categoryName":312,"taxonomyType":313,"taxonomyTypeDesc":314},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335],"dev","solana dev","solana","Wallet","search","testing","solana cli","kit","MCP","web3","react","create","server","write","playbook","live","security","ui","concepts","toolchain","2026-11-10 13:02:02",{"skillNo":338,"name":339,"nameZh":6,"description":340,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":341,"categories":342,"keywords":343,"publishedAt":336},"01M71TYQPHE2YGKTT7DG9QCW3K","generating-trading-signals","Generate trading signals using technical indicators (RSI, MACD, Bollinger Bands, etc.).\nCombines multiple indicators into composite signals with confidence scores.\nUse when analyzing assets for trading opportunities or checking technical indicators.\nTrigger with phrases like \"get trading signals\", \"check indicators\", \"analyze for entry\",\n\"scan for opportunities\", \"generate buy\u002Fsell signals\", or \"technical analysis\".","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Trading-Finance\u002Fgenerating-trading-signals\u002FSKILL.md",[],[344,345,346,347,348,349,350,351,352,353,354,355,29,36,356,357,358,359,360,361],"generating trading signals","signals","trading signals","trading","get","technical indicators","for","scan","rsi","trigger","python","technical","Bash","analysis","code","io","check","analyze",{"skillNo":363,"name":364,"nameZh":6,"description":365,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":366,"categories":367,"keywords":368,"publishedAt":336},"01M71TY4CR3GKGQ3M12X9WN95Y","prediction-monitor","Prediction Monitor - Auto-activating skill for ML Deployment.\nTriggers on: prediction monitor, prediction monitor\nPart of the ML Deployment skill category.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Trading-Finance\u002FAI Predictions\u002Fprediction-monitor\u002FSKILL.md",[],[369,370,371,350,372,373,329,374,375,376,377,378,356],"prediction","monitor","prediction monitor","deployment","read","edit","triggers","grep","auto","ml",{"skillNo":380,"name":381,"nameZh":6,"description":382,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":383,"categories":384,"keywords":385,"publishedAt":336},"01M71TXD9MYXZC39HCPP909HTZ","strategy-advisor","High-level strategic thinking and business decision guidance for planning and direction-setting.\nUse when: making strategic decisions, evaluating business options, setting direction, analyzing\ntrade-offs, or when user mentions strategy, business planning, competitive analysis, or long-term planning.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Fstrategy-advisor\u002FSKILL.md",[],[386,387,388,389,390,391,392,393,394,350,395,396,397,29,398,399,36,400,357,401],"strategy advisor","strategy","advisor","competitive","setting","thinking","planning","direction","trade-offs","long","decision","strategic","business","apps","decisions","trade",{"skillNo":403,"name":404,"nameZh":6,"description":405,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":406,"sourceHtmlUrl":407,"categories":408,"keywords":415,"publishedAt":336},"01M71TWHBT2R1P1FNWTW67ZREP","app-paywall-pilot","Design, audit, debug, and implement App Store-compliant mobile paywalls, subscription flows, pricing screens, trials, offers, feature gates, and subscription lifecycle UX. Use when the user asks to audit my paywall, fix App Store 3.1.2 rejection, improve trial-to-paid, choose plans\u002Fprices\u002Ftrials, review RevenueCat\u002FAdapty\u002FApphud\u002FSuperwall setup, calculate LTV\u002FROAS, or build paywall implementation.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FSKILL.md",[409,412],{"categoryNo":410,"categoryName":411,"taxonomyType":302,"taxonomyTypeDesc":303},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":413,"categoryName":414,"taxonomyType":313,"taxonomyTypeDesc":314},"01JBSEEDCAT000000000000032","设计师",[416,417,418,419,420,421,422,423,424,425,426,427,36,428,429,430,431,432,433,434],"app","paywall","app paywall pilot","paid","paywalls","prices","choose","flows","fix","improve","design","app store","review","audit","ux","subscription","mobile","my","calculate",{"skillNo":436,"name":437,"nameZh":6,"description":438,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":439,"licenseFileUrl":440,"sourceHtmlUrl":441,"categories":442,"keywords":445,"publishedAt":336},"01M71TWET8GFKEB7ZHJPMQX29V","figma","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffigma\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffigma\u002FSKILL.md",[443,444],{"categoryNo":308,"categoryName":309,"taxonomyType":302,"taxonomyTypeDesc":303},{"categoryNo":413,"categoryName":414,"taxonomyType":313,"taxonomyTypeDesc":314},[437,446,447,448,449,353,426,324,29,36,450,451,358,452,328,453,454,455,456,457],"fetch","ids","mcp setup","translate","mcp server","Variables","task","Nodes","figma mcp","code implementation","node","assets"]