Skip to content

Keep the process skills and the backlog in the repository - #11

Merged
dpleshakov merged 6 commits into
mainfrom
process-skills
Oct 5, 2026
Merged

dpleshakov merged 6 commits into
mainfrom
process-skills

Conversation

@dpleshakov

Copy link
Copy Markdown
Owner

Summary

Moves the development process into the repository as four process skills and
reworks how planned work is kept.

  • Process skills in .claude/skills/ — tasks, backlog, changelog,
    tech-debt. They are the authoritative rules; CLAUDE.md and CONTRIBUTING.md
    only point to them and record the choices left to the project. Each skill
    opens with "Project version first", so a personal copy defers to the
    repository one.
  • New docs/backlog.md for accepted work that has not started: goal,
    decisions already made, optional Blocked until, priority by position.
    The placeholder tasks files for API domains 3–5 and html-quirks move there
    and are deleted; the exception for the old tasks format goes with
    html-quirks, its only user.
  • tasks skill
    • creates a file only for work that starts now and redirects the rest to
      wherever the project keeps accepted work, without depending on the
      backlog skill;
    • lets the plan change during execution: Pending tasks may be added,
      edited, removed, and renumbered with the user's agreement; Done and
      Skipped tasks are never rewritten;
    • covers postponing an Active file and archiving after the last Pending
      tasks are removed.
  • tech-debt skill gains an optional Fix notes field (TD-07 and TD-08
    now use it instead of overloading Trigger), shows an entry before writing
    it, states which commit closes an entry, and sends new work to the backlog.
  • changelog skill allows all six Keep a Changelog sections; "Choosing
    the version" states that a Deprecated entry does not make a release
    breaking.
  • Documents — purpose preambles in project-brief.md and
    architecture.md; CONTRIBUTING.md explains why the process lives in
    repository files; references to the deleted tasks files now point to
    docs/backlog.md.

dpleshakov and others added 6 commits October 5, 2026 20:22
The tasks, changelog, and tech-debt skills defined how work in tfscli is
planned, how the changelog is written, and how deferred problems are
recorded, yet they lived only in one developer's home directory. CLAUDE.md
told an agent to ask when they were missing, and CONTRIBUTING.md kept a
third copy of their rules as a summary.

The three skills now live under .claude/skills/, so every contributor and
every agent has the same rules. Each file is identical to its general
version: it opens by deferring to a project copy when one exists and to the
project's own documentation where that sets a different convention, so the
choices left to tfscli are written in CONTRIBUTING.md rather than in the
skills. The skills themselves changed in the process:

- changelog uses all six Keep a Changelog sections, names a versioning
  scheme in the preamble only when the project declares one, and leaves an
  existing changelog in another format unconverted unless asked.
- tech-debt closes an entry as fixed, with a reference, or as dropped,
  with a reason - the practice docs/tech-debt.md had already adopted.
- tasks places its files next to existing ones, then in the project's
  documentation directory, then in docs/.

docs/tech-debt.md follows the new entry format and gets a proper title.

The purpose of each project document is now written down where an editor
meets it. CONTRIBUTING.md gains a map of the documents, what each records,
and when it changes; project-brief.md and architecture.md state their
purpose at the top. The brief records purpose, scope, constraints,
non-goals, and design principles and changes only with a product decision;
feature behaviour belongs in README.md. Its sections that describe current
behaviour predate that rule and are recorded as TD-08.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QdgV5rygmGcBfQQBMtuQpt
The tasks skill worded its archive condition three ways, so a file whose
last task was skipped could stay Active, and it sent an agent past a task
left In progress by an interrupted session to the next Pending one. A
task now counts as resolved when it is Done or Skipped, the file is
archived once every task is resolved, and an unfinished task is resumed
before a new one starts. The skill's invariant against assuming project
files no longer contradicts its rule that project conventions win, mode
detection no longer treats a request for new work as a request to continue
the one active file, and a project whose tasks files are all archived
keeps new ones beside the archive rather than in it.

