AgentStack
SKILL verified MIT Self-run

Split Architecture

skill-etr-groundwork-split-architecture · by etr

This skill should be used when converting a single-file architecture doc to directory-based format for better organization of large architecture documents

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-etr-groundwork-split-architecture

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-etr-groundwork-split-architecture)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Split Architecture? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Split Architecture Skill

Converts a single-file architecture document ({{specs_dir}}/architecture.md) into a directory-based format ({{specs_dir}}/architecture/) for better organization and targeted context loading.

When to Use

  • Automatically by design-architecture and source-architecture-from-code when the single-file architecture doc crosses 500 lines or 10 decision records (sections matching ### DR-\d+)
  • Manually when the user invokes /split-architecture

Step 0: Resolve Project Context

  1. Monorepo check: Does .groundwork.yml exist at the repo root?
  • If yes → Is {{project_name}} non-empty?
  • If empty → Invoke Skill(skill="groundwork:select-project") to select a project, then restart this skill.
  • If set → Project is {{project_name}}, specs at {{specs_dir}}/.
  • If no → Continue (single-project repo).
  1. Proceed with the resolved project context.

Step 1: Validate Preconditions

  1. Check single file exists: {{specs_dir}}/architecture.md must exist
  • If missing → output "No single-file architecture doc found at {{specs_dir}}/architecture.md. Nothing to split." and stop.
  1. Check directory does NOT exist: {{specs_dir}}/architecture/ must not already exist
  • If it exists → output "Architecture doc is already in directory format at {{specs_dir}}/architecture/. Nothing to do." and stop.
  1. Read the file and count lines and decision records (sections matching ^### DR-\d+).

Step 2: Split the File

Parse the single-file architecture doc into sections and write each to its own file under {{specs_dir}}/architecture/.

Directory Structure

{{specs_dir}}/architecture/
├── _index.md                 # Header, metadata
├── 01-executive-summary.md   # Section 1: Executive Summary
├── 02-architectural-drivers.md # Section 2: Architectural Drivers
├── 03-system-overview.md     # Section 3: System Overview
├── 04-components/            # Section 4: One file per component
│   ├── _index.md             # Section 4 header ("## 4) Component Details")
│   └── .md   # e.g., cli.md, query-router.md
├── 05-data.md                # Section 5: Data Architecture
├── 06-integration.md         # Section 6: Integration Architecture
├── 07-security.md            # Section 7: Security Architecture
├── 08-infrastructure.md      # Section 8: Infrastructure & Deployment
├── 09-observability.md       # Section 9: Observability
├── 10-cost-model.md          # Section 10: Cost Model
├── 11-decisions/             # Section 11: One file per DR
│   ├── _index.md             # Section 11 header ("## 11) Decision Records")
│   └── DR-NNN.md             # e.g., DR-001.md, DR-015.md
├── 12-open-questions.md      # Section 12: Open Questions & Risks
└── 13-appendices.md          # Section 13: Appendices

Parsing Rules

  1. _index.md — Everything from the start of the file up to (but not including) ## 1). This includes the header block (Version, Last updated, Status, Owner).
  1. 01-executive-summary.md — From ## 1) up to (but not including) ## 2).
  1. 02-architectural-drivers.md — From ## 2) up to (but not including) ## 3).
  1. 03-system-overview.md — From ## 3) up to (but not including) ## 4).
  1. 04-components/_index.md — The ## 4) heading line and any text before the first ### 4. subsection. Typically just:

``markdown ## 4) Component Details ``

  1. 04-components/.md — One file per ### 4.N subsection. The filename is a slug of the component name:
  • ### 4.1 CLIcli.md
  • ### 4.2 Query Routerquery-router.md
  • ### 4.15 MCP Servermcp-server.md
  • Preserve the full ### 4.N ... heading in the file
  1. 05-data.md — From ## 5) up to (but not including) ## 6).
  1. 06-integration.md — From ## 6) up to (but not including) ## 7).
  1. 07-security.md — From ## 7) up to (but not including) ## 8).
  1. 08-infrastructure.md — From ## 8) up to (but not including) ## 9).
  1. 09-observability.md — From ## 9) up to (but not including) ## 10).
  1. 10-cost-model.md — From ## 10) up to (but not including) ## 11).
  1. 11-decisions/_index.md — The ## 11) heading line and any text before the first ### DR- subsection.
  1. 11-decisions/DR-NNN.md — One file per ### DR-NNN subsection. The filename matches the DR number:
  • ### DR-001: Project StructureDR-001.md
  • ### DR-015: Call Graph Data Model [V3]DR-015.md
  • Preserve the full ### DR-NNN: ... heading in the file
  1. 12-open-questions.md — From ## 12) up to (but not including) ## 13).
  1. 13-appendices.md — From ## 13) to the end of the file.

Edge Cases

  • If a section is missing from the source file, skip that output file (don't create empty files).
  • If non-standard numbered sections exist beyond 13, include them as NN-slug.md files.
  • Preserve all horizontal rules (---) as they appear in the source.
  • Preserve trailing newlines — each output file should end with a single newline.

Step 3: Delete the Single File

After all directory files are written and verified:

  1. Verify — Read back _index.md, at least one component file, and at least one DR file to confirm they look correct.
  2. Delete — Remove {{specs_dir}}/architecture.md using rm.
  3. Confirm — Output a summary:
Split architecture.md into directory format:
  {{specs_dir}}/architecture/
  ├── _index.md
  ├── 01-executive-summary.md
  ├── 02-architectural-drivers.md
  ├── 03-system-overview.md
  ├── 04-components/ (N component files)
  ├── 05-data.md
  ├── ...
  ├── 11-decisions/ (N decision records)
  ├── 12-open-questions.md
  └── 13-appendices.md

The single file has been removed. All skills (design-architecture, source-architecture-from-code, etc.) already support directory mode.

Auto-Split Thresholds

When invoked automatically (not by the user), the caller has already verified that at least one threshold is crossed:

  • Line count: wc -l on {{specs_dir}}/architecture.md >= 500
  • Decision record count: Number of ### DR-\d+ headings >= 10

No user confirmation is needed — the split happens silently and the caller reports what happened.

When invoked manually by the user, skip threshold checks and split unconditionally.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.