repo-foundation
Helps your agent add new features, fix bugs, and manage contracts. It preserves user work and authorized public contracts.
What it does
This tool helps add new features, fix bugs, or start parts of an existing programming project. It can also be used to set up the initial foundation for a new project or to continue work that was interrupted.
When to use it
- ✓When you want to add a new feature to a project.
- ✓When you need to fix a bug in some code.
- ✓When you are starting a new project or a new part of it.
Example of what to ask your AI
“Add a new feature to log user login in this project.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool analyzes the current project, protects your existing changes, and implements new instructions in an organized way. It ensures work is done efficiently, avoiding rework.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill repo-foundationOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/repo-foundation/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Repo foundation
When to Use
- Use when the user asks to add a feature, fix a bug, or start a module in an existing project.
- Use when establishing the minimum foundation for a new repository or subsystem.
- Use when requirements authorize a schema, public-contract, ownership, or architecture migration.
- Use when resuming unfinished work or reconciling stale notes with repository evidence.
Build on a foundation that's just big enough, add features on top of it, and change the architecture only when requirements force it. Aim for the least total rework.
Core principles
- No universal dogma: don't impose a layout, error pattern, or framework the project doesn't need. Plain standard library is fine.
- Scope, baseline, and user work:
- Establish a clean baseline before mutating code: use the pre-existing revision/commit when Git exists; use a file inventory or snapshot when uninitialized or greenfield.
- In a dirty workspace, protect pre-existing uncommitted user modifications. You may edit distinct parts of the same file as long as user work is preserved. Stop and ask only if there is an actual collision or ambiguous intent.
- Never create commits or force Git initialization solely for handoff or tracking.
- Reuse conventions only with healthy repository precedent. Don't treat accidental patterns or temporary workarounds as precedent, and don't expand into out-of-scope cleanup.
- Don't push, publish, deploy, change branch protection, install system hooks, or buy anything unless the user asks.
- Prose, naming, and restraint:
- Names reflect business domain concepts and ownership.
- Add comments only for information code cannot express: grounded rationale, non-obvious invariants, units, rounding, ordering, protocol quirks, or compatibility.
- Do not narrate syntax; do not invent tickets, incidents, owners, or production histories.
- Treat error and CLI text as contract surface: check callers and parsers before rewording.
- Never invent ticket, PR, or incident references. An inaccessible or unverified reference is not evidence of fabrication. Preserve existing references unless repository evidence establishes that they are incorrect or obsolete; report material uncertainty instead of deleting them.
- Do not strip valuable comments merely for cosmetic brevity; do not enforce arbitrary comment ratios.
- Do not add abstractions, wrappers, or factory layers without concrete ownership, contract, or test seam needs.
- Preserve consumed public contracts as defined in
references/shared-contracts.md§1: keep documented types, values, errors, and serialization. Change a contract only when the task clearly authorizes it, then update callers, tests, and docs in scope. - Verification rigor & proportionate testing:
- Record baseline failures and distinguish: (1) pre-existing failures outside scope, (2) in-scope failures to fix, (3) regressions from current changes, and (4) environment errors.
- Verify the final code state; never use pre-cleanup test results to certify modified code.
- Add or update persistent tests when a change introduces behavior, fixes a defect, alters a contract, or exposes a meaningful coverage gap. Prefer the repository's existing test framework and structure. Do not add tests solely for file-count or coverage optics. For documentation-only or mechanically verified changes, use the relevant lightweight checks and explain any material verification gap.
- Check every requirement before you say you're done. Say what you verified, what you only read, and what you assumed. A command that exits 0 doesn't count if the file it should make isn't there.
- Failure invariants & state preservation: if an operation can fail halfway, decide what must stay untouched. Validate inputs and ownership first, build the replacement on the side, keep the old state until the new one is ready, and test the failure boundary.
Mode selection
| Mode | Trigger | Core Actions | Exit Criteria |
|---|---|---|---|
| Bootstrap | New repository from scratch or an area lacking minimal foundation (no build/test/run commands, conventions, or boundaries). | Elicit critical constraints, choose just-enough design, set up minimal tooling/checks, implement and verify the first representative slice. Read bootstrap. | Representative slice works and is verified; run/build commands are documented; repo is stable for subsequent work. |
…
FAQ
What does 'preserving user edits' mean?
It means that if you have already started making changes to the code, the tool will not erase your work. It will try to integrate the new instructions with what you have already done.
What is a 'public contract'?
It's an agreement on how different parts of the code should communicate. The tool ensures these agreements are maintained or updated correctly when needed.
Will the tool change my project's architecture?
Only if it's strictly necessary to meet new requirements. The goal is to make the minimum changes possible to avoid rework.
Details
Original description by the author
Implement features, fixes, modules, contract migrations, and resumed work while preserving user edits and authorized public contracts.
Popularity
- GitHub stars
- 48k
- Ranking position
- #4001
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
api-connector-builder
Has your agent build new API connections following the existing pattern. Use when you need to add one more integration without creating a new way of doing things.
affaan-m/ECC
api-design
Helps your agent design REST APIs following best practices. It's useful for defining how APIs communicate, how errors are shown, and how to organize data.
affaan-m/ECC
backend-patterns
Helps your agent with server-side architecture patterns and database optimization. It's useful for building or reviewing code that runs on the server.
affaan-m/ECC