From greppable
Use when creating, reviewing, or maintaining @rule records in rules.gdl files — provides format reference, quality criteria for what makes a rule worth writing, severity calibration, and the gdl_rules_for_file helper. Triggers on: rules.gdl files, 'add a rule', 'create a coding rule', 'enforce this convention', observing a strong codebase convention. NOT for @memory observations, .gdlm files, or general code review.
npx claudepluginhub greppable/greppable-cc-pluginThis skill is limited to using the following tools:
!`bash -c 'if [ -f rules.gdl ]; then echo "From rules.gdl:"; echo ""; grep "^@rule" rules.gdl 2>/dev/null; else echo "No rules.gdl found in project root."; fi'`
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Calculates TAM/SAM/SOM using top-down, bottom-up, and value theory methodologies for market sizing, revenue estimation, and startup validation.
!bash -c 'if [ -f rules.gdl ]; then echo "From rules.gdl:"; echo ""; grep "^@rule" rules.gdl 2>/dev/null; else echo "No rules.gdl found in project root."; fi'
A rule captures a project-specific convention with codebase evidence. Not a generic best practice.
| Good rule (project-specific) | Bad rule (generic) |
|---|---|
| "API routes must validate input with zod schemas" | "Use descriptive variable names" |
| "Never modify existing migrations — create new ones" | "Write clean code" |
| "React components use PascalCase filenames" | "Follow naming conventions" |
The test: Can you point to 3+ files that follow this convention? If yes, it's a rule. If it's advice you'd give on any project, it's not.
@rule|scope:GLOB|severity:LEVEL|desc:TEXT
| Field | Values | Meaning |
|---|---|---|
scope | Glob pattern (*.ts, src/api/**, **/*.test.*) | Which files this rule applies to |
severity | error | Will break things if violated — wrong behavior, data loss, security |
warn | Convention that should be followed — consistency, maintainability | |
info | Team preference — style, approach | |
desc | Free text | What the rule requires (imperative form) |
source "${CLAUDE_PLUGIN_ROOT}/scripts/gdl-tools.sh"
# Check which rules apply to a file
gdl_rules_for_file "src/api/routes.ts" rules.gdl
# All rules
grep "^@rule" rules.gdl
# Rules for a specific scope
grep "^@rule|scope:src/api" rules.gdl
# All error-severity rules
grep "severity:error" rules.gdl
# Rules matching a file (fuzzy)
grep "^@rule" rules.gdl | grep "\.ts"
<gdl_root>/data/rules.gdl or rules.gdl in the project root.