Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add heristop/leclap --skill core-architecture-patternsgit clone --depth 1 https://github.com/heristop/leclapWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/heristop/leclap/core-architecture-patterns)<a href="https://agentmods.dev/skills/heristop/leclap/core-architecture-patterns"><img src="https://agentmods.dev/badge/skills/heristop/leclap/core-architecture-patterns.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00058 | $0.01674 |
| Opus 5 | $0.00029 | $0.00837 |
| Sonnet 5 | $0.00012 | $0.00335 |
| Haiku 4.5 | $0.00006 | $0.00167 |
Grade A, and why
core-architecture-patterns scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Core Architecture Patterns
Overview
packages/ffmpeg-video-composer is built from a few repeating patterns: adapters abstract the platform, the PlatformBridge selects them at runtime, tsyringe DI wires everything, and a director → builder → segments → managers pipeline compiles a template. Follow these patterns; reuse existing pieces before adding new ones. Full design: docs/architecture.md.
The pipeline
TemplateDirector (packages/ffmpeg-video-composer/src/director/TemplateDirector.ts) orchestrates:
init → build each section → concat → apply music.
- Sections created by
SegmentFactory(editor/factories/SegmentFactory.ts) → rendered by*Segmentclasses (editor/segments/). - FFmpeg commands assembled by editor managers (
editor/managers/): asset, variable, map, filter, formatter. VideoEditorconcatenates;MusicComposermixes audio.
Adding a segment type
- Add the section schema variant in
packages/ffmpeg-video-composer/src/schemas/template.schemas.ts(extendBaseSectionSchema, add to theSectionSchemadiscriminated union). - Create
editor/segments/<Name>Segment.tsfollowing an existing segment (e.g.VideoSegment.ts); use@injectable(). - Register it in
editor/factories/SegmentFactory.ts(map the newtypeliteral → class). - Add a test under
packages/ffmpeg-video-composer/tests/.
Adding a descriptor effect
A structured-sugar effect (a look/grade/motion/section-audio field — not a raw filters[] escape hatch) follows this recipe end to end, proven across Phases 1-4 (LUT looks, chroma key, overlay motion, grain, letterbox, stylized looks, shake/pulse, audioEffect):
- Schema field — add the field/variant in
packages/ffmpeg-video-composer/src/schemas/*.schemas.ts(effects-visual.schemas.tsforGradeSchema/LOOK_PRESETS/MotionEffectSchema;section.schemas.tsfor section-level fields likeletterbox/audioEffect); updatesrc/core/descriptor-visual.d.tstypes. Every field keeps a.describe()— it feedsdocs/template-descriptor.schema.json. - Preset / lowering fn — a pure
*ToFiltersfunction or aLOOK_TABLE/MOTION_HANDLERSrow insrc/editor/presets/(looks.ts,motion.ts). LGPL discipline: never emiteq/geq/boxblur; reuseeqValueToLutyuvfor eq-equivalent maths on the LGPL engine. A section-audio effect instead extends the-afchain builder insrc/editor/utils/audio-fade.ts. - Registry entry — wire the compiler into
SUGAR_COMPILERSinsrc/editor/presets/registry.ts(orderedlayers → motion → grade → look → letterbox → caption → titleCard → lowerThird— pick anorderbetween the neighbours it must sit next to), aLOOK_TABLErow, or aMOTION_HANDLERSentry. - Tests — TDD: exact command-string/filter-array assertions first, in the matching suite (
tests/looks.test.ts, the motion or audio-fade tests). Then a real-compile fixture: JSON underpackages/ffmpeg-video-composer/tests/fixtures/+ an id added toeffects-fixtures.test.ts'sFIXTURESarray (validates against the schema AND smoke-compiles through the Node engine — rc 0). - LGPL audit — any new FFmpeg filter name goes into BOTH
ENGINE_EMITTED_FILTERS(src/editor/utils/filter-compat.ts) AND the--enable-filter=list inscripts/ffmpeg/common.sh;tests/lgpl-filter-audit.test.tscross-checks the two and fails the build if they drift. - Regen —
pnpm --filter ffmpeg-video-composer generate:schema(writesdocs/template-descriptor.schema.json) andgenerate:capabilities, in the same commit as the schema change. - Builder exposure — a
FEATURE_CONTROLSentry inpackages/leclap-creative-kit/src/editor/control-metadata.ts. If the field is new on the creative-kit section model (not already flowing through an existing inferred type likeGrade/MotionEffect), also wiremodel.ts/build-descriptor-fragments.ts/to-editor-state.tsfor build/rehydrate round-tripping. Then the web panel (apps/leclap-web/src/presentation/components/admin/editor/*Panel.tsx) + Expo panel (apps/leclap-expo/src/features/templates/components/*Fields.tsx) + i18n keys in all five locales, in both apps. - Docs — add the field to
docs/template-configuration.mdin the same commit as the schema regen (this is the field reference authors read;authoring-video-templates/SKILL.mdlinks to it). - Device rebuild — a NEW FFmpeg filter (not just a descriptor field reusing filters already shipped) needs the on-device engines rebuilt before it works in the app:
scripts/ffmpeg/build-engine.sh androidthenios(sequential, never concurrent). The LGPL audit only proves the filter can run on the LGPL config — the currently-shipped.so/xcframework binaries don't have it until they're rebuilt.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 75 lines · 58 tokens per session scan A 178295ed2811
core-architecture-patterns is a skill published in the GitHub repository heristop/leclap (24 stars, last pushed 11d ago), licensed MIT. It adds 58 tokens to every session and 1,674 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
qiaomu-cut
A workflow for turning a brief video idea into a planned, sourced, edited, rendered, and checked video project.
chatgpt-video-editing-setup
Set up, repair, or verify the local AI short-video environment: video-use, FFmpeg, the Source Han Sans TW subtitle font, ElevenLabs credentials, and optional HyperFrames skills. Use whenever a user asks to install, configure, fix, reconnect, or check this editing environment. Do not use for Premiere or CapCut help, or…
chatgpt-short-video-editor
Edit a user-supplied video into a vertical Reel, Short, TikTok, video diary short, or an approved eight-step AI short-video workflow. Use when the user provides or points to media and asks to transcribe, cut, subtitle, preview, or export a vertical short. Do not use for environment-only setup or generic Premiere Pro…
video-streaming-expert
Expert in video streaming technologies, HLS, DASH, adaptive bitrate streaming, CDN delivery, DRM protection, and video encoding/transcoding. Use when the user mentions video, streaming, media, WebRTC, multimedia, or HLS, or when the task involves Streaming Protocols, Adaptive Bitrate Streaming, FFmpeg Video…
video-cut
Edit raw footage into a finished cut by conversation, fully local. Drop clips in a folder, describe the video you want, get edit/final.mp4 back. Local-first raw-footage video editor — the editorial counterpart to the generative Remotion/launch-video skills. Uses a two-layer reading system (local fasterwhisper…
blitzreels-editing
Edit BlitzReels projects through CLI or REST. Use for timeline, caption, media, preview, or export changes.