Agent skill

Architect Init

by tikalk in tikalk/adlc-team-skills

A skill your agent uses when bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase.

MITAuto-check passedDevelopment

Install Architect Init

skills CLI
$ npx skills add tikalk/adlc-team-skills --skill architect-init -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tikalk/adlc-team-skills architect-init --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/architect/architect-init .claude/skills/architect-init && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
architect-init
GitHub stars
141
Token cost
~7.4k tokens
SKILL.md length
2,414 words
Files
1
Skills in repo
44
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase.

  • Works in 9 steps: Sub-System Detection (Brownfield) → Codebase Analysis → Pattern Recognition → …
  • Bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase
  • SKILL.md covers What this skill does, When to use, Process and Next Steps, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Architect Init is an agent skill from tikalk/adlc-team-skills. Use when bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase.

Its SKILL.md is about 7.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Architecture decision records and Reverse engineering and malware. The repository describes itself as: Agent skills for the Agentic SDLC: team lifecycle (team-boot, team-learn, team-init, team-repair), software factory, evals, CDR lifecycle with confidence scoring, and… The licence is MIT.

When your agent uses it

  • Bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase
  • Tasks that involve Architecture decision records
  • Tasks that involve Reverse engineering and malware

Example prompts

  • “/architect-init”

Requirements

  • Python 3
  • Node.js
  • Docker

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Sub-System Detection (Brownfield)
  2. Codebase Analysis
  3. Pattern Recognition
  4. Documentation Deduplication
  5. ADR Generation
  6. Quality Requirements Detection
  7. Gap Analysis
  8. Output Generation
  9. Validate with Clarify

What it can do on your machine

Read from SKILL.md and the folder at commit 2dbed36. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Architect Init loads about 7.4k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 2,414 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~7.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tikalk/adlc-team-skills at commit 2dbed36, republished under its MIT licence (© tikalk). 2,414 words, ~7,354 tokens.

