Guides

First-party skills

First-party items are authored by Neo Pragnya and live under the neo-pragnya namespace. In 0.1.0:

SkillWhat it does
marvellous-aws-architecture-docsAWS-reference-style architecture diagrams as code: animated SVGs with numbered flows, stage-by-stage views, draw.io and an interactive HTML docs page
astro-docs-siteScaffold a pastel, interactive Astro documentation site for any repo (docs read from docs/, MkDocs nav import, Mermaid, callouts, Pages workflow, link checker). Used for this site and Ananke Plexus’s
interactive-web-motionmotion-kit.js: morphing SVG glyphs, a cursor-reactive shape field, scramble, reveals, count-ups, tilt, marching ants, accessible and dependency-free
life-ikigai-architectPersonal Ikigai, vision, mission and roadmap as an animated HTML presentation

How they are learned

- id: neo-pragnya
  adapter: agent-skills
  local: ../Skills                              # a sibling folder of this repo
  license: { first_party: true, default: MIT }
  exclude:
    - "marvellous-aws-architecture-docs/assets/icons/*.png"
    - "*/assets/previews/*"

first_party: true lets the default licence apply when a skill has no licence file. That is only legitimate because we are the authors, so never set it for anyone else’s content.

Keeping personal skills private

The source folder can hold skills you don’t want published. List them in a .dexignore file in that folder, not in this repo, so their names never appear in Dex-Trove:

# ~/Documents/Repositories/Skills/.dexignore
# Personal skills — not for publication
my-private-skill
journal-*

Each line is an fnmatch pattern matched against the skill’s name or its folder path. Matching items are skipped silently. They are never copied, never listed in EXCLUDED.json or the lock, and only counted in the terminal (2 ignored (.dexignore)). If an ignored skill was learned before, the next dex learn deletes it from the trove.

To keep rules out of every folder, use a user-level file, ~/.config/dex-trove/ignore (or $DEX_TROVE_IGNORE). Prefix a line with a source id to scope it:

neo-pragnya:my-private-skill     # only for this source
*:scratch-*                      # every source
experimental-*                   # unscoped = every source

Removing an item from the trove does not remove it from git history. If a private item was ever committed, rewrite the history too (see the release guide’s note on purging).

Authoring a skill

  1. Create Skills/<name>/SKILL.md with frontmatter:

    ---
    name: my-skill                 # lower-kebab, matches the folder, ≤ 64 chars
    description: "What it does and when to use it — include the phrases people actually say."
    ---
  2. Keep SKILL.md focused and move depth into references/, scripts/ and assets/ that the skill references explicitly.

  3. If the skill uses third-party assets (icons, fonts, images), check their terms. If they can’t be redistributed, add an exclude glob and a script that fetches them on demand.

  4. Credit inspirations in sources.yaml:

    items:
      my-skill:
        inspired_by:
          - { title: "Project that inspired it", url: "https://…" }
  5. Learn and validate:

    dex learn neo-pragnya
    dex validate
    dex show neo-pragnya/my-skill

Withheld assets: the AWS icons example

marvellous-aws-architecture-docs uses official AWS Architecture Icons. AWS licenses them for drawing architecture diagrams, not for redistribution as an icon set, so Dex withholds assets/icons/*.png (and the preview renders that embed them). The item records the fact in notes, the item page shows it, and users run the skill’s scripts/fetch_icons.py. That script downloads the icons from the MIT-licensed diagrams wheel. Until then, archlib draws labelled boxes in their place.

Re-learning in CI

Skills/ is a local folder, not a git repo, so CI cannot re-learn it. The checked-in copy under trove/skills/neo-pragnya.* is the record. Re-learn locally after changing a first-party skill, and commit the result. Moving first-party skills into git is on the roadmap.

Edit this page on GitHub ↗