project-journal

Maintain per-workstream project journal entries and durable repo state trackers.

Updated May 18, 2026
One-click install
npx skills add https://github.com/Joey-Tools/codex-private-workflows --skill project-journal-joey-tools
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-journal
Source: https://github.com/Joey-Tools/codex-private-workflows/tree/main/personal_codex/skills/project-journal
Command: npx skills add https://github.com/Joey-Tools/codex-private-workflows --skill project-journal-joey-tools

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Repositories lose context between coding sessions, PRs, and handoffs, forcing agents and developers to rediscover prior decisions. This Skill maintains lightweight per-workstream journal files under docs/project_journal/ plus optional repo-wide PROJECT_STATE and PROJECT_TODO trackers, while refusing to bootstrap trackers into repos that have not adopted the workflow. ## Core Features & Use Cases - Adoption-gated journaling: Uses the bundled project_journal.py adoption-status helper to verify a valid tracked non-generated journal entry from the Git index before treating the workflow as adopted, so empty directories or generated indexes never trigger unwanted file creation. - Layered state updates: Writes ordinary task, PR, blocker, and handoff state into dated per-workstream journal entries, reserving PROJECT_STATE for repo-wide pulse and PROJECT_TODO for cross-workstream backlog. - Validation and discovery: Validates journal frontmatter, generates local indexes, installs optional Git hooks, and discovers recently touched repos from Codex session rollouts with bounded, fail-closed scanning. - Use Case: After finishing a multi-session PR, ask the agent to record the outcome; it updates only the relevant workstream journal entry and leaves top-level trackers untouched unless a global blocker changed. ## Quick Start Ask the agent to use the project-journal skill to check adoption status for the current repository and update the appropriate journal entry for the work just completed.

Frequently Asked Questions about project-journal

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a project journal to a Git repository?

First confirm adoption: run the bundled helper's adoption-status command or check repo policy. Only create docs/project_journal/ entries when policy requires it, a valid tracked entry exists, or an explicit durable-state need is identified; otherwise leave the repo unchanged.

How do I check whether a repo has adopted the project journal workflow?

Run `python3 scripts/project_journal.py adoption-status --repo <path>` from the skill directory. It validates unconflicted stage-0 index entries and exact blob content, so untracked files, empty directories, or generated INDEX.md files do not count as adoption.

Does the project journal helper work on Windows?

No. The helper supports only macOS and Linux and rejects every other platform before selecting or executing Git, because its process-group, signal-masking, and descriptor safety guarantees are implemented only for those systems.

What Git version does the project journal helper require?

The helper requires Git 2.45 or newer. It runs a bounded credential-free version probe against a private snapshot of the Git executable, and older versions fail closed with an unsupported_git_version error.

When should I not create PROJECT_STATE or PROJECT_TODO files?

Do not create them by default or as a pair. Introduce PROJECT_STATE only for stable repo-wide pulse or global blockers, and PROJECT_TODO only for cross-workstream backlog; ordinary task state belongs in per-workstream journal entries.