architecture-md-writer
ARCHITECTURE.md Writer
Write architecture docs that give contributors a fast mental model of system shape, starting points, and non-negotiable constraints. Prefer stable structure over implementation trivia, and prefer editing existing ARCHITECTURE.md files over creating new ones unless the scope is wrong.
Workflow
- Determine scope and document topology.
- Inspect whether the task is for the repo root, a subsystem, or both.
- Treat the root
ARCHITECTURE.mdas the system map, not the full encyclopedia. - Add nested
ARCHITECTURE.mdfiles only when a subtree has enough independent structure, lifecycle, or constraints to justify its own page. - When adding a nested doc, update the parent doc to link to it and explain its scope in one line.
- Read references/progressive-disclosure.md when deciding where to split content.
- Build context from stable code structure.
- Read existing docs only to recover boundaries, terminology, and decision history.
- Inspect entry points, package boundaries, long-lived directories, interfaces, background jobs, storage seams, and external integrations.
- Trace one or two important flows end to end so the document reflects how the system actually moves.
- Capture responsibilities, interactions, and invariants before drafting prose.
- Draft the smallest useful document.
- Explain what the system or module is for, what major parts exist, and how they interact.
- Prefer concrete file and directory starting points over exhaustive inventories.
- Use a small ASCII diagram only when it shortens explanation; do not use Mermaid.
- Choose section names that fit the system instead of forcing a rigid template.
- Read references/section-patterns.md when choosing sections or shaping a component map.
- Keep the document high-level and durable.
- Document boundaries, responsibilities, execution flow, dependencies, and invariants.
- Omit class-by-class or function-by-function catalogs.
- Omit setup steps, coding standards, runbooks, and tutorials unless a design constraint depends on them.
- Link ADRs for rationale and tradeoff history instead of embedding long decision logs.
- If an area is unclear, say less and point to the best start-here files rather than speculating.
- Review for contributor usefulness.
- Ensure a new engineer can answer: what are the major parts, where should I start tracing behavior, and what must not be broken?
- Remove statements that would go stale after an ordinary refactor.
- Verify links, file paths, and parent-child architecture doc references.
- Preserve repository terminology so readers can jump from document to code without translation.
Writing Rules
- Prefer short paragraphs and flat bullets.
- Write from outside in: system shape first, then the most important flows and files.
- Call out
start herefiles explicitly. - Name invariants as enforceable rules, not vague values.
- When a module doc exists, state how it fits into the parent architecture and link back upward.
- Treat missing ADRs as a fact to note briefly, not a reason to invent rationale.
Section Selection
- Common sections include
Purpose,Component Map,Runtime Flow,Code Map,Invariants,Dependencies, andRelated ADRs. - Merge or rename sections when that produces a clearer document.
- Skip sections with no durable content.
- Favor searchable headings and concrete paths over narrative filler.
Resources
- references/section-patterns.md: Section heuristics, quality signals, and omission rules.
- references/progressive-disclosure.md: Root-versus-module guidance and cross-linking rules.
More from sjunepark/custom-skills
summarize
Use the steipete/summarize CLI to summarize URLs, local files, stdin, YouTube links, podcasts, and media with LLM models. Trigger when users ask to install or run summarize, configure model/provider API keys, tune output flags (length/language/json/extract/slides), set defaults in ~/.summarize/config.json, or troubleshoot summarize CLI errors.
41skills-cli
Operate the skills CLI to discover, install, list, update, remove, and initialize skills for Codex, Claude Code, and Pi. Use when users ask to manage skills from skills.sh, restore from lock files, sync skills from node_modules, or troubleshoot agent/installation scope (project vs global).
36post-implementation-review
Manually review already-implemented code for design flaws, abstraction issues, structural problems, or refactors that only became clear in real code. Use only when the user explicitly asks for a post-implementation review, explicitly asks whether recent implementation work revealed design or structure problems, or explicitly wants refactor recommendations after the code exists. Do not auto-trigger for ordinary implementation, debugging, explanation, or generic code review requests. Prefer embedded snippets with file-path comments over editor-oriented file and line references. Prioritize real design, ownership, abstraction, and organization weaknesses over minor local polish, call out real tradeoffs, and separate straightforward recommendations from items worth discussion.
29agents-md-writer
Create, edit, review, and improve AGENTS.md files for repositories used by agentic coding tools with concise, actionable instructions and correct precedence behavior. Use whenever AGENTS.md content is being changed, including updating existing guidance, drafting a new AGENTS.md, migrating legacy instruction files, defining nested overrides in monorepos, or debugging why tools load the wrong guidance.
26source-investigator
Investigate external libraries, frameworks, and unfamiliar repositories by cloning the exact repo into a project-local temp workspace, ignoring that workspace in git, and delegating code reading to focused subagents so the main thread stays clean. Use whenever docs are incomplete, version-specific behavior matters, you need to learn how a codebase works, or exploring lots of source inline would pollute the main context.
24briefing
Manually brief the user on the current task or session so they can make the next decision without reloading the whole codebase. Use only when the user explicitly asks for a briefing, catch-up, current state, relevant architecture, or implementation context. Prefer this skill for task-scoped context recovery when the conversation is long, the code has changed, or the user wants the relevant details without a long explanation.
22