kotonoha 0.1.2 → 0.1.5-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README.md +126 -25
- package/bin/kotonoha.js +81 -13
- package/bin/npm-publish-tag.js +12 -0
- package/package.json +7 -3
- package/skills/presentation-planner/SKILL.md +243 -0
- package/skills/presentation-planner/assets/design-templates/data-report.yaml +97 -0
- package/skills/presentation-planner/assets/design-templates/executive-proposal.yaml +92 -0
- package/skills/presentation-planner/assets/design-templates/technical-briefing.yaml +96 -0
- package/skills/presentation-planner/assets/scenario-templates/data-report.md +47 -0
- package/skills/presentation-planner/assets/scenario-templates/executive-decision.md +43 -0
- package/skills/presentation-planner/assets/scenario-templates/technical-briefing.md +45 -0
- package/skills/presentation-planner/references/customizing-design-templates.md +160 -0
- package/skills/presentation-planner/references/design-spec-schema.md +72 -0
- package/skills/presentation-planner/references/handoff-contract.md +49 -0
- package/skills/presentation-planner/references/responsibility-boundary.md +32 -0
- package/skills/presentation-planner/references/scenario-templates.md +55 -0
- package/skills/tech-writer/SKILL.md +147 -46
- package/skills/tech-writer/assets/templates/migration-plan.md +173 -0
- package/skills/tech-writer/assets/templates/operations-runbook.md +202 -0
- package/skills/tech-writer/assets/templates/requirements-definition.md +170 -0
- package/skills/tech-writer/assets/templates/rfi.md +113 -0
- package/skills/tech-writer/assets/templates/rfp.md +180 -0
- package/skills/tech-writer/assets/templates/security-design.md +167 -0
- package/skills/tech-writer/assets/templates/system-design.md +220 -0
- package/skills/tech-writer/assets/templates/technical-proposal.md +112 -0
- package/skills/tech-writer/assets/templates/test-plan.md +153 -0
- package/skills/tech-writer/references/doctypes/migration-plan.md +63 -0
- package/skills/tech-writer/references/doctypes/operations-runbook.md +63 -0
- package/skills/tech-writer/references/doctypes/requirements-definition.md +61 -0
- package/skills/tech-writer/references/doctypes/rfi.md +43 -0
- package/skills/tech-writer/references/doctypes/rfp.md +46 -0
- package/skills/tech-writer/references/doctypes/security-design.md +71 -0
- package/skills/tech-writer/references/doctypes/system-design.md +74 -0
- package/skills/tech-writer/references/doctypes/technical-proposal.md +49 -0
- package/skills/tech-writer/references/doctypes/test-plan.md +67 -0
- package/skills/tech-writer/references/japanese-prose-optimization.md +108 -0
- package/skills/tech-writer/references/style-constitution.md +7 -6
|
@@ -3,25 +3,34 @@ name: tech-writer
|
|
|
3
3
|
description: >-
|
|
4
4
|
Helps structure and polish technical documents: README, design docs/ADRs,
|
|
5
5
|
API reference, PR descriptions/commit messages/issue reports, release
|
|
6
|
-
notes/CHANGELOG, user manuals/how-to guides, code comments/docstrings,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
notes/CHANGELOG, user manuals/how-to guides, code comments/docstrings,
|
|
7
|
+
requirements definitions, system designs, test plans, operations runbooks,
|
|
8
|
+
migration plans, security designs/threat models, technical proposals,
|
|
9
|
+
RFI/RFP procurement documents, and Qiita/Zenn articles. Use for requests
|
|
10
|
+
like "write a README", "draft a design doc", "define system requirements",
|
|
11
|
+
"write a system design", "create a test plan", "write an operations
|
|
12
|
+
runbook", "plan a migration", "create a threat model", "write a technical
|
|
13
|
+
proposal", "draft an RFI", "create an RFP", "write this PR description",
|
|
14
|
+
"clean up my commit
|
|
15
|
+
message", "make this how-to guide clearer", "write API docs", "summarize
|
|
16
|
+
the release notes", "write a Zenn article", "write this up for Qiita", as
|
|
17
|
+
well as
|
|
11
18
|
Japanese-language equivalents (「READMEを書いて」「設計ドキュメントを作って」
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
「要件定義書を作って」「システム設計書を書いて」「テスト計画書を作って」
|
|
20
|
+
「運用設計書を書いて」「移行計画を作って」「脅威モデルを作って」
|
|
21
|
+
「技術提案書を書いて」「RFIを作って」「RFPを作って」「PRの説明文を書いて」
|
|
22
|
+
「コミットメッセージを整えて」「手順書を分かりやすくして」
|
|
23
|
+
「APIドキュメントを整備して」「リリースノートをまとめて」
|
|
24
|
+
「Zennの記事を書いて」「Qiitaに投稿する記事を書いて」). Especially useful when
|
|
15
25
|
the request is a bare goal without enough context to start (e.g. "I want
|
|
16
26
|
to write a README" / "○○を書きたい"), since this skill drives a one
|
|
17
27
|
question-at-a-time intake before writing. Supports both Japanese and
|
|
18
|
-
English documents, with Japanese as the primary target
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
reader fit.
|
|
28
|
+
English documents, with Japanese as the primary target. Owns document
|
|
29
|
+
structure, information completeness, and reader fit; for living Japanese
|
|
30
|
+
documents, it orchestrates a registered prose-polishing skill such as
|
|
31
|
+
https://github.com/coji/natural-japanese for sentence-level naturalness,
|
|
32
|
+
word choice, rhythm, and "AI smell" removal without reimplementing that
|
|
33
|
+
skill.
|
|
25
34
|
license: MIT
|
|
26
35
|
argument-hint: "[write|review|score] [doctype] <target file or request>"
|
|
27
36
|
---
|
|
@@ -31,7 +40,10 @@ argument-hint: "[write|review|score] [doctype] <target file or request>"
|
|
|
31
40
|
Structures technical documents so readers reach the information they need
|
|
32
41
|
with the shortest path. Covers README, design docs/ADRs, API reference, PR
|
|
33
42
|
descriptions/commit messages/issue reports, release notes/CHANGELOG, user
|
|
34
|
-
manuals/how-to guides, code comments/docstrings,
|
|
43
|
+
manuals/how-to guides, code comments/docstrings, requirements definitions,
|
|
44
|
+
system designs, test plans, operations runbooks, migration plans, security
|
|
45
|
+
designs/threat models, technical proposals, RFI/RFP procurement documents,
|
|
46
|
+
and Qiita/Zenn articles.
|
|
35
47
|
|
|
36
48
|
Default format: Markdown for every doctype in this skill, except a git
|
|
37
49
|
commit message body (plain text by convention — light "-" bullets are
|
|
@@ -45,11 +57,13 @@ reference files.
|
|
|
45
57
|
|
|
46
58
|
Document quality splits into two layers: "is the structure right" and "is
|
|
47
59
|
the prose natural and readable". This skill owns the first layer (structure,
|
|
48
|
-
document type conventions, completeness, reader fit).
|
|
49
|
-
(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
60
|
+
document type conventions, completeness, reader fit). A prose-polishing skill
|
|
61
|
+
such as [natural-japanese](https://github.com/coji/natural-japanese) owns the
|
|
62
|
+
second layer (sentence-level naturalness, removing "AI smell", rhythm);
|
|
63
|
+
tech-writer orchestrates that skill without duplicating its rules or scripts.
|
|
64
|
+
When both skills are installed, this skill locks down the structure and
|
|
65
|
+
orchestrates the §5 handoff to natural-japanese during `write` mode before
|
|
66
|
+
the final rubber-duck review.
|
|
53
67
|
|
|
54
68
|
- Rule of thumb: "does removing a heading still make sense?" tests structure
|
|
55
69
|
(this skill's job). "Does rereading a single sentence change its meaning?"
|
|
@@ -62,12 +76,14 @@ first, then hand Japanese prose to natural-japanese for polish.
|
|
|
62
76
|
Infer the mode from the argument or the request:
|
|
63
77
|
|
|
64
78
|
- `write` (default): new document, or restructuring a draft. Runs the full
|
|
65
|
-
§1–§
|
|
79
|
+
§1–§6 workflow, starting with the intake loop in §1 and ending only after
|
|
66
80
|
the rubber-duck review loop has no remaining actionable findings. If an
|
|
67
81
|
independent review cannot run or cannot converge, returns the explicit
|
|
68
|
-
review status required by §
|
|
82
|
+
review status required by §6 instead of claiming a clean review. For a
|
|
83
|
+
in-scope Japanese living document, also return the §5 Japanese prose
|
|
84
|
+
optimization status.
|
|
69
85
|
- `review`: structural review of an existing document. Does not rewrite;
|
|
70
|
-
reports the gap against the doctype checklist (§
|
|
86
|
+
reports the gap against the doctype checklist (§7).
|
|
71
87
|
- `score`: structure-only quick diagnostic. Runs
|
|
72
88
|
`scripts/lint.py --json <file>` and summarizes the findings (no rewrite).
|
|
73
89
|
|
|
@@ -90,7 +106,13 @@ hand the user a checklist to fill in. Instead:
|
|
|
90
106
|
past this doctype without knowing which one applies. Similarly, a bare
|
|
91
107
|
"write a tech blog post" request doesn't by itself say Qiita, Zenn, or
|
|
92
108
|
neither — ask which platform (or "no platform, just a plain document")
|
|
93
|
-
as part of this same first question.
|
|
109
|
+
as part of this same first question. For a "technical proposal", ask
|
|
110
|
+
whether it is an internal approval proposal or a supplier response to an
|
|
111
|
+
RFP; only the internal approval proposal maps to `technical-proposal`.
|
|
112
|
+
For a supplier response, structure the document against the supplied
|
|
113
|
+
RFP's requirement IDs, requested proposal contents, pricing format, and
|
|
114
|
+
contract deviations, then apply the general principles in
|
|
115
|
+
`references/style-constitution.md`.
|
|
94
116
|
2. Open the matching reference file and note its target reader and any
|
|
95
117
|
"settle before writing" items. Combined with the general musts below,
|
|
96
118
|
this is your information checklist — but never show it to the user as a
|
|
@@ -104,7 +126,12 @@ hand the user a checklist to fill in. Instead:
|
|
|
104
126
|
doctype (and subtype, for `pr-commit`), and (d) any doctype-specific
|
|
105
127
|
musts (e.g. the decision and alternatives for a design doc, the
|
|
106
128
|
prior-knowledge floor for a user manual, breaking-change status for
|
|
107
|
-
release notes, the related issue for a PR description or bug report
|
|
129
|
+
release notes, the related issue for a PR description or bug report,
|
|
130
|
+
measurable acceptance conditions for a requirements definition, the
|
|
131
|
+
approved requirements baseline for a system design, exit criteria for a
|
|
132
|
+
test plan, RTO/RPO for an operations runbook, rollback conditions for a
|
|
133
|
+
migration plan, assets and trust boundaries for a threat model, market
|
|
134
|
+
unknowns for an RFI, or evaluation rules for an RFP).
|
|
108
135
|
5. **A "don't know" / "not applicable" / "no ticket for this" answer
|
|
109
136
|
satisfies a must — it is not a reason to keep asking.** Ask that must
|
|
110
137
|
at most once; if the answer is a non-answer, record it as a stated
|
|
@@ -113,7 +140,7 @@ hand the user a checklist to fill in. Instead:
|
|
|
113
140
|
one-line note) and move on.
|
|
114
141
|
6. **Once complete, do not ask the user to compose anything.** Synthesize
|
|
115
142
|
the gathered answers into the best possible generation approach yourself
|
|
116
|
-
and immediately continue into §2–§
|
|
143
|
+
and immediately continue into §2–§6 in the same turn to produce the
|
|
117
144
|
document. Skip further confirmation unless the doctype is release-facing
|
|
118
145
|
and consequential (e.g. a public release note with breaking changes) or
|
|
119
146
|
the user explicitly asked to see a plan first.
|
|
@@ -130,6 +157,15 @@ hand the user a checklist to fill in. Instead:
|
|
|
130
157
|
| Release notes / CHANGELOG | release-notes | `references/doctypes/release-notes.md` |
|
|
131
158
|
| User manual / how-to guide / tutorial | user-manual | `references/doctypes/user-manual.md` |
|
|
132
159
|
| Code comments / docstrings | code-comments | `references/doctypes/code-comments.md` |
|
|
160
|
+
| Requirements definition / 要件定義書 | requirements-definition | `references/doctypes/requirements-definition.md` |
|
|
161
|
+
| System design / システム設計書 | system-design | `references/doctypes/system-design.md` |
|
|
162
|
+
| Test plan / テスト計画書 | test-plan | `references/doctypes/test-plan.md` |
|
|
163
|
+
| Operations design / Runbook / 運用設計書 | operations-runbook | `references/doctypes/operations-runbook.md` |
|
|
164
|
+
| Migration plan / 移行計画書 | migration-plan | `references/doctypes/migration-plan.md` |
|
|
165
|
+
| Security design / Threat model / セキュリティ設計書 | security-design | `references/doctypes/security-design.md` |
|
|
166
|
+
| Internal technical proposal | technical-proposal | `references/doctypes/technical-proposal.md` |
|
|
167
|
+
| Request for information / RFI | rfi | `references/doctypes/rfi.md` |
|
|
168
|
+
| Request for proposal / RFP | rfp | `references/doctypes/rfp.md` |
|
|
133
169
|
| Zenn article | zenn | `references/doctypes/zenn.md` |
|
|
134
170
|
| Qiita article | qiita | `references/doctypes/qiita.md` |
|
|
135
171
|
|
|
@@ -140,9 +176,12 @@ one-question-at-a-time intake for reader and outcome.
|
|
|
140
176
|
## 2. Outline first for long documents
|
|
141
177
|
|
|
142
178
|
For documents likely to run long — design docs/ADRs, user manuals with
|
|
143
|
-
multiple steps, API references covering several endpoints,
|
|
144
|
-
|
|
145
|
-
|
|
179
|
+
multiple steps, API references covering several endpoints, requirements
|
|
180
|
+
definitions, system designs, test plans, operations runbooks, migration
|
|
181
|
+
plans, security designs, technical proposals, RFI/RFP documents, or anything
|
|
182
|
+
the user calls
|
|
183
|
+
"long"/"detailed"/"comprehensive" — draft a table of contents (heading
|
|
184
|
+
outline) before writing any body prose.
|
|
146
185
|
|
|
147
186
|
1. Build the heading outline from the reader and outcome gathered in §1 and
|
|
148
187
|
the doctype's recommended skeleton (in its reference file).
|
|
@@ -168,7 +207,9 @@ document and needs the outline step below.
|
|
|
168
207
|
## 3. Write — under the structure constitution
|
|
169
208
|
|
|
170
209
|
For living, multi-section documents (README, design doc, API reference,
|
|
171
|
-
release notes, user manual,
|
|
210
|
+
release notes, user manual, requirements definition, system design, test
|
|
211
|
+
plan, operations runbook, migration plan, security design, technical
|
|
212
|
+
proposal, RFI/RFP, Zenn/Qiita article), write under the 8 rules
|
|
172
213
|
in `references/style-constitution.md`. Summary: state "what this is" and
|
|
173
214
|
"the outcome for the reader" in the first three lines; make headings
|
|
174
215
|
labels that preview content (not "Overview", but "Overview of what");
|
|
@@ -191,11 +232,11 @@ or `references/doctypes/release-notes.md` instead — see the scope note in
|
|
|
191
232
|
verbatim there.
|
|
192
233
|
|
|
193
234
|
Sentence-level concerns — keeping individual sentences concise, avoiding
|
|
194
|
-
double negatives, not dropping the subject, and general naturalness —
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
235
|
+
double negatives, not dropping the subject, and general naturalness — belong
|
|
236
|
+
to a prose-polishing skill. In `write` mode for a Japanese document, perform
|
|
237
|
+
the explicit handoff in §5 after the structure is complete. If no compatible
|
|
238
|
+
optimizer is available, still apply ordinary careful-writing judgment and
|
|
239
|
+
report the missing optimization pass explicitly.
|
|
199
240
|
|
|
200
241
|
|
|
201
242
|
## 4. Review — structural check
|
|
@@ -224,9 +265,60 @@ step 2 as the primary check for those.
|
|
|
224
265
|
4. **Reader-goal recheck**: confirm the "what the reader can do after
|
|
225
266
|
reading" outcome from §1 is actually achievable from this document alone.
|
|
226
267
|
|
|
227
|
-
## 5.
|
|
228
|
-
|
|
229
|
-
|
|
268
|
+
## 5. Optimize Japanese prose without changing the structure — write mode only
|
|
269
|
+
|
|
270
|
+
For a living, multi-section document whose requested final language is
|
|
271
|
+
Japanese, read
|
|
272
|
+
`references/japanese-prose-optimization.md` and hand the completed draft to a
|
|
273
|
+
registered `natural-japanese` or equivalent Japanese prose-polishing skill.
|
|
274
|
+
This pass is mandatory when such a skill is available.
|
|
275
|
+
|
|
276
|
+
Treat the optimizer as available when the host's registered skill list
|
|
277
|
+
contains `natural-japanese` or a compatible Japanese prose-polishing skill.
|
|
278
|
+
Invoke it through the host's skill-loading mechanism; when only installed
|
|
279
|
+
skill files are exposed, check
|
|
280
|
+
`.github/skills/natural-japanese/SKILL.md`,
|
|
281
|
+
`.copilot/skills/natural-japanese/SKILL.md`, and
|
|
282
|
+
`$HOME/.copilot/skills/natural-japanese/SKILL.md`, then load the discovered
|
|
283
|
+
`SKILL.md` and follow that workflow. Treat the pass as unavailable only when
|
|
284
|
+
no compatible registration or readable skill installation exists, or when
|
|
285
|
+
the optimizer cannot start.
|
|
286
|
+
|
|
287
|
+
Freeze heading hierarchy, section order, identifiers, numeric facts,
|
|
288
|
+
citations, normative language, tables, code, commands, acceptance criteria,
|
|
289
|
+
and explicit risks before handoff. Require sentence-level optimization and
|
|
290
|
+
request AI-pattern diagnostics, reading-load review, and terminology checks
|
|
291
|
+
when their scripts are runnable, without changing those invariants. Missing
|
|
292
|
+
optional diagnostics are a reported limitation, not proof that the prose pass
|
|
293
|
+
did not run. After the prose pass, repeat the doctype checklist and structural
|
|
294
|
+
lint from §4.
|
|
295
|
+
|
|
296
|
+
For an in-scope Japanese document in `write` mode, report one explicit status.
|
|
297
|
+
Do not run this pass or report a status for atomic artifacts such as commit
|
|
298
|
+
messages, PR descriptions, issue reports, single release-note entries, or
|
|
299
|
+
code comments/docstrings unless the user explicitly requests prose polishing
|
|
300
|
+
and supplies the prose in a standalone file:
|
|
301
|
+
|
|
302
|
+
- `Japanese prose optimization completed`
|
|
303
|
+
- `Japanese prose optimization not performed`
|
|
304
|
+
- `Japanese prose optimization did not converge`
|
|
305
|
+
|
|
306
|
+
Across the complete write workflow, allow at most 15 optimizer handoffs,
|
|
307
|
+
including reruns after rubber-duck edits. If no compatible optimizer can be
|
|
308
|
+
loaded, use
|
|
309
|
+
`Japanese prose optimization not performed` and state the reason. If the
|
|
310
|
+
optimizer starts but fails, or an edit violates a frozen invariant, revert
|
|
311
|
+
the invalid edit and retry within the three-round limit; unresolved failures
|
|
312
|
+
or invariant violations use
|
|
313
|
+
`Japanese prose optimization did not converge`. Do not claim this
|
|
314
|
+
optimization from kotonoha's structural lint alone. Documents that are not
|
|
315
|
+
within the Japanese final-language scope defined above require no optimization
|
|
316
|
+
status.
|
|
317
|
+
|
|
318
|
+
## 6. Rubber-duck review loop — write mode only
|
|
319
|
+
|
|
320
|
+
After the structural review in §4 and any Japanese prose optimization in §5,
|
|
321
|
+
use the host's subagent mechanism to
|
|
230
322
|
launch an independent reviewer in the `rubber-duck` role to challenge the
|
|
231
323
|
completed document for meaningful problems that the authoring pass may have
|
|
232
324
|
missed. Prefer a registered `rubber-duck` agent when the host provides one;
|
|
@@ -244,9 +336,14 @@ for `write` mode; do not run it for `review` or `score` mode.
|
|
|
244
336
|
2. **Resolve every valid finding**: edit the document rather than merely
|
|
245
337
|
listing proposed fixes. If a finding conflicts with a stated requirement
|
|
246
338
|
or is factually inapplicable, record a one-line reason for declining it.
|
|
247
|
-
3. **Re-run the relevant checks after each edit round**:
|
|
248
|
-
|
|
249
|
-
|
|
339
|
+
3. **Re-run the relevant checks after each edit round**: if a fix changed
|
|
340
|
+
Japanese prose, repeat the §5 optimization over the changed prose before
|
|
341
|
+
reporting its final status. Then repeat the doctype checklist and
|
|
342
|
+
structural lint from §4 before asking for another rubber-duck review. A
|
|
343
|
+
fix must not introduce a new structural defect or leave the final Japanese
|
|
344
|
+
prose outside the completed optimization pass. If a required rerun cannot
|
|
345
|
+
start because all 15 handoffs were already used, or cannot complete,
|
|
346
|
+
report `Japanese prose optimization did not converge`, not `completed`.
|
|
250
347
|
4. **Review again with the prior decisions**: reuse the same reviewer context
|
|
251
348
|
when supported. Otherwise, include the previous findings, applied fixes,
|
|
252
349
|
and declined findings with their reasons in every new review prompt. Ask
|
|
@@ -268,11 +365,14 @@ for `write` mode; do not run it for `review` or `score` mode.
|
|
|
268
365
|
contradictory requirements, label it `review did not converge` and
|
|
269
366
|
include the latest unresolved findings and fixes already attempted.
|
|
270
367
|
|
|
271
|
-
##
|
|
368
|
+
## 7. Doctype checklist summary
|
|
272
369
|
|
|
273
370
|
See each reference file for detail. The items below are for living,
|
|
274
371
|
multi-section documents (README, design doc, API reference, release notes,
|
|
275
|
-
user manual,
|
|
372
|
+
user manual, requirements definition, system design, test plan, operations
|
|
373
|
+
runbook, migration plan, security design, technical proposal, RFI/RFP,
|
|
374
|
+
Zenn/Qiita article). Atomic
|
|
375
|
+
artifacts (commit message, PR
|
|
276
376
|
description, issue report, code comment/docstring, a single appended
|
|
277
377
|
release-notes entry) are already covered by their own doctype checklist
|
|
278
378
|
via step 2 in §4 — these common items don't add extra requirements on top
|
|
@@ -292,5 +392,6 @@ The idea of separating structure from prose comes from
|
|
|
292
392
|
[natural-japanese](https://github.com/coji/natural-japanese) (MIT License)
|
|
293
393
|
and its design principle "machines detect, humans (or agents) judge" and
|
|
294
394
|
"prevent at generation time rather than fix afterward". This skill extends
|
|
295
|
-
that separation
|
|
296
|
-
|
|
395
|
+
that separation by owning technical-document structure while orchestrating,
|
|
396
|
+
but not reimplementing, the registered prose-polishing skill responsible for
|
|
397
|
+
sentence-level naturalness.
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# <システム・データ名> 移行計画書
|
|
2
|
+
|
|
3
|
+
<何をどこからどこへ、どの停止許容時間と品質基準で安全に移行するかを3文以内で要約する。>
|
|
4
|
+
|
|
5
|
+
- 文書版: <例: 1.0>
|
|
6
|
+
- 作成日: <YYYY-MM-DD>
|
|
7
|
+
- 最終更新日: <YYYY-MM-DD>
|
|
8
|
+
- 移行責任者: <氏名・チーム>
|
|
9
|
+
- Go / No-Go判断者: <氏名・会議体>
|
|
10
|
+
- ステータス: Draft / In Review / Approved
|
|
11
|
+
- 本番移行予定: <YYYY-MM-DD HH:mm–HH:mm TZ>
|
|
12
|
+
- 関連要件・設計: <文書名・版・URL>
|
|
13
|
+
|
|
14
|
+
## この移行計画で合意する事項
|
|
15
|
+
|
|
16
|
+
- 移行対象: <データ、利用者、機能、外部接続>
|
|
17
|
+
- 移行方式: <一括、段階、並行稼働など>
|
|
18
|
+
- 許容停止時間と品質基準: <値>
|
|
19
|
+
- 承認を求める事項: <日程、体制、判定、ロールバック>
|
|
20
|
+
|
|
21
|
+
## 現行と移行後の状態
|
|
22
|
+
|
|
23
|
+
| 項目 | 現行 | 移行後 | 主な変更 | 利用者への影響 |
|
|
24
|
+
|---|---|---|---|---|
|
|
25
|
+
| システム | <現行> | <移行先> | <変更> | <影響> |
|
|
26
|
+
| データ | <形式・量> | <形式・量> | <変換> | <影響> |
|
|
27
|
+
| 業務 | <手順> | <手順> | <変更> | <教育・周知> |
|
|
28
|
+
|
|
29
|
+
## 対象範囲と対象外
|
|
30
|
+
|
|
31
|
+
### 対象範囲
|
|
32
|
+
|
|
33
|
+
- <移行するデータ・設定・利用者・接続先>
|
|
34
|
+
|
|
35
|
+
### 対象外
|
|
36
|
+
|
|
37
|
+
- <廃止しないもの・後続フェーズへ送るもの>
|
|
38
|
+
|
|
39
|
+
## 前提条件と制約
|
|
40
|
+
|
|
41
|
+
| ID | 条件・制約 | 確認方法 | 期限 | 所有者 |
|
|
42
|
+
|---|---|---|---|---|
|
|
43
|
+
| MIG-CON-001 | <停止時間・契約・技術制約> | <確認> | <期限> | <担当> |
|
|
44
|
+
|
|
45
|
+
## 移行対象の棚卸し
|
|
46
|
+
|
|
47
|
+
| 対象ID | 対象 | 移行元 | 移行先 | 件数・容量 | 所有者 | 依存関係 | 移行要否 |
|
|
48
|
+
|---|---|---|---|---:|---|---|---|
|
|
49
|
+
| MIG-001 | <データ・設定> | <場所> | <場所> | <値> | <担当> | <依存先> | Yes / No |
|
|
50
|
+
|
|
51
|
+
## データマッピングと変換
|
|
52
|
+
|
|
53
|
+
| 移行元項目 | 移行先項目 | 変換ルール | 必須・既定値 | 検証ルール | エラー時の扱い |
|
|
54
|
+
|---|---|---|---|---|---|
|
|
55
|
+
| <項目> | <項目> | <変換> | <条件> | <型・範囲・参照整合性> | <除外・補正・中止> |
|
|
56
|
+
|
|
57
|
+
## 移行方式と移行単位
|
|
58
|
+
|
|
59
|
+
- 方式: 一括 / 段階 / 並行稼働 / Blue-Green / <その他>
|
|
60
|
+
- 選定理由: <停止時間、整合性、ロールバックとの関係>
|
|
61
|
+
- 差分同期: <CDC、二重書き、再実行など>
|
|
62
|
+
- 冪等性: <再実行しても重複・欠損しない仕組み>
|
|
63
|
+
|
|
64
|
+
| Wave | 対象 | 実施日時 | 完了条件 | 次Waveへの判定 |
|
|
65
|
+
|---|---|---|---|---|
|
|
66
|
+
| 1 | <対象> | <日時> | <条件> | <条件> |
|
|
67
|
+
|
|
68
|
+
## 体制と役割
|
|
69
|
+
|
|
70
|
+
| 役割 | 担当 | 責任 | 当日の連絡方法 | 代行者 |
|
|
71
|
+
|---|---|---|---|---|
|
|
72
|
+
| 移行指揮 | <担当> | Go / No-Go、進行 | <方法> | <担当> |
|
|
73
|
+
| データ移行 | <担当> | 抽出・変換・投入 | <方法> | <担当> |
|
|
74
|
+
| 業務確認 | <担当> | 業務受入 | <方法> | <担当> |
|
|
75
|
+
| 運用・監視 | <担当> | 監視・障害対応 | <方法> | <担当> |
|
|
76
|
+
|
|
77
|
+
## リハーサル計画
|
|
78
|
+
|
|
79
|
+
| 回 | 目的 | 対象・データ量 | 実施日 | 目標時間 | 合格条件 | 改善事項 |
|
|
80
|
+
|---|---|---|---|---:|---|---|
|
|
81
|
+
| 1 | <手順・性能・復旧の検証> | <範囲> | <日付> | <時間> | <条件> | <記録> |
|
|
82
|
+
|
|
83
|
+
## 移行開始条件
|
|
84
|
+
|
|
85
|
+
- <リハーサルが合格している>
|
|
86
|
+
- <対象版が承認され、変更凍結されている>
|
|
87
|
+
- <バックアップとリストア試験が完了している>
|
|
88
|
+
- <監視、連絡網、ロールバック環境が準備されている>
|
|
89
|
+
- <利用者通知と業務側の準備が完了している>
|
|
90
|
+
|
|
91
|
+
## 本番移行タイムライン
|
|
92
|
+
|
|
93
|
+
| 時刻 | 手順ID | 作業 | 実行者 | 想定時間 | 完了条件 | 証跡 |
|
|
94
|
+
|---|---|---|---|---:|---|---|
|
|
95
|
+
| <HH:mm> | STEP-001 | <作業> | <担当> | <分> | <確認可能な条件> | <ログ・画面> |
|
|
96
|
+
|
|
97
|
+
## 検証と照合
|
|
98
|
+
|
|
99
|
+
| 検証ID | 対象 | 検証方法 | 移行前値 | 移行後値 | 許容差 | 判定者 |
|
|
100
|
+
|---|---|---|---:|---:|---:|---|
|
|
101
|
+
| VAL-001 | 件数 | <SQL・レポート> | <値> | <値> | 0 | <担当> |
|
|
102
|
+
| VAL-002 | 金額・集計 | <照合方法> | <値> | <値> | <値> | <担当> |
|
|
103
|
+
| VAL-003 | 参照整合性 | <孤立・重複・外部キー検査> | <値> | <値> | 0 | <担当> |
|
|
104
|
+
| VAL-004 | 業務シナリオ | <操作> | <期待> | <実結果> | なし | <担当> |
|
|
105
|
+
|
|
106
|
+
## Go / No-Go判定
|
|
107
|
+
|
|
108
|
+
| 判定時点 | Go条件 | No-Go条件 | 必要な証跡 | 判断者 |
|
|
109
|
+
|---|---|---|---|---|
|
|
110
|
+
| 移行開始前 | <条件> | <条件> | <チェックリスト> | <担当> |
|
|
111
|
+
| 切替前 | <条件> | <条件> | <移行・照合結果> | <担当> |
|
|
112
|
+
| サービス再開前 | <条件> | <条件> | <業務確認・監視> | <担当> |
|
|
113
|
+
|
|
114
|
+
## ロールバック計画
|
|
115
|
+
|
|
116
|
+
- ロールバック可能期限: <時刻・条件>
|
|
117
|
+
- ロールバック判断条件: <時間超過、欠損、重大障害など>
|
|
118
|
+
- 判断者: <役割>
|
|
119
|
+
- データ整合性方針: <移行後更新の扱い>
|
|
120
|
+
|
|
121
|
+
| 手順 | 作業 | 実行者 | 想定時間 | 完了条件 |
|
|
122
|
+
|---:|---|---|---:|---|
|
|
123
|
+
| 1 | <新環境への書き込みを停止する> | <担当> | <分> | <条件> |
|
|
124
|
+
| 2 | <切替後に新環境へ書き込まれた差分を退避し、再適用・補償対象を確定する> | <担当> | <分> | <差分が固定され証跡がある> |
|
|
125
|
+
| 3 | <旧環境を復旧し、必要な差分を再適用または補償する> | <担当> | <分> | <整合性基準を満たす> |
|
|
126
|
+
| 4 | <データと業務を確認して旧環境を再開する> | <担当> | <分> | <再開条件を満たす> |
|
|
127
|
+
|
|
128
|
+
## 業務継続と利用者コミュニケーション
|
|
129
|
+
|
|
130
|
+
| 対象 | 通知内容 | 通知時期 | 手段 | 担当 |
|
|
131
|
+
|---|---|---|---|---|
|
|
132
|
+
| 利用者 | <停止・変更・再開> | <時期> | <メール・画面> | <担当> |
|
|
133
|
+
| 問い合わせ窓口 | <FAQ・既知問題> | <時期> | <手段> | <担当> |
|
|
134
|
+
| 経営・顧客 | <進捗・障害> | <条件> | <手段> | <担当> |
|
|
135
|
+
|
|
136
|
+
- 停止中の代替業務: <手作業・受付停止など>
|
|
137
|
+
- 再開後の問い合わせ増加対応: <増員・期間>
|
|
138
|
+
|
|
139
|
+
## セキュリティと監査
|
|
140
|
+
|
|
141
|
+
- 移行データの暗号化: <転送時・保存時>
|
|
142
|
+
- 一時ファイル: <保管場所・アクセス・削除期限>
|
|
143
|
+
- 特権アクセス: <申請・有効期限・監査>
|
|
144
|
+
- 個人情報・機密情報: <マスキング・取扱い>
|
|
145
|
+
- 操作証跡: <記録内容・保存期間>
|
|
146
|
+
|
|
147
|
+
## 移行後の安定化
|
|
148
|
+
|
|
149
|
+
| 期間 | 監視強化項目 | 判定基準 | 担当 | 通常運用への移行条件 |
|
|
150
|
+
|---|---|---|---|---|
|
|
151
|
+
| <期間> | <エラー率・照合・問い合わせ> | <閾値> | <担当> | <条件> |
|
|
152
|
+
|
|
153
|
+
- 旧環境の扱い: <参照専用、保持期間、廃止日>
|
|
154
|
+
- 一時データ・権限の削除: <期限・証跡>
|
|
155
|
+
- 未移行・エラーデータの処理: <方法・期限>
|
|
156
|
+
|
|
157
|
+
## リスクと未解決事項
|
|
158
|
+
|
|
159
|
+
| ID | 内容 | 影響 | 発生可能性 | 対策・期限 | 所有者 | ステータス |
|
|
160
|
+
|---|---|---|---|---|---|---|
|
|
161
|
+
| MIG-RSK-001 | <内容> | High / Medium / Low | High / Medium / Low | <対策> | <担当> | Open |
|
|
162
|
+
|
|
163
|
+
## 承認記録
|
|
164
|
+
|
|
165
|
+
| 版 | 承認日 | 承認者 | 判断 | 条件・コメント |
|
|
166
|
+
|---|---|---|---|---|
|
|
167
|
+
| <版> | <YYYY-MM-DD> | <氏名・会議体> | Approved / Rejected / Deferred | <条件> |
|
|
168
|
+
|
|
169
|
+
## 変更履歴
|
|
170
|
+
|
|
171
|
+
| 版 | 日付 | 変更内容 | 変更理由 | 作成者 |
|
|
172
|
+
|---|---|---|---|---|
|
|
173
|
+
| 0.1 | <YYYY-MM-DD> | 初版 | <理由> | <氏名> |
|