Skip to content

fix!: disambiguate references in built skills (#70)#71

Merged
zachdaniel merged 1 commit intoash-project:mainfrom
Munksgaard:fix/disambiguate-built-skill-references
Apr 16, 2026
Merged

fix!: disambiguate references in built skills (#70)#71
zachdaniel merged 1 commit intoash-project:mainfrom
Munksgaard:fix/disambiguate-built-skill-references

Conversation

@Munksgaard
Copy link
Copy Markdown
Contributor

@Munksgaard Munksgaard commented Apr 15, 2026

When a built skill bundles multiple packages (e.g. :ash + :ash_oban) via skills: [build: [...]], two problems surfaced:

  1. On-disk collision: both packages ship usage-rules/multitenancy.md. Both were written to references/multitenancy.md — silent overwrite.
  2. Rendering ambiguity: the "Additional References" section listed - [multitenancy](references/multitenancy.md) once with no way to tell which library it came from.

Now reference files live under per-package subdirectories (references/<pkg>/<name>.md) and the section groups them under H3 subsections per package:

## Additional References

### ash

- [ash](references/ash/ash.md)
- [multitenancy](references/ash/multitenancy.md)

### ash_oban

- [ash_oban](references/ash_oban/ash_oban.md)
- [multitenancy](references/ash_oban/multitenancy.md)

Stale flat-layout files from prior syncs are cleaned up automatically, so upgrading users don't need to do anything.

Fixes: #70

Contributor checklist

Leave anything that you believe does not apply unchecked.

  • I accept the AI Policy, or AI was not used in the creation of this PR.
  • Bug fixes include regression tests
  • Chores
  • Documentation changes
  • Features include unit/acceptance tests
  • Refactoring
  • Update dependencies

@zachdaniel
Copy link
Copy Markdown
Contributor

Not a breaking change, we can remove that from the commit message 😄

When a built skill bundles multiple packages (e.g. :ash + :ash_oban) via
`skills: [build: [...]]`, two problems surfaced:

1. On-disk collision: both packages ship `usage-rules/multitenancy.md`.
   Both were written to `references/multitenancy.md` — silent overwrite.
2. Rendering ambiguity: the "Additional References" section listed
   `- [multitenancy](references/multitenancy.md)` once with no way to tell
   which library it came from.

Now reference files live under per-package subdirectories
(`references/<pkg>/<name>.md`) and the section groups them under
H3 subsections per package:

    ## Additional References

    ### ash

    - [ash](references/ash/ash.md)
    - [multitenancy](references/ash/multitenancy.md)

    ### ash_oban

    - [ash_oban](references/ash_oban/ash_oban.md)
    - [multitenancy](references/ash_oban/multitenancy.md)

Stale flat-layout files from prior syncs are cleaned up automatically,
so upgrading users don't need to do anything.

Fixes: ash-project#70

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@Munksgaard Munksgaard force-pushed the fix/disambiguate-built-skill-references branch from 5b949c6 to ec82281 Compare April 15, 2026 20:50
@Munksgaard
Copy link
Copy Markdown
Contributor Author

Not a breaking change, we can remove that from the commit message 😄

Done!

@zachdaniel zachdaniel merged commit 2f02ce8 into ash-project:main Apr 16, 2026
23 checks passed
@Munksgaard Munksgaard deleted the fix/disambiguate-built-skill-references branch April 16, 2026 04:54
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.

Disambiguate references in built rules

2 participants