Validate Component logo

Validate Component

Community
jmagly
validate-component

Validate a single AIWG component (skill, agent, or command) for completeness and correctness

Overview

Publisherjmagly
Repositoryaiwg
Skill namevalidate-component
Stars
225
Forks
34
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by jmagly on GitHub. Read the source before you install it.

Installation

Install the Validate Component AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/jmagly/aiwg/tree/main/agentic/code/addons/aiwg-dev/skills/validate-component
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/jmagly/aiwg.git /tmp/aiwg
mkdir -p .claude/skills
cp -r /tmp/aiwg/agentic/code/addons/aiwg-dev/skills/validate-component .claude/skills/validate-component
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Validate Component in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Validate Component on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Validate Component is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Validate Component

You check a single AIWG component — a skill, agent, or CLI command — for completeness and correctness, then produce a structured pass/fail report with specific gaps listed.

Triggers

  • "validate this skill" → check the skill in the current directory or named path
  • "is this component complete" → run completeness check
  • "check this agent" → validate agent frontmatter and manifest registration
  • "validate component at " → validate the named path
  • "is this command wired up correctly" → check CLI command completeness
  • "pre-PR check on this skill" → run validate-component

Trigger Patterns Reference

PatternExampleAction
Validate skill"validate this skill"Run skill completeness checks
Validate agent"check this agent definition"Run agent completeness checks
Validate command"is this command wired up"Run command completeness checks
Path-specific"validate component at agentic/code/addons/my-addon/skills/my-skill"Validate at given path
Pre-PR"pre-PR check on this component"Run all applicable checks

Process

  1. Identify component type and path:

    • If no path is given, check the current working directory or the most recently edited file
    • Detect type from directory structure:
      • Path contains skills/<name>/SKILL.md → skill
      • Path contains agents/<name>.md or agents/<name>/ → agent
      • Component name appears in src/extensions/commands/definitions.ts → command
  2. Run type-appropriate checks:

    For a Skill:

    • Read the SKILL.md file
    • Check: description: field present in YAML frontmatter
    • Check: # Title section present
    • Check: ## Behavior or ## Process section present
    • Check: At least one ## Examples entry
    • Find the parent addon's manifest.json (walk up directory tree)
    • Check: Skill name listed in manifest.json skills array
    • Check: File lives in agentic/code/ (not in a provider deployment directory)
    • If SKILL.md contains executedViaSkillRunner: true reference: check for circular CLI call pattern
    • Full link classification check (see Link Classification below)

    For an Agent:

    • Read the agent .md file
    • Check: YAML frontmatter block present
    • Check: name: field in frontmatter
    • Check: description: field in frontmatter
    • Check: model: field in frontmatter
    • Check: tools: field in frontmatter
    • Find parent addon's manifest.json
    • Check: Agent listed in manifest.json agents array
    • Check: File lives in agentic/code/
    • Full link classification check (see Link Classification below)

    Link Classification (applies to all component types):

    Extract every @<path> reference from the file and classify:

    PatternResultMessage
    @$AIWG_ROOT/<path>PASSAIWG core ref (install-relative)
    @$TOKEN/<path> — TOKEN set in envPASSRegistered corpus token
    @$TOKEN/<path> — TOKEN NOT in envWARNenv var TOKEN not set; add to .env or export
    @.aiwg/<path> — path in Tier 1/2 allowlistPASSNormalized project memory
    @.aiwg/<path> — not in any memory.createsFAILnon-normalized .aiwg/ path — repo-local only
    @.claude/<path>FAILdeployment target — forbidden in distributable source
    @agentic/code/<path>WARNlegacy bare ref — migrate to @$AIWG_ROOT/agentic/code/
    @src/<path>WARNlegacy bare ref — migrate to @$AIWG_ROOT/src/
    @docs/<path>WARNlegacy bare ref — migrate to @$AIWG_ROOT/docs/
    @tools/<path>WARNlegacy bare ref — migrate to @$AIWG_ROOT/tools/
    Relative path within componentPASSLocal ref

    Build the Tier 2 allowlist by reading all manifest.json files in agentic/code/ and collecting memory.creates[*].path values. Combine with Tier 1 (.aiwg/AIWG.md, .aiwg/frameworks/).

    For a CLI Command:

    • Read src/extensions/commands/definitions.ts
    • Check: Command entry exists in definitions
    • Check: Command has either executedViaSkillRunner: true OR a handler entry
    • If executedViaSkillRunner: true: find the associated SKILL.md and verify it does not contain aiwg <command-name> in any bash block
    • If handler expected: check src/cli/handlers/ for the handler file and registration in allHandlers
  3. Compile report:

    Format results as a structured report:

    Component Validation: <component-name> (<type>)
    Path: <absolute-or-relative-path>
    
    Checks:
      PASS  description frontmatter present
      PASS  title section present
      PASS  behavior section present
      FAIL  no examples section found
      PASS  listed in manifest.json
      FAIL  not in agentic/code/ (found in .claude/skills/ — placement violation)
      WARN  @.aiwg/planning/my-design.md is not a normalized path (repo-local only)
    
    Result: FAIL — 2 issues found
    
    Required actions:
      1. Add ## Examples section to SKILL.md
      2. Move SKILL.md to agentic/code/addons/<addon>/skills/<name>/SKILL.md
         then re-deploy with: aiwg use <addon>
  4. Surface the report to the user with the result line prominent.

