MCPInstall

project-memory

Generates project instruction files (AGENTS.md or CLAUDE.md) that transfer institutional knowledge. Use when setting up projects or onboarding. For lessons from a finished project or investigation, use project-retrospective.

Installs
167
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/jamditis/claude-skills-journalism --skill project-memory
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads project-memory automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Project memory generator

Create a project instruction file that transfers institutional knowledge, not obvious information. Think like a senior journalist onboarding a competent colleague. Do not explain how journalism works; explain this project's quirks.

Choose the canonical instruction file

Resolve the target before writing:

  1. If AGENTS.md exists, update it. If no CLAUDE.md exists, then in Claude Code, also create a one-line CLAUDE.md that imports it with @AGENTS.md. Claude Code loads CLAUDE.md, not AGENTS.md.
  2. If only CLAUDE.md exists, update it.
  3. If both exist and one imports the other, edit the imported canonical file.
  4. If neither exists, create AGENTS.md. In Claude Code, also create the same one-line CLAUDE.md import.

Do not create competing copies of the same guidance. Keep nested instruction files only when a subdirectory needs narrower rules than its parent.

Project instructions are advisory

A project instruction file gives standing context to the active client. It does not enforce a rule by itself.

In Claude Code, CLAUDE.md content is delivered as user context after the system prompt. Claude reads it and tries to follow it, but the file does not guarantee strict compliance with vague or conflicting instructions. Source: https://code.claude.com/docs/en/memory

MechanismUse forBehavior
Project instruction fileStanding facts, commands, conventions, and boundariesAdvisory context
SkillsMulti-step procedures and on-demand workflowsLoaded when relevant
Client enforcementActions that must block or run every timeDeterministic only when the client blocks, for example, a Claude Code hook that exits 2 or returns a PreToolUse deny. A prompt hook only adds a reminder

Do not use a client hook as load-bearing shared behavior. If a rule must work in both Claude Code and Codex, state the rule in the project instruction file and document any optional client enforcement separately.

If an instruction is "block writes to published/" or "run an accessibility check before commit," use client enforcement. If it is a "fact-check workflow" or "FOIA-letter drafting," use a skill. Keep standing project facts and rules in the project instruction file.

Claude Code guidance for effective instruction files includes an explicit include/exclude list. Source: https://code.claude.com/docs/en/best-practices

What belongs in the file

Include information an agent cannot infer reliably from the repository:

  • Project-specific build, test, lint, and validation commands.
  • Code or editorial rules that differ from common defaults.
  • Repository etiquette, branch conventions, and approval boundaries.
  • Architecture decisions and non-obvious dependencies.
  • Environment requirements, named variables, and credential pointers without secret values.
  • Common failure modes and the smallest known recovery steps.
  • Source-handling, publication, privacy, or legal constraints specific to the project.

Exclude information the agent can discover cheaply:

  • Standard language conventions and generic advice.
  • Detailed API documentation that has a canonical source.
  • File-by-file repository descriptions.
  • Session logs, status updates, and facts that change often.
  • Long tutorials or narrative history.
  • Credentials, tokens, private values, or personal data.

For journalism projects:

  • Include AP-style preferences that override defaults, source-citation rules, byline policy, embargo handling, source-protection invariants, and CMS quirks (for example, "story slugs must be unique across all desks, not just metro").
  • Exclude "verify facts before publishing" and "use AP Style" without specifics. Every newsroom already knows both.

For every line, ask: Would removing this make a capable agent more likely to make a project-specific mistake? If not, remove it.

Keep the file small and scoped

Use short sections and direct instructions. Treat 200 lines as a review threshold, not a target. When the file grows:

  • Move multi-step procedures into skills.
  • Link to canonical reference documentation.
  • Put narrow directory rules in a nested instruction file.
  • Move transient notes into the client's memory feature or a gitignored local notes file.
  • Remove duplicated and superseded rules.

If both supported clients are used, keep shared guidance in AGENTS.md and let CLAUDE.md import it. Add client-specific guidance only when the behavior cannot be expressed portably, and label the client.

Client-specific scoping options:

  • Claude Code: .claude/rules/ files with paths: frontmatter load only when the agent works on matching files. An @import loads in full at launch, so it does not reduce context size.
  • Codex: a nested AGENTS.md applies to its directory and below.

Client-specific locations

In Claude Code, more specific locations take precedence. Source: https://code.claude.com/docs/en/memory

ScopeClaude Code locationUse case
Managed policyLinux/WSL: /etc/claude-code/CLAUDE.md<br>macOS: /Library/Application Support/ClaudeCode/CLAUDE.md<br>Windows: C:\Program Files\ClaudeCode\CLAUDE.mdOrganization standards that individual settings cannot exclude
Project./CLAUDE.md or ./.claude/CLAUDE.mdTeam-shared instructions checked into version control
User~/.claude/CLAUDE.mdPersonal preferences across projects
Local./CLAUDE.local.mdGitignored personal project notes

In Codex, instructions load from global scope through the current working directory. Later directories override earlier ones, and AGENTS.override.md takes precedence over AGENTS.md in the same directory. Source: https://developers.openai.com/codex/guides/agents-md

ScopeCodex locationUse case
User~/.codex/AGENTS.mdPersonal instructions across projects
Project and nested directoriesAGENTS.md from the repository root through the current working directoryShared rules with narrower directory scope
OverrideAGENTS.override.mdReplace AGENTS.md for the same directory when a temporary or stronger override is required

