ワンクリックで
config-loader
Aria 项目级配置加载器(内部基础设施)。 查找、解析、验证 .aria/config.json 并合并默认值。 此 Skill 不直接触发,由其他 Skills 引用以读取项目配置。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Aria 项目级配置加载器(内部基础设施)。 查找、解析、验证 .aria/config.json 并合并默认值。 此 Skill 不直接触发,由其他 Skills 引用以读取项目配置。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
项目状态扫描与智能工作流推荐,十步循环的统一入口。 收集项目状态、分析变更、推荐最佳工作流、引导用户确认执行。 使用场景:"查看项目当前状态"、"我要提交代码"、"开发新功能"
会话收尾 —— 在任意对话(含未走完十步循环的探索/调试/讨论 session)把"未交接成果" 固化为 handoff。**与十步循环正交平级的会话仪式**(非周期收尾): AI 先内省本对话出 未完成线程 + 待固化经验, 再用机械 autofill 交叉核验补漏, 写 docs/handoff/。leaf — 终结于写交接, 不拖入十步循环。 使用场景: "对话收尾" / "执行对话收尾" / "会话收尾" / "session closeout" / "收尾这次对话" / "写交接" / "写 handoff" / "收工" / "结束本次对话" / context 快满时主动收尾。 不适用 (用 phase-d-closer): "Phase D" / "周期收尾" / "归档 Spec" / "更新 cycle 进度" —— 那是开发周期收尾, 不是会话收尾。
Git 多远程 parity 检测与 push 验证的共享基础设施。 内部工具, 仅供其他 skills 引用。提供标准化 Bash/Python 执行脚本段 + 输出 JSON schema 契约。
任务到 Agent 的智能路由器,根据任务类型、文件路径自动选择最合适的 Agent。 使用场景:subagent-driver 需要为任务选择 Agent、不确定应该使用哪个 Agent
向 Aria 维护团队报告 Bug 或提交功能建议。自动收集环境信息, 自动路由到 Forgejo(内部用户)或 GitHub(外部用户)。 使用场景:"报告 bug"、"report an issue"、"提交功能建议"、 "aria 有个问题想反馈"、"feature request"、"提 issue"、 "反馈问题"、"report bug to aria"
十步循环 Phase B - 开发阶段执行器,编排 B.1-B.3 步骤。 使用场景:"执行开发阶段"、"Phase B"、"创建分支并运行测试"
| name | config-loader |
| description | Aria 项目级配置加载器(内部基础设施)。 查找、解析、验证 .aria/config.json 并合并默认值。 此 Skill 不直接触发,由其他 Skills 引用以读取项目配置。 |
| user-invocable | false |
| disable-model-invocation | true |
| allowed-tools | Read, Glob |
版本: 1.0.0 | 角色: 内部基础设施 Skill
为所有需要读取项目配置的 Skills 提供统一的配置加载逻辑。
1. 查找 .aria/config.json (项目根目录)
2. 如果存在 → 解析 JSON
3. 旧配置兼容映射 (见下方"旧配置兼容层"章节)
4. 验证字段类型和范围
5. 与 DEFAULTS.json 合并 (用户值覆盖默认值)
6. 返回完整配置对象
| 场景 | 行为 |
|---|---|
| 文件缺失 | 静默返回 DEFAULTS.json 全部默认值 |
| JSON 格式错误 | 警告用户 + 返回默认值 |
| 字段类型错误 | 警告 + 使用该字段默认值 |
| 字段值超范围 | 警告 + clamp 到有效范围 |
workflow.auto_proceed:
type: boolean
default: false
state_scanner.confidence_threshold:
type: integer
range: [0, 100]
default: 90
state_scanner.auto_execute_enabled:
type: boolean
default: false
state_scanner.auto_execute_rules:
type: array of string
valid_values: [commit_only, quick_fix, doc_only, feature_with_spec]
default: [commit_only, quick_fix, doc_only]
state_scanner.audit_log_path:
type: string
default: ".aria/audit.log"
# Phase 1.12 — 本地/远程同步检测 (v2.9.0)
state_scanner.sync_check.enabled:
type: boolean
default: true
state_scanner.sync_check.check_submodules:
type: boolean
default: true
state_scanner.sync_check.check_remote:
type: boolean
default: false
# Phase 1.13 — Issue 感知扫描 (v2.9.0, opt-in)
state_scanner.issue_scan.enabled:
type: boolean
default: false
state_scanner.issue_scan.platform:
type: string | null
valid_values: [forgejo, github, null]
default: null
state_scanner.issue_scan.platform_hostnames:
type: object
default:
forgejo: ["forgejo.10cg.pub"]
github: ["github.com"]
# Forgejo hosts precedence (v1.30.0+, per OpenSpec aria-forgejo-hosts-parameterization):
# 1. ARIA_FORGEJO_HOSTS env var (comma-separated) ← highest
# 2. .aria/config.json platform_hostnames.forgejo
# 3. DEFAULTS.json fallback (forgejo.10cg.pub legacy)
# Env override applies to forgejo key only; github key untouched.
# Empty env (""/whitespace) and empty config list ([]) fall through to defaults.
state_scanner.issue_scan.cache_ttl_seconds:
type: integer
range: [60, 86400]
default: 900
state_scanner.issue_scan.cache_path:
type: string
default: ".aria/cache/issues.json"
state_scanner.issue_scan.stage_timeout_seconds:
type: integer
range: [3, 60]
default: 12
state_scanner.issue_scan.api_timeout_seconds:
type: integer
range: [1, 30]
default: 5
state_scanner.issue_scan.limit:
type: integer
range: [1, 100]
default: 20
state_scanner.issue_scan.label_filter:
type: array of string
default: []
# Layer L 多终端协调闸门 (multi-terminal-coordination; opt-out since
# coordination-claim-lifecycle-and-overlap Part A1)
# — coordination.enabled 承载 #133 AC-2 互斥不变式 (advanced-rules.md rule 1.54):
# enabled==true → cross-owner collision 由 phase1_gate 处理;
# enabled==false → 切口2 advisory (rule 1.54) surface collision。两者在 enabled 上严格互斥。
state_scanner.coordination.enabled:
type: boolean
default: true # Part A1 (defect a): false→true — 2026-07-11 双子星撞车实证 opt-in 默认导致认领从不发生; advisory mode 保证翻转不阻断任何流程。显式设 false 可退回 rule 1.54 advisory。
# 已知边界: runtime_probe._resolve_enabled_when 的缺键=off 是通用探针契约不随动 — 无此 key 的项目 coordination_probe 判 skipped (保守), 不误报 warn。
# mode 与 enabled 正交 (仅 enabled==true 时相关), 不改 rule 1.54 disjointness (DEC-20260704-002 §1, R1-C2)
state_scanner.coordination.mode:
type: string
valid_values: [advisory, block]
default: "advisory" # advisory=放行+写推自己 claim+surface 告警 (advisory-over-hardlock); block=旧交互 abort/yield 语义
# 远程引用新鲜度阈值 (state-scanner-stale-refs-false-parity Phase 0)
# — D15′/D18 阈值, 供 F1′ 双轴谓词 (evidence_grade) + 豁免资格判定使用。
# 由 multi_remote.py `_load_sync_freshness_config` 单独读取 (与 multi_remote 块正交)。
state_scanner.sync_freshness.evidence_window_seconds:
type: integer
default: 3600 # 证据窗 (E): leg 的 fetched_at 在此窗内才算 "fresh" 直接证据
state_scanner.sync_freshness.hard_cap_days:
type: integer
default: 7 # 墙钟硬顶: 超过即 expired, 豁免资格 (X) 一律不再成立
state_scanner.sync_freshness.k_min:
type: integer
default: 3 # 连续未验证次数下限; 冷启动下 k_eff = k_min (fail-CLOSED)
tdd.strictness:
type: string
valid_values: [advisory, strict, superpowers]
default: "advisory"
phase_b_developer.framework_build_check.enabled:
type: boolean
default: false # Aria #95: B.2.5 框架 build 验证开关
phase_b_developer.framework_build_check.command:
type: string | null
default: null # build 命令 (如 "npm run build"); null=no-op
phase_b_developer.framework_build_check.mode:
type: string
valid_values: [advisory, blocking]
default: "advisory" # advisory=警告不阻塞 / blocking=失败阻塞进 Phase C
benchmarks.require_before_merge:
type: boolean
default: true
benchmarks.skill_change_block_mode:
type: string
valid_values: [warn, block, off]
default: "warn"
experiments.agent_team_audit:
type: boolean
default: false
experiments.agent_team_audit_points:
type: array of string
valid_values: [pre_merge, post_implementation, post_spec]
default: [pre_merge]
audit.enabled:
type: boolean
default: false
audit.mode:
type: string
valid_values: [adaptive, manual, convergence, challenge]
default: "adaptive"
audit.max_rounds:
type: integer
range: [1, 20]
default: 5
# drift guard 完整功能需 max_rounds >= 3 (DRIFT_TERMINATED 需 consecutive_refocus >= 2,
# 至少 3 轮; max_rounds < 3 时 drift guard 降级为 max_rounds 兜底)
# audit.drift_guard.* — 多轮审计 Drift Guard 阈值与模式开关 (#17, v1.44.0)
audit.drift_guard.warn_threshold:
type: number
range: [0, 1]
default: 0.2
# 域外 → warn + default
audit.drift_guard.refocus_threshold:
type: number
range: [0, 1]
default: 0.5
# 约束 >= warn_threshold, 违反 → warn + 单向 clamp (refocus_threshold 抬升到 warn_threshold)
audit.drift_guard.convergence_mode:
type: boolean
default: false
# challenge 默认开 + convergence 可选 (本字段) + post_closure 由模式选择阶段屏蔽
audit.checkpoints.*:
type: string
valid_values: [off, convergence, challenge]
valid_keys: [post_brainstorm, post_spec, post_planning, post_implementation,
mid_implementation, mid_post_spec, pre_merge, post_closure]
default: "off"
# mid_post_spec (Aria #79): Phase B 实施期 spec 漂移条件触发的快速校验。
# trigger=spec_drift_detected; 恒 max_rounds=1; scope 限漂移点; advisory。
# 见 audit.mid_post_spec block + agent-team-audit/audit-points.md。
# Phase C.2.4 — Pre-Merge Precondition Gate (v1.3.0+, Forgejo Issue #60)
phase_c_integrator.pre_merge_gate.enabled:
type: boolean
default: true
phase_c_integrator.pre_merge_gate.ci_backends:
type: null | array of {name: string} | array of string
default: null # null/missing = auto-detect via static BACKENDS list; [] = explicit disable; non-empty list = user-specified order
# v1.31.0+ replaces legacy `primitive_preference` (alias still works, emits DeprecationWarning, removed in v2.0)
# Supported names: "aether-ci-cli" (real), "github-actions" (stub v1.31.0+)
# See aria/skills/phase-c-integrator/SKILL.md §C.2.4.X CI Backends
phase_c_integrator.pre_merge_gate.no_ci_fallback:
type: string
valid_values: [skip_with_warning, abort]
default: "skip_with_warning"
# v1.31.0+ replaces legacy `no_aether_fallback` (alias still works, emits DeprecationWarning, removed in v2.0)
phase_c_integrator.pre_merge_gate.wait_timeout_seconds:
type: integer
range: [60, 7200]
default: 1800
phase_c_integrator.pre_merge_gate.wait_check_intervals:
type: array of integer
default: [30, 60, 120, 300, 300]
# 数组耗尽后重复 intervals[-1] 直到 wait_timeout_seconds
phase_c_integrator.pre_merge_gate.primitive_call_timeout_seconds:
type: integer
range: [5, 300]
default: 30
phase_c_integrator.pre_merge_gate.poll_chunk_seconds:
type: integer
range: [1, 30]
default: 5
phase_c_integrator.pre_merge_gate.user_escape_hatch:
type: boolean
default: true
在步骤 3(验证之前)执行以下检测和映射,确保旧配置用户无缝升级到新 audit 体系。
同时满足以下两点时触发兼容映射:
experiments.agent_team_audit === trueaudit 块(即 audit 字段为 undefined)experiments.agent_team_audit: true
→ audit.enabled: true
→ audit.mode: "manual"
experiments.agent_team_audit_points 数组元素映射:
"post_spec" → audit.checkpoints.post_spec: "convergence"
"post_implementation" → audit.checkpoints.post_implementation: "convergence"
"pre_merge" → audit.checkpoints.pre_merge: "convergence"
未在 agent_team_audit_points 中出现的检查点保持默认值 "off"。
新增的 4 个检查点(post_brainstorm, post_planning, mid_implementation, post_closure)不在旧配置中,映射后均为 "off"。
兼容映射生效时,必须向用户输出以下提示(仅在实际触发时显示,不影响正常加载):
[config-loader] 检测到旧版审计配置 (experiments.agent_team_audit)。
已自动映射到新配置格式:
audit.enabled: true
audit.mode: "manual"
audit.checkpoints: { <映射结果列表> }
建议将 .aria/config.json 迁移到新格式以获得完整功能(7 个检查点、多轮收敛、挑战模式)。
参考: openspec/changes/auto-audit-system/proposal.md
experiments.agent_team_audit: false(或缺失)→ 跳过兼容映射,正常加载audit 块 → 跳过兼容映射,用户显式配置优先优先级 (高 → 低):
.aria/config.json tdd.strictness ← 项目统一配置 (推荐)
.claude/tdd-config.json ← 遗留配置 (向后兼容)
Skill 内置默认值 (DEFAULTS.json) ← 兜底
当 .aria/config.json 存在时,其 tdd.strictness 覆盖 .claude/tdd-config.json 中的对应字段。.claude/tdd-config.json 中的细粒度字段 (skip_patterns, test_patterns) 不在 .aria/config.json 中重复,继续在原位生效。
其他 Skill 在执行前通过以下模式读取配置:
1. 检查 .aria/config.json 是否存在
2. 如果存在,读取并解析
3. 提取所需字段,缺失字段使用 DEFAULTS.json 中的默认值
4. 字段验证参照上述规则
| Skill | 读取字段 |
|---|---|
| state-scanner | state_scanner.*, workflow.auto_proceed |
| workflow-runner | workflow.auto_proceed |
| tdd-enforcer | tdd.strictness |
| branch-finisher | benchmarks.require_before_merge |
| phase-c-integrator | experiments.agent_team_audit*, audit.* |
| phase-b-developer | experiments.agent_team_audit*, audit.* |
| audit-engine | audit.* |
所有默认值集中管理在 DEFAULTS.json。
最后更新: 2026-06-11 (#17 audit-drift-guard — Drift Guard 原始目的锚定)