| name | repo-init |
| description | [DISABLED] Initializes new repositories with the agentic-engineers framework. Currently disabled pending further discussion about repo modification policies. |
| license | Proprietary |
| compatibility | agentic-engineers framework v5.10+. Requires Python 3.8+, git, bash. |
| metadata | {"author":"agentic-engineers","version":"1.0","category":"orchestration","role":"senior-engineer","model":"claude-sonnet-4.6","effort":"medium","thinking":false,"disabled":true,"disabled_reason":"User concern about installing into other repos without explicit approval","dependencies":["agent-creator","spec-management"]} |
repo-init [DISABLED]
Status
This skill is currently DISABLED. It was designed to bootstrap new repositories with the agentic-engineers framework, but has been disabled pending further discussion about repo modification policies and user concerns regarding installing into external repositories without explicit approval.
Overview (Archived)
repo-init bootstraps any repository to be immediately job-ready for agentic-engineers
workflow โ agents, delegation queues, SPEC-driven quality gates, and documentation โ
with a single invocation. It is the on-ramp skill for every new project.
What it does (8 phases):
- Analyze โ Scan the repository: language, package manager, existing structure,
CI/CD config, licence, contributors.
- Generate SPEC.md โ Produce a project-specific framework specification with
conservative, extensible defaults.
- Bootstrap Structure โ Create
agents/, skills/, tests/, docs/ layouts
with role-appropriate templates.
- Housekeeping โ Update
.gitignore, scaffold README.md sections, create
docs/ index files.
- Framework Bootstrap โ Copy or symlink core agent definitions and essential
skills into the target repo.
- Compatibility Validation โ Check model harness (Claude, GPT-5, local),
tool availability (git, python, bash, jq), API key presence (masked).
- TODO.md Initialization โ Bootstrap
TODO.md with priority-ordered first
delegations ready to queue.
- Documentation Generation โ Create
ONBOARDING.md, QUICK-START.md,
repo-specific AGENTS.md.
When to Invoke
| Trigger | Who | Condition |
|---|
| New repository created | Orchestrator | No .agentic-engineers/ marker file present |
/init command | Any agent | User explicitly requests framework init |
| Onboarding ticket | Senior Engineer | DELEGATE references repo-init |
| CI bootstrap step | Automation | make init target in new repo Makefile |
Usage
Python API (preferred)
from src.skills.repo_init.scripts.repo_init import RepoInitConfig, RepoInitializer
from pathlib import Path
cfg = RepoInitConfig(
repo_root=Path("/path/to/target/repo"),
project_name="my-api",
project_description="REST API for widget management.",
model_harness="claude",
framework_version="5.10",
dry_run=False,
)
initializer = RepoInitializer()
result = initializer.run(cfg)
print(result)
Dry-run (validate only, no file writes)
result = initializer.run(cfg, dry_run=True)
CLI
python src/skills/repo-init/scripts/repo_init.py \
--repo-root /path/to/target/repo \
--project-name my-api \
--model-harness claude
python src/skills/repo-init/scripts/repo_init.py \
--repo-root /path/to/target/repo \
--dry-run
python src/skills/repo-init/scripts/repo_init.py \
--repo-root /path/to/target/repo \
--skip-phases housekeeping,framework-bootstrap
Configuration
| Parameter | Type | Required | Default | Notes |
|---|
repo_root | Path | โ
| โ | Absolute path to target repository |
project_name | str | โ | inferred from dirname | Lowercase, hyphens OK |
project_description | str | โ | "" | Used in generated SPEC.md |
model_harness | str | โ | "claude" | "claude" | "gpt5" | "local" |
framework_version | str | โ | "5.10" | Pinned framework version |
dry_run | bool | โ | False | Validate only, no writes |
skip_phases | list[str] | โ | [] | Phase names to skip |
conservative_defaults | bool | โ | True | Use low-effort, haiku defaults |
force_reinit | bool | โ | False | Overwrite existing init marker |
Initialization Workflow
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ repo-init WORKFLOW โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
START
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Pre-flight check โ โ Is repo git-initialized? Is Python โฅ 3.8?
โ (guard clauses) โ Is .agentic-engineers/ already present?
โโโโโโโโโฌโโโโโโโโโโโโ
โ PASS
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 1: ANALYZE โ โ scan_languages(), detect_package_manager(),
โ โ scan_ci_config(), read_existing_docs()
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 2: SPEC.md โ โ build_spec_context(analysis_result),
โ GENERATION โ render_spec_template(), write SPEC.md
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 3: BOOTSTRAPโ โ create agents/, skills/, tests/, docs/
โ STRUCTURE โ write role-template stubs
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 4: โ โ patch .gitignore, scaffold README sections,
โ HOUSEKEEPING โ create docs/index.md
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 5: FRAMEWORKโ โ copy_core_agents(), copy_essential_skills(),
โ BOOTSTRAP โ write .agentic-engineers/config.yaml
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 6: COMPAT โ โ check_model_harness(), check_tools(),
โ VALIDATION โ check_api_keys() (masked), emit warnings
โโโโโโโโโฌโโโโโโโโโโโโ
โ (warnings only โ never blocks)
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 7: TODO.md โ โ build_initial_todos(analysis_result),
โ INITIALIZATION โ write TODO.md with priority-ordered items
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Phase 8: DOCS โ โ generate ONBOARDING.md, QUICK-START.md,
โ GENERATION โ AGENTS.md (repo-specific)
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Write init โ โ .agentic-engineers/INIT-COMPLETE.yaml
โ marker + summary โ (timestamp, phases, files_created, warnings)
โโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
RETURN InitResult
Phase Details
Phase 1: Repository Analysis
Script: scripts/analyze_repo.py
Inputs: repo_root (Path)
Outputs: AnalysisResult dataclass
Detection logic:
| Signal | File(s) Checked | Output Field |
|---|
| Primary language | *.py, *.ts, *.go, *.rs, *.java (file count) | primary_language |
| Package manager | package.json, requirements.txt, go.mod, Cargo.toml, pom.xml, build.gradle, pyproject.toml, Gemfile | package_manager |
| Test framework | pytest.ini, jest.config.*, go test, cargo test | test_framework |
| CI/CD | .github/workflows/, .gitlab-ci.yml, Jenkinsfile, .circleci/ | ci_provider |
| Existing docs | README.md, docs/, CHANGELOG.md | has_readme, has_docs |
| License | LICENSE, LICENSE.md, COPYING | license |
| Framework | django, flask, fastapi, express, nextjs, gin | framework |
| Monorepo | packages/, apps/, services/, workspaces in package.json | is_monorepo |
@dataclass
class AnalysisResult:
repo_root: Path
project_name: str
primary_language: str
secondary_languages: List[str]
package_manager: str
test_framework: str
ci_provider: str
framework: str
is_monorepo: bool
has_readme: bool
has_docs: bool
license: str
git_remote: str
contributor_count: int
total_files: int
existing_spec: bool
existing_agents: bool
Phase 2: SPEC.md Generation
Script: scripts/generate_spec.py
Template: assets/spec-template.md
Generates a project-specific SPEC.md with:
- Project identity (name, description, language, framework)
- Agent team configuration (which agents are enabled, model assignments)
- Effort defaults (conservative:
low for engineer, medium for senior)
- Tool availability matrix (pre-filled from Phase 1 analysis)
- Quality gate thresholds (85% test coverage default)
- Delegation protocol headers
Conservative defaults applied:
framework_version: "5.10"
model_harness: claude
default_engineer_model: claude-haiku-4.5
default_senior_model: claude-sonnet-4.6
default_lead_model: claude-sonnet-4.6
default_principal_model: claude-opus-4.6
default_effort: low
quality_gate:
min_coverage: 85
require_handback: true
require_spec_compliance: true
Phase 3: Directory Structure Bootstrap
Script: scripts/bootstrap_structure.py
Creates this layout in the target repo:
{repo_root}/
โโโ .agentic-engineers/
โ โโโ config.yaml # Framework config
โ โโโ INIT-COMPLETE.yaml # Written last (init marker)
โ โโโ model-assignments.yaml # Per-role model config
โโโ agents/
โ โโโ README.md # Agent catalog
โ โโโ engineer.md # Engineer role definition
โ โโโ senior-engineer.md # Senior role definition
โ โโโ lead-engineer.md # Lead role definition
โ โโโ orchestrator.md # Orchestrator definition
โโโ skills/
โ โโโ README.md # Skills index
โ โโโ usage-tracking/ # Symlink or copy from framework
โ โโโ SKILL.md
โโโ tests/
โ โโโ conftest.py # Pytest configuration
โ โโโ README.md # Testing guide
โ โโโ test_framework_init.py # Smoke tests for this init
โโโ docs/
โ โโโ SPEC.md # Generated project spec
โ โโโ AGENTS.md # Repo-specific agent config
โ โโโ ONBOARDING.md # New contributor guide
โ โโโ QUICK-START.md # Quick reference
โ โโโ index.md # Docs index
โโโ artifacts/
โ โโโ queue/ # Delegation queue (gitignored)
โ โโโ incoming/
โ โโโ done/
โโโ TODO.md # Bootstrapped with initial delegations
โโโ Makefile # (if not exists) or patch existing
Phase 4: Housekeeping
Script: scripts/housekeeping.py
.gitignore additions:
# agentic-engineers framework
.agentic-engineers/session-*.log
~/.agentic-engineers/
artifacts/spans/
data/metrics/*.jsonl
__pycache__/
*.pyc
.pytest_cache/
README.md scaffold:
If no README.md exists โ create from template.
If README.md exists โ append ## Agentic Engineers section at end.
Section appended:
## Agentic Engineers
This repo uses the [agentic-engineers](https://github.com/{your-org}/agentic-engineers)
framework for AI-assisted development.
- See [docs/ONBOARDING.md](docs/ONBOARDING.md) to get started.
- See [docs/AGENTS.md](docs/AGENTS.md) for agent team configuration.
- See [TODO.md](TODO.md) for current task queue.
Phase 5: Framework Bootstrap
Script: scripts/framework_bootstrap.py
Copies (or symlinks with --symlink flag) core artifacts from the installed
framework into the target repo:
| Source | Destination | Method |
|---|
src/agents/engineer.md | agents/engineer.md | copy |
src/agents/senior-engineer.md | agents/senior-engineer.md | copy |
src/agents/lead-engineer.md | agents/lead-engineer.md | copy |
src/agents/orchestrator.md | agents/orchestrator.md | copy |
src/skills/usage-tracking/ | skills/usage-tracking/ | copy |
src/config/models.yaml | .agentic-engineers/models.yaml | copy |
Framework location detection order:
AGENTIC_ENGINEERS_HOME environment variable
~/.agentic-engineers/ (global install)
- Adjacent directory
../agentic-engineers/ (monorepo co-location)
- PyPI package
agentic_engineers (future)
Phase 6: Compatibility Validation
Script: scripts/validate_compatibility.py
Tool availability checks (hard requirements):
| Tool | Check | Failure Action |
|---|
git | git --version | ERROR โ abort |
python3 | python3 --version โฅ 3.8 | ERROR โ abort |
bash | bash --version | WARNING โ downgrade |
jq | jq --version | WARNING โ skip JSON features |
curl / wget | either present | WARNING |
Model harness checks:
| Harness | Check | How |
|---|
| Claude | ANTHROPIC_API_KEY set | os.environ (key masked in output) |
| GPT-5 | OPENAI_API_KEY set | os.environ (key masked) |
| Local | OLLAMA_HOST or lm-studio process | env + process scan |
| GitHub Copilot | .copilot/ dir OR GH_TOKEN | filesystem + env |
Output: CompatibilityResult
@dataclass
class CompatibilityResult:
harness: str
hard_failures: List[str]
warnings: List[str]
tool_matrix: Dict[str, bool]
api_key_present: bool
recommended_adjustments: List[str]
Compatibility matrix (by harness):
| Feature | Claude | GPT-5 | Local (Ollama/LM-Studio) |
|---|
| Tool use | โ
Full | โ
Full | โ ๏ธ Model-dependent |
| Long context | โ
200k | โ
128k | โ ๏ธ Varies |
| Structured output | โ
| โ
| โ ๏ธ |
| Function calling | โ
| โ
| โ ๏ธ |
| Streaming | โ
| โ
| โ
|
| Cost | ๐ฐ | ๐ฐ | ๐ |
| Privacy | Cloud | Cloud | โ
Local |
Adjustments applied for local models:
default_engineer_model โ ollama/llama3.2 (configurable)
default_effort โ medium (local models often slower)
- Quality gate coverage โ
70% (conservative for local)
- Disable
require_spec_compliance (may exceed context)
Phase 7: TODO.md Initialization
Script: scripts/init_todo.py
Bootstraps TODO.md with an initial task queue derived from the analysis:
# TODO: {project_name}
**Last Updated:** {date}
**Initialized by:** repo-init skill v1.0
**Framework Version:** {framework_version}
---
## ๐ด Priority (Must Do First)
- [ ] **INIT-001:** Review and customize generated SPEC.md
- Path: `docs/SPEC.md`
- Action: Verify agent assignments, model tiers, quality gate thresholds
- Owner: Principal Engineer
- Added: {date}
- [ ] **INIT-002:** Run initial compatibility validation
- Command: `python skills/repo-init/scripts/validate_compatibility.py --report`
- Owner: Senior Engineer
- Added: {date}
## ๐ก Standard (Active Backlog)
- [ ] **INIT-003:** Write first failing tests (TDD RED-phase)
- Reference: `docs/QUICK-START.md#tdd-workflow`
- Owner: Engineer
- Added: {date}
- [ ] **INIT-004:** Configure CI/CD integration
- Reference: `docs/ONBOARDING.md#cicd`
- Owner: Engineer
- Added: {date}
## ๐ฎ Future (Not Yet Scheduled)
- [ ] **INIT-005:** Add project-specific agent customizations
- Reference: `agents/README.md`
- Added: {date}
Conditional items added by analysis:
| Analysis Finding | Additional TODO Item |
|---|
| No existing tests | INIT-T01: Create test suite foundation |
| No CI/CD | INIT-C01: Add GitHub Actions / GitLab CI workflow |
| Monorepo detected | INIT-M01: Configure per-package agent scoping |
| No .gitignore | INIT-G01: Review and extend generated .gitignore |
| Legacy codebase (>1000 files) | INIT-L01: Run architecture audit before agent work |
| Multiple contributors | INIT-X01: Share ONBOARDING.md with team |
Phase 8: Documentation Generation
Script: scripts/generate_docs.py
docs/ONBOARDING.md โ New contributor guide:
- Framework overview and philosophy
- How to submit a task via delegation queue
- DELEGATE/HANDBACK protocol quickref
- Agent team roster (from SPEC.md)
- Links to key docs
docs/QUICK-START.md โ 5-minute reference:
- First delegation example
- TDD workflow (RED โ GREEN โ REFACTOR)
- Common DELEGATE block templates
- Queue commands
docs/AGENTS.md โ Repo-specific agent config:
- Which agents are enabled for this repo
- Model assignments per role
- Effort defaults
- Escalation paths
Output: InitResult
from dataclasses import dataclass, field
from pathlib import Path
from typing import Dict, List
@dataclass
class InitResult:
status: str
project_name: str
phases_completed: List[str]
phases_skipped: List[str]
phases_failed: List[str]
files_created: List[Path]
files_modified: List[Path]
warnings: List[str]
errors: List[str]
compatibility: "CompatibilityResult"
span: Dict
Integration Points
With agent-creator
repo-init does not duplicate agent-creator's scaffolding logic.
Instead, for each agent stub in agents/, repo-init calls:
from src.skills.agent_creator import AgentConfig, AgentCreator
creator = AgentCreator(output_root=target_repo / "skills")
for role in enabled_roles:
cfg = AgentConfig(name=f"{project_name}-{role}", role=role, ...)
creator.create(cfg, dry_run=dry_run)
With spec-management
repo-init generates the initial SPEC.md. All subsequent changes to SPEC.md
MUST go through the spec-management skill (not repo-init).
repo-init writes a header comment to the generated SPEC.md:
<!-- MANAGED BY spec-management SKILL โ do not edit directly -->
<!-- Initial version generated by repo-init v1.0 on {date} -->
With usage-tracking
After Phase 5, repo-init configures the usage-tracking skill by writing
skills/usage-tracking/config.yaml with project-specific thresholds.
With the Orchestrator
repo-init is invoked by the Orchestrator in response to a DELEGATE block like:
DELEGATE:
task: repo-init
skill: repo-init
target: /path/to/new/repo
config:
project_name: my-api
model_harness: claude
dry_run: false
effort: medium
model: claude-sonnet-4.6
File Templates
See:
Reference Documentation
Scripts
| Script | Purpose |
|---|
scripts/repo_init.py | Main orchestrator โ runs all 8 phases in order |
scripts/analyze_repo.py | Phase 1: Repository analysis |
scripts/generate_spec.py | Phase 2: SPEC.md generation |
scripts/bootstrap_structure.py | Phase 3: Directory structure creation |
scripts/housekeeping.py | Phase 4: .gitignore, README.md patching |
scripts/framework_bootstrap.py | Phase 5: Core agents + skills copy |
scripts/validate_compatibility.py | Phase 6: Harness + tool checks |
scripts/init_todo.py | Phase 7: TODO.md initialization |
scripts/generate_docs.py | Phase 8: ONBOARDING, QUICK-START, AGENTS.md |
Tests
python3 -m pytest tests/test_repo_init.py -v
Test categories:
test_analyze_* โ Repository analysis detection logic
test_generate_spec_* โ SPEC.md template rendering
test_bootstrap_* โ Directory structure creation
test_housekeeping_* โ .gitignore and README.md patching
test_framework_bootstrap_* โ Core artifact copying
test_validate_compat_* โ Compatibility checks
test_init_todo_* โ TODO.md bootstrap
test_generate_docs_* โ Documentation generation
test_dry_run_* โ No writes in dry-run mode
test_idempotent_* โ Safe to run twice (no duplicates)
Idempotency
repo-init is idempotent by default:
- Existing files are not overwritten unless
--force-reinit is passed.
- The init marker
.agentic-engineers/INIT-COMPLETE.yaml prevents double-init.
- All file writes are checked with
Path.exists() before writing.
.gitignore additions are deduplicated (no duplicate lines).
Compliance Checklist