complete-task — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited complete-task (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Run clean-code, stage, and commit an in-progress task — the finalization phase of the development workflow. Whether the bead is closed here depends on the workflow: in a trunk / direct-commit repo the commit is the deliverable, so the bead closes now; in a PR-based repo the deliverable is a merged PR, so the bead is left open and closed later at the /create-pr stage.
/verify-task has passed (or verification is not needed)Run /verify-task before this skill to confirm requirements are met and test coverage is adequate. If you haven't verified yet, do that first.
/complete-task # Auto-detect in-progress bead
/complete-task <bead-id> # Complete a specific beadDetermine which bead is being completed:
# If bead ID provided, use it directly
bd show <bead-id>
# Otherwise, find the in-progress bead
bd list --status=in_progressIf multiple beads are in progress, ask the user which one to complete. If no beads are in progress, ask the user what to do.
make clean-codeIf clean-code fails:
Stage only the files changed for this task:
git add <specific-files>Rules:
git add -A or git add .git add src/)Create a commit using conventional commit format:
git commit -m "$(cat <<'EOF'
<type>: <concise description>
EOF
)"Commit message rules:
feat:, fix:, docs:, chore:, refactor:, perf:, test:feat:, bug → fix:, task → contextual)Only after the commit succeeds, detect whether this repo/branch uses a PR-based workflow — it decides whether the bead closes now or later.
# Default branch (origin/HEAD, falling back to local main/master)
default_branch=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null | sed 's#^origin/##')
if [ -z "$default_branch" ]; then
for c in main master; do git show-ref --verify --quiet "refs/heads/$c" && default_branch=$c && break; done
fi
current_branch=$(git branch --show-current)
git remote # empty output = no remoteClassify:
current_branch equals default_branch, or there is no remote, or HEAD is detached. The commit itself is the deliverable.current_branch ≠ default_branch) with a remote. The deliverable is a reviewed, merged PR; this commit is only the first step.Never close a bead if the commit failed or changes are still uncommitted.
Trunk mode — close the bead now (the commit is the whole deliverable):
bd close <bead-id> --reason="<brief summary of what was done>"PR mode — do not close the bead here. By convention the bead is closed one step later, at the /create-pr stage (and reopened if review demands major changes); closing at commit time would be premature, before the PR even exists. Instead, tell the user a PR workflow was detected (on branch {current_branch}) and the bead is being left in_progress, then offer the next step with AskUserQuestion:
/create-pr skill via Skill. It pushes, opens the PR, and closes the bead.in_progress; remind the user to run /create-pr when ready.After finalizing:
Summarize what was done:
/create-pr)/create-pr (or the user) handles the existing PR. Don't open a duplicate.--no-verify or skip git hooks/create-pr handoff, not in this skill/create-pr (reopen later if review demands major changes)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.