一键导入
autonomy
// Activate when a subagent completes work and needs continuation check. Activate when a task finishes to determine next steps or when detecting work patterns in user messages. Governs automatic work continuation and queue management.
// Activate when a subagent completes work and needs continuation check. Activate when a task finishes to determine next steps or when detecting work patterns in user messages. Governs automatic work continuation and queue management.
Activate when user asks to commit, push changes, create a PR, open a pull request, or submit changes for review. Activate when process skill reaches commit or PR phase. Provides commit message formatting and PR structure. PRs default to dev branch, not main. Works with git-privacy skill.
Orchestrate the end-to-end development workflow with autonomous quality gates. Use when users ask to implement/run workflow phases, start or continue development, handle review/QA findings, or process actionable comments by routing through create-work-items -> plan-work-items -> run-work-items. Enforces TDD by default for implementation work and only pauses for genuine decisions.
Activate when user asks to release, bump version, cut a release, merge to main, or tag a version. Handles version bumping (semver), CHANGELOG updates, PR merging, git tagging, and GitHub release creation.
Create and classify typed work items (epic, story, feature, bug, finding, work-item) in the configured tracking backend. Use when users ask to create/capture work or when actionable findings/comments are discovered from review, PR feedback, QA, regressions, or defect reports.
Plan and prioritize existing typed work items with dependency and hierarchy validation. Use when users ask to sequence work, when new actionable findings/comments were captured, or when blockers/dependencies changed before execution.
Activate when user needs coordination, story breakdown, task delegation, or progress tracking. Activate when the pm skill is requested or work requires planning before implementation. PM coordinates specialists but does not implement.
| name | autonomy |
| description | Activate when a subagent completes work and needs continuation check. Activate when a task finishes to determine next steps or when detecting work patterns in user messages. Governs automatic work continuation and queue management. |
| category | process |
| scope | development |
| subcategory | orchestration |
| tags | ["autonomy","continuation","tracking","queue"] |
| version | 10.2.17 |
| author | Karsten Samaschke |
| contact-email | karsten@vanillacore.net |
| website | https://vanillacore.net |
Invoke automatically after subagent completion or when deciding next actions.
| Trigger | Action |
|---|---|
| Subagent returns completed work | Check selected tracking backend for next item |
| Task finishes successfully | Update status, pick next pending item |
| Work pattern detected in user message | Create work items if L2/L3 |
| Multiple tasks identified | Queue all, parallelize if L3 |
| Test ID | Type | Prompt / Condition | Expected Result |
|---|---|---|---|
| AUT-T1 | Positive trigger | "Continue with autonomy after this item completes" | skill triggers |
| AUT-T2 | Positive trigger | "Run the next queued item automatically" | skill triggers |
| AUT-T3 | Negative trigger | "Explain what autonomy levels mean" | skill does not auto-dispatch work |
| AUT-T4 | Behavior | no system autonomy level in user ica-config | ask user to set system level (L1/L2/L3), persist choice |
| AUT-T5 | Behavior | no project autonomy level in project ica-config | ask user to set project level (follow-system/L1/L2/L3), persist choice |
| AUT-T6 | Behavior | project level is follow-system | effective level resolves to system level |
| AUT-T7 | Behavior | project level explicitly set | effective level uses project level override |
| AUT-T8 | Behavior | actionable findings arrive while an item is already in_progress | MUST invoke create-work-items + plan-work-items; run-work-items records deferred dispatch and does not preempt |
| AUT-T9 | Behavior | any continuation cycle executes | MUST include all three skills (create-work-items, plan-work-items, run-work-items) with invocation evidence or fail-closed |
Autonomy level MUST be resolved from ica.config.json (not tracking config).
Level values:
L1L2L3Project-only value:
follow-systemRequired keys:
autonomy.system_level (L1 | L2 | L3, default L2)autonomy.project_level (follow-system | L1 | L2 | L3, default follow-system)Resolution order:
${ICA_HOME}/ica.config.json$HOME/.codex/ica.config.json$HOME/.claude/ica.config.json./ica.config.json (project root)autonomy.system_level from user config.autonomy.project_level from project config.autonomy.project_level is L1/L2/L3, use thatautonomy.project_level is follow-system, use autonomy.system_levelBootstrap prompts (required if missing):
autonomy.system_level is missing:
L2 (recommended), L1, or L3?"ica.config.jsonautonomy.project_level is missing:
follow-system (recommended), L1, L2, or L3?"ica.config.jsonPersistence rules:
ica.config.json.ica.config.json.L2 via system_level=L2 and project_level=follow-system.Example user ica.config.json:
{
"autonomy": {
"system_level": "L2"
}
}
Example project ica.config.json:
{
"autonomy": {
"project_level": "follow-system"
}
}
Compatibility:
autonomy.level exists and autonomy.system_level is missing, treat legacy value as system level for this run and persist it as autonomy.system_level.Resolve backend with config-first precedence:
.agent/tracking.config.json${ICA_HOME}/tracking.config.json$HOME/.codex/tracking.config.json$HOME/.claude/tracking.config.json.agent/queue/Provider values:
githublinear (future)jira (future)file-basedDetection pattern:
TRACKING_PROVIDER=""
for c in ".agent/tracking.config.json" \
"${ICA_HOME:-}/tracking.config.json" \
"$HOME/.codex/tracking.config.json" \
"$HOME/.claude/tracking.config.json"; do
if [ -n "$c" ] && [ -f "$c" ]; then
TRACKING_PROVIDER="$(python3 - <<'PY' "$c"
import json,sys
cfg=json.load(open(sys.argv[1]))
it=cfg.get("issue_tracking",{})
print(it.get("provider","") if it.get("enabled",True) else "file-based")
PY
)"
break
fi
done
[ -z "$TRACKING_PROVIDER" ] && TRACKING_PROVIDER="file-based"
Before continuation or dispatch, ensure a persisted tracking configuration exists and is used:
.agent/tracking.config.json exists, use it.github or file-based) and create it.{
"issue_tracking": { "enabled": true, "provider": "github" },
"tdd": { "enabled": false }
}
If TDD skill is active (locally or globally), ask explicitly for this scope before auto-dispatch:
Persistence rule:
tdd.enabled is missing on first TDD-related invocation, ask for the default and persist it in the selected config file.Resolve from ICA config hierarchy:
autonomy.dispatch_trigger (on_completion | immediate_if_idle, default on_completion)autonomy.interrupt_policy (p0_only | always_confirm | never_preempt, default p0_only)Policy behavior:
on_completion: dispatch next item only after current in_progress item reaches terminal state (completed or blocked).immediate_if_idle: dispatch immediately only when no item is in_progress.p0_only: preempt only for p0/security/data-loss/production-outage.always_confirm: ask before any preemptive switch.never_preempt: never switch away from current in_progress item.in_progress workAfter work completes:
1. Run continuation pre-check gate on selected backend
- Run `validate` skill checks for the just-finished work item
- Run backend-aware tracking verification for the selected backend
- If gate fails: mark item `blocked`, report blocker, STOP auto-continuation
2. Mark current item completed in selected backend
- GitHub: update/close issue via github-issues-planning workflow
- Local: rename file in .agent/queue/
3. Check: Are there pending items in selected backend?
4. Check: Did the work reveal new tasks?
5. If yes → Add to selected backend queue, run create + plan triage, then dispatch next pending item per dispatch trigger and interrupt policy
6. Before dispatching next item, run readiness gate:
- next item is unblocked and has required fields (`type`, `priority`)
- TDD phase ordering is respected when applicable (`RED` -> `GREEN` -> `REFACTOR`)
- backend-aware tracking verification is still passing
7. If no more work → Report completion to user
Autonomy must enforce gates on every transition:
Human-friendly action mapping:
Autonomy MUST involve all three canonical work-item skills in every continuation cycle:
create-work-itemsplan-work-itemsrun-work-itemsEnforcement rules:
create and plan involvement in the same cycle.create-work-items still runs in normalize/no-op mode and records that outcome.in_progress item prevents switching, run-work-items still runs in dispatch-evaluation mode and records deferred (not skipped).Required invocation evidence (per cycle):
cpr.create.invoked=true plus reference (created or normalized-noop)cpr.plan.invoked=true plus reference (reprioritized or validated-noop)cpr.run.invoked=true plus decision (selected | deferred | blocked | done)Triggers queue addition:
Direct response (no queue):
in_progress, newly detected findings/comments are intake-only:
in_progress item first.Uses backend-aware tracking:
.agent/queue/ filesLocal .agent/queue/ remains cross-platform fallback:
See:
create-work-items for creating newly discovered itemsplan-work-items for reprioritization and dependency refreshrun-work-items for selecting and executing next actionable itemgithub-issues-planning for issue lifecycle operationsgithub-state-tracker for prioritized status retrievalResolved effective level comes from:
autonomy.system_level in user ica.config.jsonautonomy.project_level in project ica.config.jsonfollow-system means project uses system settingEffective-level rule:
project_level in (L1, L2, L3) overrides system levelproject_level=follow-system uses system_levelAdditional behavior keys:
autonomy.dispatch_trigger (on_completion | immediate_if_idle)autonomy.interrupt_policy (p0_only | always_confirm | never_preempt)autonomy.system_level triggers user prompt and persistenceautonomy.project_level triggers user prompt and persistencefollow-system correctly resolves to system levelin_progress workica.config.json files are updated at correct scopes (user vs project)deferred run cases)When this skill runs, produce:
system_level, project_level, effective level, bootstrap status)continued | deferred | preempted-with-policy)continue | blocked | done) with exact blocker if failed