Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 2.63 KB

File metadata and controls

54 lines (39 loc) · 2.63 KB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Commands

# Run linter on all skills
python scripts/lint_skills.py

# Run linter unit tests
python -m pytest tests/test_lint_skills.py -v

# Run single test
python -m pytest tests/test_lint_skills.py -v -k "test_name_here"

Architecture

Each skill lives in skills/<skill-name>/SKILL.md. The linter (scripts/lint_skills.py) validates all skills against 12 rules on every CI run.

A skill may bundle supporting files alongside its SKILL.md:

  • references/ — shared markdown the skill reads before acting (e.g. ruby-version-check.md).
  • scripts/ — shell scripts the skill invokes to collapse multi-command sequences into a single turn. Scripts print labeled status lines ending in a marker (e.g. PREFLIGHT_OK, NEEDS_DOCKER, INSTALL_OK, VERIFY_FAILED <target>) and use distinct exit codes; the SKILL.md instructs the model to read the marker and branch. SKILL.md references scripts by <SKILL_DIR>/scripts/... (absolute) so they resolve regardless of the working directory. The linter only validates SKILL.md, not these bundled files.

SKILL.md format:

---
name: skill-name
description: One sentence, third-person, max 250 chars.
---

Skill body (max 500 lines)...

Linting rules enforced:

  • Directory name: lowercase, numbers, hyphens only; max 64 chars; not helper/utils/tools
  • Frontmatter: must open and close with ---
  • name must match directory name exactly
  • description: max 250 chars; no first-person ("I", "I'll") or second-person ("You can", "Use this to")
  • Body: max 500 lines

tests/test_lint_skills.py covers all 12 rules with valid/invalid fixture pairs using tmp_path.

CI runs on push/PR when skills/**, scripts/lint_skills.py, or tests/test_lint_skills.py change.

Current Skills

Skill Description
build-strata-rails-app Scaffolds a new Nava Strata application using nava-platform CLI and the navapbc/template-application-rails template, then optionally installs the Strata SDK. Delegates command sequences to scripts/ to reduce turns
build-strata-sdk-model Adds a single Rails model — plain ActiveRecord, or a Strata SDK variant (application form, case, business process)
build-strata-sdk-model-workflow Multi-agent Workflow orchestrator variant — proposes, audits, and verifies model attributes across two human checkpoints before test-first implementation
build-strata-app-form-views Builds views, flow, and routes for a Strata multi-page application form on top of an existing ApplicationForm model