Agent skill
build-skills-index
Scan SKILL.md files in .gaai/core/skills/ and .gaai/project/skills/, extract YAML frontmatter, and regenerate separate skills indices for each layer. Core index ships with the OSS framework; project index is project-specific.
Install this agent skill to your Project
npx add-skill https://github.com/Fr-e-d/GAAI-framework/tree/main/.gaai/core/skills/cross/build-skills-index
Metadata
Additional technical details for this skill
- id
- SKILL-CRS-017
- tags
-
governance index discoverability
- track
- cross-cutting
- author
- gaai-framework
- status
- stable
- version
- 2.0
- category
- cross
- updated at
- 1773705600
SKILL.md
Build Skills Index
Purpose / When to Activate
Activate when:
- A new skill is created (invoked automatically by
create-skillStep 6) - A skill's frontmatter is modified (description, tags, category, id)
- A skill is removed or deprecated
- Either
skills-index.yamlis absent or suspected stale (e.g. after a git pull or framework update)
This skill generates the derived catalogs used by agents for fast skill discovery. It does not replace frontmatter — it aggregates it.
skills-index.yaml files are caches. Frontmatter is the source of truth.
Process
Step 1 — Scan both skill directories
Scan .gaai/core/skills/ recursively. Collect every file named SKILL.md.
If .gaai/project/skills/ exists, scan it too.
Ignore non-SKILL.md files. Ignore README.*, skills-index.yaml.
Step 2 — Extract frontmatter from each SKILL.md
For each SKILL.md found, read the YAML frontmatter block (between --- delimiters).
Extract the following fields:
| Field | Source | Notes |
|---|---|---|
name |
frontmatter name |
Required |
description |
frontmatter description |
Required |
id |
frontmatter id or metadata.id |
Required |
category |
frontmatter category or metadata.category |
Required |
track |
frontmatter track or metadata.track |
Required |
tags |
frontmatter tags or metadata.tags |
May be absent — default to [] |
updated_at |
frontmatter updated_at or metadata.updated_at |
May be absent |
path |
derived — relative path from .gaai/ to SKILL.md |
e.g. core/skills/cross/memory-ingest/SKILL.md |
If a required field is missing, log a warning inline in the entry but do not skip — include for visibility.
Log any duplicate id values across both layers.
Step 3 — Group entries by track
Organize entries into three groups: discovery, delivery, cross.
Within each group, sort alphabetically by name.
Step 4 — Write separate index files
Core index → .gaai/core/skills/skills-index.yaml (core skills only):
# GAAI Core Skills Index
# Source of truth: .gaai/core/skills/*/SKILL.md — core framework skills only
# Regenerate: invoke build-skills-index skill
generated_at: YYYY-MM-DD
total: N
discovery:
- id: SKILL-DSC-001
name: create-prd
source: core
description: "..."
category: discovery
track: discovery
tags: []
updated_at: YYYY-MM-DD
path: core/skills/discovery/create-prd/SKILL.md
Project index → .gaai/project/skills/skills-index.yaml (project skills only, if project dir exists):
# GAAI Project Skills Index
# Source of truth: .gaai/project/skills/*/SKILL.md — project-specific skills only
# Regenerate: invoke build-skills-index skill
generated_at: YYYY-MM-DD
total: N
discovery:
- id: SKILL-CNT-011
name: content-plan
source: project
description: "..."
# ... fields
Agents read both indices to get the full skill catalogue.
Step 5 — Report
Return to the invoking agent:
- Core skills count + project skills count
- Any entries with missing required fields (names + fields)
- Any duplicate IDs across both layers
- Confirmation both files were written
Automation
The check-and-update-skills-index.cjs script performs the same work automatically via the post-commit Git hook. This skill exists for manual invocation when the hook doesn't trigger (fresh clone, worktree, CI).
Quality Checks
- Every SKILL.md in both directories is represented in the correct index (no silently skipped files)
- No manually written entries — all entries derived from frontmatter
- Duplicate
idvalues flagged across both layers (do not silently deduplicate) generated_atreflects the date of this run- Core index contains zero
source: projectentries - Project index contains zero
source: coreentries
Non-Goals
This skill must NOT:
- Edit any SKILL.md file
- Make decisions about which skills are valid or relevant
- Merge duplicate skills or resolve conflicts — only report them
- Be invoked as a dependency of other skills (only agents call this)
This skill reads and aggregates — it does not evaluate or decide.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
ci-watch-and-fix
Watch GitHub Actions CI after PR creation, detect failures, extract logs, apply minimal fixes, and re-push — keeping the delivery session alive until CI resolves or escalating after 3 cycles. Activate immediately after gh pr create and before marking the story done.
qa-review
Validate that implemented code fully satisfies Story acceptance criteria, respects rules, and introduces no regressions. This is the hard quality gate — no pass means no delivery. Activate after implementation is complete.
compose-team
Assemble the context bundles for each sub-agent based on evaluate-story output. Produces spawn-ready packages for Planning, Implementation, QA, or MicroDelivery sub-agents. Activate after evaluate-story, before spawning any sub-agent.
coordinate-handoffs
Validate sub-agent handoff artefacts, sequence phase transitions, and manage retry and escalation logic. Activate after each sub-agent terminates to determine next action.
implement
Generate correct, minimal, maintainable code that satisfies a validated Story's acceptance criteria against an execution plan. Activate when a Story is validated, a plan exists, and all prerequisites are unambiguous.
delivery-high-level-plan
Transform validated Stories into a clear, minimal, governed execution plan. Used by the Planning Sub-Agent as the first planning pass before prepare-execution-plan for Tier 2/3, or as the sole planning output for simple Stories.
Didn't find tool you were looking for?