agentsclimarketplace

M code init project

Skill mapuamap/denys-fast-mskills/skills/m_code_init_project

Initialize or harden a project for AI-assisted development — CLAUDE.md, .claude/rules, architecture boundaries, seams for nondeterminism, deterministic check commands, first behavior tests, and CI readiness. Use when bootstrapping a new repo or making an existing one safe for repeated Claude-assisted change.From its SKILL.md

Install
npx -y skills add mapuamap/denys-fast-mskills --skill m_code_init_project

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.7 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

m_code_init_project

Initialize a repository so Claude and humans can repeatedly build, test, review, and change it safely.

Contract

Use $ARGUMENTS as the project goal, stack, repo path, and constraints.

Default behavior:

  • Empty repo: create the smallest useful baseline.
  • Existing repo: harden current conventions; do not overwrite them silently.
  • Ambiguous stack: infer from files; if still unclear, state the assumption before editing.
  • Do not create or commit secrets, tokens, private keys, production URLs, or real customer data.
  • Do not add broad tool permissions or auto-approval rules.

Workflow

1. Inspect before writing

For an existing repo of any size, delegate the wide scan to the m_code-context-scout agent and keep only its map — that keeps the raw inspection out of your main context. Read only what is needed:

- git status
- top-level tree
- package/build files
- README/docs
- test/lint/type/build config
- existing CLAUDE.md, AGENTS.md, .github/copilot-instructions.md, .claude/rules
- CI config if present

Report:

Project kind:
Language/stack:
Package manager:
Existing commands:
Existing tests:
Current architecture shape:
Main gaps:

2. Create deterministic commands

Prefer ecosystem-native scripts in the existing package/build config.

Define or document:

install
run/dev
test
test:unit, when useful
test:integration, when useful
typecheck, for typed stacks
lint
format or format:check
build

If a command cannot be configured safely, record it as not configured; do not invent a fake command.

3. Establish minimal boundaries

Use names that fit the stack. Keep the dependency idea even if the folders differ.

entrypoints/    HTTP routes, CLI handlers, workers, UI event handlers
application/    use cases, orchestration, transactions, permissions workflow
domain/         pure rules, policies, entities, value objects
ports/          protocols/interfaces for external systems
adapters/       DB/API/filesystem/framework implementations
shared/         narrow primitives only; no dumping ground

Dependency rule:

entrypoints -> application -> domain
application -> ports
adapters -> ports
adapters may import infrastructure libraries
domain must not import framework, DB, network, env, filesystem, current time, random, or concrete adapters

For small projects, collapse folders and keep boundaries visible through names, imports, and tests. Do not split files only to create layers.

4. Add seams for nondeterminism and external systems

Create explicit seams around:

DB/repository
HTTP/API clients
filesystem
clock/current time
random/ID generation
env/config
queues/jobs
email/payment/SMS providers
feature flags

Use dependency injection appropriate to the language: function parameters, constructor parameters, fixtures, providers, interfaces/protocols, or composition-root wiring.

5. Add first useful tests

Create tests for observable behavior, not private implementation details.

Minimum baseline:

- one unit test for pure domain/application behavior
- one adapter/integration test only if an external boundary exists and can be tested safely
- one regression test if the project is being hardened around a known risky path

Avoid real production services. Use fakes, local fixtures, test containers, or dedicated test instances.

6. Create concise Claude guidance

Create or update root CLAUDE.md. Keep it short enough to load every session.

If the repo already has AGENTS.md, prefer:

@AGENTS.md

# Claude Code notes
- <Claude-specific command or convention only if needed>

Recommended CLAUDE.md shape:

# Project guidance

## Project shape
- <one-line project purpose>
- Important code lives in <paths>

## Commands
- Install: <command>
- Test: <command>
- Typecheck: <command or not configured>
- Lint: <command or not configured>
- Build: <command or not configured>

## Architecture rules
- <few specific dependency/boundary rules>

## Testing rules
- <few specific testing rules>

## Done means
- Relevant tests/checks run or explicitly reported as skipped.
- Diff reviewed for behavior, security, and architecture risk.

Move large or path-specific rules into .claude/rules/*.md. Put repeated task playbooks into skills, not CLAUDE.md.

7. Add enforcement only when explicit

Guidance files are not enforcement. If a rule must always happen, propose a hook or CI check instead of relying on text instructions.

Do not add hooks, permission changes, or allowed-tools unless the user explicitly asks and the rule is deterministic and safe.

8. Validate

Run the smallest safe checks available — delegate noisy runs to the m_code-test-runner agent and keep only the summary:

- test or focused test
- typecheck, when configured
- lint or format check, when configured
- build, when configured and safe

Never claim a command passed unless it ran in this session or the user provided the result.

Final response format

Project baseline:
- Kind:
- Stack:
- Package manager:
- Existing repo: yes/no

Files changed:
- <path>: <purpose>

Architecture baseline:
- Boundaries:
- Seams added:
- Dependency rule:

Commands:
- Install:
- Test:
- Typecheck:
- Lint:
- Build:

Validation:
- <command>: pass/fail/skipped + reason

Remaining gaps:
- <specific gap>

Next step:
- <one concrete next action>

What ships with it: 1 file

1.0 KB alongside SKILL.md

evals/

Gives 0 of the 12 instructions most project setup skills give in ~1.2k tokens

Counted across 1,553 of the 3,091 authors here whose files we hold, read 2026-09-06

  • Write the configuration filein 36 of 1553
  • Create the directory structurein 35 of 1553, across 33 files
  • Verify the setupin 31 of 1553, across 28 files
  • Run the setup scriptin 30 of 1553, across 29 files
  • Pre-determine the required sample sizein 29 of 1553, across 12 files
  • Check if the configuration already existsin 29 of 1553
  • Document every testin 26 of 1553, across 10 files
  • Start with a hypothesisin 26 of 1553, across 11 files
  • Ask one question at a timein 22 of 1553
  • Test a single variable per testin 21 of 1553, across 9 files
  • Read product marketing context before asking questionsin 19 of 1553, across 8 files
  • Do not peek and stop earlyin 18 of 1553, across 7 files

Said here and by no other author read

  • Inspect git status and top-level tree
  • Define or document deterministic commands
  • Establish minimal architecture boundaries
  • Add explicit seams around nondeterminism
  • Create tests for observable behavior
  • Run the smallest safe checks available

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.