fmddr-skills
v0.7.0
Published
Claude Code skills for fmddr — FileMaker DDR analyzer
Maintainers
Readme
fmddr — agent skills
Skills for working with fmddr from
Claude Code, Cursor, and any agent that reads AGENTS.md.
| Skill | Triggers on | Purpose |
| --------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------- |
| fmddr-setup | "set up fmddr", "install fmddr", "index my DDR", fmddr not found in PATH | Install fmddr and build the index for a solution |
| fmddr | FileMaker / DDR / fmp12 / Profile.xml / "where is X used" / refactor talk | Recognize when to reach for fmddr and use it correctly |
| fmddr-issue | "report a bug", "file an issue", "feature request" — for fmddr | Open a high-quality issue at proofsh/fmddr (with severity) |
Install
Claude Code
npx fmddr-skills # personal (~/.claude/skills/)
npx fmddr-skills --project # project-scoped (.claude/skills/)
npx fmddr-skills fmddr fmddr-setup # specific skills onlyIn a Claude Code session type / to confirm they appear, or ask
"is the fmddr skill loaded?".
Cursor
npx fmddr-skills --cursor # writes .cursor/rules/fmddr-*.mdcInstalls each skill as a .mdc rule file in .cursor/rules/ of the
current directory. Rules for fmddr, fmddr-setup, and
fmddr-generate-docs auto-activate on .fmp12 / .xml / .fmddr.db
files; the others are available on demand. Restart Cursor or open the
Rules panel after installing.
AGENTS.md (Codex and other agents)
npx fmddr-skills --agents-md # writes AGENTS.md in the current directoryWrites a single AGENTS.md file combining all skill instructions.
Compatible with any agent that picks up AGENTS.md from the project root
(OpenAI Codex, etc.). Re-run to update after a new version is published.
Manual — Claude Code personal
mkdir -p ~/.claude/skills
cp -R skills/fmddr ~/.claude/skills/
cp -R skills/fmddr-setup ~/.claude/skills/
cp -R skills/fmddr-issue ~/.claude/skills/
cp -R skills/fmddr-generate-docs ~/.claude/skills/Workspace harness
A skill says how to use fmddr when triggered. A harness says this folder exists to do fmddr work — so the agent reaches for fmddr first on every session, instead of waiting for a trigger phrase.
Add --harness when you're setting up a dedicated DDR analysis folder
(one folder per FileMaker solution you're auditing). It installs the
skills and a workspace charter, both project-scoped:
# Claude Code: CLAUDE.md + .claude/settings.json + .claude/launch.json + .claude/skills/
npx fmddr-skills --harness
# Cursor: .cursor/rules/fmddr-workspace.mdc (alwaysApply: true) + skill rules
npx fmddr-skills --harness --cursor
# AGENTS.md (Codex and other agents): workspace charter + skill sections, marker-blocked
npx fmddr-skills --harness --agents-mdWhat the harness adds, per format:
| File | Purpose |
| ---- | ------- |
| CLAUDE.md | Workspace charter at the project root — read every session. Asserts that fmddr is the primary tool, that the folder is read-only analysis, that the index lives at *.fmddr.db. |
| .claude/settings.json | Allow-list for Bash(fmddr:*) and friends (fewer permission prompts), plus a SessionStart hook that runs fmddr stats to greet you with the index summary. |
| .claude/launch.json | canvas preview entry so preview_start name=canvas works inside Claude Code on a stable port. |
| .cursor/rules/fmddr-workspace.mdc | alwaysApply: true rule carrying the workspace charter. |
| AGENTS.md | Marker block at the top of the file containing the workspace charter and all skill bodies. |
Safe to re-run: Markdown files use marker blocks
(<!-- fmddr-harness:start v1 -->), JSON files are deep-merged
(permissions union, hooks deduped by command, your other keys preserved).
Layout
skills/
├── package.json ← npm package (fmddr-skills)
├── bin/
│ └── install.js ← npx entry point
├── templates/
│ └── harness/ ← workspace charter, settings, launch templates
│ ├── CLAUDE.md
│ ├── settings.json
│ └── launch.json
├── fmddr/
│ └── SKILL.md
├── fmddr-setup/
│ └── SKILL.md
├── fmddr-generate-docs/
│ └── SKILL.md
└── fmddr-issue/
├── SKILL.md
└── templates/
├── bug-report.md
└── feature-request.mdUpdating
npx fmddr-skills@latest # via npm (when a new version is published)
# or from a local clone:
cd /path/to/fmddr && git pull
npx --prefix skills . fmddr-skills