A wide upright board with a bead store along its top, a lattice of steel pins, and three collecting columns filled to tall, medium and short heights; a diagonal hatched cut turns the right third into bone-grey outline, and a blue line drops from the feed slot through the pins into the tallest column, out its open gate and along a chute into an outlet ring.
Development

SuggestSkills

Proposes which new skills to build from work history and frustration signals; read-only, it hands a ranked shortlist to CreateSkill

01
Workflow
01
Tool
00
References
07
Triggers

Key Points

Not for creating, validating, or optimizing an individual skill (CreateSkill)

Inside the Skill

The thinking, frameworks, and architecture that distinguish this skill from a generic version of the same task.

Ideal State

  • Every proposal on the shortlist traces to recorded evidence (sessions, Errata frustration rows, skill-gap detections) from one tool-built corpus, so a second run over the same window judges the same evidence.
  • Gaps hiding under nominally covered topics surface: frustration outweighs topic frequency, and coverage means the discipline is handled, not that a topic shares a keyword.
  • The pass stays read-only: no skill is created or edited, and an accepted proposal reaches CreateSkill only as a separate, human-approved step.

Intent Routing

Intent Trigger File
Scan "what skills should I build", "skill gap", "suggest skills", "am I missing a skill" Intents/Scan.md

Data & Config

The skill reads no config file. Tools/CollectSignals.ts takes everything from flags and env vars, and each store resolves flag > env > the first conventional default that exists under the root:

  • Root: --root <dir>, else SKILLSCAN_MEMORY_ROOT, else $HOME/.claude.
  • Window and cut: --days <n> (default 45, 1-3650) and --max-rating <n> (default 4, 1-10).
  • Stores: --ratings <dir> / SKILLSCAN_RATINGS_FILE (the Errata ledger directory), --work <dir> / SKILLSCAN_WORK_DIR, --skill-gaps <file> / SKILLSCAN_SKILL_GAPS_FILE, --skills <dir> / SKILLSCAN_SKILLS_DIR, and --loops <dir> / SKILLSCAN_LOOPS_DIR (opt-in, no default).

The full flag table is in Intents/Scan.md § Tool contract.

Gotchas

  • None span intents yet. The collector's gotchas live in Intents/Scan.md § Gotchas.

Examples

Example 1: routine gap scan

User: "What skills should I build based on my recent work?"
→ Scan intent, last 45 days
→ A ranked shortlist with evidence per proposal, deduplicated against existing skills and intents; nothing is created

Example 2: frustration-led scan

User: "I keep hitting the same wall — am I missing a skill?"
→ Scan intent, frustration store as the lead signal
→ The shortlist includes discipline gaps hiding under topics that look covered
→ User accepts one proposal → handed to CreateSkill as a separate step

Workflows & Routing · 1

Each workflow is one job the skill runs. The trigger phrases route your request to the right one — this is the skill's routing table.

  1. 01
    Scan Intents/Scan.md

    what skills should I build, skill gap, suggest skills, am I missing a skill

Tools · 1

Deterministic executables the workflows call — the code that does the real work, not prompt scaffolding.

  • CollectSignals.ts

How to Invoke

Say any of these to your DA and LifeOS activates the SuggestSkills skill automatically:

  • "should I create a skill"
  • "what skills do I need"
  • "suggest skills"
  • "skill gap"
  • "based on my recent work"
  • "am I missing a skill"
  • "what should I build"

Or invoke explicitly:

Skill("SuggestSkills")

Want LifeOS to do this for you?

Install LifeOS on your machine — your DA gets the SuggestSkills skill plus 96 others, all hooked into one Life OS.