用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dlt-hub/dlt --skill implement-issue命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | implement-issue |
| description | Triage, plan, and implement a fix or feature for a GitHub issue end-to-end |
| argument-hint | <issue-number> [-- <hints or context from maintainer>] |
Parse $ARGUMENTS to extract:
-- (or all of it if no --) is the issue number. Referred to as ISSUE below.-- is maintainer hints — domain knowledge, suspected root cause, pointers to relevant code, or constraints. If absent, there are no hints.gh issue view ISSUE --json title,body,comments,labels,state,assignees,author,createdAt,milestone
Produce a concise summary: title, reporter, component/area involved, error message, reproduction steps, expected behavior.
Derive the branch category from the issue labels:
| Label contains | Category |
|---|---|
bug | fix |
enhancement, feature | feat |
test | test |
documentation | docs |
If no matching label exists, ask the human for the category.
Collect implementation hints from all available sources, in priority order:
$ARGUMENTS (after --)If the combined hints from these sources provide sufficient direction (suspected root cause, relevant code areas, constraints), proceed directly to step 3 without asking the human.
If hints are insufficient — the issue is vague, the root cause is unclear, or there are multiple possible approaches — ask the human for guidance.
Before jumping to a fix, verify assumptions. This step prevents wasted effort on the wrong solution.
Use Explore agents to thoroughly investigate the relevant code paths. Trace the flow from user-facing API to the point of failure. Read the code — don't guess.
Check whether the reporter is using the library correctly:
If the issue involves specific external systems (destinations, sources, file formats, etc.):
Based on research, conclude one of:
Report findings to the human before moving on.
Before planning, create the working environment so plan-mode exploration runs against a clean branch.
Use the category from step 2 and the issue number:
{category}/{issue-number}-{short-description}
Example: fix/3529-dedup-sort-escape
If ISSUE was already a branch name rather than a number (no ticket exists), use it as given.
Invoke the /worktree-from-issue skill with the branch name:
/worktree-from-issue {branch-name}
This creates the worktree, checks out a new branch from origin/devel, and runs /worktree-make-dev.
Use it also when there is no issue number.
Note the worktree path — referred to as WORKTREE below.
Verify that the cwd is now inside the worktree:
pwd
If pwd does not show WORKTREE, run cd WORKTREE and verify again. Stop with an error if the cwd cannot be set. Once confirmed, subsequent Bash calls will run inside the worktree automatically.
Enter plan mode and design a plan that will pass the /review-pr skill. The review-pr skill checks:
@CLAUDE.md, no over-engineering, proper use of existing patterns and utilities.pyproject.toml flagged.The plan must include:
cd instruction (see @.claude/rules/worktree.md).@CLAUDE.md test guidelines (parallel safety, platform independence, proper fixtures).make test-common for extract/normalize/common work, destination-specific tests for load work. See @CLAUDE.md "Testing strategy" section.Present the plan via ExitPlanMode for human approval.
Apply the changes from the approved plan. Follow these rules:
Dict[str, Any] not dict).def test_*() -> None:, pytest fixtures, @pytest.mark.parametrize for variants.Run verification in this order. Stop and fix issues before proceeding to the next step.
Run only the new/changed test functions using the commands from the plan. Be selective — target specific test functions, not entire modules.
When the fix involves an external system (destination, source, API) where you don't have full visibility into the behavior — a "black box" — verify experimentally that the test actually catches the bug:
This is valuable when you cannot fully predict how the external system handles the input (e.g., how a database treats unquoted identifiers, how an API responds to edge-case payloads). It proves the test is meaningful and not a no-op.
Skip this step when the code path is fully internal and you can reason about correctness from the code alone.
make format && make lint
Both must pass cleanly. Fix any issues before reporting.
Summarize results:
## Fix for #ISSUE: <title>
**Branch**: {branch-name}
**Worktree**: WORKTREE
### Changes
- `<file>`: <description> (<lines> lines)
- ...
### Verification
- <test-function> on <config>: passed
- <test-function> on <config> without fix: FAILED (confirms bug) [if applicable]
- make format: pass
- make lint: pass
Ready to commit.
Wait for the human to confirm before committing.
Create or reuse a git worktree for a pull request or branch so reviews and work happen in isolation
Create a git worktree with a new branch for implementing a fix or feature for a GitHub issue
Review and rewrite the prose a branch adds — docstrings, comments, user-facing messages, docs — against dlt's fixed vocabulary and Simplified Technical English. Invoke as /review-vocabulary.
基于 SOC 职业分类