ankyr-engineering

Applies language-agnostic engineering principles for duplication, typing, naming, structure, and coupling when writing or reviewing code.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/GuyErreich/AI_Agents --skill ankyr-engineering-guyerreich
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ankyr-engineering
Source: https://github.com/GuyErreich/AI_Agents/tree/main/plugins/ankyr/skills/ankyr-engineering
Command: npx skills add https://github.com/GuyErreich/AI_Agents --skill ankyr-engineering-guyerreich

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Codebases drift into duplicated logic, misleading names, mixed responsibilities, and tangled coupling when no shared engineering baseline exists. This Skill supplies a universal, language-agnostic foundation of code-quality principles that applies by default whenever a project does not define its own standards. ## Core Features & Use Cases - Six core principles: Rules for duplication and reuse, typing intent, naming, folder structure, separation of concerns, and coupling/decoupling, each backed by an on-demand reference file. - Structured workflow: A five-step process covering search-before-create, boundary decisions, principle-driven writing, extraction on second occurrence, and principle-based review. - Hierarchy-aware defaults: Defers to the project's AGENT.md chain, project rules, and project skills, acting only as the fallback when the project is silent. - Use Case: Before writing a new module in an unfamiliar repository, load this Skill to decide where shared versus feature-local logic belongs, name units by responsibility, and extract repeated patterns instead of copying them. ## Quick Start Ask the AI to review the new module you are about to write against the engineering foundations principles before any code is committed.

Frequently Asked Questions about ankyr-engineering

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide when to extract duplicated code?▼

Extract duplicated logic on the second occurrence, in the same change, rather than waiting for a third copy. Coincidental similarity is not duplication: blocks that look alike but change for different reasons should stay separate to avoid premature abstraction.

How to decide between coupling and decoupling two modules?▼

Couple modules that change for the same reason and decouple those that change for different reasons. Use the decision checklist in the coupling-decoupling reference: same reason means couple, different reasons means decouple, coincidental similarity means keep separate.

Does this Skill override my project's existing coding standards?▼

No, it supplies defaults only when the project is silent. The resolution order is AGENT.md from leaf to root, then project rules, then project skills, and only then this Skill; the first source that speaks wins.

When should I load the reference files instead of the principle table?▼

Load a reference file only when a principle requires a judgment call you cannot resolve from the summary table, such as distinguishing true duplication from coincidental similarity. Do not preload references, since they are read on demand.

What are the limits of language-agnostic typing guidance?▼

This Skill covers typing intent only: honest types at boundaries, named types for domain concepts, and no escape hatches hiding design gaps. Concrete syntax rules like TypeScript any bans or tsconfig settings belong to the language-specific nodejs skill.