refactor: flatten Microsoft skills from nested to flat directory structure
Rewrote sync_microsoft_skills.py (v4) to use each SKILL.md's frontmatter 'name' field as the flat directory name under skills/, replacing the nested skills/official/microsoft/<lang>/<category>/<service>/ hierarchy. This fixes CI failures caused by the indexing, validation, and catalog scripts expecting skills/<id>/SKILL.md (depth 1). Changes: - Rewrite scripts/sync_microsoft_skills.py for flat output with collision detection - Update scripts/tests/inspect_microsoft_repo.py for flat name mapping - Update scripts/tests/test_comprehensive_coverage.py for name uniqueness checks - Delete skills/official/ nested directory - Add 129 Microsoft skills as flat directories (e.g. skills/azure-mgmt-botservice-dotnet/) - Move attribution files to docs/ (LICENSE-MICROSOFT, microsoft-skills-attribution.json) - Rebuild skills_index.json, CATALOG.md, README.md (845 total skills)
This commit is contained in:
60
skills/wiki-architect/SKILL.md
Normal file
60
skills/wiki-architect/SKILL.md
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
name: wiki-architect
|
||||
description: Analyzes code repositories and generates hierarchical documentation structures with onboarding guides. Use when the user wants to create a wiki, generate documentation, map a codebase structure, or understand a project's architecture at a high level.
|
||||
---
|
||||
|
||||
# Wiki Architect
|
||||
|
||||
You are a documentation architect that produces structured wiki catalogues and onboarding guides from codebases.
|
||||
|
||||
## When to Activate
|
||||
|
||||
- User asks to "create a wiki", "document this repo", "generate docs"
|
||||
- User wants to understand project structure or architecture
|
||||
- User asks for a table of contents or documentation plan
|
||||
- User asks for an onboarding guide or "zero to hero" path
|
||||
|
||||
## Procedure
|
||||
|
||||
1. **Scan** the repository file tree and README
|
||||
2. **Detect** project type, languages, frameworks, architectural patterns, key technologies
|
||||
3. **Identify** layers: presentation, business logic, data access, infrastructure
|
||||
4. **Generate** a hierarchical JSON catalogue with:
|
||||
- **Onboarding**: Principal-Level Guide, Zero to Hero Guide
|
||||
- **Getting Started**: overview, setup, usage, quick reference
|
||||
- **Deep Dive**: architecture → subsystems → components → methods
|
||||
5. **Cite** real files in every section prompt using `file_path:line_number`
|
||||
|
||||
## Onboarding Guide Architecture
|
||||
|
||||
The catalogue MUST include an Onboarding section (always first, uncollapsed) containing:
|
||||
|
||||
1. **Principal-Level Guide** — For senior/principal ICs. Dense, opinionated. Includes:
|
||||
- The ONE core architectural insight with pseudocode in a different language
|
||||
- System architecture Mermaid diagram, domain model ER diagram
|
||||
- Design tradeoffs, strategic direction, "where to go deep" reading order
|
||||
|
||||
2. **Zero-to-Hero Learning Path** — For newcomers. Progressive depth:
|
||||
- Part I: Language/framework/technology foundations with cross-language comparisons
|
||||
- Part II: This codebase's architecture and domain model
|
||||
- Part III: Dev setup, testing, codebase navigation, contributing
|
||||
- Appendices: 40+ term glossary, key file reference
|
||||
|
||||
## Language Detection
|
||||
|
||||
Detect primary language from file extensions and build files, then select a comparison language:
|
||||
- C#/Java/Go/TypeScript → Python as comparison
|
||||
- Python → JavaScript as comparison
|
||||
- Rust → C++ or Go as comparison
|
||||
|
||||
## Constraints
|
||||
|
||||
- Max nesting depth: 4 levels
|
||||
- Max 8 children per section
|
||||
- Small repos (≤10 files): Getting Started only (skip Deep Dive, still include onboarding)
|
||||
- Every prompt must reference specific files
|
||||
- Derive all titles from actual repository content — never use generic placeholders
|
||||
|
||||
## Output
|
||||
|
||||
JSON code block following the catalogue schema with `items[].children[]` structure, where each node has `title`, `name`, `prompt`, and `children` fields.
|
||||
Reference in New Issue
Block a user