project-chronicles
Set up and maintain a two-track project documentation system: a working log (implementation decisions tied to code) and usage notes (durable product/process thinking). Detects existing structure and adapts rather than overwriting. Use when starting docs, writing a session log entry, or capturing project context for future sessions.
What this skill does
# Project Chronicles
A two-track documentation system that preserves both implementation history and product/process
thinking across sessions. Built for the reality that future-you (or a future AI session) needs
to orient fast — and that these two kinds of knowledge decay differently.
## The core distinction
**Working log** — what changed and why. Tied to specific files, decisions, commits. Becomes
outdated when the code changes; that's fine, it's a record.
**Usage notes** — what you're learning about the problem, the product, the process. Observations
about how the system behaves, where friction surfaces, what the work wants to be. Stays true
(or worth thinking about) regardless of what's in the code.
**The litmus test:** "Would this note become wrong when the code changes?"
- Yes → working log
- No → usage note
A single session often produces both. Write to each when the session warrants it.
---
## Phase 1: Detect existing structure
Before proposing anything, look at what's already there. Scan the project root for:
- Config files: `CLAUDE.md`, `AGENTS.md`, `.cursor/rules`, or similar agent/session config
- Existing docs directories: `docs/`, `notes/`, `journal/`, `log/`, `.notes/`, or any folder
that looks like it's collecting session or project context
- Any files that resemble working logs or usage notes (common names: `CHANGELOG.md`,
`working-log.md`, `notes.md`, `decisions.md`, `ADR/`)
- **Implementation-record systems** — a separate framework already responsible for recording
per-change decisions. Candidates: `openspec/changes/` (OpenSpec), `docs/adr/` or `decisions/`
(Architecture Decision Records), a `specs/` + `changes/` pair, an actively-maintained
`CHANGELOG.md` with decision-style entries, or a strong issue/PR discipline where decisions
live in GitHub/Linear. The signal is that the project already has a place where "what
changed and why" gets written down on every change.
Present what you found. Be specific: name the files and folders, describe what they appear to
contain, and explain how you'd integrate rather than replace.
If an existing docs structure is close to this pattern (even with different names), say so and
ask whether to adapt it or set up alongside it.
If an implementation-record system was detected, flag it explicitly — its presence changes the
Phase 2 proposal (see "Delegated working-log mode" below).
---
## Phase 2: Confirm configuration
Propose defaults based on what you found, then confirm with the user. The questions that matter:
1. **Docs root** — where should the working log and usage notes live?
Default: `docs/`. If something like `notes/` already exists and makes more sense, propose that.
2. **Delegated working-log mode** — only ask this if an implementation-record system was
detected in Phase 1. Propose: "this project already records per-change decisions in
`<detected path>`. Want to skip the working-log track here and only scaffold usage notes?
The session-start config will point at `<detected path>` for the historical record."
This avoids double-bookkeeping — agents won't keep writing working-log entries alongside
the other system's per-change artifacts. If yes, skip questions 3 below; the working-log
structure question becomes irrelevant.
3. **Working log structure** — single file or subfolder? *(skip in delegated mode)*
The right choice depends on how much the project will accumulate over time.
- **Single file** (`{docs-root}/working-log.md`) — good default for most projects. Simple,
low friction, easy to scan. Fine until it gets long enough to be unwieldy.
- **Subfolder** (`{docs-root}/working-logs/YYYY-QN.md`) — worth it when you expect many
sessions over months or years and want to avoid one enormous file. One file per quarter
is a natural cadence. Could also be monthly or per-major-version.
Ask the user which fits their project's expected lifespan and pace. Default to single file
unless they know this will be a long-running project.
If there's an existing changelog or decisions log, ask if it should be converted or kept separate.
4. **Usage notes location** — subfolder name.
Default: `{docs-root}/usage/`.
These are typically named by topic or session, not by date — propose freeform naming here.
5. **Session-start config** — which file gets the "read these first" instructions?
Look at what exists: if there's a `CLAUDE.md` or `AGENTS.md`, propose injecting a section.
If nothing exists, offer to create one. Ask which they prefer.
6. **Naming conventions** — are there project-specific naming patterns to follow?
If the project already has a README with style conventions, or a CLAUDE.md with rules,
inherit those rather than inventing new ones.
Present the proposed config clearly (a simple list is fine) and ask for confirmation or changes
before writing anything.
---
## Phase 3: Scaffold
Create only what doesn't exist. Never overwrite. In delegated mode, skip the working-log
directory and file — only usage notes and the session-start injection get scaffolded.
### Directories
Create whatever directories are needed based on the agreed structure. If using a subfolder for
working logs, create it. If using a single file, no extra directory needed — just the docs root.
Usage notes always get their own subfolder. Skip creation for anything that already exists.
### Initial working log file *(skip in delegated mode)*
Create the working log file if none exists. The structure is the same regardless of whether
you're using a single file or a subfolder — the difference is just the path:
- Single file: `docs/working-log.md`
- Subfolder: `docs/working-logs/2026-Q2.md` (or whatever period is current)
Use this structure:
```markdown
# Working log — [project name], [period]
Living source of truth for implementation decisions. Read when starting work; append when
finishing a significant block. Any agent or human collaborator should include their signature.
## Entry template
---
## YYYY-MM-DD — Sentence-case summary of what happened
**Agent**: [agent name + model, e.g. Claude Code / Sonnet 4.6, Cursor / GPT-4o, human]
**Scope**: [brief area, e.g. auth, schema, UI, infra]
What was done, decided, or changed. Keep it concise — link to files or commits where details
live. Note any open questions or follow-ups.
---
```
If a working log file already exists for the current period, leave it alone.
### Usage notes directory
Create the folder. No initial file needed — usage notes are written as they emerge, named
by topic. Include a brief `README.md` so the purpose is clear to anyone landing there:
```markdown
# Usage notes
Product and process observations: how sessions feel, where friction surfaces, what the work
wants to be. Distinct from the working log — these stay relevant regardless of code state.
Name files by topic, not date. Write when a session produces insight worth keeping.
```
### Session-start injection
If injecting into an existing config file (`CLAUDE.md`, `AGENTS.md`), add a clearly delimited
section. Don't touch surrounding content.
**Default mode** — when this skill owns the working-log track:
```markdown
## Session start
Before replying substantively to the first message in any session, orient from:
1. The most recent working log entry in `{working-logs-path}/` — what changed recently.
2. The last one or two files in `{usage-notes-path}/` — what we're learning about the work. Scan filenames first; read the most recent in full.
Make sure the logs are written comprehensibly for someone being onboarded to the project.
If a usage note flags unresolved questions or thinking that's ahead of implementation, carry that forward rather than re-deriving it.
```
**Delegated mode** — when another system (OpenSpec, ADRs, etc.) owns the implementation record.
Parameterize the first item to point at whatever was detected in Phase 1:
```markdown
## Session start
Before replying substantively to tRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.