The tech-debt skill described adding an entry only during a review; it now
covers any deliberate deferral and says which commit the entry goes into.
A deferred bug is no longer excluded, and the closing remark no longer
borrows "archived" from the tasks skill.

The rest is wording: metaphors and a first-person placeholder in the
skills, an unclear sentence in the changelog skill, two inaccuracies in
the Process section of CONTRIBUTING.md, an ambiguous reference and an
outdated list heading in CLAUDE.md, whose document descriptions now match
the headers of the brief and the architecture, the header paragraphs
written in the line style of their files, a time-bound "now" in TD-08,
and a row for .claude/ in the top-level directories of architecture.md so
that it is not confused with skills/.

The skills under .claude/skills/ remain identical to their general
versions.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QdgV5rygmGcBfQQBMtuQpt
Work accepted for later was kept as Active tasks files holding a single
placeholder task to be broken down when its turn came. The tasks skill
has no such stage: a breakdown made in advance goes stale, most of the
effort before a start is discussion rather than tasks, and with several
Active files its mode detection could never pick one on its own.

A fourth process skill, backlog, now owns docs/backlog.md: accepted work
in priority order, each entry carrying its goal, the decisions already
made, and an optional trigger. The three API domains and the HTML quirks
work move there, and their tasks files are removed; none had a resolved
task. HTML quirks was the only file in the old format, so the exception
for that format goes with it.

The tasks skill now refuses to create a file for work that does not
start now and points to wherever the project keeps planned work, without
naming the backlog skill, which a user of tasks may not have. It also
lets the plan change during execution: Pending tasks may be added,
edited, reordered, or removed with the user's agreement, Done tasks are
never rewritten, and task numbers are identifiers rather than order.

The tech-debt format gains an optional Fix notes field, so that what is
already known about a fix no longer has to be folded into the trigger;
TD-07 and TD-08 are rewritten to use it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Piji2RRZC6jeJ51vEorrNJ
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013xePd54F4w9BtuyAbVQUnD
The review read the skills as an agent would, literally, and found rules
that contradict each other or leave a case uncovered.

"Plan" meant both the breakdown of work that starts now and work kept
for later. It now means only the breakdown; the backlog is "accepted
work that has not started" everywhere, and "plan" is gone from the
backlog skill's triggers. Its precondition field is renamed from Trigger
to Blocked until, since a tech-debt Trigger makes a fix necessary while
the backlog field only permits a start.

The tasks skill now covers what the previous change left open: archiving
when the last Pending tasks are removed rather than resolved, postponing
an Active file (deleted when everything moves to the backlog, archived
with its unresolved tasks skipped when it holds work already done), and
a request for the next work when no Active file exists. Pending tasks may
be renumbered to follow their order; Done and Skipped ones keep their
numbers, since commits refer to them.

The tech-debt skill sends accepted future work to the backlog, as the
backlog skill already sends deferred problems to tech debt; shows an
entry to the user before writing it and allows editing it, as the
backlog does; says which commit closes an entry; and uses "entry" and
`short-name` like the other skills.

The changelog keeps the six Keep a Changelog sections. The four-section
rule CONTRIBUTING.md used to state went away with the move into skills;
"Choosing the version" now says that a Deprecated entry does not make a
release breaking. The Process list there names each skill and its
document only, since its summaries were what drifted from the skills.

The ordering reason of the API domains is repeated in each domain entry
of the backlog, so it survives when the first one starts.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Piji2RRZC6jeJ51vEorrNJ
Postponed work is accepted work that has not started, as the backlog
defines it: once it stops, it counts as not started again.

Renumbering Pending tasks keeps the numbers of Done, Skipped, and In
progress tasks and never reuses one of them, so a Skipped task between
Pending ones no longer causes a collision.

The rule for deleting a postponed tasks file is stated without a double
negative.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013xePd54F4w9BtuyAbVQUnD
@dpleshakov
dpleshakov merged commit ee79d2d into main Oct 5, 2026
1 check passed
@dpleshakov
dpleshakov deleted the process-skills branch October 5, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant