用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/mgrebler/coding-harness --skill speckit-tasks命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | speckit-tasks |
| description | Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts. |
| argument-hint | Optional task generation constraints |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"templates/commands/tasks.md"} |
| user-invocable | true |
| disable-model-invocation | false |
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Check for extension hooks (before tasks generation):
.specify/extensions.yml exists in the project root.hooks.before_tasks keyenabled is explicitly false. Treat hooks without an enabled field as enabled by default.condition expressions:
condition field, or it is null/empty, treat the hook as executablecondition, skip the hook and leave condition evaluation to the HookExecutor implementation.) with hyphens (-). For example, speckit.git.commit → /speckit-git-commit.optional flag:
optional: true):
## Extension Hooks
**Optional Pre-Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
optional: false):
## Extension Hooks
**Automatic Pre-Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
Wait for the result of the hook command before proceeding to the Outline.
.specify/extensions.yml does not exist, skip silentlySetup: Run .specify/scripts/bash/check-prerequisites.sh --json from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'''m Groot' (or double-quote if possible: "I'm Groot").
Load design documents: Read from FEATURE_DIR:
Execute task generation workflow:
Generate tasks.md: Use .specify/templates/tasks-template.md as structure, fill with:
Report: Output path to generated tasks.md and summary:
Context for task generation: $ARGUMENTS
The tasks.md should be immediately executable - each task must be specific enough that an LLM can complete it without additional context.
CRITICAL: Tasks MUST be organized by user story to enable independent implementation and testing.
Tests are MANDATORY: Every unit of implementation generates exactly two tasks as an inseparable pair:
[TEST] <description> — write failing test(s) for this behaviour only, no implementation[IMPL] <description> — implement to pass those tests (must reference paired [TEST] task ID)No [IMPL] task may exist without a paired [TEST] task. No [TEST] task may exist without a paired [IMPL] task. Schema migrations and pure setup tasks that genuinely have no testable behaviour are the only exception — document the exception explicitly in the task entry itself.
Every task MUST strictly follow this format:
- [ ] [TaskID] [TEST|IMPL] [P?] [Story?] Description with file path
Format Components:
- [ ] (markdown checkbox)[TEST] — this task writes failing test(s) only, no implementation[IMPL] — this task writes implementation only, to pass the paired [TEST] task's testsExamples:
- [ ] T001 Create project structure per implementation plan (no test — infrastructure setup)- [ ] T010 [TEST] [P] [US1] Write failing tests for createWidget endpoint in tests/integration/widgets.test.ts- [ ] T011 [IMPL] [US1] Implement createWidget service in src/services/widgets.service.ts (depends on T010)- [ ] T004 Create schema migration for Widget model (no test required — schema migration)- [ ] T010 [US1] Write tests for createWidget (missing [TEST] type label)- [ ] T011 [US1] Implement createWidget (missing [IMPL] type label, missing dependency reference)T001 [TEST] Create test (missing checkbox)- [ ] [TEST] [US1] Write tests (missing Task ID)- [ ] T010 [TEST] [US1] Write tests for createWidget (missing file path)From User Stories (spec.md) - PRIMARY ORGANIZATION:
From Contracts:
From Data Model:
From Setup/Infrastructure:
Check for extension hooks: After tasks.md is generated, check if .specify/extensions.yml exists in the project root.
hooks.after_tasks keyenabled is explicitly false. Treat hooks without an enabled field as enabled by default.condition expressions:
condition field, or it is null/empty, treat the hook as executablecondition, skip the hook and leave condition evaluation to the HookExecutor implementation.) with hyphens (-). For example, speckit.git.commit → /speckit-git-commit.optional flag:
optional: true):
## Extension Hooks
**Optional Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
optional: false):
## Extension Hooks
**Automatic Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
.specify/extensions.yml does not exist, skip silently