project-memory/SKILL.md
Generate CLAUDE.md project memory files that transfer institutional knowledge, not obvious information. Use when setting up new journalism projects, onboarding collaborators, or documenting project-specific quirks. Includes templates for editorial tools, event websites, publications, research projects, content pipelines, and digital archives.
npx skillsauth add jamditis/claude-skills-journalism project-memoryInstall 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.
Create CLAUDE.md files that transfer tribal knowledge, not obvious information. Think like a senior journalist onboarding a competent colleague—you don't explain how journalism works, you explain YOUR project's quirks.
| Include | Don't include | |---------|---------------| | Project-specific quirks | How journalism works generally | | YOUR naming conventions | Standard file organization | | Commands with YOUR flags | Generic commands like "npm install" | | Non-obvious architecture | Framework documentation | | Common mistakes in THIS project | General best practices | | External service configurations | Information already in comments | | Source handling requirements | Basic ethics everyone knows |
For every line you write, ask: "Would an experienced journalist already know this?"
# CLAUDE.md
## Project overview
[1-2 sentences maximum. What this does + who uses it.]
## Commands
[Only project-specific commands. Not generic ones.]
## Architecture
[Only non-obvious decisions. Where does X live? Why?]
## Patterns
[Only patterns unique to this project]
## Things to avoid
[Project-specific anti-patterns and gotchas]
## External dependencies
[APIs, services, credential locations]
Generic commands everyone knows:
<!-- DELETE THIS -->
git add . # Stage changes
npm install # Install dependencies
Obvious journalism patterns:
<!-- DELETE THIS -->
We verify facts before publishing. All quotes must be
attributed. Follow AP Style...
Framework explanations:
<!-- DELETE THIS -->
React components live in /components. We use hooks
for state management...
Project-specific quirks:
<!-- KEEP THIS -->
Source names in the spreadsheet use LAST, FIRST format
but the CMS expects FIRST LAST. The import script handles
this, but manual entries need flipping.
Non-obvious architecture:
<!-- KEEP THIS -->
Embargo dates are stored in the CMS as NYC time but
displayed in the reader's local time. Server-side renders
use UTC. Check timezone handling before changing date code.
Gotchas that burned you:
<!-- KEEP THIS -->
The AP feed disconnects silently after 4 hours. Cron job
at :00 checks connection and restarts if stale.
Bad (too verbose, obvious):
# CLAUDE.md
## Overview
Welcome to our newsroom's story tracking system! This is a
web application built with React and Node.js that helps
editors and reporters collaborate on stories.
## Getting started
First, make sure you have Node.js installed. Then:
npm install
npm start
Good (tribal knowledge only):
# CLAUDE.md
## Overview
Story tracker for metro desk. React + Supabase.
## Gotchas
- Story slugs must be unique across ALL desks, not just metro
- "Hold" status doesn't stop the autopublish cron—use "Kill"
- Reporter dropdown caches for 1 hour; new hires won't appear
## Commands
npm run sync-ap # Pull latest from AP, runs automatically at :15
## Credentials
Supabase key in 1Password "Metro Desk" vault, not .env
A good CLAUDE.md is 50-150 lines. If it's longer, you're explaining too much. If it's shorter, you might be missing critical quirks.
Templates are in the templates/ directory:
| Template | Use for |
|----------|---------|
| editorial-tool.md | Newsroom tools, fact-checkers, AI assistants |
| event-website.md | Conferences, workshops, campaign sites |
| publication.md | Newsletters, podcasts, ongoing content series |
| research-project.md | Investigations, data journalism with defined scope |
| content-pipeline.md | CMS workflows, publishing automation |
| digital-archive.md | Historical collections, document repositories |
What are you building?
├── Tool for the newsroom → editorial-tool.md
├── Site for an event → event-website.md
├── Recurring content series → publication.md
├── One-time investigation → research-project.md
├── Publishing automation → content-pipeline.md
└── Archive/preservation → digital-archive.md
CLAUDE.mdThe best CLAUDE.md files are written by people who've been burned by the quirks they're documenting.
testing
Configure install-time cooldowns for npm/bun (minimum release age) and run a sandboxed pre-install scan when the cooldown has to be bypassed. Use when the user asks about supply-chain attacks, npm/bun security, "minimum release age", a "cooldown" for installs, hardening against Shai-Hulud-class worms, or how to safely install a package that was just published. Also use after any recent supply-chain incident in the npm ecosystem.
tools
Generate CLAUDE.md project memory files that transfer institutional knowledge, not obvious information. Use when setting up new journalism projects, onboarding collaborators, or documenting project-specific quirks. Includes templates for editorial tools, event websites, publications, research projects, content pipelines, and digital archives.
development
Use when suggesting APIs for a project, looking for free data sources, building weekend projects that need external data, or when the user needs weather, news, finance, sports, ML, or entertainment data without paid subscriptions
development
Choose the correct CLAUDE.md or LESSONS.md template for journalism projects. Use when starting a new project, setting up documentation, or unsure which template category fits best. Provides decision trees and selection guidance for 6 journalism-focused template types.