β Back to dashboard
designer/technical-writer κ°λλ μΌ: μ¬λ³Ό μ€μ¬ νμΈ μμ + λ¬Έμ κ°±μ μ λ΄μ© μ μ€
Dotclaude β’ Remote/Nationwide
Apply on Company Site β
ν μΈμ
μμ `designer` μ `technical-writer` κ° κ°κ° λ€λ₯Έ λ°©μμΌλ‘ μλͺ»λ λ¬Έμλ₯Ό λ§λ€μλ€. λ μ€ν¨μ μμΈμ΄ λ¬λΌμ ν¨κ» μ λλ€. `#24 (draft) Designer update` μ μΈμ νμ§λ§ κ°μ νλͺ©μ μλλ€.
---
## A. designer β μΈμ©ν μ½λ μ¬λ³Όμ΄ μ€μ¬νλμ§ νμΈνμ§ μλλ€
`designer.md` μ Input μ `Existing codebase context` κ° μμ§λ§, Instructions μ΄λμλ **μΈμ©ν μ¬λ³Όμ΄ μ€μ λ‘ μ‘΄μ¬νλμ§ νμΈνλΌ**λ λ¨κ³κ° μλ€. κ²°κ³Όμ μΌλ‘ γκ·Έ νλ μμν¬μμ νν μ΄λ¦γμ μ§μ΄λΈλ€.
ν λ²μ design μ€νμμ λμ¨ κ²λ€ (Django νλ‘μ νΈ):
| PLAN μ΄ μΈμ©ν κ² | μ€μ |
|---|---|
| `school/enums/` ν¨ν€μ§μ enum μ λλ€ | κ·Έ ν¨ν€μ§κ° μλ€. μ΄ μ±μ enum μ μν°ν° λͺ¨λ μ `TextChoices` λ‘ λλ€ |
| `IsInternalAdmin` κΆν ν΄λμ€ | μ‘΄μ¬νμ§ μλλ€. μ€μ λ‘λ `IsStaff` |
| `api.settings.local_test_docker_replicated` | μ‘΄μ¬νμ§ μλ settings λͺ¨λ |
| `notification/service/InfobankAlimtalkService.py` | μ€μ κ²½λ‘λ `api/common_service/` |
μ λΆ **κ΄λ‘μ κ·Έλ΄λ―ν μ΄λ¦**μ΄λΌλ 곡ν΅μ μ΄ μλ€. `school/enums/` λ Django μμ νν λ μ΄μμμ΄κ³ , `IsInternalAdmin` μ DRF κΆν ν΄λμ€ μλͺ
κ΄λ‘μ λ§λλ€. μ¦ λ¦¬ν¬λ₯Ό μ½κ³ μ΄ κ² μλλΌ **μ¬μ μ§μμΌλ‘ μ±μ λ€.**
μνν 건 μ΄κ² μ‘°μ©ν ν΅κ³Όνλ€λ μ μ΄λ€. `IsInternalAdmin` μ κ·Έλλ‘ κ΅¬ννλ €λ Coder κ° λ체μ¬λ‘ `IsAdmin` μ 골λλ€λ©΄, 그건 μ΄ νλ‘μ νΈμμ **νμ κ΄λ¦¬μ νλκ·Έ**λΌ γλ΄λΆ μ μ©γ μλν¬μΈνΈκ° μΈλΆμ μ΄λ Έμ κ²μ΄λ€. λ¬Έμ 리뷰μμ μ΄λ¦λ§ 보면 λ§μ 보μΈλ€.
### μ μ
`designer.md` Instructions μ κ²μ¦ λ¨κ³λ₯Ό μΆκ°:
```
### N. Codebase Verification (Required)
Before citing any code symbol (file path, class, function, setting module)
in a PLAN, verify it exists in the working tree.
- Do not cite a symbol you have not confirmed.
- If a plan requires a symbol that does not exist yet, mark it explicitly
as NEW rather than citing it as existing.
- Framework conventions are not evidence. Read the repository.
```
`spec-validator` μ κ°μ μΆμ λ£μΌλ©΄ μ¬νμλ μ‘νλ€. μ€μ λ‘ μ΄λ²μ validator ν둬ννΈμ γμΈμ©ν μ¬λ³Όμ μ€μ¬λ₯Ό μ μ νμΈνλΌγλ₯Ό λ£μλλ μ 4κ±΄μ΄ κ·Έ μΆμμλ§ κ±Έλ¬μ‘λ€.
---
## B. technical-writer β κΈ°μ‘΄ λ¬Έμ κ°±μ μ λ΄μ©μ 보쑴νμ§ μλλ€
μ΄λ―Έ μμ±λ PLAN/TEST λ₯Ό **κ°±μ **νλΌκ³ νλλ μμ½ μ¬μμ±μ νλ€.
| νμΌ | μ | ν |
|---|---|---|
| `PHASE_5_PLAN_*.md` | 18,244 B | 4,319 B |
| `PHASE_3_PLAN_*.md` | 13,731 B | 6,563 B |
μ¬λΌμ§ κ² β λμ μ°μΆ λ‘μ§, λ°°μΉ λ°μ‘ μ€κ³, μλν¬μΈνΈ 2κ°, λ§μ΄κ·Έλ μ΄μ
2건.
λ λμ 건 **λΉμΉΈμ μ¬μ μ§μμΌλ‘ λ©μ΄** κ²μ΄λ€. μλ‘ λ€μ΄κ° μμ μ
μ΄ μ λΆ γκ·Έ νλ‘μ νΈμμ λ³΄ν΅ κ·Έλ κ² νλ λ°©μγμ΄μκ³ μ λΆ νλ Έλ€.
- μ€μ λ‘λ A ν΄λΌμ΄μΈνΈλ₯Ό μ§μ νΈμΆνλλ° γB νλ₯Ό ν΅ν΄ νΈμΆγλ‘ μ μ (B λ μ΄ λ¦¬ν¬μ λ€λ₯Έ κ²½λ‘μμ μ°λ νν λ°©μ)
- μ μ€κ³κ° **μλ μ¬μλ μμ**μ λͺ
μμ κ²°μ μΌλ‘ μ μ΄λλλ° γSQS visibility timeout μ΄ μ¬μλλ₯Ό μ²λ¦¬νλ€γλ‘ λ€μ§μ
- μμ² λ¨μλ‘ μ‘μμΌ νλ λ©±λ±ν€λ₯Ό μμ μ λ¨μλ‘ μ μ β κ·Έλλ‘ κ΅¬ννλ©΄ λ°°μΉ λ°μ‘μ΄ λΆκ°λ₯ν΄μ§λ€
`technical-writer.md` μλ `Do NOT write modified code directly` κ°μ κ·μΉμ μμ§λ§ **κΈ°μ‘΄ λ¬Έμλ₯Ό κ³ μΉ λ 무μμ 보쑴ν΄μΌ νλμ§**μ λν κ·μΉμ΄ μλ€.
### μ μ
`technical-writer.md` μ κ°±μ κ·μΉ μΆκ°:
```
### Updating Existing Documents
When the task is to UPDATE an existing document:
- Apply the delta. Do not regenerate the document from scratch.
- Preserve sections the delta does not touch, verbatim.
- If a section must be removed, say why in the report.
- A significant size reduction is a signal you rewrote instead of edited.
Re-read the original and redo the edit.
- Never fill a gap with what the framework "usually" does. If the source
does not say, write "not specified in SPEC".
```
---
## C. μ€μΌμ€νΈλ μ΄μ
μͺ½ κ΄μ°°
λ μ€ν¨μ μ±κ²©μ΄ λ¬λλ€.
- **designer** λ μ
λ ₯μ΄ μμλλ°λ(SPEC 1,169μ€) νλ Έλ€ β μ€μ½ν λ¬Έμ κ° μλλΌ **κ²μ¦ κ·μ¨** λ¬Έμ
- **technical-writer** λ SPEC 99KB + λμ νμΌ 10κ° + λ³κ²½ 14건μ ν λ²μ λ°μλ€ β **κ³ΌλΆν**. νΈμ§μ ν¬κΈ°νκ³ μμ½μΌλ‘ μ νν κ²μ΄ κ·Έ μ§ν
νμλ phase λΉ μμ΄μ νΈ 1κ°λ‘ μͺΌκ°κ³ **νμν SPEC μ λ§** μ£Όλ©΄ μνλλ€. `commands/design.md`Β·`update-docs.md` κ° γλ¬Έμ μ¬λ¬ κ°λ₯Ό ν μμ΄μ νΈμ λ§‘κΈ°μ§ λ§ κ²γμ κΆκ³ νλ©΄ μ’κ² λ€.
---
## λΆμ μ μ β λ¬Έμ λ°±μ
`{working_directory}` κ° λ³΄ν΅ git μ μΈλΌ, μμ΄μ νΈκ° λ¬Έμλ₯Ό λ§κ°λ¨λ Έμ λ **diff λ revert λ μλ€.** μ΄λ²μ μμΈ PLAN μ κ·Έλλ‘ μμλ€.
μμ΄μ νΈμ λ¬Έμ μμ μ λ§‘κΈ°κΈ° μ μ μ€λ
μ·μ λ¨κ±°λ, `{working_directory}` λ₯Ό λ³λ git repo λ‘ κ΄λ¦¬νλ μ΅μ
μ΄ μμΌλ©΄ μ’κ² λ€.
## νκ²½
- dotclaude 0.5.0