Golden Principles
Scan the repository for violations of mechanically enforced golden principles.
Produces remediation instructions that agents can act on directly.
Inspired by OpenAI Harness Engineering:
"We started encoding what we call 'golden principles' directly into the repository
and built a recurring cleanup process."
Triggers
| Trigger Phrase |
Operation |
scan golden principles |
Full principle compliance scan |
check principle compliance |
Scan with summary report |
golden principle violations |
Scan and list violations |
run garbage collection |
Deep scan with fix-up recommendations |
audit principles |
Scan specific rules only |
When to Use
Use this skill when:
- Preparing a PR for submission (catch violations early)
- Running periodic garbage collection scans
- Auditing a domain or directory for compliance
- Adding new files to the repository
Use taste-lints instead when:
- Checking code-level invariants only (file size, naming, complexity)
- Running pre-commit checks on staged files
Use quality-grades instead when:
- Grading domains across architectural layers
- Producing quality trend reports
Process
- Run
python3 .claude/skills/golden-principles/scripts/scan_principles.py with target
- Review AGENT_REMEDIATION blocks in output
- Apply suggested fixes
- Re-run to confirm compliance
Usage
# Scan entire repository
python3 .claude/skills/golden-principles/scripts/scan_principles.py
# Scan specific directory
python3 .claude/skills/golden-principles/scripts/scan_principles.py --directory .claude/skills/
# Scope to a pull request diff (only files changed vs the base branch)
python3 .claude/skills/golden-principles/scripts/scan_principles.py --diff-scope "origin/$BASE_BRANCH"
# Run specific rules only
python3 .claude/skills/golden-principles/scripts/scan_principles.py --rules script-language,skill-frontmatter
# JSON output for tooling
python3 .claude/skills/golden-principles/scripts/scan_principles.py --format json
# Write results to file
python3 .claude/skills/golden-principles/scripts/scan_principles.py --output scan-results.json --format json
Rules
| Rule |
Principle |
What it checks |
script-language |
GP-001 |
No new .sh/.bash files |
skill-frontmatter |
GP-003 |
SKILL.md has required frontmatter fields |
agent-definition |
GP-004 |
Agent .md files have required sections |
yaml-logic |
GP-005 |
No inline logic in workflow YAML |
actions-pinned |
GP-006 |
GitHub Actions pinned to SHA |
GP-002, GP-007, GP-008 are enforced by existing tools (git hooks, taste-lints).
Exit Codes
| Code |
Meaning |
| 0 |
No violations found |
| 1 |
Script error (bad arguments, file not found) |
| 10 |
Violations detected |
Scripts
| Script |
Purpose |
Exit codes |
scripts/scan_principles.py |
Scan a path (repo, directory, or diff scope) for GP-001..GP-006 violations and emit AGENT_REMEDIATION blocks. Supports --directory, --diff-scope, --rules, --format, --output. |
0 no violations; 10 violations detected; 1 tool error (bad arguments, file not found). |
Suppression
Add a comment in the file header to suppress a specific rule:
# golden-principle: ignore script-language
Valid rules: script-language, skill-frontmatter, agent-definition, yaml-logic, actions-pinned
Verification
After execution, run the bundled validator and require exit 0:
python3 .claude/skills/golden-principles/scripts/scan_principles.py <path>
echo "exit=$?" # 0 = clean, 10 = violations found, 1 = tool error
References
- Code Qualities - Five foundational qualities: cohesion, coupling, non-redundancy, encapsulation, testability
- SOLID Principles - SRP, OCP, LSP, ISP, DIP with violation signs and code examples
- Programming by Intention - Sergeant pattern for expressing intent over implementation
- Separation of Concerns - Decomposition at method, class, layer, and service levels
- DRY Principle - Single authoritative representation with scope, violations, and when NOT to DRY
Cross-References
- Golden Principles Document:
.agents/governance/golden-principles.md
- Taste Lints for GP-007, GP-008
- Quality Grades for domain-level grading
1---2name: golden-principles3description: Scan repository for golden principle violations with agent-readable remediation. Enforces GP-001 through GP-008 from .agents/governance/golden-principles.md. Use when auditing compliance, preparing PRs, or running garbage collection scans.4license: MIT5---67# Golden Principles89Scan the repository for violations of mechanically enforced golden principles.10Produces remediation instructions that agents can act on directly.1112<!-- vendor-portability: declared. This skill enforces GP-001 through GP-008 defined in .agents/governance/golden-principles.md and cites that document plus .claude/skills/ siblings. The governance file is the upstream rule source; a vendored install without it loses the canonical principle text, while the bundled scanner still applies its built-in GP-001 and GP-003 through GP-006 checks against the consumer's files (GP-002 is enforced elsewhere, not by this scanner). Issue #2050. -->1314Inspired by [OpenAI Harness Engineering](https://openai.com/index/harness-engineering/):1516> "We started encoding what we call 'golden principles' directly into the repository17> and built a recurring cleanup process."1819## Triggers2021| Trigger Phrase | Operation |22|----------------|-----------|23| `scan golden principles` | Full principle compliance scan |24| `check principle compliance` | Scan with summary report |25| `golden principle violations` | Scan and list violations |26| `run garbage collection` | Deep scan with fix-up recommendations |27| `audit principles` | Scan specific rules only |2829## When to Use3031Use this skill when:3233- Preparing a PR for submission (catch violations early)34- Running periodic garbage collection scans35- Auditing a domain or directory for compliance36- Adding new files to the repository3738Use `taste-lints` instead when:3940- Checking code-level invariants only (file size, naming, complexity)41- Running pre-commit checks on staged files4243Use `quality-grades` instead when:4445- Grading domains across architectural layers46- Producing quality trend reports4748## Process49501. Run `python3 .claude/skills/golden-principles/scripts/scan_principles.py` with target512. Review AGENT_REMEDIATION blocks in output523. Apply suggested fixes534. Re-run to confirm compliance5455## Usage5657```bash58# Scan entire repository59python3 .claude/skills/golden-principles/scripts/scan_principles.py6061# Scan specific directory62python3 .claude/skills/golden-principles/scripts/scan_principles.py --directory .claude/skills/6364# Scope to a pull request diff (only files changed vs the base branch)65python3 .claude/skills/golden-principles/scripts/scan_principles.py --diff-scope "origin/$BASE_BRANCH"6667# Run specific rules only68python3 .claude/skills/golden-principles/scripts/scan_principles.py --rules script-language,skill-frontmatter6970# JSON output for tooling71python3 .claude/skills/golden-principles/scripts/scan_principles.py --format json7273# Write results to file74python3 .claude/skills/golden-principles/scripts/scan_principles.py --output scan-results.json --format json75```7677## Rules7879| Rule | Principle | What it checks |80|------|-----------|----------------|81| `script-language` | GP-001 | No new .sh/.bash files |82| `skill-frontmatter` | GP-003 | SKILL.md has required frontmatter fields |83| `agent-definition` | GP-004 | Agent .md files have required sections |84| `yaml-logic` | GP-005 | No inline logic in workflow YAML |85| `actions-pinned` | GP-006 | GitHub Actions pinned to SHA |8687GP-002, GP-007, GP-008 are enforced by existing tools (git hooks, taste-lints).8889## Exit Codes9091| Code | Meaning |92|------|---------|93| 0 | No violations found |94| 1 | Script error (bad arguments, file not found) |95| 10 | Violations detected |9697## Scripts9899| Script | Purpose | Exit codes |100|---|---|---|101| `scripts/scan_principles.py` | Scan a path (repo, directory, or diff scope) for GP-001..GP-006 violations and emit AGENT_REMEDIATION blocks. Supports `--directory`, `--diff-scope`, `--rules`, `--format`, `--output`. | `0` no violations; `10` violations detected; `1` tool error (bad arguments, file not found). |102103## Suppression104105Add a comment in the file header to suppress a specific rule:106107```python108# golden-principle: ignore script-language109```110111Valid rules: `script-language`, `skill-frontmatter`, `agent-definition`, `yaml-logic`, `actions-pinned`112113## Verification114115After execution, run the bundled validator and require exit 0:116117```bash118python3 .claude/skills/golden-principles/scripts/scan_principles.py <path>119echo "exit=$?" # 0 = clean, 10 = violations found, 1 = tool error120```121122- [ ] Exit 0 to pass; exit 10 means violations exist and must be reported with principle ID and remediation123- [ ] Exit 1 (tool error) is a BLOCKED result, not a pass124- [ ] Report lists scanned file count125- [ ] Output format matches --format flag126127## References128129- [Code Qualities](references/design-code-qualities.md) - Five foundational qualities: cohesion, coupling, non-redundancy, encapsulation, testability130- [SOLID Principles](references/design-solid-principles.md) - SRP, OCP, LSP, ISP, DIP with violation signs and code examples131- [Programming by Intention](references/design-programming-by-intention.md) - Sergeant pattern for expressing intent over implementation132- [Separation of Concerns](references/design-separation-of-concerns.md) - Decomposition at method, class, layer, and service levels133- [DRY Principle](references/design-dry-principle.md) - Single authoritative representation with scope, violations, and when NOT to DRY134135## Cross-References136137- Golden Principles Document: `.agents/governance/golden-principles.md`138- [Taste Lints](../taste-lints/SKILL.md) for GP-007, GP-008139- [Quality Grades](../quality-grades/SKILL.md) for domain-level grading