Download SKILL.mdSave it as .claude/skills/architect-init/SKILL.md (or your agent's skills folder).
name
architect-init
description
Use when bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase.
disable-model-invocation
true

architect-init

What this skill does

Reverse-engineer architecture from an existing codebase (brownfield) to create Architecture Decision Records (ADRs) documenting discovered decisions, then validate the findings by running /architect-clarify manually.

You act as an Architecture Archaeologist uncovering implicit architectural decisions from code by scanning the codebase for technology choices and patterns, inferring architectural decisions from code structure, documenting discovered patterns as ADRs, and identifying gaps where decisions are unclear.

Output:

  1. ADRs documenting inferred architectural decisions in {REPO_ROOT}/.adlc/drafts/adr/ADR-{NNN}.md (individual file format)
  2. Auto-generated index at {REPO_ROOT}/.adlc/drafts/adr/adr.md
  3. Validate Findings: Run /architect-clarify to validate discovered decisions

Key Difference from /architect-specify:

  • /architect-init (this skill) = Discovers what's already implemented in code
  • /architect-specify = Explores new possibilities for greenfield projects

This skill focuses on current state analysis - what IS, not what SHOULD BE.

When to use

  • Brownfield projects: Existing code without architecture docs
  • Legacy modernization: Understanding current state before changes
  • Team onboarding: Quickly documenting implicit decisions
  • Technical debt assessment: Identifying undocumented patterns
When NOT to use
  • Greenfield projects: Use /architect-specify for new projects
  • Architecture exists: If AD.md exists, use /architect-clarify to refine
  • Feature-level: Feature architecture (if Spec Kit extension is also installed)

Process

User Input
text
$ARGUMENTS

You MUST consider the user input before proceeding (if not empty).

Examples of User Input:

  • "Django monolith with PostgreSQL, React frontend, AWS deployment"
  • "Node.js microservices with MongoDB and RabbitMQ"
  • "Legacy Java application, focus on understanding data layer"
  • Empty input: Scan entire codebase and infer architecture

When users provide context, use it to focus the reverse-engineering effort.

Flags
  • --adr-heuristic HEURISTIC: ADR generation strategy

    • surprising (default): Skip obvious ecosystem defaults, document only surprising/risky decisions
    • all: Document all discovered decisions
    • minimal: Only high-risk decisions
  • --no-decompose: Disable automatic sub-system detection from code structure (default: auto-detect if multiple modules detected)

Role & Context

You are acting as an Architecture Archaeologist uncovering implicit architectural decisions from code. Your role involves:

  • Scanning codebase for technology choices and patterns
  • Inferring architectural decisions from code structure
  • Documenting discovered patterns as ADRs
  • Identifying gaps where decisions are unclear
Brownfield vs Greenfield
ScenarioCommandInputOutput
Brownfield (existing code)/architect-initCodebase scanInferred ADRs
Greenfield (new project)/architect-specifyPRD/requirementsDiscussed ADRs
Rozanski & Woods Alignment

When discovering ADRs from brownfield code, map findings to R&W viewpoints:

Discovery AreaPrimary ViewpointWhat to Look For
Service structureFunctionalComponent boundaries, responsibilities
Database schemasInformationData entities, relationships
Process/thread codeConcurrencyRuntime units, coordination
Directory structureDevelopmentModule organization, dependencies
Deployment configsDeploymentInfrastructure, environments
Monitoring/alertingOperationalOperations support

Functional-as-Cornerstone for Brownfield: Even in brownfield discovery, the Functional structure is foundational:

  1. Discover Functional first: Identify components, services, modules
  2. Map other discoveries: Relate data, deployment, operations to functional elements
  3. Document dependencies: Note which ADRs affect the Functional view

Priority order for ADR discovery:

  1. Architecture Style ADRs (monolith/microservices) → Functional cornerstone
  2. Component/Service ADRs → Functional view
  3. Database/Data ADRs → Information view
  4. Infrastructure ADRs → Deployment view
  5. Communication/Async ADRs → Concurrency view
  6. Development/CI ADRs → Development view
  7. Operations ADRs → Operational view
Outline
  1. Sub-System Detection (Phase 0): Identify sub-systems from code structure (auto-detect)
  2. Codebase Scan: Analyze project structure and detect technologies (per sub-system if decomposed)
  3. Documentation Deduplication: Scan existing docs (README, AGENTS.md, {TEAM_AI_DIRECTIVES}/AGENTS.md if configured, etc.) to avoid repeating
  4. Pattern Detection: Identify architectural patterns in use
  5. ADR Generation: Create ADRs for discovered decisions (marked "Discovered"), organized by sub-system
  6. Gap Analysis: Identify areas where decisions are unclear
  7. Output: Write ADRs to {REPO_ROOT}/.adlc/drafts/adr/ADR-{NNN}.md (NO AD.md creation)
    • After writing all ADRs, the setup script auto-generates adr.md index
  8. Validate Findings: Run /architect-clarify to validate brownfield findings
Execution Steps
Phase 0: Sub-System Detection (Brownfield)

Objective: Identify sub-systems from existing code structure automatically

When: This phase runs automatically when the codebase is detected as having multiple distinct modules/packages. Use --no-decompose to skip.

Detection Source Reconciliation (CRITICAL): The setup script may report "No distinct sub-systems detected from directory structure" while your AI analysis identifies sub-systems through code patterns (import relationships, technology boundaries, domain logic). When this occurs:

  • TRUST your AI analysis over the script output
  • ALWAYS execute Step 4 with your identified sub-systems
  • NEVER default to monolithic analysis when you've identified sub-systems through ANY method
  • The threshold logic applies to ALL detected sub-systems, regardless of detection source
Step 1: Directory Structure Analysis

Analyze the codebase for distinct sub-systems based on directory structure:

PatternLikely Sub-System
src/auth/Authentication sub-system
src/users/User management sub-system
services/payment/Payment sub-system
modules/inventory/Inventory sub-system
apps/api/, apps/web/Monorepo with separate apps
lib/core/, lib/shared/Shared libraries (not a sub-system)
Step 2: Package/Module Detection

Detect sub-systems from package/module structures:

PatternDetection MethodSub-System Evidence
Node.js workspacespackage.json workspacesMultiple packages = multiple sub-systems
Python namespaces__init__.py hierarchyMultiple top-level packages
Go modulesgo.mod + directoriesMultiple directories under cmd/
Maven/Gradlepom.xml modulesMultiple modules in multi-module project
Docker servicesdocker-compose servicesEach service = sub-system
Step 3: Database Schema Analysis

If database is accessible, detect sub-systems from schema:

PatternEvidence
Table prefixesauth_, user_, payment_ tables = separate domains
PostgreSQL schemasauth., payments. schema separation
Separate databasesMultiple databases in docker-compose
Step 4: Sub-System Proposal (Interactive) - MANDATORY if sub-systems identified

Present detected sub-systems to user for confirmation:

markdown
## Detected Sub-Systems

I've identified the following sub-systems from your codebase:

| # | Sub-System | Detection Method | Evidence |
|---|------------|-----------------|----------|
| 1 | **auth** | Directory + Module | src/auth/, auth/ package |
| 2 | **users** | Directory | src/users/, services/user/ |
| 3 | **payments** | Directory + Docker | services/payment/, payment service in docker-compose |
| 4 | **inventory** | Directory | src/inventory/, modules/stock/ |

### Questions for Confirmation:

1. **Are these sub-systems correct?** [Y/n]
2. **Should any sub-systems be merged?** (e.g., auth + users → identity)
3. **Should any sub-systems be split?** (e.g., payments → billing + subscriptions)
4. **Any missing sub-systems?** (e.g., analytics, reporting)

**Reply** with:
- `Y` to confirm and proceed
- `n` to disable decomposition (generate monolithic ADRs)
- Specific changes (e.g., "merge 1+2", "split 3", "add Notifications")

CRITICAL: If you have identified ANY sub-systems through ANY method (script detection, AI analysis of code patterns, or user input), you MUST execute this step.

  • Do NOT proceed to Phase 1 as "monolithic" if sub-systems exist
  • Do NOT ignore sub-systems detected through AI analysis just because the script reported "none detected"
  • You MUST get user confirmation when 4+ sub-systems are identified

Failure to follow this step invalidates the entire ADR discovery process.

Step 5: Decomposition Decision

Based on user response:

ResponseAction
Y / EnterProceed with detected sub-systems
nSkip decomposition, generate monolithic ADRs
ModificationsAdjust sub-systems, then proceed
Empty/DefaultAuto-proceed if ≤3 sub-systems, ask if >3

Threshold Logic Enforcement (MANDATORY - applies to ALL detected sub-systems, regardless of source):

Sub-System CountRequired ActionCan Skip User Confirmation?
0Proceed as monolithic (no decomposition)Yes
1-3Show summary, auto-approve allowedYes
4-6MUST show summary and ask user confirmationNO
>6MUST suggest grouping and MUST ask confirmationNO

Enforcement Rules:

  1. If you identified sub-systems through AI analysis but the script reported "none detected" → Apply threshold logic to YOUR identified sub-systems
  2. If threshold is 4+ → You MUST NOT proceed without user confirmation
  3. If you skip this logic → The ADR generation is invalid and may produce incorrect architecture
  4. Self-check before Phase 1: Did I present Step 4? Did I apply threshold logic? If 4+ sub-systems, did I get confirmation?
Step 6: Output

After confirmation, output structured sub-system data:

json
{
  "decomposition": "enabled",
  "subsystems": [
    {"id": "auth", "name": "Auth", "detection_method": "directory", "evidence": "src/auth/"},
    {"id": "users", "name": "Users", "detection_method": "directory", "evidence": "src/users/"},
    {"id": "payments", "name": "Payments", "detection_method": "docker", "evidence": "payment service in docker-compose"}
  ],
  "next_phase": "Codebase Analysis (per sub-system)"
}

If decomposition disabled:

json
{
  "decomposition": "disabled",
  "reason": "user_requested",
  "next_phase": "Codebase Analysis (monolithic)"
}

Phase 1: Codebase Analysis

Objective: Discover what technologies and patterns are in use

Note: If sub-system decomposition is enabled (Phase 0), analyze each sub-system separately to provide focused insights.

  1. Run Setup Script:

    • Execute {REPO_ROOT}/.agents/skills/architect-clarify/scripts/bash/setup-architect.sh (Requires the architect-clarify skill: adlc-cli skills add tikalk/adlc-team-skills --skill architect-clarify). to initialize architecture files
    • Script scans codebase and outputs structured findings
    • Pass --no-decompose if decomposition was disabled
    • If decomposed: Script outputs sub-system breakdown for targeted analysis
  2. Technology Detection (Per Sub-System):

    IndicatorTechnology CategoryFiles to Check
    package.jsonNode.js ecosystemDependencies, scripts
    requirements.txt / pyproject.tomlPython ecosystemDependencies
    pom.xml / build.gradleJVM ecosystemDependencies
    Cargo.tomlRustDependencies
    go.modGoDependencies
    DockerfileContainerizationBase images, stages
    docker-compose.ymlContainer orchestrationServices, networks
    *.tf / *.tfvarsTerraform/IaCInfrastructure
    kubernetes/*.yamlKubernetesDeployment configs
    .github/workflows/*GitHub ActionsCI/CD
  3. Framework Detection:

    PatternFrameworkEvidence
    from django importsDjangoPython web
    @SpringBootSpring BootJava web
    import expressExpress.jsNode.js web
    import { Component }React/Angular/VueFrontend
    from fastapiFastAPIPython API
  4. Database Detection:

    EvidenceDatabase Type
    PostgreSQL connection stringsPostgreSQL
    MongoDB/mongoose importsMongoDB
    Redis client importsRedis cache
    ORM migrationsRelational DB
    DynamoDB SDK usageAWS DynamoDB
Phase 2: Pattern Recognition

Objective: Identify architectural patterns from code structure

Architecture Style Detection
PatternEvidenceADR Topic
MonolithSingle deployable, shared databaseADR: System Architecture Style
MicroservicesMultiple services, service discoveryADR: System Architecture Style
Modular MonolithSingle deploy, module boundariesADR: System Architecture Style
Event-DrivenMessage queue usage, event handlersADR: Communication Pattern
ServerlessLambda functions, managed servicesADR: Deployment Model
Code Organization Detection
PatternEvidence
Layeredcontrollers/, services/, repositories/
Feature-Basedfeatures/, modules/ per domain
Clean Architecturedomain/, application/, infrastructure/
Hexagonalports/, adapters/
API Style Detection
PatternEvidence
RESTRoute decorators, HTTP verbs, resource URLs
GraphQLSchema files, resolvers, gql imports
gRPC.proto files, gRPC client/server setup
WebSocketSocket.io, WebSocket handlers
Phase 3: Documentation Deduplication

Objective: Scan existing docs to avoid repeating documented information

Scan for:

  • AGENTS.md - Project context, overview
  • {TEAM_AI_DIRECTIVES}/AGENTS.md - Team-wide agent usage instructions (if configured)
  • README.md - Tech stack, project description
  • CONTRIBUTING.md - Development guidelines
  • AD.md or docs/architecture.md - Existing architecture
  • LICENSE - Legal context

Deduplication Rules:

FindingAction
Tech stack in READMEReference README in ADR, don't duplicate
Architecture existsAuto-merge or offer update vs. create new
Guidelines in CONTRIBUTINGReference in Development View
Context in AGENTS.mdLink from Context View
Team directives AGENTS.mdReference for team-wide agent instructions

Process:

  1. Run {REPO_ROOT}/.agents/skills/architect-clarify/scripts/bash/setup-architect.sh (Requires the architect-clarify skill: adlc-cli skills add tikalk/adlc-team-skills --skill architect-clarify). which calls scan_existing_docs()
  2. Parse findings from JSON output
  3. For each finding, determine: Skip ADR / Reference existing / Document new
  4. Report: "X decisions covered by existing docs, Y new ADRs created"
Show full SKILL.md (962 more words)Show less
Phase 4: ADR Generation

Objective: Document discovered decisions as ADRs

For each discovered architectural decision:

  1. Identify the Decision:

    • What technology/pattern was chosen?
    • What alternatives were available when this was built?
    • What forces likely drove this decision?
  2. Create ADR Entry (MADR 3.0.0 — see ../templates/adr-template.md):

markdown
---
status: discovered  # inferred from codebase (brownfield)
date: YYYY-MM-DD
decision-makers: [Legacy/Inferred]
consulted: []
informed: []
sub-system: System
---

# {Discovered Decision}

## Context and Problem Statement
[Inferred problem statement based on code patterns]

**Evidence Found**:
* [File/pattern evidence 1]
* [File/pattern evidence 2]

## Decision Drivers
* {inferred driver 1}
* {inferred driver 2}

## Considered Options
* {Likely Alternative}
* {Discovered choice}

## Decision Outcome
Chosen option: "{Discovered choice}", because {inferred rationale from implementation}.

### Consequences
* Good, because {benefit visible in codebase}
* Bad, because {trade-off inherent to this choice}
* Bad, because {risk if this decision is not well understood}

### Confirmation
{How compliance can be confirmed in the codebase}

## Pros and Cons of the Options
### {Likely Alternative}
* Good, because {argument}
* Bad, because {argument}
← DO NOT fabricate rejection rationale - we don't know why it wasn't chosen

## More Information
**Confidence Level**: [HIGH/MEDIUM/LOW] - [Explanation of confidence in inference]
  1. ADR Categories to Generate (apply surprise-value heuristic):

    Skip if obvious (heuristic: surprising):

    • PostgreSQL for relational data → Covered by ecosystem default
    • React for SPA frontend → Standard framework choice
    • Docker for containerization → Conventional choice

    Document as ADRs:

    • ADR-001: System Architecture Style (monolith vs microservices)
    • ADR-002: Database Choice (only if non-obvious for context)
    • ADR-003: API Style (REST vs GraphQL vs gRPC)
    • ADR-004: Frontend Framework (only if unconventional)
    • ADR-005: Deployment Platform (serverless vs traditional)
    • ADR-006: CI/CD Approach (GitHub Actions vs Jenkins)
    • Additional: Any custom/in-house solutions, unusual patterns, risky choices
Phase 5: Quality Requirements Detection

Objective: Detect which R&W perspectives apply from codebase evidence

Scan codebase for quality requirement indicators:

EvidenceDetected Perspective
Health checks, circuit breakers, retry logicAvailability
Plugin systems, feature flags, extension pointsEvolution
GDPR/HIPAA comments, audit logging, consent trackingRegulation
ARIA attributes, screen reader supportAccessibility
i18n files, locale handling, translation keysInternationalization
Multi-region configs, geo-routing, CDN setupLocation
Extensive UI tests, UX research artifactsUsability
Resource constraints in README, limited CI runnersDevelopment Resource

Present detected perspectives for confirmation:

markdown
## Quality Requirements Detected

Based on codebase analysis, the following quality perspectives may apply:

| Perspective | Evidence Found | Include? |
|-------------|----------------|----------|
| Security | Always recommended | ✓ (default) |
| Performance | Always recommended | ✓ (default) |
| Availability | Circuit breakers found | [Y/N] |
| Evolution | Feature flags found | [Y/N] |
| Regulation | GDPR comments found | [Y/N] |
| Accessibility | Not detected | [Y/N] |
| Internationalization | i18n files found | [Y/N] |
| Location | Multi-region config | [Y/N] |
| Usability | UI tests found | [Y/N] |
| Development Resource | Not detected | [Y/N] |

Please confirm which perspectives to document.

Store selected perspectives in state for /architect-implement.

  1. Sub-System Organization (if Phase 0 decomposition enabled):

    Structure ADRs by sub-system in the output file:

    markdown
    # Architecture Decision Records
    
    ## ADR Index
    
    | ID | Sub-System | Decision | Status | Date | Confidence |
    |----|------------|----------|--------|------|------------|
    | ADR-001 | System | Monolithic Architecture | Discovered | 2026-02-26 | HIGH |
    | ADR-002 | Auth | JWT Authentication | Discovered | 2026-02-26 | HIGH |
    | ADR-003 | Payments | Stripe Integration | Discovered | 2026-02-26 | MEDIUM |
    
    ---
    
    ## System-Level ADRs
    
    ### ADR-001: Monolithic Architecture
    [Full ADR content...]
    
    ---
    
    ## Auth Sub-System ADRs
    
    ### ADR-002: JWT Authentication
    [Full ADR content...]
    
    ---
    
    ## Payments Sub-System ADRs
    
    ### ADR-003: Stripe Integration
    [Full ADR content...]
    • Mark each ADR with its parent sub-system in the index
    • Add section headers for each sub-system
    • Document cross-cutting patterns (e.g., shared database) as System-Level
Phase 6: Gap Analysis

Objective: Identify areas where decisions are unclear

After scanning, report:

markdown
## Architecture Discovery Report

### Technologies Detected
| Category | Technology | Confidence | Evidence |
|----------|------------|------------|----------|
| Backend | Django 4.2 | HIGH | requirements.txt, app structure |
| Database | PostgreSQL | HIGH | connection strings, migrations |
| Frontend | React 18 | MEDIUM | package.json, JSX files |
| Cache | Redis | HIGH | redis imports, docker-compose |

### Documentation Deduplication
✓ README.md: Tech stack documented (lines 20-45)
  → Referenced in Context View, skipping tech stack ADRs
✓ CONTRIBUTING.md: Development workflow documented
  → Referenced in Development View 3.5

### ADRs Generated (Surprising/Risky decisions only)
| ID | Decision | Confidence | Why Documented |
|----|----------|------------|----------------|
| ADR-001 | Monolithic Django architecture | HIGH | Architecture style choice |
| ADR-002 | Custom JWT authentication | MEDIUM | Security risk, non-standard |
| ADR-003 | Microservices for small team | HIGH | Scale mismatch, surprising |

### Skipped (Covered by existing docs or obvious)
| Decision | Reason |
|----------|--------|
| PostgreSQL choice | Ecosystem default + README covers |
| React frontend | Standard framework + README covers |
| Docker containerization | Conventional choice |

### Unclear Areas (Need Human Input)
| Area | Question | Suggestion |
|------|----------|------------|
| Auth | OAuth2 or custom JWT? | Found JWT usage, need confirmation |
| Caching | Redis strategy unclear | Cache-aside pattern inferred |
| Scaling | Horizontal scaling setup? | No auto-scaling config found |

### Recommended Clarifications
1. Run `/architect-clarify` to refine ADRs with human input
2. Focus on [specific unclear area]
3. Consider documenting [undocumented pattern]
Phase 7: Output Generation

Objective: Write discovered ADRs to file (NO AD.md creation)

CRITICAL: ADR status MUST be "Discovered" when generated by this skill. NEVER set status to "Accepted" directly. The approval workflow is: init (Discovered) → clarify (review) → clarify Phase 5.5 (Accepted) → implement

If the user explicitly asks to accept ADRs during init, direct them to run /architect-clarify instead.

Before Writing - Check for Existing ADRs:

  1. Check if hybrid ADR directory exists: {REPO_ROOT}/.adlc/drafts/adr/
  2. If directory exists:
    • Read existing ADRs from individual files
    • DO NOT overwrite or delete existing ADRs
    • Write new discoveries as new ADR-{NNN}.md files
    • Report: "Found N existing ADRs, adding M new discoveries"
  3. If directory doesn't exist: The setup script will create it

Write ADRs:

  1. Create {REPO_ROOT}/.adlc/drafts/adr/ADR-{NNN}.md for each discovered ADR
  2. Mark ADRs as "Discovered (Inferred)" status ← USE THIS STATUS ONLY
  3. Use "Common Alternatives" section with neutral trade-offs (no "Rejected because")
  4. Note confidence level for each ADR
  5. Tag assumptions that need validation

DO NOT Create AD.md:

  • Architecture Description will be generated later via /architect-implement
  • Only AFTER ADRs are validated through clarification

Generate Summary:

  • Technologies discovered
  • ADRs created with confidence levels
  • Existing ADRs preserved (if any)
  • Gaps identified
  • Assumptions made (to be validated in clarify phase)
Phase 8: Validate with Clarify

Objective: Validate brownfield findings with user

After generating ADRs, run /architect-clarify with brownfield context to validate:

Questions Clarify Should Ask (Brownfield-Specific):

Question TypeExample
Current State Validity"I detected microservices in docker-compose.yml - is this still your current approach?"
Decision Rationale"PostgreSQL is used - was this chosen for specific requirements or inherited?"
Team Context"Based on git history, team appears small - are current architecture decisions appropriate?"
Technical Debt"Found custom authentication - are you considering migration to OAuth/OIDC?"
Migration Plans"Legacy patterns detected in X module - any plans to modernize?"
Deprecated Patterns"Monolithic deployment with hints of service separation - is microservices migration planned?"

Context Passed to Clarify:

json
{
  "source": "brownfield",
  "tech_stack_detected": ["detected technologies"],
  "inferred_decisions": ["list of ADRs with confidence levels"],
  "assumptions": ["things that need validation"],
  "files_analyzed": "count"
}

Run /architect-clarify to refine ADRs based on your input, then run /architect-implement to generate the full AD.md.

Key Rules
Evidence-Based Documentation
  • Only document what's found in code - don't invent decisions
  • Cite specific evidence for each ADR
  • Mark confidence levels honestly
  • Flag uncertainties explicitly
Confidence Levels
LevelCriteria
HIGHMultiple clear evidence sources, unambiguous choice
MEDIUMSome evidence, but could be interpreted differently
LOWLimited evidence, significant uncertainty
Non-Destructive
  • Don't overwrite existing ADRs without user approval
  • Merge intelligently with existing documentation
  • Preserve manual additions to architecture files
No Fabricated Rejection Rationale
  • NEVER invent "Rejected because" reasons for reverse-engineered ADRs
  • Use "Common Alternatives" with neutral "Trade-offs" framing instead
  • Only document alternatives that were likely considered
  • Be honest: "We don't know why X wasn't chosen" is acceptable
Interactive When Needed
  • For LOW confidence discoveries, ask user for confirmation
  • For contradictory evidence, present options
  • For gaps, suggest clarification questions
Sub-System Decomposition
  • Auto-detect from code: Analyze directory structure, packages, services automatically
  • Interactive confirmation: Always confirm sub-system breakdown with user
  • Balanced granularity: Aim for 3-7 sub-systems; avoid over-decomposition
  • Clear evidence: Cite specific directories/modules as evidence for each sub-system
  • Per-sub-system analysis: Run pattern detection per sub-system for focused ADRs
  • Cross-cutting patterns: Detect and document system-wide patterns separately
  • Use --no-decompose: Skip decomposition for simple/small codebases
Workflow Guidance & Transitions
After /architect-init

Required: Run /architect-clarify to validate brownfield findings.

After clarification completes:

  1. Review Validated ADRs: Check {REPO_ROOT}/.adlc/drafts/adr/adr.md for accuracy
  2. Approve ADRs: Run /architect-clarify Phase 5.5 to change status to "Accepted"
  3. Run /architect-implement: Generate full AD.md from Accepted ADRs
Complete Brownfield Flow
text
/architect-init "Node.js API, team of 2"
    ↓
[Scan codebase] → Detect technologies, patterns
    ↓
[Generate ADRs] → Write to {REPO_ROOT}/.adlc/drafts/adr/ADR-{NNN}.md (marked "Discovered")
    ↓
[Run /architect-clarify] → Ask to validate decisions
    ↓
[Clarify asks] → "Is microservices decision still valid?"
                 "Custom auth detected - considering OAuth?"
    ↓
[Approve ADRs] → Phase 5.5 to change status to "Accepted"
    ↓
[Run /architect-implement] → Generate AD.md from Accepted ADRs
    ↓
[Generate AD.md] → Full architecture description
Context

$ARGUMENTS

Next Steps

After init completes, run /architect-clarify to validate the discovered ADRs and approve them for implementation.

Verification

  • ADRs written to {REPO_ROOT}/.adlc/drafts/adr/ADR-{NNN}.md with status Discovered (Inferred).
  • Auto-generated adr.md index exists in {REPO_ROOT}/.adlc/drafts/adr/.
  • Gap analysis report identifies unclear areas and recommended clarifications.
  • Sub-system decomposition confirmed (or disabled) per threshold rules.
  • No existing ADRs were overwritten without explicit approval.

© tikalk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/architect/architect-init of tikalk/adlc-team-skills.

Open the folder on GitHubat commit 2dbed36

Compare with similar skills

Architect Init next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Architect Init compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Architect Init this skilltikalk/adlc-team-skills141—~7.4kAutomated safety check: PassMIT
TH08 Library RecoveryN0zoM1z0/th08100—~877Automated safety check: PassMIT
Pci Secure Softwaretransilienceai/communitytools562—~1.8kAutomated safety check: PassMIT
D365 Solution Blueprintgithub/awesome-copilot40k—~2.7kAutomated safety check: PassMIT
Icsme Topic Selectionbrycewang-stanford/Awesome-Journal-Skills1.2k—~1.7kAutomated safety check: PassMIT
PR Design DocOpenHands/OpenHands90k—~2.4kAutomated safety check: PassMIT

Similar skills

  • Covers recovering and verifying the VC7 C runtime, compiler-runtime and D3DX library functions in the TH08 decompilation, with hash-pinned evidence.

    100 GitHub stars~877 tokensUpdated 19 days ago
    DevelopmentAuto-check passed
  • Pci Secure Software

    transilienceai/communitytools

    Automated PCI Secure Software Standard (SSS) v2.0 readiness gap-assessment of an application from its source code and documentation.

    562 GitHub stars~1.8k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • D365 Solution Blueprint

    github/awesome-copilot

    Official

    Authors a Dynamics 365 Finance and Supply Chain Management Solution Blueprint from scratch through a structured, section-by-section architect interview, establishing scope, target operating model…

    40k GitHub stars~2.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Icsme Topic Selection

    brycewang-stanford/Awesome-Journal-Skills

    A skill your agent uses when deciding whether a software-engineering project belongs at IEEE ICSME (maintenance, evolution, reverse engineering, program comprehension, technical debt, refactoring…

    1.2k GitHub stars~1.7k tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • PR Design Doc

    OpenHands/OpenHands

    For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…

    90k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Records a site's browser traffic into a HAR file, then builds a standalone client or CLI that calls its internal endpoints directly with no browser.

    44k GitHub starsUsed in 2 repos~1.3k tokens
    DevelopmentAuto-check passed

More from tikalk/adlc-team-skills

All 44 skills in this repo
  • Workspace

    tikalk/adlc-team-skills

    A skill your agent uses when coordinating a multi-repo workspace — init the .adlc/ structure, discover and link child repos as submodules, or audit workspace health (branch, dirty, unpushed, SHA…

    141 GitHub starsUsed in 1 repo~3.7k tokens
    Auto-check passed
  • Team Boot

    tikalk/adlc-team-skills

    A skill your agent uses when a session starts or resumes after compaction (auto via the sessionstart and sessioncompact event hooks) and the team AI directives context — constitution, CDR index…

    141 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Architect Clarify

    tikalk/adlc-team-skills

    A skill your agent uses when ADRs need review, gaps need filling, or ADR status must be approved as Accepted before architecture generation.

    141 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Change Clarify

    tikalk/adlc-team-skills

    A skill your agent uses when reviewing, accepting, rejecting, or deferring ChDRs mined by change-init, validating inferred decisions against their git and issue evidence before promotion to project…

    141 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Change Init

    tikalk/adlc-team-skills

    A skill your agent uses when you want guided mining of git history, structured change-story clustering, or comprehensive rationale recovery before documenting.

    141 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Change Publish

    tikalk/adlc-team-skills

    A skill your agent uses when accepted ChDRs are ready for promotion from drafts to project memory at docs/adlc/memory/chdr/ and the boot-facing chdr.md index needs regenerating.

    141 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed

Questions about Architect Init

What does Architect Init do?

A skill your agent uses when bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase. Architect Init is an agent skill from tikalk/adlc-team-skills. Use when bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase.

When should I use Architect Init?

Architect Init fits situations like: bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase; tasks that involve Architecture decision records; tasks that involve Reverse engineering and malware.

How do I install Architect Init in Claude Code?

Run `npx skills add tikalk/adlc-team-skills --skill architect-init -a claude-code`. Or copy the skill folder (skills/architect/architect-init in tikalk/adlc-team-skills) into .claude/skills/architect-init in your project. Claude Code loads it when a task matches its description.

How do I install Architect Init in Codex?

Run `npx skills add tikalk/adlc-team-skills --skill architect-init -a codex`. Or copy the skill folder (skills/architect/architect-init in tikalk/adlc-team-skills) into .agents/skills/architect-init in your project. Codex loads it when a task matches its description.

Can I use Architect Init in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tikalk/adlc-team-skills --skill architect-init -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/architect-init, .gemini/skills/architect-init, .github/skills/architect-init and .opencode/skills/architect-init in your project.

What does Architect Init need to run?

SKILL.md names no scripts, command-line tools or credentials: Architect Init is instructions for the agent only. Our summary lists: Python 3; Node.js; Docker.

Does Architect Init access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Architect Init safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Architect Init use?

Architect Init is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Architect Init use?

About 7.4k tokens (SKILL.md is roughly 29k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Architect Init?

Skills that share tags, products or a category with Architect Init: TH08 Library Recovery (N0zoM1z0/th08, 100 stars), Pci Secure Software (transilienceai/communitytools, 562 stars), D365 Solution Blueprint (github/awesome-copilot, 40k stars) and Icsme Topic Selection (brycewang-stanford/Awesome-Journal-Skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Architect Init?

tikalk (a GitHub organization) maintains it in tikalk/adlc-team-skills, which has 141 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 6, 2026.

Source: tikalk/adlc-team-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.