Skip to content

chore(skills): tier-1/tier-2 split + sharpen content + README intro#229

Merged
HumanBean17 merged 1 commit into
masterfrom
chore/skills-tier-split
May 25, 2026
Merged

chore(skills): tier-1/tier-2 split + sharpen content + README intro#229
HumanBean17 merged 1 commit into
masterfrom
chore/skills-tier-split

Conversation

@HumanBean17
Copy link
Copy Markdown
Owner

Why

Skills under skills/<name>/ underperformed docs/AGENT-GUIDE.md as a reference. When the agent loaded a single SKILL.md it often got generic boilerplate (Q-class ritual without an inline taxonomy, "uses all 5 tools" headers even when the skill only calls find), and it could not opt into just navigation listings without also dragging in the multi-step workflows. Two changes address that:

  1. Layout: split the flat tree so users can install per tier.
    • skills/tier-1/ — 11 single-purpose listings (one MCP chain each)
    • skills/tier-2/ — 4 multi-step workflows that compose Tier 1 with bounded recursion and explicit stop conditions
  2. Content: each SKILL.md rewritten to be self-sufficient.
    • frontmatter description sharpened for auto-discovery (concrete user phrasings)
    • per-skill Tools used line (only the tools that skill actually calls)
    • Reasoning preamble with inline Q-class taxonomy: semanticsearch, structuredfind/resolve, inspectdescribe, walkneighbors
    • Microservice scoping caveat surfaced inline (microservice is not validated; an invalid name returns an empty result, not an error)
    • Recovery section per skill, including the two-attempt stop rule (after two failed attempts on the same intent, stop and report)
    • Worked example showing the reasoning preamble + the MCP calls

README.md gets a new Why this exists section above the install block, covering the five differentiators that distinguish this from grep / ctags / vector-only RAG:

  • Hybrid RAG + GraphRAG (not either-or)
  • Java-tuned role model (CONTROLLER / SERVICE / REPOSITORY / CLIENT / PRODUCER / MAPPER / DTO)
  • Ranking specialized for Java (role + microservice + FQN aware)
  • Cross-service resolution + system-level navigation (HTTP_CALLS / ASYNC_CALLS)
  • Brownfield annotations with exclusive priority

What changed

Area Change
skills/tier-1/* 11 SKILL.md rewritten; new layout
skills/tier-2/* 4 SKILL.md rewritten; new layout
skills/README.md Index split per tier, philosophy block referencing the 5 differentiators, install instructions per tier
README.md New ## Why this exists section between the GPS metaphor and the install block
AGENTS.md "Two audiences, two skill trees" table + Where-to-look entry updated to point at skills/tier-1/ and skills/tier-2/
tests/test_agent_skills_static.py Validator refactored to walk both tier dirs and assert no skills remain at skills/<name>/

No code changes. No MCP behavior changes. No new dependencies.

Propose amendments (captured here)

This PR amends two decisions from propose/completed/AGENT-SKILLS-AND-COMMANDS-PROPOSE.md. Both are intentional and called out so future readers know to read this PR alongside the propose.

  1. /producers is a Tier 1 skill (symmetric to /clients). Locked propose enumerated 10 Tier 1 skills; /producers was added in PR feat(skills): add 14 navigation and workflow skills + static validator #225 to keep outbound-side symmetry. Tier 1 ships at 11 in this PR.
  2. Skills layout changes from skills/<name>/ to skills/tier-N/<name>/. Locked propose specified the flat layout. Splitting per tier lets users opt in to listings without workflows (or the reverse).

Tests

  • pytest tests/test_agent_skills_static.py — 140 passed (was 140 before; same coverage, refactored asserts)
  • pytest tests/ — unaffected (no code changes)

Out of scope

  • Tier 3 (CLI helpers) — already out of scope per the locked propose.
  • docs/AGENT-GUIDE.md — skills and AGENT-GUIDE are explicitly two separate artifacts; AGENT-GUIDE is unchanged.
  • .agents/skills/ — developer-facing workflow skills, different audience.

…ADME intro

User-facing skills underperformed AGENT-GUIDE.md as a reference. Two root
causes addressed in this PR:

1. Layout. Skills lived flat under skills/<name>/, forcing users to opt
   into all 15 or none. Now split into:
     skills/tier-1/  - 11 single-purpose listings (per-call MCP chains)
     skills/tier-2/  - 4 multi-step workflows (bounded recursion)
   Users can install only the tier they need.

2. Content. Each SKILL.md was rewritten to be self-sufficient:
   - frontmatter description sharpened for auto-discovery
   - per-skill 'tools used' line (was blanket all-5)
   - inline Q-class taxonomy (semantic/structured/inspect/walk)
   - inline microservice scoping caveat (invalid name = empty result)
   - explicit recovery + 'two-attempt stop' rule
   - worked example with reasoning preamble

README.md gains a 'Why this exists' section above the install block,
covering five differentiators: hybrid RAG + GraphRAG, Java-tuned role
model, ranking specialized for Java, cross-service resolution +
system-level navigation, and brownfield annotations.

Tests: test_agent_skills_static.py refactored to validate per-tier
trees and assert no skills remain at skills/<name>/.

Propose amendments (captured here, not in propose/completed/):
- /producers is treated as a Tier 1 skill (symmetric companion to
  /clients). Locked propose listed 10 Tier 1 skills; this PR ships 11.
- Skills layout changes from flat skills/<name>/ to
  skills/tier-N/<name>/. Locked propose specified the flat layout.

No code changes. No MCP behavior changes. AGENTS.md updated to point
at the new layout.
@HumanBean17 HumanBean17 marked this pull request as ready for review May 25, 2026 06:19
@HumanBean17 HumanBean17 merged commit ef19775 into master May 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant