documentation-bc-technical-spec-generator
Skill28 starsChanged 7 months agoMITView on GitHub
Create well-structured Business Central technical specifications in the `openspec/specs/` folder from approved user stories, following the SPEC-001 template structure. Decomposes an approved user story into a complete technical design with architecture overview, AL object inventory (tables, enums, pages, page extensions, codeunits, permission sets) with allocated IDs from the workspace `app.json` range and the correct affix, table field definitions, page layout notes, integration points with standard BC, testable technical acceptance criteria mapped back to the user-story ACs, a phased task breakdown, and per-phase implementation plan files under `openspec/plans/`. Verifies standard BC behavior via Microsoft Learn before assuming reuse. Use whenever the user asks to create, draft, generate, or write a technical spec, SPEC, architecture document, implementation plan, or asks to decompose / plan a user story for development, with trigger phrases such as "create a spec for US-NNN", "draft technical spec", "generate SPEC from user story", "decompose this US into a plan", "user story approved, create the spec", or "design the AL objects for [feature]".
- Installs packages
In this repository38 other files it gives its agents.
- bc-agent-instructions-debuggerSkill
- bc-al-bug-fixSkill
- bc-al-code-reviewerSkill
- bc-al-project-contextSkill
- bc-api-page-generatorSkill
- bc-api-query-generatorSkill
- bc-approval-workflow-generatorSkill
- bc-attachments-generatorSkill
- skill-batch-processingSkill
- bc-business-events-generatorSkill
- bc-cds-page-generatorSkill
- bc-dataverse-entity-generatorSkill
- bc-dataverse-mapping-generatorSkill
- bc-field-propagationSkill
- bc-install-codeunit-generatorSkill
- bc-isolated-storage-generatorSkill
- bc-job-queueSkill
- bc-manifest-handoff-generatorSkill
- bc-matrix-page-generatorSkill
- bc-number-series-generatorSkill
- bc-pricing-refactorSkill
- bc-report-selection-generatorSkill
- bc-reportsSkill
- bc-setup-table-generatorSkill
- bc-setup-wizard-generatorSkill
- bc-table-dimensions-generatorSkill
- bc-telemetry-generatorSkill
- bc-test-codeunit-generatorSkill
- bc-upgrade-codeunit-generatorSkill
- documentation-bc-analysis-generatorSkill
- documentation-bc-architecture-generatorSkill
- documentation-bc-ccn-generatorSkill
- documentation-bc-md-to-docx-converterSkill
- documentation-bc-phase-plan-generatorSkill
- documentation-bc-release-note-generatorSkill
- documentation-bc-user-story-generatorSkill
- onprem-remote-deploySkill
- skill-contribution-assistantSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
30 rules. About 0 are common, 13 are distinctive, and 17 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
17
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Never ask the user where to save the files.
- Distinctive: line 23
Follow these steps in order.
- Very specific: line 27
If the user did not specify a US ID, list files in openspec/userstories/ (and openspec/user-stories/ if present) and ask which one to base …
- Distinctive: line 28
Read the chosen user-story file.
- Very specific: line 29
Verify status: approved in the frontmatter.
- Very specific: line 36
If the folder does not exist or is empty, start at SPEC-001.
- Very specific: line 42
Read app.json and capture:
- Very specific: line 47
Read the AL prefix/affix convention used by existing objects in src/.
- Very specific: line 51
If any required input is unavailable (missing app.json, no ID range, no clear affix), stop and ask the user via vscode_askQuestions rather …
- Very specific: line 59
Call mcp_microsoftdocs_microsoft_docs_search (and mcp_microsoftdocs_microsoft_docs_fetch when deeper detail is required) to confirm the …
- Distinctive: line 61
If documentation does not confirm a feature, do not assume it exists — instead, add an Open Question to the spec to clarify with the user.
- Very specific: line 80
After completing the object inventory and phasing and before drafting the spec file, enumerate the blind spots and corner cases you …
- Distinctive: line 96
Do not proceed to Step 6 until all raised blind spots have been assigned a disposition.
- Very specific: line 105
Write the file at openspec/specs/<filename> using the template in references/spec-template.md.
- Very specific: line 147
After Step 6 has written the spec file, re-read its frontmatter and verify status: approved.
- Very specific: line 149
Do not silently flip the spec to approved — approval is a human gate.
- Very specific: line 150
If status: approved, ask the user via vscode_askQuestions whether to proceed with phase-plan generation now.
- Distinctive: line 153
Only invoke the delegated skill on an explicit "Yes".
- Very specific: line 156
Do not generate phase plan files directly from this skill — the legacy references/plan-template.md is retained only as a fallback reference …
- Distinctive: line 165
After writing, report to the user:
- Very specific: line 177
Every artefact produced by this skill MUST follow these rules.
- Very specific: line 182
No manual H2 numeric prefix: Write ## Business context, never ## 2.
- Distinctive: line 193
Translate the ENTIRE table: When a target language is set, every column header AND every cell value in every table MUST be in that language.
- Distinctive: line 198
Regression guard: Before saving, scan the artefact for these anti-patterns and fix them:
- Very specific: line 212
Never: create a spec for a user story whose status is not approved.
- Distinctive: line 218
Every US Acceptance Criterion MUST map to at least one technical AC in §7.
- Distinctive: line 219
Every Open Question from the US MUST appear in §11 with a status.
- Very specific: line 251
Every H2 in the generated markdown MUST be immediately followed by <!-- section-key: <CanonicalKey> --> on its own line so the same map can …
- Distinctive: line 272
After writing the markdown file, the skill MUST re-read it and verify the anchor contract:
- Distinctive: line 279
If any H2 is missing its anchor, or its anchor uses a key not present in the schema, the skill MUST fix the file and re-save before …
≈ “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
Documentation: BC Technical Spec Generator
Generate a Business Central technical specification under openspec/specs/ and the corresponding per-phase plan files under openspec/plans/, starting from an approved user story in openspec/userstories/ (or openspec/user-stories/).
When to use
The user has an approved BC user story (status: approved) and wants the AL Architect-style technical breakdown — object inventory, IDs, fields, pages, testable ACs, phase plans — before any code is written.
Default output locations
- Spec file:
openspec/specs/<kebab-title>.spec.md - Per-phase plan files:
openspec/plans/<kebab-title>-phase-<N>-<slug>.plan.md
Never ask the user where to save the files.
Workflow
Follow these steps in order. Do not skip the user-story validation or the codebase research step.
Step 1 — Identify and validate the source user story
- If the user did not specify a US ID, list files in
openspec/userstories/(andopenspec/user-stories/if present) and ask which one to base the spec on viavscode_askQuestions. - Read the chosen user-story file.
- Verify
status: approvedin the frontmatter. If status isdraft, stop and ask the user to approve the story first (do not produce a spec for a draft story). - Extract:
id(US-NNN),title,module,ProductOwner, all Acceptance Criteria, Out of Scope, and Open Questions.
Step 2 — Allocate the next SPEC ID
- List files in
openspec/specs/matchingSPEC-*.spec.mdand any*.spec.mdwith aSPEC-NNNid in the frontmatter. - Parse the highest existing numeric ID and increment by 1; format as
SPEC-NNN(zero-padded to 3 digits). - If the folder does not exist or is empty, start at
SPEC-001.
Step 3 — Research the workspace and existing codebase
This step is mandatory — never invent object IDs or affixes. Run these reads in parallel where possible:
- Read
app.jsonand capture:idRanges(array offrom/to)application(BC version) andruntimename,publisherdependencies(used / not used)
- Read the AL prefix/affix convention used by existing objects in
src/. Look at any*.al,*.Table.al,*.Pageext.al,*.Tableext.alfiles to detect the established affix (e.g.PTE,BCS, customer-specific prefix). If multiple are in use, prefer the one matching the relevant module folder. - Inventory already-used object IDs by
Object Typeacrosssrc/so the spec allocates only IDs that are still free. Read enough files to be confident, or call theExploresubagent with thoroughnessmediumif the codebase is large. - Note relevant existing objects the new spec may reuse, extend, or coexist with.
If any required input is unavailable (missing app.json, no ID range, no clear affix), stop and ask the user via vscode_askQuestions rather than guess.
The prepared_by frontmatter field is mandatory. If the author name is not evident from context (git user, previous artefacts, or explicit user input), ask the user before writing the file.
Step 4 — Verify standard BC behavior the spec depends on
For each US Acceptance Criterion that implies reuse of out-of-the-box BC functionality (Resources, Employees, Document Attachments, No. Series, Country/Region, Post Codes, Dimensions, API pages, RapidStart, etc.):
- Call
mcp_microsoftdocs_microsoft_docs_search(andmcp_microsoftdocs_microsoft_docs_fetchwhen deeper detail is required) to confirm the standard behavior on BCapplicationversion fromapp.json. - Cite the verified mechanism explicitly in the spec (e.g. "uses standard
Codeunit \"No. Series\"", "uses standardDocument Attachmenttable"). - If documentation does not confirm a feature, do not assume it exists — instead, add an Open Question to the spec to clarify with the user.
Step 5 — Plan the AL object inventory and phasing
Before drafting, decide:
- Object IDs — Allocate one contiguous block inside the workspace
app.jsonidRangesthat is large enough for all planned objects, skipping any already-used IDs found in Step 3. Use the same ID number for objects of different types only when consistent with the established codebase pattern. - Affix — Apply the detected affix to every object name (e.g.
<Affix> Penalty Header). Keep total object name ≤ 30 chars (≤ 26 for the name itself peral-naming-conventions.instructions.md). - Tables / Enums / Pages / PageExts / Codeunits / Permission Sets — Decide what is needed to satisfy every user-story AC. Justify each object's existence; do not add speculative objects.
- Field design — Define field numbers in groups (1–19 identifiers, 20–29 dates, 30–39 amounts, 40–49 status, 50+ notes) following typical BC patterns.
- Phases — Decompose the work into 2–6 self-contained phases. Each phase must compile and be reviewable on its own. Common patterns:
- Phase 1 = Master Data / Setup / Catalogues
- Phase 2 = Core entity + main UI
- Phase 3 = Integration with standard BC objects (FactBoxes, PageExts)
- Phase N = Permissions, translations, smoke tests
- Open Question reconciliation — For every Open Question in the user story, decide whether the spec resolves it (and how), or escalates it.
Step 5b — Blind spot & corner case review
After completing the object inventory and phasing and before drafting the spec file, enumerate the blind spots and corner cases you detected in the user story, ACs, and proposed object design. Surface them to the user via vscode_askQuestions. For each item, offer three dispositions:
- Add as Technical AC — creates a new entry in §7.
- Add as Open Question — escalated to the Product Owner in §11.
- Explicitly out of scope — recorded in §2 Out-of-Scope Confirmation.
Minimum areas to check (raise at least one question per applicable area):
- Negative / failure paths in ACs — For every AC that describes a success path ("user can create", "amount is shown"), ask: what is the expected behavior when the operation fails, the value is missing, or the precondition is not met? If the AC has no negative path, it is incomplete.
- Orphan-record scenarios — For every
TableRelationorCalcFormulain the planned field design, what happens when the referenced record is deleted? Is aDeleteAllowed= No restriction needed, or a cascade, or a check-before-delete codeunit? - Status-transition coverage — If the spec includes a Status field, are ALL valid transitions modeled (including backward transitions like re-open, and invalid ones like skipping states)? List any transition not explicitly covered by an AC.
- Still-open Open Questions from the US — For every OQ whose status in the user story is "Escalated" or "Functional question" (not yet resolved), surface it here. A spec written over unresolved OQs has implicit assumptions baked in.
- Vague AC language — Flag every US or SPEC AC that contains "should", "might", "typically", "as needed", or "user-friendly". These are not verifiable; rewrite with the user or escalate.
- Permission matrix gap — Does the spec define which Permission Set grants Create / Modify / Delete for each new table? If not, raise it as an AC or an Open Question.
- Translation / multi-language — Are all new captions, tooltips, and option values included in the Translation AC? Are there string-length risks (UI truncation) in translated languages?
- Missing non-happy-path in runtime flows — Review the §2 Architecture flow diagram. Does it show the behavior when no matching records are found, when a batch job is already running, or when a configuration value is missing?
Do not proceed to Step 6 until all raised blind spots have been assigned a disposition.
Step 6 — Draft and write the spec file
Build the filename: <kebab-title>.spec.md (or SPEC-NNN-<kebab-title>.spec.md if the user story uses that convention).
<kebab-title>is the lowercase, hyphen-separated title from the user story (diacritics stripped, non-alphanumerics removed, collapsed hyphens).- Validate against
^([A-Z]+-\d{3}-)?[a-z0-9]+(-[a-z0-9]+)*\.spec\.md$before writing.
Write the file at openspec/specs/<filename> using the template in references/spec-template.md. The file MUST contain, in this exact order:
- YAML frontmatter:
--- id: SPEC-NNN title: <Title> version: <Version> type: features status: draft user_story: US-NNN priority: <from US> complexity: <Low | Medium | Medium-High | High> estimated_effort: <N-M dev days> module: <module from US> prefix: <Affix> id_range: <from>-<to> prepared_by: <author name> created_date: <YYYY-MM-DD> approved_date: "" --- # SPEC-NNN – <Title>H1## 1. User Story Reference— markdown link to the US, quote of the As/Want/So-that block, statement that all US ACs are addressed in §7.## 2. Technical Design Overview— Design Principles table (rationale per choice), Architecture (MermaiderDiagramfor data; orflowchartfor runtime flow), Out-of-Scope Confirmation echoing the US.## 3. AL Object Inventory— Tables / Enums / Pages / Page Extensions / Codeunits / Permission Sets / Number Series subsections, each as a table with columns:ID | Object Name | (Type if mixed) | Purpose.## 4. Table Field Definitions— One table per new table:Field No. | Field Name | Data Type | Length / Properties | Notes. ListKeys:andTriggers:as bullets per table.## 5. Page Design Notes— One subsection per non-trivial page: field groups, FactBox parts, actions, visibility logic.## 6. Integration with Standard BC Objects— Table:Standard Object | Interaction. Explicitly call out anyTableRelation, FlowFields, and standard codeunits used.## 7. Technical Acceptance Criteria— Table:ID | Description | Maps to US-AC. Use IDs likeAC-TBL-001,AC-ENUM-001,AC-FLD-001,AC-PAGE-001,AC-CU-001,AC-PERM-001,AC-LANG-001. Every US AC must be covered by at least one technical AC.## 8. Phase Overview— Table:Phase | Slug | Name | Effort (dev days) | Descriptionand a total effort estimate.## 9. Testing Strategy— Unit-test plan per phase (test codeunit names + locations undertest/).## 10. Dependencies— Table:Dependency | Source | Resolution.## 11. Open Questions Tracking— Table:# | From | Status | Resolution proposed in this spec. Echo every US Open Question and note its status (Resolved / Not blocking / Functional question / Escalated).## 12. Phase Plans— Numbered list of links to each per-phase plan file (use the filenames generated in Step 7).
Step 7 — Delegate per-phase plan file creation (gated by approval)
Per-phase plan files are produced by the dedicated documentation-bc-phase-plan-generator skill, which owns the canonical phase-plan template, dependency graph, and filename convention (SPEC-NNN-phase-<N>-<kebab-phase-name>.plan.md under openspec/plans/).
This step is gated — the spec must be approved AND the user must explicitly confirm before any plan file is created.
- After Step 6 has written the spec file, re-read its frontmatter and verify
status: approved.- If
statusisdraft(the default on initial creation), stop and report to the user that plan generation requires the spec to be approved first. Provide the spec file path and the next recommended action ("Review the spec, setstatus: approvedin the frontmatter, then re-run plan generation"). - Do not silently flip the spec to
approved— approval is a human gate.
- If
- If
status: approved, ask the user viavscode_askQuestionswhether to proceed with phase-plan generation now. Present at least two options:- Yes — generate plan files now (recommended default).
- No — stop after the spec (the user will invoke the phase-plan generator later).
- Only invoke the delegated skill on an explicit "Yes". Never auto-invoke.
- On confirmation, invoke the
documentation-bc-phase-plan-generatorskill with the newSPEC-NNNid as input. That skill re-validatesstatus: approvedindependently before writing any file. - The delegated skill reads SPEC §8 Phase Overview, computes
depends_on, runs any required Microsoft Learn verifications, and emits one.plan.mdfile per phase in a single pass. - Do not generate phase plan files directly from this skill — the legacy
references/plan-template.mdis retained only as a fallback reference for the template shape, not for direct authoring. - Collect the list of created plan-file paths returned by the delegated skill and use them to populate
## 12. Phase Plansin the spec file (Step 6 §12). If the user declined plan generation in step 2, leave §12 with a placeholder note: "Plan files not yet generated — run thedocumentation-bc-phase-plan-generatorskill once the spec is approved."
Step 8 — Mark the source user story (optional)
If, and only if, the user story file does not yet reference an active spec, you MAY append a one-line link in the user story under a new ## Linked Spec section pointing to the new spec file. Do not change the user-story status or any other field.
Step 9 — Confirm and report
After writing, report to the user:
- Path of the created spec file (as a markdown link).
- Paths of every created plan file (as markdown links).
- The allocated
SPEC-NNNid and theid_rangeassigned. - The detected affix and
app.jsonBC version used. - A 1-line summary of each phase.
- Any Open Questions still escalated to the Product Owner.
- The next recommended action (typically: review & approve the spec, then hand off to the AL Architect / AL Developer agent).
Heading & full-content translation rules
Every artefact produced by this skill MUST follow these rules. They exist so
the downstream documentation-bc-md-to-docx-converter pipeline (AXZ Word
templates) renders correctly in every supported language and so headings
never leak design-time tokens.
- No manual H2 numeric prefix. Write
## Business context, never## 2. Business context. The Word template's multilevel-list style numbers the H2s automatically; a manualN.prefix produces double numbering (e.g.2. 2. Business context) in the rendered docx. - No source-ID suffix in any heading. Drop trailing parentheticals
such as
(from US-NNN),(from US-<NNN>),(procedente de SPEC-001),(aus ARCH-NNN), etc. Trace links to source artefacts belong in the frontmatter or section body, not in the visible heading text. - Translate H3 subsection labels. Subsections keep their
N.Mprefix shape (e.g.### 3.1 …) but the label text MUST be translated into the target language declared in the frontmatterlanguage/localefield. - Translate the ENTIRE table. When a target language is set, every column header AND every cell value in every table MUST be in that language. No English fallbacks for cells, no mixed-language rows. Code identifiers (object names, field names, AL keywords) stay verbatim; surrounding prose translates.
- Regression guard. Before saving, scan the artefact for these
anti-patterns and fix them:
^## \d+(?:\.\d+)*\.\s(numeric-prefixed H2)\((?:from|procedente de|issu[e]? de|aus|da|de|uit)\s+[A-Z]+-\S+\)\s*$on any heading line (source-ID suffix)- English column headers when the document is non-English.
Origin: defects discovered while producing
CCN-001-driver-penalty-management. Tracked indocs/plans/PLAN-documentation-bc-heading-translation-fix.md(PLAN-DOC-BC-003).
Hard rules
- status MUST always be
drafton initial creation of both the spec and every phase plan. - approved_date MUST be empty on initial creation.
- Never create a spec for a user story whose
statusis notapproved. - Never auto-invoke the
documentation-bc-phase-plan-generatorskill. Plan generation is gated on (a)spec.status: approvedand (b) explicit user confirmation in Step 7. - Never invent object IDs — they MUST come from the
app.jsonidRangesand not collide with existing objects detected in Step 3. - Never invent the affix — detect it from existing AL code.
- Never assume standard BC behavior without Microsoft Learn verification (Step 4). If unverifiable, add an Open Question.
- Never overwrite an existing spec or plan file. On collision, re-allocate the SPEC ID or pick a non-colliding slug.
- Every US Acceptance Criterion MUST map to at least one technical AC in §7.
- Every Open Question from the US MUST appear in §11 with a status.
- At least one phase MUST exist; if work is genuinely single-step, still produce one phase plan file.
- Spec and plan files MUST NOT contain AL source code (no ```al code blocks of actual implementations). Object names, IDs, field tables, and pseudocode descriptions only.
- Total spec body SHOULD stay under ~1,500 lines; if larger, split optional deep-dive sections into companion files under
openspec/architecture/. - Never skip Step 5b — the blind spot & corner case review is mandatory. Every identified blind spot MUST have a recorded disposition before the spec file is written.
- Never accept an AC with vague or unverifiable language — any AC containing "should", "might", "typically", "as needed", or "user-friendly" MUST be rewritten with the user or escalated to an Open Question.
References
references/spec-template.md— full markdown skeleton with section headings and placeholder tokens.references/plan-template.md— legacy per-phase plan skeleton (fallback only; primary plan generation is delegated to thedocumentation-bc-phase-plan-generatorskill).references/example-spec.md— a complete worked example (the SharePoint Files factbox spec) to use as a style and structure guide.references/spec-fields.json— canonical, language-neutral static field/section keys used to drive the mandatory JSON output (below) and any downstreammd-to-docx-convertertemplate.
Mandatory JSON output
On every invocation, in addition to writing the .spec.md file the skill MUST also write a sibling JSON file:
- Path: same folder as the markdown, filename pattern
SPEC-NNN-<kebab-title>.spec.json(seeoutputJson.filePatterninreferences/spec-fields.json). - Encoding: UTF-8, pretty-printed (2-space indent).
- Shape:
{ "artifactType": "SPEC", "id": "SPEC-NNN", "language": "<bcp47-primary-subtag>", "frontmatter": { "<yamlKey>": "<value>", ... }, "sections": { "<CanonicalKey>": "<markdown body of the section, translated>", ... } } - Keys (both in
frontmatterand insections) MUST come verbatim fromreferences/spec-fields.json(frontmatterFields[].keyandsections[].key). They are byte-stable across runs and languages so they can bind 1:1 to placeholder tokens in any Word template. - Values carry the content in the chosen target language.
- Every H2 in the generated markdown MUST be immediately followed by
<!-- section-key: <CanonicalKey> -->on its own line so the same map can be reconstructed by parsing the.mdafter the fact. - Phase plan files generated by the companion
documentation-bc-phase-plan-generatorskill follow the same rule using their ownreferences/phase-plan-fields.json. - Failure to emit the JSON file is a hard failure of the skill — abort and report rather than producing only the markdown.
Downstream rendering dependency (mmdc)
The markdown produced by this skill is intended to be converted to .docx by the documentation-bc-md-to-docx-converter skill. Any Mermaid block in the output — whether emitted as an explicit <!-- DIAGRAM: mermaid ... --> marker or as a bare triple-backtick ```mermaid fence — is rendered to PNG by the Mermaid CLI (mmdc). When mmdc is unavailable the converter falls back to the diagram's plain-text content, so generated documents stay readable but lose their visual diagrams.
Install once per machine (Node.js required):
npm install -g @mermaid-js/mermaid-cli
mmdc --versionInline  images in the generated markdown are also embedded into the docx body by the converter (resolved relative to the markdown file, then to repo root). Missing image files are left as literal text and produce a warning.
Pre-completion self-check — section-key anchors (MUST)
This step is mandatory before reporting the artefact as done. It enforces the language-neutral binding contract used by the documentation-bc-md-to-docx-converter.
After writing the markdown file, the skill MUST re-read it and verify the anchor contract:
- For every line beginning with
##in the body (not inside fenced code blocks, not in YAML frontmatter), the next non-blank line MUST be: `<!-- section-key: <CanonicalKey> -->` <CanonicalKey>MUST be one of thesections[].keyvalues declared in the matchingreferences/*-fields.jsonschema (PascalCase, English, byte-stable across languages).- If any H2 is missing its anchor, or its anchor uses a key not present in the schema, the skill MUST fix the file and re-save before returning control to the user.
- The same canonical key MUST appear as a top-level key in the sibling
*.jsonoutput emitted by this skill — NEVER a translated derivative.
Recommended automation: run python .github/skills/shared/scripts/sync-section-keys.py --dry-run against the just-written file; if it reports any missing/mismatched anchor, fix the file in place, then re-run without --dry-run to apply.
Failure of this self-check is a hard failure of the skill — do not deliver the artefact until every H2 carries a valid schema-backed anchor.
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.

