Skip to content
Automation
Skill

/sync-docs

Sync tracking documents based on current conversation results. Updates subtask, progress, findings, task_plan, project CLAUDE.md. Use when finishing a task or reaching a milestone.

From plugin
autoworker
1811 skills1 command
Install
$ npx -y skills add phj128/autoworker --skill sync-docs --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sync-docs

Context preview

The summary Claude sees to decide when to auto-load this skill.

Sync tracking documents based on current conversation results. Updates subtask, progress, findings, task_plan, project CLAUDE.md. Use when finishing a task or reaching a milestone.

SKILL.md

sync-docs.SKILL.md
name: sync-docs
description: |
  Sync tracking documents based on current conversation results.
  Updates subtask, progress, findings, task_plan, project CLAUDE.md.
  Use when finishing a task or reaching a milestone.
argument-hint: "[archive|park]"

autoworker:sync-docs — Sync Tracking Documents

Based on work results and discoveries in the current conversation, update all tracking documents.

Input

Optional argument: $ARGUMENTS

  • No argument: Sync only (check off items, record progress, add findings, audit claude_docs)
  • `park`: Sync + pause current subtask (set `status: paused`) + clear plan file. For "task still in progress (e.g., training) but need to switch to something else"
  • `archive`: Sync + archive completed subtask (move to claude_docs/subtask/) + clear plan file. For "task fully complete"

Execution Flow

1. Scan Current State

Find tracking files and document system in the project root:

**Top-level tracking files**:

  • `subtask_*.md` — current in-progress subtasks
  • `progress.md` — progress log
  • `findings.md` — core discoveries
  • `task_plan.md` — task planning
  • Project-level `CLAUDE.md` — project rules and technical info
  • `README.md` — project intro (for humans)

**Progressive disclosure documents**:

  • `claude_docs/reference/*.md` — detailed documents referenced from CLAUDE.md
  • Subdirectory `CLAUDE.md` — index files for each module

Read each existing file to understand current recorded state.

2. Compare Against Conversation Content

Review work completed in this conversation, determine updates needed item by item:

| File | Update condition | Update content | |------|-----------------|----------------| | `subtask_*.md` | Steps were completed | Check off `[x]`, record progress, add verification results | | `progress.md` | Task completed or progressed | Update task item status, add result summary | | `findings.md` | New conclusions or counter-intuitive behaviors discovered | Add new section or update existing section | | `task_plan.md` | Task completed/progressed, or plan changed | Read subtask's "task_plan positioning → corresponding Phase" field, locate and check off `[x]` in task_plan.md with completion timestamp; match by content when no positioning field; update future steps if plan changed | | `CLAUDE.md` | Reusable patterns or lessons learned discovered | Add to appropriate section (don't duplicate existing content) | | `claude_docs/reference/*.md` | Findings in this conversation belong to an existing reference topic | Update corresponding reference document | | Subdirectory `CLAUDE.md` | Changed code structure/files in a module | Update corresponding subdirectory file index | | `README.md` | Added feature or changed usage/installation | Sync update (user-perceivable changes) |

2.5. Reference Document Consistency Check

**Dead link check**: Scan project CLAUDE.md for all `claude_docs/reference/` references, confirm files exist:

  • Referenced file exists → OK
  • Referenced file doesn't exist → report dead link, suggest creating or fixing reference

**New reference identification**: If this conversation produced new lessons or technical documentation (> 20 lines) and CLAUDE.md already exceeds 300 lines, suggest writing to `claude_docs/reference/<topic>.md` and adding a trigger heading in CLAUDE.md, rather than appending directly to CLAUDE.md.

3. Execute Updates

For each file needing update:

  • Read current content first
  • Use Edit for precise updates (don't rewrite entire file)
  • Briefly describe what changed after each update

3.5. claude_docs/ Subdirectory Recursive Audit

Using claude_docs/ progressive disclosure structure, check if this conversation's changes affect subdirectory documents:

**Flow**: 1. `Glob claude_docs/*/CLAUDE.md` → get all subdirectory indexes 2. Read each subdirectory CLAUDE.md (it's the semantic index listing files and purposes) 3. Compare against this conversation's changes:

  • Files in this subdirectory were modified? → update corresponding index entry
  • This subdirectory's topic was affected (e.g., new archived subtask, modified reference)? → update index
  • New files should be added to index? → add
  • Old files should be removed from index? → remove

4. Skip unaffected subdirectories — no need to update everything

4. park (only when argument includes "park")

Pause the current active subtask, clean up workspace, facilitate switching to next task. Subtask file stays in workspace (not archived) and can be resumed later.

1. Glob `subtask_*.md` → grep `status: active` → Edit to `status: paused` 2. Append pause reason in the paused subtask's progress log: `**Paused** — <infer reason from conversation, e.g., "waiting for training completion">` 3. Clear plan file (same logic as archive) 4. Record pause status in `progress.md`

5. archive (only when argument includes "archive")

**Status filter**: 1. Glob `subtask_*.md` (exclude subtask_template.md) → grep `status:` to filter 2. Only archive subtasks with `status: completed` 3. None completed → report "no completed subtask to archive", skip remaining steps 4. Mixed status → report which were archived, which retained (and why: active/paused/no status field)

**Execute archive** (for each completed subtask): 1. Determine sequence number: read `claude_docs/subtask/CLAUDE.md` to find max sequence + 1 2. Copy file: `subtask_<name>.md` → `claude_docs/subtask/<sequence>_<name>_<date>.md` 3. **Delete workspace original**: `rm subtask_<name>.md` (after archiving, don't keep in workspace — prevents dispatch from selecting it next time) 4. Update indexes:

  • `claude_docs/subtask/CLAUDE.md` archive list + Phase grouping
  • `progress.md` add archive link

5. **Clear plan file**: Glob `.claude/plans/*.md`, find current project's plan file, clear contents (write empty string). Archiving = task done — stale plan would interfere with next autoworker:deep-plan.

6. Project CLAUDE.md Health Check

Check project-level `CLAUDE.md` size and structure (i

Read more
Ships withautoworker

An auto-loop execution workflow with quality gates for Claude Code. Give Claude a task. Autoworker decomposes it, implements code, runs tests, and iterates through quality gates — autonomously looping until the job is done right.

Get the whole plugin
Stats
18
Stars
3
Forks
Maintained
Maintenance
Shell
Language
MIT
License
5mo ago
Last commit
5mo ago
Created

Repo: phj128/autoworker

Other skills on autoworker.