소스 정보
- 저장소
- Dev-Toolbelt/dev-team-agents
- 최근 소스 활동
- 2026년 8월 12일 15:30
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Dev-Toolbelt/dev-team-agents --skill user-preferences명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | user-preferences |
| description | User preferences — language and settings from preferences.json. |
All user-level preferences for dev-team-agents are stored in a single file:
.dev-team-agents/user-data/preferences.json
This file is gitignored (covered by .dev-team-agents/user-data/ in .gitignore).
Canonical source:
scripts/lib/preferences-defaults.jsonis the single source of truth for the default schema. It is read byinstall.sh(on install/update) and by thesession-start.shhealth-check backfill, which fills any missing key on every session. The block below mirrors it — keep them in sync.
{
"language": "pt-BR",
"context_window_percent_warning": 55,
"context_window_percent_limit": 60,
"suppress_notifications": false,
"session_summary_max_days": 30,
"session_summary_max_entries": 30,
"docs_stale_after_days": 30,
"auto_update": true,
"update_check_interval_hours": 24,
"transcript_multiplier": 1.8,
"model_max_tokens": 200000,
"session_no_commit_turns": 8,
"telemetry": true,
"worktree_active": true,
"worktree_base_branch": null,
"worktree_commit_action": "ask",
"auto_learn_before_commit": true,
"worktree_path": ".worktrees",
"worktree_docker_isolate": true,
"qa_browser": null,
"ci_cd_detected": null
}
These defaults apply only to a preferences.json that does not exist yet. An existing file is never rewritten: install.sh merges with existing values winning, and the session-start.sh backfill only adds absent keys.
Consent keys — telemetry and auto_update. Both default to true in a fresh file, where the installer prompts for them. They are never backfilled as true into a preferences.json that already exists: that file's owner never saw the prompt for a field added after they installed, so an absent key is read as "no". Both install and the session-start backfill write false in that case.
| Field | Type | Default | Purpose |
|---|---|---|---|
language | string | "pt-BR" | Conversation language (BCP 47 tag). Docs remain English. |
context_window_percent_warning | number | 55 | % at which agents emit a warning notification |
context_window_percent_limit | number | 60 | % at which agents emit a critical notification |
suppress_notifications | bool or array | false | false = none suppressed; true = all suppressed; ["info"] = suppress by type |
session_summary_max_days | number | 30 | Days before session-summary entries are trimmed |
session_summary_max_entries | number | 30 | Maximum number of entries in session-summary.md |
docs_stale_after_days | number | 30 | Days before project.md, session-summary.md, and the last health check are considered stale |
auto_update | bool | true | Auto-update dev-team-agents when a new version is detected (consent key) |
update_check_interval_hours | number | 24 | Hours between update checks |
transcript_multiplier | number | 1.8 | Deprecated, no longer applied — context is read directly from the transcript's last usage entry |
model_max_tokens | number | 200000 | Context window for the active model |
session_no_commit_turns | number |
For where each field is actually read and applied, see the "Consumed at" column in
CLAUDE-md/preferences.md— the canonical consumer table, kept current whenever a field's wiring changes.
Proposing a new value mid-session. When the user repeatedly corrects the same behavior, CLAUDE.md § Correction Pattern Rule governs whether to propose persisting it here. That rule — not this file — owns the trigger (2+ corrections) and the confirmation step; this file only owns the schema the proposal must map to. Never write a field here without the AskUserQuestion confirmation that rule requires.
Two distinct rules govern language in dev-team-agents:
| Output type | Language rule |
|---|---|
| Documents (ADRs, session-summary, plans, changelogs, code comments) | Always English — regardless of preferences.json |
| Conversation with the user (responses, questions, explanations, notifications) | Use language from preferences.json — fallback to English if absent or unreadable |
How agents read the user's language:
PREFS=".dev-team-agents/user-data/preferences.json"
USER_LANG="en"
if [ -f "$PREFS" ] && command -v python3 >/dev/null 2>&1; then
USER_LANG=$(python3 -c \
"import json; d=json.load(open('$PREFS')); print(d.get('language','en'))" \
2>/dev/null || echo "en")
fi
For agents: read .dev-team-agents/user-data/preferences.json at the start of each session. Use the language value when writing any response directed at the user. If the file does not exist, use English.
| Value | Behavior |
|---|---|
false | No suppression — all notifications shown |
true | All notifications suppressed |
["info"] | Only info type suppressed |
["warning", "critical"] | warning and critical suppressed |
Any unrecognized value → treat as false (no suppression). Never fail — graceful degradation only.
If preferences.json does not exist:
warning notification at session start prompting the user to run setup-assistantIf a specific field is missing from the file (partial schema), use its default value.
_pref() {
local field="$1" default="$2"
python3 -c \
"import json,sys; d=json.load(open('.dev-team-agents/user-data/preferences.json')); \
print(d.get('$field', $default))" 2>/dev/null || echo "$default"
}
LANG=$(_pref language '"en"')
WARN_PCT=$(_pref context_window_percent_warning 55)
LIMIT_PCT=$(_pref context_window_percent_limit 60)
SUPPRESS=$(_pref suppress_notifications false)
STALE_DAYS=$(_pref docs_stale_after_days 30)
AUTO_UPDATE=$(_pref auto_update false)
CHECK_HOURS=$(_pref update_check_interval_hours 24)
8| Turns of work with a dirty tree and no commit before a one-time-per-session warning |
telemetry | bool | true | Anonymous usage telemetry (opt out with false) (consent key) |
worktree_active | bool | true | Default to a git worktree per task without asking |
worktree_base_branch | string or null | null | Base branch for worktrees (null = auto-detect) |
worktree_commit_action | string | "ask" | Default post-commit action in an active worktree: ask, finalize, rebase, or commit-only |
auto_learn_before_commit | bool | true | Auto-run /devteam:learn before every commit (false = skip by default) |
worktree_path | string | ".worktrees" | Directory where worktrees are created |
worktree_docker_isolate | bool | true | Isolated Docker Compose stack per worktree (when Docker present) |
qa_browser | string or null | null | Browser the qa-specialist drives (null = ask on first use) |
ci_cd_detected | bool or null | null | Cached GitHub Actions detection (null = unchecked) |
SOC 직업 분류 기준