Examples

Example 1: Valid skill

User: "Validate the doctor skill"

Action: Read agentic/code/addons/aiwg-utils/skills/doctor/SKILL.md, find parent manifest, run all checks.

Output:

Component Validation: doctor (skill)
Path: agentic/code/addons/aiwg-utils/skills/doctor/SKILL.md

Checks:
  PASS  description frontmatter present
  PASS  title section present
  PASS  behavior section present
  PASS  examples section present
  PASS  listed in aiwg-utils manifest.json
  PASS  lives in agentic/code/

Result: PASS — all checks passed

Example 2: Incomplete skill with placement violation

User: "validate component at .claude/skills/my-new-skill"

Action: Read SKILL.md, check for completeness, check placement.

Output:

Component Validation: my-new-skill (skill)
Path: .claude/skills/my-new-skill/SKILL.md

Checks:
  PASS  description frontmatter present
  FAIL  no ## Behavior or ## Process section
  FAIL  no ## Examples section
  FAIL  placement violation: .claude/skills/ is a deployment target
  FAIL  not found in any manifest.json

Result: FAIL — 4 issues found

Required actions:
  1. Add ## Behavior section to SKILL.md
  2. Add ## Examples section to SKILL.md
  3. Move to agentic/code/addons/<your-addon>/skills/my-new-skill/SKILL.md
  4. Add "my-new-skill" to your addon's manifest.json skills array
  5. Run `aiwg use <addon>` to deploy

Example 3: Circular skill-executed command

User: "check the my-command command"

Action: Read definitions.ts, find executedViaSkillRunner: true, read associated SKILL.md, search for aiwg my-command.

Output:

Component Validation: my-command (command)
Path: src/extensions/commands/definitions.ts

Checks:
  PASS  definition entry present in definitions.ts
  PASS  executedViaSkillRunner: true (no TypeScript handler required)
  FAIL  circular call detected: SKILL.md contains "aiwg my-command" in bash block (line 47)

Result: FAIL — 1 issue found

Required actions:
  1. Rewrite SKILL.md to perform work directly via Read/Write/Bash/Task tools
     without calling back into `aiwg my-command`
  See: agentic/code/addons/aiwg-dev/rules/no-circular-skill-calls.md

References

  • @$AIWG_ROOT/agentic/code/addons/aiwg-dev/rules/component-completeness.md — Full completeness requirements
  • @$AIWG_ROOT/agentic/code/addons/aiwg-dev/rules/skill-placement.md — Placement requirements
  • @$AIWG_ROOT/agentic/code/addons/aiwg-dev/rules/no-circular-skill-calls.md — Circular call detection
  • @$AIWG_ROOT/agentic/code/addons/aiwg-dev/rules/aiwg-dir-reference-contract.md — Normalized .aiwg/ path contract
  • @$AIWG_ROOT/src/extensions/commands/definitions.ts — Command definition registry

Frequently asked questions

What does the Validate Component AI skill do?

Validate a single AIWG component (skill, agent, or command) for completeness and correctness

Why use Validate Component on TypingMind?

Because you install it once and use it with any model. Validate Component is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Validate Component in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/jmagly/aiwg/tree/main/agentic/code/addons/aiwg-dev/skills/validate-component. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Validate Component?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Validate Component?

As many as you like. As long as a model supports skills, you can use Validate Component with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Validate Component AI skill free?

Yes. It is published on GitHub by jmagly under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