video-editor-runner
Skill1 starsChanged 27 days agoApache-2.0View on GitHub
Deterministically render reviewed commerce-video edit requests with FFmpeg, including account-scoped V3 cover/subtitle preferences, V4 atomic integer-PTS timelines, time-range removal, ordered concatenation, reusable BGM, explicit voiceover, safe-area subtitles, direct-frame covers, output validation, and Jianying handoff. Use after content-reviewer has produced an executable edit-request-v1, v2, v3, v4, or product-remix v5 and before final-render review or publishing.
- Reads credentials
In this repository10 other files it gives its agents.
- content-reviewerSkill
- creative-runnerSkill
- douyin-music-librarySkill
- ecommerce-operationsSkill
- loopilot-deployerSkill
- loopilot-doctorSkill
- loopilot-workbenchSkill
- reusable-material-librarySkill
- video-content-understandingSkill
- video-script-generatorSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 1 is distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Use this skill only as the deterministic execution layer between reviewed segments and final-render review.
- Very specific: line 28
Read references/input-output-contract.md before preparing or executing a request.
- Very specific: line 37
Default replication segments that already contain generated audio and burned-in captions may instead use explicit preserve_source_audio / …
- Very specific: line 46
When narration_generation_route=direct_reference_narration_v1, the registered direct narration overrides that historical timing-revision …
- Very specific: line 57
Run content-reviewer on the final video and edit_manifest.json.
- Very specific: line 65
Treat every keep_ranges value as source time.
- Very specific: line 71
Use an explicit audio file or macOS say with an available named voice.
- Very specific: line 76
Keep commands, tool versions, input/output probes, hashes, assets, validation, and the pending final-review gate in edit_manifest.json.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
素材首次入库、同商品资料复用或剪辑前查找背景音乐时,按需读取相邻 reusable-material-library/SKILL.md 及其类型说明。先复用已有理解,再补实际缺口;采用结果交原消费者并回读实际产物。
任务方案与交付
当前运行 Agent 在本阶段前读取相邻 ecommerce-operations/references/task-execution.md,沿用本任务最新有效方案和适用偏好,按真实结果交付并记录成功操作。已在同一任务读取时直接复用;不反向重启总控或重复业务动作。Agent 主导顺序、分支与恢复,本 Skill 返回实际结果和正式恢复线索。该参考暂不可读时说明缺口并继续当前可执行工作,不新增文档或格式硬门槛。
Video Editor Runner
Use this skill only as the deterministic execution layer between reviewed segments and final-render review. Do not choose selling points, rewrite copy, reorder the story, decide what footage to remove, or publish the result.
creation_mode=product_asset_remix_v2 使用 plan_driven_remix_render.py。Runner 只执行 reviewed remix-execution-plan-v1 的 operation graph:先按删除区间生成无卡顿主轨,再按方案插入/覆盖 B-roll,逐片段执行 keep/mute/duck/replace 音频决定,最后烧录已冻结字幕。源文件始终只读;可恢复的方案投影、时间线或配置差异返回诊断,Agent 通过原登记/编译入口恢复;实际媒体变化须登记新 revision。manual 方案消费原 review sidecar,不改写方案正文;无 B-roll 和静音主轨均可执行。该路径不生成卖点、不选择 recipe、不调用 TTS/AI 审核 Provider,成功输出绑定方案 lineage 的 video-edit-manifest-v3。
plan_driven_autonomous_v1 的 canonical edit request 可明确表达 narration.mode=none + source_audio.mode=mute。此时 timeline 不要求伪造 narration beat/voiceover,TTS 返回 not_applicable,最终 manifest 写入 audio.narration_mode=none / tts_status=not_applicable;全静音音轨不执行 loudnorm。有口播路径必须使用任务主档投影的 task-operation-authorization-v1;TTS executor 为每次实际网络提交创建独立 operation,主档统一裁决预算和防重,TTS submit ledger 只记录执行证据。历史 central-action-authorization-v1 只读兼容。
商品原创剪辑
商品原创视频剪辑时,读取 product-original-workflow.md。同一任务兼有多个分支时读取对应分支;其中的原有条件、顺序和例外继续适用。
Workflow
- Read
references/input-output-contract.mdbefore preparing or executing a request. - Confirm
edit_request.jsonhasschema_version=edit-request-v1/v2/v3/v4/v5, source paths and hashes, and an output path different from every source. V1–V3 require concretekeep_ranges; V4 requires one atomic integer-PTSsource_rangeper item plus rational playback rate, semantic shots, narration beats, evidence ref and exact output range.creation_mode=video_replication / womenswear_template_video_v1还必须携带 hash 绑定的generation_closeout。Runner 会回读 exact required output set、binding、Provider success observation、verified-video-download-manifest-v2、完整解码证据、媒体 SHA 和 recovery ledger;任一缺失、伪造或漂移都在 FFmpeg 前返回dreamina_required_segment_unresolved。 视频复刻新请求还必须提供 hash 绑定的source_review_lineage[];任一源审核为regenerate_required / blocked、持续商品身份错配或血缘漂移时拒绝执行。裁剪、放大、overlay 或遮挡不能作为持续商品错配的修复方式,成功 manifest 必须原样保留该血缘供 final review 回读。 V2 BGM must be an activedouyin-music-libraryasset whoseaccount_scopeequalstarget_account_id; never download music in this skill or reuse another account's asset. 普通多账号 V3 剪辑使用其账号配置;V4/V5 按各自已有模式合同消费。 Resolve the target account throughresolve_edit_profile.py; require an active, hash-lockedaccount-video-edit-profile-v1whoseaccount_scopeequalstarget_account_id, plus hash-verified runtime font assets. Never fall back to another account or the legacy global style.precision_trimadditionally requires one hash-lockedauto-trim-plan-v1withsemantic_preservation=passed, 正整数auto_trim_attempt, matching account/product/source video, and exactkeep_ranges. Never infer or alter the trim ranges here. V5 仅按既有creation_mode=product_asset_remix_v1消费多源原子时间线,读取 输入输出合同 的 V5 段;V2 客户方案渲染沿已有 plan-driven 入口,不把 V5 作为所有模式的默认请求。 - Reject unresolved values such as
from_storyboard_shots; require concrete subtitle and voiceover cues or verified audio assets. Default replication segments that already contain generated audio and burned-in captions may instead use explicitpreserve_source_audio / preserve_burned_inpolicies. These policies never synthesize new content, require an existing source audio stream, and remain subject to final review. Foraudio_first_seedance_experimental_v1, first runprepare_spoken_audio.py; after generated segments are downloaded, runverify_seedance_audio.py, then useaudio_first_edit_adapter.pyto materialize and execute a standardedit-request-v1through the existing runner. Forguide_voice_then_tts_experimental_v1, first runbuild_guide_voice_windows.pyto derive deterministicsentence-target-windows-v2from the reviewed Storyboard, fidelity mapping and locked timeline; no guide-audio transcription is performed. Resolve the account TTS profile, then runguide_voice_tts_adapter.py --prepareonly after reference fidelity passes.tts_decision=no_ttsreturnstts_not_required; onlyuse_ttscan create a Provider request. New executions require task-bound authorization and run the fixed-input FFmpeg media preflight before reading the Speech API Key. Fixture decode failure, empty PCM, runtime drift during the same authorization, locked-video drift and window overflow remain objective failures; a valid non-empty decode whose PCM hash differs across FFmpeg builds is recorded asfixture_pcm_hash_drift / diagnostic_disposition=continueand does not consume another plan revision. Provider semantics and timestamps come only from submitted source text plus hash-bound Provider subtitle evidence. 对 plan-driven V4,只要批准方案为完整口播并使用 TTS,pre_tts_edit_request.json就只用于冻结并本地渲染无声锁片,不能直接交付。guide_voice_tts_adapter.py --materialize必须回读visual-lock-manifest-v2、锁片、账号 edit profile、唯一 TTS manifest 和 Provider 时间戳,验证 atomic timeline 未漂移后清除 pending 状态。若方案不显示口播字幕,只挂载一次连续配音,正式请求保持subtitle_materialization=not_required、空字幕轨和omit_by_execution_plan;否则按 Provider 时间戳物化字幕。锁片后本地失败只允许零 Provider 修复。 After Provider audio is stored, runcontinuous_tts_audio_integrity.py: undecodable, empty, silent or invalid audio is an objective failure; repeat windows, abnormal word gaps and clipping are diagnostics with owner-only listenable slices and an explicit Codex disposition. No transcript similarity, homophone comparison or independent ASR participates in correction or blocking. A successful new asset iscontinuous-tts-manifest-v4and bindstts-audio-validation-v1, Provider subtitle evidence, media preflight and the exact audio. Offline revision and recovery never access Provider and must rerun the same audio-integrity and subtitle-layout checks before producing V4. Recovery accepts a terminal source receipt authorized by currenttask-operation-authorization-v1 / video_generation_task_recordonly when its task root, task authorization, plan revision, execution identity and single-call limits are complete; it reuses the already returned audio and never consumes another Provider call. A leading semantic word with a Provider-confirmed zero-length interval may be repaired from the next positive start, or by deterministically splitting the next positive interval when both words share the same start; every other non-positive semantic interval still fails closed. A reviewed audio-integritycontinuedecision may be carried into a fresh immutable recovery only when regenerated audio SHA, PCM facts, media probe, thresholds, diagnostic signature, semantic source, subtitle evidence SHA and listenable slices all match; the new receipt records the decision source. When Provider punctuation groups multiple business sentences into one subtitle sentence, a local timing revision must retime the original V4sentences[]through the same piecewise mapping instead of replacing their segmentation with Provider groups. Materialization accepts current task-record authorization only after rereading the same run/account scope, succeeded TTS operation, Provider request ID, revision/execution identity, consumed budget and empty unresolved set. Historical V2/V3 manifests,tts_asr,guide_asrand acoustic-review receipts remain read-only compatible only; they cannot start or resume a Provider call and never become inputs to new semantic decisions. Plan-driven task-level narration uses hash-boundnarration_revision + creative_execution_plan; materialization preserves every V4 atomic source/output range and source-review lineage, splits verified Provider subtitle cues at atom boundaries, and attaches the continuous TTS asset exactly once. Both strong replication modes may consume prepare 阶段正式生成的storyboard_actual_shot_locked_timeline,但必须回读 hash-boundsentence_window_source + storyboard + creative_execution_plan,且 V2 窗口、锁片、业务句和 plan revision 完全一致;shot-content 当前窗口还必须回读 passed reference-fidelity report,并逐项重验 target-to-actual shot 映射。物化器与渲染器必须在final_timeline中消费同一证据集合,不得补造空guide_asr。closing silence 是实际音画事实,由执行模型判断;不改变已确认口播文案。 Withreplication_mode=shot_content_faithful_v1, derive sentence windows from the fidelity report's hash-bound approved-target to actual-shot mapping and actual shot timecodes. Skip only Storyboard mappings explicitly approved asdecision=omitwith empty target shots and an omission reason; every non-omit target still requires actual-shot evidence. When placement needs recovery, the existing optimizer may expand into contiguous adjacent approved planned shots, including after real Provider timing is known; 85% is a placement preference, not a materialization gate; record the original/effective overlap and borrowed target/actual shot ids. Materialization must verify the V4 recovery receipt, revalidate every expansion against the immutable adjacent windows, and use the effective window for final subtitle/speech alignment. Record bothtarget_shot_ids[]andactual_shot_ids[]. Require per-sentencesemantic_match=passed, then materialize and revalidate hash-boundfinal_timeline.json. This timeline is the single source for locked-video duration, continuous TTS timestamps, subtitles and BGM. Tail silence and overlap remain in the timeline for model review, without mode-specific hard thresholds. Withreplication_mode=persuasion_structure_faithful_v1, require the passed generation review and frozen visual lock before TTS. Use the task-bound TTS profile and actual local tempo/tail timing, and bind locked video, continuous TTS, beats/shots, subtitles and applicable account-scoped BGM to onefinal_timeline.json. Materialization must also expose the samereplication_modeat the final edit-request top level so the V2 edit manifest and final reviewer consume an explicit identical mode. Owner-requested no-BGM delivery is valid only when the base edit omitsbackground_music, explicitly listsbackground_musicinforbidden_operations, and the final timeline recordsmode=none/applied=false; an unmarked missing music asset remains invalid. If timing failure requires shorter copy, accept only a hash-boundvoiceover-timing-revision-v1that preserves every sentence's selling point, Beat, shot and source references; the final TTS manifest must bind the revision ID and exact revised source text. Whennarration_generation_route=direct_reference_narration_v1, the registered direct narration overrides that historical timing-revision exception: Storyboard, sentence windows, TTS source text, subtitles and final timeline must match exactly, and any timing revision is rejected asdirect_narration_text_drift. When reviewed Seedance material is longer than its final target window in this mode, preserve the full reviewedkeep_rangesand use the compiler-providedplayback_rateto retime the picture and guide audio into that window. Do not truncate a required action result merely to match the target duration. - Execute:
python3 scripts/run_video_edit.py \
--request /abs/path/edit_request.json- For V3 covers, run
select_cover_frame.pyto extract 12 frames and perform deterministic exposure/detail/duplicate prefiltering. Visually review the contact sheet and providecover-frame-vision-ranking-v1; do not replace visual ranking with a random or purely graphical choice. Runprepare_cover.pywith the selected original frame, locked account profile and runtime profile. It may crop/scale proportionally and add the confirmed title/secondary label, but must not distort the model or manufacture blank space. Small overlap with hair/shoulders is allowed only by profile; face, neckline and product key details remain protected.image_genis only an explicitly enabled no-eligible-frame fallback. - Continue only when
render_result.json.status=success,edit_manifest.json.status=success,source_files_unchanged=true, and the output passes audio/video, duration, dimensions, hashes, account scope, and optionalattached_picstream-copy validation. - Run
content-revieweron the final video andedit_manifest.json. For automatic precision trim, also requiresemantic-preservation-report-v1.decision=passedand exact source-to-output mapping. Do not hand the output to publishing unless both gates pass. - When editable Jianying delivery is requested, read
references/jianying-handoff.mdand verifyjianying_handoff.json. Deliver剪辑源文件/for manual import: pre-trimmed silent video clips, independent audio tracks, UTF-8 SRT, style intent, and Chinese instructions. Never importfinal_preview.mp4as a substitute for an editable timeline or claim that the package is a private Jianying project file.
run_video_edit.py writes an active workbench report after request validation and updates it on success, verified reuse, or failure. Edit success remains final_content_review pending and never marks publish-ready by itself.
Rendering Rules
- Preserve timeline order and support hard cuts only in V1.
- Treat every
keep_rangesvalue as source time; record the resulting output-time mapping. playback_rate必须为有限正数;现有 FFmpeg 执行画面与保留音轨的对应变速。静音模式直接走现有静音分支;工具不支持的变换返回真实错误,模型选择已有本地能力恢复。- For
precision_trim, write the bound trim plan record, issue IDs, required semantic unit IDs, and exact source-to-output mapping intoedit_manifest.json; return the actual missing/drifted/semantically unapproved input for model recovery; do not cap local trim revisions. - Generate UTF-8 ASS and SRT assets. Prefer FFmpeg
ass; when the installed FFmpeg lackslibass, render deterministic transparent subtitle images with Pillow and burn them using FFmpegoverlay. - 账号字幕 profile 显式冻结
subtitles.background=false;历史缺失值按透明背景兼容,true直接阻断。ASS 固定BorderStyle=1,Pillow 背景 alpha 固定为 0。 - V3 must first write
assets/subtitle_layout.json. Both ASS and Pillow consume its wrapping, font size and explicit center anchor. Closing punctuation must stay with at least one preceding character and may not wrap onto a line by itself. Wrapping width must use the smaller horizontal distance from the center anchor to either safe-area edge, doubled, so asymmetric account safe areas cannot produce a centered bbox outside the right or left edge. Use the task/account subtitle safe area inside the actual frame; platform UI and readability are visually reviewed, not decided by universal coordinates. Shrink only to the account profile'smin_font_size, then fail withsubtitle_safe_area_overflow. - Use an explicit audio file or macOS
saywith an available named voice. Do not silently replace a missing voice. - Audio-first experiments synthesize one master TTS only. Preserve Seedance output audio only when every required segment passes verification; otherwise use input TTS for every segment. Never mix the two sources within one final video.
- Guide-voice experiments preserve the Seedance audio as evidence but mute it in the final mix. Require the authorized model/voice and one continuous TTS asset; retain actual sentence overlap for review. New jobs must bind
tts-profile-snapshot-v2withapi_family=audio_generation_http / model=seed-audio-1.0andauth.mode=speech_api_key; reject inactive/cross-account/drifted profiles, plaintext secrets, incomplete voice overrides, provider-policy changes, text over 3000 Unicode code points, target/output duration over 120 seconds, more than one successful paid call, or missing per-run approval evidence before materialization. An accountspeech_speedis immutable after snapshot and maps only at the Provider boundary to official integeraudio_config.speech_rate=(speech_speed-1)*100; tasks may not inject that field. Never use Volc SSO/STS for a new Speech provider call. Legacy timing defaults are review hints;shot_content_faithful_v1preserves semantic match, verified Provider timestamps and the sharedfinal-timeline-v1, without fixed boundary/tail vetoes. Never pad an over-short narration to disguise drift. - Mix source audio, voiceover, and optional BGM without modifying source files. V2 may explicitly mute source audio. Loop/trim the external BGM to the timeline, apply configured fades, duck the audio bed while voiceover is active, then perform final loudness normalization.
- A cover must carry
cover-asset-manifest-v1, matching hashes, profile identity, selected timestamp/candidate evidence, andproduct_consistency_status=passed. Embed it as MP4attached_pic; never insert it as a first frame or alter the primary video/audio streams. - Keep commands, tool versions, input/output probes, hashes, assets, validation, and the pending final-review gate in
edit_manifest.json. - 定向换画面只消费
video-repair-recipe-v1编译出的 V4 原子时间轴。替换素材源音轨必须静音,最终音轨从基线媒体 stream-copy;只有统一解码后的 PCM SHA256 相等才继承音频完整性事实,不相等则完整重跑音频完整性检查。两种情况都必须重跑全片普通审核和参考保真。 edit-request-v5仅用于creation_mode=product_asset_remix_v1。它接受完整匹配的 V1 或 V2 outline/selection/rough-cut family,禁止跨版本混绑;必须逐 atom 验证实际采用的 Seedance 源。每个源二选一绑定 canonical closeout/evidence ref,或绑定source_admissions[].historical-use-admission-receipt-v1。历史 receipt 必须回读成功旧成片、旧合格审核 lineage、本地/既有分镜证据、源媒体 hash 和精确允许区间,禁止伪造 closeout/V2/material-entry。所有 atom 继续校验 review lineage、虚拟分镜 ID、整数 PTS、源区间与输出区间;源音轨静音、BGM 禁用。成功输出video-edit-manifest-v3并保留完整多源 lineage,V1–V4 语义不变。scripts/remix_tts_adapter.py prepare必须同时接收已渲染的--locked-video,把该媒体 SHA/粗剪实际时长和逐 clip 输出预算写入locked_video + post-download-duration-budget-v1,再编译现有continuous-tts-request-v2;一句口播可覆盖同 beat 的连续多个 atom。只有 TTS profile、逐 run 付费授权、Provider 字幕证据、preflight、声学审核和句级真实时间与内容绑定全部有效,才生成最终字幕与时间线;adapter 不自行调用 TTS Provider。
Failure Boundaries
本次渲染未成功不等于整条任务不可恢复。plan-driven/混剪按现有入口返回 needs_model_action;旧路径可能仍返回 failed,由模型读取真实 reason/detail 并沿原编译器或 renderer 修复。恢复后重新核验实际媒体并完成终审,不改写旧失败、receipt 或来源 hash,不把局部诊断当成交付;未授权费用、身份/账号/权利冲突、submitted/unknown 与客观不可执行事实仍暂停受影响分支。
Report an unsuccessful render on invalid schema, unresolved/drifted generation closeout, missing/cross-account/inactive/drifted edit profile, missing or changed fonts, subtitle safe-area overflow, unavailable visual cover ranking, protected-subject title overlap, missing media, hash mismatch, cross-account/paused/unreviewed music, invalid time ranges, unsupported operations, unavailable TTS/filter, Provider subtitle evidence write failure, ineligible terminal TTS recovery, recovery tempo/mapping/hash drift, failed objective audio integrity, failed FFmpeg/ffprobe, inconsistent cover, changed primary streams, output collision, invalid output, or incomplete Jianying assets. 对 plan-driven 终编,可恢复问题写 needs_model_action 诊断并保持未交付,由模型零 Provider 修复后重试;pre_tts_visual_lock 被直接送入最终渲染时固定返回物化建议,不生成成片或 success manifest。
On failure, write render_result.json and logs/render.jsonl; do not write a success manifest. Do not overwrite an existing output or source file.
Resources
- Input/output contract:
references/input-output-contract.md - BGM asset boundary:
references/bgm-acquisition.md - Jianying manual-import contract:
references/jianying-handoff.md - Runtime profile:
templates/video-edit-profile.json - Account V3 profile:
templates/account-video-edit-profile.yaml - Shared TTS provider profile:
templates/tts-provider-profile.yaml - Account TTS profile:
templates/account-tts-profile.yaml - TTS profile resolver:
scripts/resolve_tts_profile.py - Continuous TTS executor:
scripts/execute_continuous_tts.py - Terminal continuous TTS recovery:
scripts/recover_continuous_tts_alignment.py - Localized continuous TTS revision:
scripts/revise_continuous_tts.py - Account profile resolver:
scripts/resolve_edit_profile.py - Hybrid cover-frame selector:
scripts/select_cover_frame.py - Deterministic runner:
scripts/run_video_edit.py - Guide voice/TTS adapter:
scripts/guide_voice_tts_adapter.py - Product remix/TTS adapter:
scripts/remix_tts_adapter.py - Deterministic guide-window builder:
scripts/build_guide_voice_windows.py - Continuous TTS audio integrity:
scripts/continuous_tts_audio_integrity.py - Deterministic cover compositor:
scripts/prepare_cover.py
通用屏显文字轨道
使用通用屏显文字轨道时,读取 overlay-workflow.md。同一任务兼有多个分支时读取对应分支;其中的原有条件、顺序和例外继续适用。
原生剪辑交接与旧输入兼容
新 edit request 由原编译器直接产出,实际渲染回读请求和输出,不要求中央回执或安装中央适配器。输入明确携带历史兼容记录时才调用 creative-runner/scripts/legacy_contract_receipts.py 只读验真;不签新回执、不加载旧写入引擎。付费调用、subtitle evidence、PCM、账号、授权和 FFmpeg 输出仍按原事实处理;历史 ASR 只读,已付费但对齐失败不能映射为成功。
旧连续 TTS 恢复中的逐句/全文 ASR 相似度只作为 reference_defaults / advisories,不再因 0.95 / 0.90 / 0.85 等默认值拒绝本地恢复。恢复仍须验证原音频、Provider 字幕证据、提交文本、时间映射、hash、授权与防重,且 provider_call_count=0;客观音频或绑定冲突按真实边界停止。
混剪配置与交付恢复
混剪配置、剪映交付或混剪恢复时,读取 remix-recovery-workflow.md。同一任务兼有多个分支时读取对应分支;其中的原有条件、顺序和例外继续适用。
固定 API 凭据默认放在用户维护的 ~/.config/loopilot/credentials.json(目录 0700、文件 0600),Profile 保存展开后的绝对路径及 json_pointer:Ark /volcengine/ark/api_key、Speech /volcengine/speech/api_key、飞书 /feishu/app_secret。共享 ecommerce-operations/scripts/file_auth.py 按字段读取,拒绝符号链接、非当前用户、宽权限、缺字段或空值;不把整份 JSON 发给 Provider,不回退钥匙串。旧单值文件无指针仍可用;Keychain 只供显式旧配置。密钥文件不进发布包、run、日志或 Git。飞书 App Secret 不替代 lark-cli 的 OAuth/主密钥,即梦 CLI 的原有认证域保持独立。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