For journalism teams that use multiple agents, keep shared editorial standards, source-handling invariants, and fact-check protocols in the canonical shared file. Those rules belong to the organization, not one client.

Anti-patterns

  1. Over-specified instructions. Important rules disappear inside generic advice. In Claude Code, if Claude keeps ignoring a rule, the file is probably too long and the rule is getting lost.
  2. Conflicting nested files. A broad rule and a narrow rule disagree without stating which scope wins.
  3. Duplicated client files. Two copies drift and give different guidance.
  4. Stale operational state. Ports, owners, or current status remain after reality changes.
  5. Secrets in instructions. The file is checked into version control.

Voice

  • Use short, direct sentences.
  • Name exact commands and paths only when the project requires them.
  • State who can authorize consequential work.
  • Remove welcome text, marketing language, and generic reminders.
  • Use sentence-case headings.

Auto memory is separate from project instructions

In Claude Code v2.1.59 and later, auto memory stores notes under ~/.claude/projects/<project>/memory/. The first 200 lines of MEMORY.md load into each session. Source: https://code.claude.com/docs/en/memory

Do not ask the user to write down things Claude learns through corrections. Auto memory handles those notes. Project instructions hold durable facts that the team writes and reviews.

Example: good vs. bad

Bad, because it explains obvious setup and gives no institutional knowledge:

# Project instructions

## Overview

Welcome to our newsroom's story tracking system. This React and Node.js app
helps editors and reporters collaborate on stories.

## Getting started

npm install
npm start

Good, because it records only project-specific behavior:

# Project instructions

## Overview

Story tracker for the metro desk. React + Supabase.

## Gotchas

- Story slugs must be unique across all desks, not only metro.
- "Hold" does not stop the autopublish cron. Use "Kill."
- The reporter dropdown caches for one hour. New hires do not appear sooner.

## Commands

npm run sync-ap  # Pull latest from AP. Runs automatically at :15.

## Credentials

The Supabase key is in the 1Password "Metro Desk" vault, not `.env`.

Templates

Templates are in the templates/ directory:

TemplateUse for
editorial-tool.mdNewsroom tools, fact-checkers, and AI assistants
event-website.mdConferences, workshops, and campaign sites
publication.mdNewsletters, podcasts, and continuing publications
research-project.mdInvestigations and scoped data research
content-pipeline.mdCMS workflows and publishing automation
digital-archive.mdHistorical collections and document repositories

Workflow

  1. Resolve the canonical instruction file with the rules above.
  2. Read the existing file and every parent or nested instruction file that applies to the target scope.
  3. Select the closest template. Copy only the sections the project needs.
  4. Preserve existing guidance and ordering unless the user asks for a rewrite.
  5. Replace placeholders with verified project facts. Do not invent commands, owners, paths, or service state.
  6. Keep separately scoped rules in their applicable directories.
  7. Review the final file for duplicates, conflicts, stale facts, and secrets.
  8. If this created AGENTS.md in Claude Code, create the one-line import file described above.

Minimum starter

# Project instructions

## Commands

- Test: [exact command]
- Lint: [exact command]

## Project rules

- [Non-obvious rule that changes how work is done.]
- [Approval or safety boundary.]

## Known failure modes

- [Symptom]: [Cause and verified recovery.]

Start small. Add a rule only after the project demonstrates that agents need it.

Reference files

Read Pinned repository ledger when several agents, runtimes, or people coordinate in one repository.

Last currency sweep

2026-05-09. Sources verified: https://code.claude.com/docs/en/memory and https://code.claude.com/docs/en/best-practices. Codex instruction scoping was checked against official OpenAI documentation on 2026-10-23.

FAQ

What does the project-memory skill do?

Generates project instruction files (AGENTS.md or CLAUDE.md) that transfer institutional knowledge. Use when setting up projects or onboarding. For lessons from a finished project or investigation, use project-retrospective.

How do I install project-memory?

Run npx skills add https://github.com/jamditis/claude-skills-journalism --skill project-memory in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/project-memory/ (personal) or .claude/skills/project-memory/ (project).

Which AI agents can use project-memory?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is project-memory safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains project-memory?

It is published by jamditis in jamditis/claude-skills-journalism. It has 167 recorded installs.

More from jamditis/claude-skills-journalism

View all →

web-scraping

jamditis/claude-skills-journalism

Authorized web scraping with fallback cascades and access-failure handling. Use for social media, yt-dlp, CAPTCHA or 403 blocks.

academic-writing

jamditis/claude-skills-journalism

Scholarly writing and research compliance. Use for CRediT, preregistration, Plan S, Nelson Memo, preprints, ORCID, LLM disclosure.

Docs & Writing2.9K installs

page-monitoring

jamditis/claude-skills-journalism

Web page change detection, availability tracking, and RSS feed generation. Use to monitor changes, downtime, or make a feed.

DevOps & Cloud604 installs

fact-check-workflow

jamditis/claude-skills-journalism

Structured fact-checking workflow. Use when verifying claims for publication, rating claims, or setting pre-publication checks.

pdf-design

jamditis/claude-skills-journalism

Designs PDF reports and proposals from HTML with previews and branding. Use to create, export, or securely upload a PDF.

Docs & Writing505 installs

source-verification

jamditis/claude-skills-journalism

Verify sources, claims, images, video, documents, interviews, and synthetic media with SIFT and a durable evidence trail. Use before relying on uncertain material.

Media & Creative426 installs

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs