skills/forge-changelog/SKILL.md
This skill should be used when the user asks to "show recent changes", "show forge changelog", "show changelog for <project>", "what did I add this week", "what files did I touch today", "what packages keep recurring", "what drifts from the template", "review template suggestions", "show pending forge suggestions", "sync forge templates", "apply template suggestion", or "compute back-mapping suggestions". Provides read, drift-discovery, and template back-mapping workflows that wrap the `forge-db` MCP tools (`get_changelog`, `compute_suggestions`, `apply_suggestion`).
npx skillsauth add kyuna0312/kyuna_token_saver forge-changelogInstall 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.
Surface the forge changelog and the template back-mapping loop. Forge records every Write / Edit into a Postgres changelogs table via a PostToolUse hook; this skill turns that raw stream into three useful workflows: reading recent activity, discovering drift between projects and their templates, and applying recurring drift back into the templates.
This skill complements the /changelog and /sync-template slash commands. The commands are explicit invocations; this skill activates when the user phrases the same intent in conversation (e.g. "what packages keep showing up across my Next.js projects?" instead of typing /sync-template).
The forge half of context_forge depends on:
FORGE_DATABASE_URL exported in the shell that launched Claude Codeforge-db MCP server reachable (registered in .mcp.json)mcp/db/schema.sql)If any forge-db tool returns an error like connection refused or relation does not exist, stop and report the missing piece — do not fabricate changelog data to fill the gap.
Activate on intent, not on exact wording. Treat these intents as in-scope:
| Intent | Example phrasing | Workflow |
|--------|------------------|----------|
| Read history | "what did I change in acme-api yesterday" | Read workflow |
| Filter by type | "list packages I added by hand" | Read workflow + client-side filter |
| Discover drift | "what keeps showing up across all my Next.js projects" | Drift workflow |
| Review suggestions | "show pending template suggestions" | Drift workflow |
| Apply suggestion | "fold zod into the nextjs-trpc-drizzle template" | Apply workflow |
| Cross-project rollup | "what files did I touch today" (no project) | Read workflow, omit project_name |
Out of scope — defer or refuse:
record_change in /scaffold or hooks, not from this skill).change_type outside {file_created, file_edited, dep_added, stack_changed}.Use when the user wants to see what happened (a project, a day, "lately").
project_name. If they said "all projects" or omitted, do not pass project_name — that returns global history.created_at.mcp__forge-db__get_changelog with the resolved args.id first).HH:MM — <change_type> — <file_path or package> [— summary]. Strip the project name from the per-row line if all rows in the result share one project; otherwise prefix [project_name].If the tool returns zero rows, say so plainly. Do not pad the answer with a guess at what "probably" changed.
Use when the user wants to know what manual additions recur — the signal that a template is incomplete.
mcp__forge-db__compute_suggestions with min_occurrences defaulting to 2. If the user said "really recurring" or "only frequent", raise it to 3 or higher.template_id, kind (currently always add_dep), payload (JSON { "package": "..." }), occurrences, and status.[<occurrences>×] Add <package> to template "<template name>" — currently added by hand in <occurrences> project(s).
The template name is not in the suggestion row — look it up by calling mcp__forge-db__get_template once per distinct template_id (or note the IDs and ask the user if many templates are involved). Cache results within the response.If the tool returns zero pending suggestions, say so plainly. Possible reasons: not enough manual deps yet (raise the threshold? lower it?), or every recurring dep is already in the template.
Use only after the user explicitly named which suggestions to apply.
mcp__forge-db__apply_suggestion with suggestion_id and a version. If the user named a version ("zod 3.23"), pass it; otherwise pass "latest" and note in the reply that the user can pin it later by re-running with an explicit version.Never apply suggestions on a --apply flag alone. The slash command's --apply exists, but it does not grant blanket approval — the skill must still confirm each item with the user in this turn.
These match the broader forge contract — break them and the skill produces lies:
change_type is a closed enum: file_created, file_edited, dep_added, stack_changed. Do not coin new types.project_name is null (denormalised fallback), say "unattached" — do not guess which project it belonged to.compute_suggestions returns nothing, the answer is "nothing pending", not a fabricated suggestion.Default to plain markdown (this skill speaks in chat, not via LTX). Use a short heading per calendar day, then a bullet per row. Example shape:
### 2026-05-28
- 14:02 — file_edited — src/api/users.ts
- 13:55 — dep_added — zod (3.23.8)
- 09:11 — file_created — src/api/users.ts
### 2026-05-27
- 17:30 — stack_changed — runtime: node18 → node20
For suggestion review, use a numbered list so the user can reference items by number when choosing what to apply.
All forge-db MCP tools, called only via the registered forge-db server:
mcp__forge-db__get_changelog — read workflowmcp__forge-db__compute_suggestions — drift workflowmcp__forge-db__get_template — template name lookup during drift workflowmcp__forge-db__apply_suggestion — apply workflowDo not call record_change from this skill — it is reserved for the hook and the /scaffold command.
references/mcp-tool-reference.md — full input/output schema for each forge-db tool used here, plus edge cases (null project_name, stack_delta, conflict semantics on apply_suggestion).commands/changelog.md — /changelog slash command (thin wrapper, same data source).commands/sync-template.md — /sync-template slash command (same drift + apply flow).hooks/scripts/record-change.mjs — PostToolUse hook that writes the changelog rows this skill reads.mcp/db/schema.sql — Postgres schema defining the tables and the change_type enum-as-text.development
This skill should be used when the user says "build a wiki", "maintain a wiki", "ingest docs into wiki", "query my wiki", "set up llm wiki", "wiki-based knowledge base", "stop re-reading docs every session", "persistent knowledge base", or "compress my docs into wiki pages".
testing
Use this skill when the user says "/task_brain", "break down this task", "plan this", "decompose this problem", or when a task has multiple moving parts, unclear dependencies, or high ambiguity.
tools
This skill should be used when the user says "optimize settings.json", "tune settings for low tokens", "settings.json for performance", "disable auto memory", "configure for token savings", "minimal context window settings", or "settings taking too many tokens".
tools
This skill should be used when the user asks to "add token counter to status line", "show context usage in status bar", "visualize token usage", "set up token status line", "live token counter", "show context window percentage", or wants to see token burn in the terminal status bar.