From vibe-cartographer
Append-only session log schema and append instructions for Vibe Cartographer. Referenced by the guide SKILL at the end of every command. Part of Level 2 (session memory) of the Self-Evolving Plugin Framework.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibe-cartographer:session-loggerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill defines how every command in Vibe Cartographer logs a one-line session entry at completion. The log is the raw feedback signal that future reflective-evolution steps will read to propose plugin improvements.
This skill defines how every command in Vibe Cartographer logs a one-line session entry at completion. The log is the raw feedback signal that future reflective-evolution steps will read to propose plugin improvements.
~/.claude/plugins/data/vibe-cartographer/sessions/<YYYY-MM-DD>.jsonl
mkdir -p the directory on first use.Legacy logs from v0.5.0 and earlier live at ~/.claude/plugins/data/app-project-readiness/sessions/. These are preserved untouched — append-only history is never migrated, it just stays where it was written. Future recall commands will read both locations.
Each entry is a single JSON line with this shape:
{
"schema_version": 1,
"timestamp": "2026-04-15T10:29:00-05:00",
"plugin": "vibe-cartographer",
"plugin_version": "1.0.0",
"command": "onboard",
"project_id": "6vJ7tx2eeW5eZxN9NKrB",
"project_dir": "my-new-app",
"mode": "builder",
"persona": "superdev",
"outcome": "completed",
"user_pushback": false,
"friction_notes": [],
"key_decisions": ["builder chose Builder mode", "provided architecture docs at ./architecture/"],
"artifact_generated": "docs/builder-profile.md"
}
1 for now. Bump when the schema changes. Version skew checks depend on this field."vibe-cartographer". Makes the log self-describing if multiple 626Labs plugins ever write here.plugins/vibe-cartographer/.claude-plugin/plugin.json. If you can't determine it, use "unknown".onboard, scope, prd, spec, checklist, build, iterate, reflect.null. (Bind via mcp__626Labs__manage_projects findByRepo at session start when possible.)learner or builder from the builder profile. null if not yet set (e.g., mid-onboard).professor | cohort | superdev | architect | coach | null (system default). From shared.preferences.persona on the unified profile.completed — command ran to its natural end and produced its expected artifactabandoned — user exited before completion (ctrl-c, switched commands, walked away)error — command hit a blocking error it couldn't recover frompartial — completed but skipped optional sections or couldn't generate all expected outputtrue if the user rejected, heavily edited, or overrode a suggestion the agent made during this command. Be conservative — minor tweaks don't count. Full rewrites do."onboarding_abandoned" — user cancelled during onboard"artifact_rewritten" — user rewrote >50% of a generated doc"repeat_question" — user asked something the agent should have inferred or remembered"stack_mismatch" — plugin suggested something incompatible with the project's actual stack"mode_mismatch" — selected mode (learner/builder) felt wrong for the session"persona_mismatch" — selected persona voice felt wrong for the session"chose Builder mode""skipped deepening rounds in /prd""provided architecture docs at ./architecture/""cut feature X from scope"null if no artifact. E.g., "docs/scope.md", "docs/prd.md", "docs/reflection.md".At the end of every command (after embedded feedback, before the handoff to the next command), the agent should:
null for anything you genuinely can't determine — never fabricate.mkdir -p ~/.claude/plugins/data/vibe-cartographer/sessions/.~/.claude/plugins/data/vibe-cartographer/sessions/<today>.jsonl. Use >> redirection or an equivalent append operation — never overwrite.process-notes.md under the current command section and move on. The session log is instrumentation, not critical path./what-do-you-know command will dump the log contents in human-readable form.rm the sessions directory at any time and the plugin continues working — it just loses the memory and treats subsequent runs like a fresh install for evolution purposes.This log is raw material for Level 3 of the Self-Evolving Plugin Framework. When the /vibe-cartographer-evolve command ships later, it will read these entries and propose plugin improvements based on observed patterns (e.g., "you've skipped deepening rounds in 4/5 PRDs — want to make them off by default?"). Until then, the log is passive — collecting training data for the plugin's future self.
See docs/self-evolving-plugins-framework.md for the full framework context.
npx claudepluginhub estevanhernandez-stack-ed/vibe-cartographer --plugin vibe-cartographerLogs session accomplishments, file changes, commits, decisions, and next steps for future recall. Triggered by phrases like 'save diary' or 'wrapping up'.
Logs activity, manages project memory, and generates reports in .claude/transformers/. Automatically handles pruning of old logs and temp directories.
References Claude Code session log schema for JSONL files under ~/.claude/projects/. Details record types, tool call/result pairing, subagent file locations, team layouts, and config paths. Use for parsing transcripts, PostToolUse hooks, or building analyzers.