agentleFS
qbicusqbicus/skills/skills/tas-03-architecture-normalizer/SKILL.md

tas-03-architecture-normalizer

Skill1 starsChanged 41 days agoMITView on GitHub

Normalize architecture entities after analysis and grouping. Use when Codex needs to read analyzer `output.json` files under `01-analyzer` plus `02-grouper/grouped.json`, detect aliases and duplicate names across projects, services, datastores, integrations, and platforms, then write deterministic normalization outputs and an append-only decisions log under `03-normalizer`.

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 18 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈18

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Run the bundled normalizer script against an architecture workspace after the analyzer and grouper have produced outputs.

    line 8
  2. Distinctive:

    Write all outputs to:

    line 25
  3. Distinctive:

    Use the template in references/architecture-normalization-template.md unless the user explicitly requests a different format.

    line 37
  4. Very specific:

    If a value is unavailable, render No data available

    line 44
  5. Distinctive:

    Leave checklist items unchecked unless the user explicitly asks to mark review progress

    line 49
  6. Distinctive:

    Do not add, remove, or reorder top-level sections unless explicitly requested by the user

    line 50
  7. Distinctive:

    Do not generate freeform markdown structure when the template is available

    line 51
  8. Distinctive:

    keep preferred spellings stable across runs

    line 62
  9. Distinctive:

    avoid re-guessing known aliases

    line 63
  10. Distinctive:

    Do not delete original names from outputs even when aliases collapse into one canonical entity.

    line 65
  11. Very specific:

    Prefer manual_review if unsure

    line 76
  12. Distinctive:

    Never delete original names

    line 77
  13. Distinctive:

    Do not merge entities across different entity types unless explicit evidence supports it

    line 79
  14. Distinctive:

    Keep output deterministic by sorting entities, aliases, and references

    line 80
  15. Distinctive:

    Run the normalizer script first.

    line 98
  16. Very specific:

    Check manual_review_queue before accepting merge recommendations.

    line 100
  17. Very specific:

    If repeated ambiguities are legitimate aliases, add them to assets/alias_mappings.json and rerun.

    line 101
  18. Distinctive:

    If manual review changes normalization conclusions:

    line 102
  19. Distinctive:

    Treat explicit alias-map entries as stronger than heuristic similarity.

    line 109
  20. Distinctive:

    Treat case changes, punctuation changes, singular/plural drift, and known abbreviations as weak alias clues unless another signal supports …

    line 110
  21. Distinctive:

    Use grouped platforms and cross-project dependencies to support entity resolution, not to override weak evidence.

    line 111
  22. Distinctive:

    Keep conflicting names separate when entity type is unclear.

    line 112

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

TAS 03 Architecture Normalizer

Run the bundled normalizer script against an architecture workspace after the analyzer and grouper have produced outputs. Prefer conservative canonicalization, preserve every original name as an alias, and send ambiguous matches to manual review instead of forcing merges.

Input

  • Require architectureWorkspaceFolder.

Read Scope

Read:

  • <architectureWorkspaceFolder>/01-analyzer/**/output.json
  • <architectureWorkspaceFolder>/02-grouper/grouped.json

Ignore invalid analyzer outputs. Treat missing grouped.json as a valid degraded run and record it in unknowns.

Output Location

Write all outputs to:

<architectureWorkspaceFolder>/03-normalizer/

The script must:

  • Overwrite normalized.json
  • Overwrite normalized.md
  • Append to decisions.md without deleting prior entries

Markdown Template

Use the template in references/architecture-normalization-template.md unless the user explicitly requests a different format.

When generating normalized.md:

  • Render the markdown from the template file
  • Populate the template using data from normalized.json
  • Replace all template placeholders with actual values
  • If a value is unavailable, render No data available
  • Preserve the metadata header exactly as defined in the template
  • Preserve the confidence note block
  • Preserve the "Source" and "Review status" block
  • Preserve the "Reviewer Checklist" section
  • Leave checklist items unchecked unless the user explicitly asks to mark review progress
  • Do not add, remove, or reorder top-level sections unless explicitly requested by the user
  • Do not generate freeform markdown structure when the template is available

Alias Mapping

Support a deterministic alias mapping file stored at:

assets/alias_mappings.json

Use it to:

  • seed canonical names
  • keep preferred spellings stable across runs
  • avoid re-guessing known aliases

Do not delete original names from outputs even when aliases collapse into one canonical entity.

Alias-map entries must guide normalization but must not suppress conflicting evidence. If an alias-map entry conflicts with strong evidence from the current run, keep the issue in manual_review_queue and record it in decisions.md.

Normalization Rules

  • Detect duplicates
  • Identify aliases
  • Propose canonical names
  • Flag uncertain matches
  • Be conservative
  • Prefer manual_review if unsure
  • Never delete original names
  • Preserve every original name as an alias or source reference
  • Do not merge entities across different entity types unless explicit evidence supports it
  • Keep output deterministic by sorting entities, aliases, and references

Required Outputs

  • normalized.json: strict schema documented in references/output_contract.md
  • normalized.md: readable report rendered from the template with all sections preserved
  • decisions.md: append ambiguous matches, unresolved conflicts, reviewer overrides, and alias-map-driven merge decisions for each run

Each appended entry in decisions.md must include:

  • timestamp
  • workspace folder
  • number of analyzer outputs processed
  • whether grouped.json was present
  • reviewer or runner (if known)

Review Workflow

  1. Run the normalizer script first.
  2. Review normalized.json and normalized.md.
  3. Check manual_review_queue before accepting merge recommendations.
  4. If repeated ambiguities are legitimate aliases, add them to assets/alias_mappings.json and rerun.
  5. If manual review changes normalization conclusions:
    • Update normalized.json first
    • Regenerate normalized.md from it
    • Append the rationale to decisions.md

Interpretation Guidance

  • Treat explicit alias-map entries as stronger than heuristic similarity.
  • Treat case changes, punctuation changes, singular/plural drift, and known abbreviations as weak alias clues unless another signal supports them.
  • Use grouped platforms and cross-project dependencies to support entity resolution, not to override weak evidence.
  • Keep conflicting names separate when entity type is unclear.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.