Tier 4

extract - Skill Extractor

Extract - Skill Extractor

Input: $ARGUMENTS


Core Principles

  1. Prompts are layered. A single sentence can contain a surface request, an implicit prerequisite, a validation need, and an emotional undercurrent. Extract skills for all layers, not just the obvious one.

  2. Role determines value. A skill can serve as primary (does the core work), preparatory (should run first), supporting (enhances output), validation (checks output), or recovery (useful if primary fails). The same skill in different roles has different priority.

  3. Sequence is load-bearing. Running /aex before /dcp changes the decision. Running /gu before /want changes the goal. Skill ordering is analytical work, not decoration.

  4. Implicit beats explicit. The user who says “help me write a proposal” probably also needs /gu (clarify the goal), /aex (check assumptions about the audience), and /pv (validate the draft). The unexpressed needs are where extraction earns its keep.

  5. Interaction effects exist. Some skill pairs amplify each other (/aex + /ht). Some conflict (/ma diverges, /dcp converges — sequence matters). Flag these.


Phase 1: Prompt Decomposition

Break the input into every distinct sub-need. Go beyond the literal request.

[E1] SUB-NEED: [label] — [one-line description]
[E2] SUB-NEED: [label] — [one-line description]
...

Apply all decomposition lenses that yield results:

LensQuestion
SurfaceWhat is the user literally asking for?
PrerequisiteWhat must be true or known before the surface task can succeed?
AssumptionWhat is the user assuming that might be wrong?
ValidationHow would the user know the output is good?
EmotionIs frustration, uncertainty, or overwhelm present?
ScopeIs the user scoping too narrowly or too broadly?
SequenceDoes this need to happen in a particular order?
DownstreamWhat will the user do with the result?

Phase 2: Skill Mapping

For each sub-need, identify candidate skills and assign a role:

RoleMeaningPriority Weight
PrimaryDirectly accomplishes the sub-needHighest
PreparatoryShould run before the primary to improve its inputHigh
SupportingEnhances or deepens the primary’s outputMedium
ValidationChecks the primary’s output for quality or correctnessMedium
RecoveryUseful if the primary fails or produces weak resultsLow
[E-N] SKILL: /skill-id → sub-need [E-ref] as [role] — [one sentence why]

Phase 3: Prune and Prioritize

Remove weak matches. A match is weak if:

  • The skill only tangentially relates to the sub-need
  • A stronger skill already covers the same ground in the same role
  • The skill requires context the user clearly does not have

Rank surviving skills by: role_weight x sub-need_importance x fit_quality

Group into tiers:

  • ESSENTIAL — Skip these and the output quality drops significantly
  • RECOMMENDED — Meaningful improvement, worth the time
  • OPTIONAL — Useful if the user wants thoroughness

Phase 4: Interaction Analysis

Identify skill pairs or sequences where order matters or effects compound.

[E-N] INTERACTION: [type] — /skill-a + /skill-b: [what happens and why order matters]
TypeDescription
AmplifyingRunning both produces more than the sum
SequencedOne must run first or the second’s input is degraded
ConflictingRunning both without awareness creates tension
RedundantHigh overlap; pick one unless depth warrants both

Phase 5: Output

PROMPT: [original input, quoted]

ESSENTIAL SKILLS (ordered by execution sequence):
1. /skill-id — ROLE: [role] — WHY: [one line] — INVOKE: /skill-id [suggested args]
2. ...

RECOMMENDED SKILLS:
3. /skill-id — ROLE: [role] — WHY: [one line] — INVOKE: /skill-id [suggested args]
...

OPTIONAL SKILLS:
- /skill-id — ROLE: [role] — WHY: [one line]

INTERACTION EFFECTS:
- [skill-a] → [skill-b]: [effect and recommended order]

SUGGESTED SEQUENCE:
[skill-a] → [skill-b] → [skill-c]
(brief rationale for ordering)

Failure Modes

FailureSignalFix
Surface-only extractionOnly the literal request mappedApply all 8 decomposition lenses
Skill-name anchoringPicked skills whose names sound rightVerify by checking what the skill actually does
Over-extraction20 skills for a simple promptPrune ruthlessly; simple prompt = short output
Role collapseEverything assigned “primary”Force at least 2 distinct roles at 2x+ depth
Flat orderingSkills listed alphabeticallyPhase 4 interaction analysis must drive sequence
Missing prerequisitesRecommended skill needs input user hasn’t producedCheck each skill’s input requirements
Ignoring emotional layerOnly analytical skills extractedEmotion lens catches frustration/uncertainty

Depth Scaling

DepthTypical Sub-NeedsTypical SkillsTypical InteractionsTypical Roles
1x1-32-50-11
2x3-56-101-32-3
4x4-710-163-53-4
8x6-1016-255-84-5

Default: 2x. These are guidelines, not floors. A simple prompt with 2 genuine sub-needs and 3 perfect skills is better than padding to hit a number.


Pre-Completion Checklist

  • Every decomposition lens applied (not just surface)
  • Each extracted skill has an explicit role assignment
  • At least one non-obvious skill identified
  • Interaction effects between top skills analyzed
  • Suggested sequence reflects dependency and amplification order
  • Invocation examples include concrete arguments from user’s prompt
  • No skill included without a specific “why” tied to a sub-need
  • Over-extraction checked: every ESSENTIAL skill genuinely earns its tier

Integration

  • Use from: /meta, /handle, /fonss
  • Routes to: any extracted skill via invocation suggestions
  • Differs from /wsib: wsib picks ONE skill; extract maps the full landscape
  • Differs from /given: given ranks by ROI for a goal; extract maps by coverage of sub-needs
  • Differs from /fonss: fonss orders next skills; extract finds all relevant skills