skills/92bilal26/canonical-format-checker/SKILL.md
This skill should be used when content teaches patterns (skills, subagents, ADRs, PHRs, specifications) that have canonical sources elsewhere. Prevents format drift by ensuring content references and follows the authoritative format from canonical sources. Use before implementing lessons that teach platform patterns, or when reviewing content for format consistency.
npx skillsauth add aiskillstore/marketplace canonical-format-checkerInstall 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.
Prevent format drift by verifying content follows authoritative canonical sources. When teaching a pattern that exists elsewhere in the platform (skills, subagents, ADRs, etc.), this skill ensures the taught format matches the canonical source.
Why this matters: The Chapter 14 format drift failure occurred because the lesson taught skill format differently from Chapter 5 (canonical source). Students learned incorrect patterns that contradicted earlier chapters.
Automatic Triggers (check before implementation):
.claude/skills/ structure.claude/agents/ structurespecs/*/adrs/ structurehistory/prompts/ structurespecs/*/spec.md structureManual Triggers (user requests):
| Pattern Being Taught | Canonical Source Location | Key Format Elements |
|---------------------|--------------------------|---------------------|
| Skills | .claude/skills/<name>/SKILL.md | Directory structure, YAML frontmatter with name, description |
| Subagents | .claude/agents/<name>.md | YAML frontmatter with name, description, model, skills |
| ADRs | specs/<feature>/adrs/adr-*.md | Numbered files, standard ADR structure |
| PHRs | history/prompts/<stage>/ | Template from .specify/templates/phr-template.prompt.md |
| Specifications | specs/<feature>/spec.md | Sections: Overview, User Stories, FRs, SCs, Evals |
| Commands | .claude/commands/*.md | YAML frontmatter, step-by-step phases |
Ask yourself:
Trigger Examples:
- "Lesson teaches students to write their own skills" → Skills pattern
- "Chapter covers custom commands" → Commands pattern
- "Module explains agent creation" → Subagents pattern
MANDATORY: Read the canonical source BEFORE writing or reviewing content.
# For Skills - read actual skill structure
ls .claude/skills/*/
cat .claude/skills/session-intelligence-harvester/SKILL.md
# For Agents - read actual agent structure
ls .claude/agents/
cat .claude/agents/content-implementer.md
# For Commands - read actual command structure
ls .claude/commands/
head -50 .claude/commands/sp.specify.md
Document the required format elements from canonical source:
## Canonical Format: Skills
**Directory Structure**:
.claude/skills/ └── <skill-name>/ # Directory, NOT flat file └── SKILL.md # SKILL.md file (uppercase)
**YAML Frontmatter** (REQUIRED):
```yaml
---
name: "<skill-name>"
description: "This skill should be used when... Use when..."
---
Content Structure:
### Step 4: Compare Content Against Canonical
Check the lesson/content for format consistency:
```markdown
## Format Comparison Checklist
**Skill Format Check**:
- [ ] Shows directory structure (not flat file)
- [ ] Uses SKILL.md filename (not skill.md or index.md)
- [ ] Includes YAML frontmatter with `name` and `description`
- [ ] `description` starts with "This skill should be used when..."
**Agent Format Check**:
- [ ] Shows single .md file in agents directory
- [ ] Includes YAML frontmatter with `name`, `description`, `model`
- [ ] Includes `skills` array (can be empty)
- [ ] Description explains when to invoke
**Command Format Check**:
- [ ] Shows .md file in commands directory
- [ ] Has numbered phases with clear gates
- [ ] Includes enforcement checks
If Format Drift Detected:
## Format Drift Detected
**Pattern**: Skills
**Location**: Lesson 7, Section "Creating Your First Skill"
**Issue**: Shows flat file `.claude/skills/my-skill.md`
**Canonical**: Directory structure `.claude/skills/my-skill/SKILL.md`
**Specific Fixes Required**:
1. Line 45: Change `.claude/skills/my-skill.md` to `.claude/skills/my-skill/SKILL.md`
2. Line 52: Update example to show directory creation with `mkdir`
3. Line 60: Add YAML frontmatter example with required fields
**Cross-Reference**: Chapter 5, Lesson 7 (agent-skills.md) is canonical source
If Format Compliant:
## Format Verified
**Pattern**: Skills
**Canonical Source**: `.claude/skills/session-intelligence-harvester/SKILL.md`
**Content Location**: Chapter 14, Lesson 5
**Verification**:
- [x] Directory structure matches canonical
- [x] YAML frontmatter format correct
- [x] Required fields present (name, description)
- [x] Description follows "This skill should be used when..." pattern
**Status**: COMPLIANT - No drift detected
Wrong: .claude/skills/my-skill.md
Right: .claude/skills/my-skill/SKILL.md
Wrong: Markdown file with no frontmatter Right: YAML frontmatter with required fields
Wrong: skill.md, index.md, README.md
Right: SKILL.md (uppercase)
Wrong: Only name in frontmatter
Right: Both name and description (description starts with "This skill should be used when...")
Wrong: Creating custom format not matching canonical Right: Following exact structure from canonical source
Use With:
chapter-planner - Check during lesson planning phasecontent-implementer - Verify before implementationvalidation-auditor - Include in validation checklistInvoke When:
Before approving content that teaches patterns:
You succeed when:
You fail when:
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.