skills/start/SKILL.md
Session-start ritual that establishes a learning heartbeat. Detects Tier 1 (code project with .ai-docs/) vs Tier 2 (home directory / institutional mode), loads minimal context, then schedules a recurring CronCreate heartbeat that periodically captures learnings to the appropriate target — project-level learnings.jsonl OR the global wiki at ~/.ai-docs/wiki/. Invoked automatically at session start (after the wiki/project-dna read in ~/CLAUDE.md) or manually via /start.
npx skillsauth add rdfitted/claude-code-setup startInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Session-start ritual. Establishes a learning-capture heartbeat for the duration of this REPL session.
~/CLAUDE.md → "Session Start"./start.If the heartbeat is already scheduled in this session (check CronList first), do NOT re-create it — just print the existing job id and exit.
Call CronList. If any job's prompt contains the sentinel <<start-heartbeat>>, the heartbeat is already running for this session. Print the existing job id and stop — do not schedule a duplicate.
$cwd = (Get-Location).Path.TrimEnd('\','/')
$home = $env:USERPROFILE.TrimEnd('\','/')
$hasJsonl = Test-Path ".ai-docs/learnings.jsonl"
$hasAiDocs = Test-Path ".ai-docs"
if ($cwd -ieq $home) {
$tier = 'tier2' # institutional mode — target global wiki
} elseif ($hasAiDocs) {
$tier = 'tier1' # project mode — target .ai-docs/learnings.jsonl
} else {
$tier = 'tier1-uninit' # code project but no .ai-docs/ yet
}
Decision rules:
cwd == $HOME → Tier 2 (institutional / global wiki).ai-docs/ exists → Tier 1 (project)/init-project-dna to user; still schedule the heartbeat (it will buffer to wiki/log.md until init runs).ai-docs/project-dna.md "Patterns That Work" header to confirm it's readable. Do NOT dump contents.~/.ai-docs/wiki/log.md for the last 3 | curate | or | add | entries to anchor recency. Do NOT dump contents.This step is just to confirm the targets are writable. Keep it tight — under 5 lines of output.
Use CronCreate with these parameters:
17,47 * * * * (every 30 min at :17 and :47 — off-mark per fleet jitter guidance)truefalse (session-only; do not persist to disk)<<start-heartbeat>> so Step 1 can detect duplicates)Heartbeat prompt (self-contained — future ticks have no memory of this session):
<<start-heartbeat>>
Heartbeat tick. Scan what's happened in this REPL session since the last tick (or session start if first tick). Identify NEW patterns worth capturing — generalizable insights, surprising failures, confirmed approaches, anti-patterns, cross-client connections.
Quiet is fine. If nothing meaningful happened, just print "heartbeat: no new patterns" and stop. Do NOT invent learnings to justify the tick.
If there ARE new patterns, capture them based on mode:
**Tier 1 (cwd has .ai-docs/)**: Append one JSONL entry per pattern to {cwd}/.ai-docs/learnings.jsonl using this schema:
{"ts": "<iso>", "session": "<short-id>", "task": "<one-line>", "outcome": "success|failed|partial", "keywords": ["tag1","tag2"], "insight": "<what was learned>", "files_touched": ["path"]}
**Tier 2 (cwd == $HOME)**: Append one line per pattern to ~/.ai-docs/wiki/log.md under today's date:
## YYYY-MM-DD | candidate flagged | <one-line pattern> (source: this session, <brief context>)
**Tier 1 uninit (code project, no .ai-docs/)**: Append to ~/.ai-docs/wiki/log.md as a buffered candidate:
## YYYY-MM-DD | candidate flagged (uninit project: <cwd basename>) | <one-line pattern>
After capture, print a 1-2 sentence summary: "heartbeat: captured N patterns to <target>". Then stop — do not continue other work.
Output a tight banner (4-6 lines max):
/start — heartbeat scheduled
tier: <tier1|tier2|tier1-uninit>
cwd: <basename of cwd>
target: <.ai-docs/learnings.jsonl | ~/.ai-docs/wiki/log.md>
cadence: every 30 min (:17, :47) — fires when REPL is idle
job id: <id from CronCreate>
expires: 7 days (CronCreate ceiling) or session end
If Tier 1 uninit, append one extra line: note: no .ai-docs/ — run /init-project-dna to enable project-level capture (heartbeat buffers to wiki/log.md until then)
Do NOT proceed with other work. The user's actual prompt (if any) follows; respond to that next.
<<start-heartbeat>> sentinel already exists in this session, do not create a second one.durable: true. The heartbeat dies with the REPL on purpose — fresh detection each session.:17/:47, never :00/:30. (See CronCreate fleet-jitter guidance.)cwd == $HOME, ALWAYS Tier 2 even if a stray .ai-docs/ appears in the home dir — institutional mode is the contract for home sessions./curate-learnings — Synthesizes captured heartbeat entries (Tier 1: jsonl → project-dna.md; Tier 2: wiki/log.md candidates → global wiki pages)./init-project-dna — Initializes .ai-docs/ in a code project (run this if /start reports tier1-uninit).~/.ai-docs/wiki/log.md — Tier 2 capture target + provenance trail.~/CLAUDE.md → "Session Start" — Invokes /start after wiki/project-dna reads.development
Restore from the Kopia backup repo in one of two opinionated modes. **wikis** (frequent, default) syncs per-project `.ai-docs/` directories from backup to local project trees — used to move compound-knowledge wikis between machines via the backup drive as sneakernet. **full** (rare) restores all sources to original paths for greenfield machine rebuild. Use when the user says "restore wikis", "sync wikis from backup", "pull the wikis", "I plugged in the backup drive on this machine", "rebuild this machine", "greenfield restore", or "restore everything". For ad-hoc single-file restores, use `backup-ops restore` instead.
documentation
# /bp-iterate Iterate the Fitted Business Plan(s). Manages the **internal canonical** and the **external partner/investor variant**, snapshot-on-version-bump lineage, redaction enforcement between variants, and cross-document coupling. ## When this runs - User says `/bp-iterate`, "iterate the BP," "bump the BP," "update the business plan," "version up the BP," "create / update / refresh the external variant" - A material trigger fires per the BP's own Iteration Log (first 2 new closes / fundi
tools
Run Kopia-based backups of key Windows files and config to an external drive. Use when the user says "back up", "run a backup", "snapshot", "the backup drive is plugged in", or wants to set up / configure backups for the first time. Handles initial repo setup, drive detection by volume label, source enumeration, and snapshot creation with structured exclusions.
testing
Secondary backup operations against the Kopia repo — verify integrity, run maintenance/prune, mirror to a second destination, restore files/folders, or run a quick top-up snapshot of hot directories. Use when the user says "verify backups", "check backup integrity", "prune old snapshots", "restore from backup", "mirror backups to cloud", "quick backup", "top up the backup", or asks about backup health. For the primary backup run, use the `backup` skill instead.