视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
legacy-code-doc【文档与办公】Reverse-document legacy ABAP — read a Z program/class/function group end to end, map its structure, database touchpoints, callers, and side effects, and produce structured documentation (purpose, flow, interfaces, data, risks). Use whenever the user asks "what does this program do", wants documentation for undocumented custom code, is onboarding onto…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Produce documentation for ABAP objects that have none. The output is for two audiences at once: a developer who must change the code next month, and a manager deciding whether it survives the next migration.
adt_ping to verify).adt_read_table examples additionally need NW 7.55+;
skip data sampling on older systems.adt_get_source output is capped per call (~64 KB). For
big programs paginate with firstLine/lastLine, or slice with
onlyMethod. Never assume one call returned the whole object — check
truncated/totalLines.adt_search_objects if only a fuzzy name is known. Identify the object type —
the strategy differs:
adt_browse_package on its package, or INCLUDE statements from source) and
fetch each include that carries logic.definitions first (the public contract), then
implementations method by method (onlyMethod) for the ones that matter.adt_get_source with type function + group); shared TOP include for state.While reading, collect — don't paraphrase line by line:
adt_grep_source across the
package helps find copy-paste siblings).adt_where_used on the main object: who calls this? A "legacy" report
called by 14 other programs is infrastructure, not legacy.adt_list_versions / adt_compare_versions: when was it last touched, how
actively does it change? (Stable-for-8-years and changed-monthly need very
different documentation depth.)adt_read_table samples on its Z tables to
show real data shapes (row counts, key examples) — ask before querying
business data, and keep samples small.Structure (trim sections that don't apply):
# <OBJECT> — <one-line purpose>
## What it does (3–6 sentences, business language)
## How it's triggered (jobs, transactions, callers — from where-used)
## Inputs / outputs (selection screen, interfaces, files, spool)
## Data (tables READ / tables WRITTEN — writes first, bold)
## Control flow (numbered happy path; branches that matter)
## External dependencies (RFCs, BAPIs, files, config tables)
## Risks & smells (each with file:line references)
## Change history signal (last N versions: who, when, what theme)
## Migration notes (S/4 readiness: deprecated statements, obsolete FMs —
apply the abap-clean-core skill's levels if loaded)
Cite everything as INCLUDE/METHOD:line so the next developer can jump
straight in. If the user wants the doc persisted, write it to a local markdown
file named after the object.
For "document the whole package": adt_browse_package to enumerate, then
triage — document deeply only objects with DB writes or many callers; one-line
summaries for trivial ones. State the triage rule in the output so nobody
mistakes a one-liner for a full review.