Constitutional source of truth for reusable Plate architecture and public API design. Use when introducing or changing reusable public APIs, runtime/service boundaries, builder or factory patterns, extension registration contracts, naming/layering rules, or performance-sensitive architecture.
55
63%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/north-star/SKILL.mdPlate's constitutional doctrine for reusable architecture and public API design.
Use this skill before shaping a reusable Plate surface. This is the upstream decision layer. It owns architecture law, public API shape, layering, performance/scalability selection, and anti-patterns.
Use plate-plugin-creator after the public pattern is already chosen and the work has become plugin-authoring execution.
north-star
first.north-star
first.north-star first.north-star.| Scenario | Route | Why |
|---|---|---|
| new reusable plugin public API | north-star first, then execution companion | public contract decision |
| runtime/service boundary | north-star first | architecture/runtime law |
| new builder/factory pattern | north-star first | reusable pattern decision |
| reusable naming/layering rule | north-star first | doctrine |
| wrapper/component implementation under settled doctrine | execution companion | mechanics only |
| app-local registry-kit sugar | stay local | not reusable doctrine |
| one-off docs/demo convenience | stay local | not reusable doctrine |
| package-local mechanics only | execution companion | implementation lane |
| Concern | Owner |
|---|---|
| reusable architecture doctrine | north-star |
| public API shape decisions | north-star |
| runtime/service-boundary patterns | north-star |
| layering / ownership law | north-star |
| performance/scalability law | north-star |
| anti-pattern catalog | north-star |
| plugin file placement / wrappers / typing mechanics | execution companion |
| plugin authoring execution flow | execution companion |
| app-local sugar | local app/kits |
The concrete pattern guidance lives in pattern-catalog.md.
When scanning a reusable API family, aggressively inspect repeated resolve()
and apply() bodies before inventing more package-level wrappers.
Default posture:
Pull into core when the repeated logic is mostly:
Keep local when the repeated logic is mostly:
The goal is:
Do not flatten package semantics into core just because the files look similar. Do not miss a real core primitive because the action code is loud.
resolve() / apply() shapes and separate matcher logic from
feature semantics before blessing a new public helper.Every lane that introduces or materially changes a reusable public API, runtime boundary, builder/factory pattern, or extension contract must include one of:
north-star updatednorth-star reaffirmed: <section-name>Reaffirmation is not implicit. It must name the governing section so the claim is reviewable.
Examples:
north-star reaffirmed: lawsnorth-star reaffirmed: decision-laddernorth-star reaffirmed: performance-selection-rulesnorth-star section named?If a reusable API or runtime boundary matters to future Plate work, north-star
decides the pattern. Local convenience, plugin mechanics, and documentation
follow from that. Not the other way around.
45116fd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.