基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Dev-Toolbelt/dev-team-agents --skill current-context命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | current-context |
| description | Detect branch, worktree session, and staged changes for devteam. |
Before executing any devteam command, identify the working context so that analysis and actions stay scoped to the right branch and files.
Run these commands in order:
| Command | Purpose |
|---|---|
git branch --show-current | Identify the active branch |
git diff --name-only HEAD | List locally modified files |
git diff --name-only main...HEAD | List all files changed in this branch vs main |
Check .dev-team-agents/.worktree-session (if present) | Identify active worktree and its branch |
Restrict all analysis and actions to files and changes within the detected context. Do NOT scan or act on the full codebase unless the task explicitly requests a broader scope.
If .dev-team-agents/.worktree-session exists, read it before proceeding:
worktree=no — operating on main working tree; no worktree isolation activeworktree=yes branch=<b> — operating inside a worktree on branch <b>; load skills/shared/worktree/SKILL.md and follow its isolation protocolIf the file does not exist, assume the main working tree and proceed normally.
Use git status --porcelain to distinguish:
M (staged modifications) — already added to the index M (unstaged modifications) — modified but not staged?? (untracked files) — new files not yet trackedThis matters when the task involves committing or reviewing only staged work.
After running the context commands, check if the branch is behind the remote main:
git fetch --quiet origin 2>/dev/null || true
BEHIND=$(git rev-list --count HEAD..origin/main 2>/dev/null || echo 0)
If BEHIND is greater than 7:
git rebase origin/main and re-run the context detection.If git fetch fails (no network), skip the check silently and proceed.
Running 4 git commands on every invocation adds latency. Use a short-lived cache stored at .dev-team-agents/user-data/.context-cache.json:
{ "ts": <unix-epoch-seconds>, "branch": "...", "changed": N, "worktree": "yes|no" }
Read the cache first:
CACHE=".dev-team-agents/user-data/.context-cache.json"
NOW=$(date +%s)
if [ -f "$CACHE" ]; then
CURRENT_BRANCH=$(git branch --show-current 2>/dev/null || echo "")
cached_branch=$(python3 -c "import json,sys; d=json.load(open('$CACHE')); print(d.get('branch',''))" 2>/dev/null || echo "")
if [ -n "$CURRENT_BRANCH" ] && [ -n "$cached_branch" ] && [ "$cached_branch" != "$CURRENT_BRANCH" ]; then
# Branch changed — invalidate cache
rm -f "$CACHE"
fi
fi
if [ -f "$CACHE" ]; then
cached_ts=$(python3 -c "import json,sys; print(json.load(open('$CACHE'))['ts'])" 2>/dev/null || echo 0)
age=$(( NOW - cached_ts ))
[ "$age" -lt 1800 ] && echo "Context (cached): $(cat $CACHE)" && exit 0
fi
Write the cache after detection:
python3 -c "
import json, time
json.dump({'ts': int(time.time()), 'branch': '$BRANCH', 'changed': $CHANGED, 'worktree': '$WORKTREE'}, open('$CACHE','w'))
" 2>/dev/null || true
Cache TTL is 1800 seconds (30 minutes). On cache miss, branch change, or stale cache, run the full detection flow and write a fresh cache entry. If python3 is unavailable, skip caching silently and always run the full detection.
After running the commands, produce a one-line context header before any action:
Context: branch=<branch> | worktree=<yes|no> | changed=<N files>
This makes the working scope explicit to any subsequent agent or step.