Skip to content

Commit 3e5f005

Browse files
committed
office/learn/workspace: fast-path prompt + /settings/tokens link fix
Add a 'Fast path — one prompt' section at the top that scaffolds the minimum workspace and walks through PAT minting in a single Claude Code prompt. The minimum is now marked in §3 ([min]) so the prompt and the layout it points at agree. Fix two stale links: /settings → /settings/tokens (the actual mint surface) in §2 and §11.
1 parent e68cf43 commit 3e5f005

1 file changed

Lines changed: 27 additions & 10 deletions

File tree

web/editorial/tutorials/workspace.md

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,28 @@ A field guide for setting up a local folder that lets us write claudepot posts w
44

55
Sister doc to [/office/learn/formats](/office/learn/formats) (which species of contribution live on claudepot) and [/office/learn/principles](/office/learn/principles) (how to use AI in any of these without producing slop). Sub-doc to [/office/voice](/office/voice).
66

7-
**Version:** 0.1.0
7+
**Version:** 0.2.0
88
**Updated:** 2026-05-13
99

1010
---
1111

12+
## Fast path — one prompt
13+
14+
If you want the rough version, make an empty folder, open Claude Code in it, and paste the prompt below. It scaffolds the minimum workspace and walks you through minting a PAT in one pass. The long-form sections that follow explain what each piece does and when to promote it.
15+
16+
```bash
17+
mkdir claudepot-workspace && cd claudepot-workspace
18+
claude
19+
```
20+
21+
Then, at the Claude Code prompt:
22+
23+
> Read https://claudepot.com/office/learn/workspace, scaffold the current folder per §3 (minimum: `.env.example`, `.gitignore`, `CLAUDE.md`, `posts/`, `notes/`), then walk me through minting a `CLAUDEPOT_PAT` at `/settings/tokens` — name the scopes I should check (`read:all`, `submission:write`, `comment:write`), wait while I paste it back, and write it to `.env`. Pause for confirmation before each file write.
24+
25+
The prompt names the scopes by their exact slug so Claude can point at the right checkboxes without re-reading § 2, and it pins § 3 as the layout reference so the scaffold matches what the rest of this page assumes. `.claude/rules/`, `.claude/skills/`, `.claude/commands/` are deliberately not in the minimum — they're promoted into existence as in-session patterns repeat (see § 9's graduation rule), not scaffolded blank.
26+
27+
---
28+
1229
## 1. Why a workspace
1330

1431
Three things benefit from living in one folder. Credentials need somewhere safe that we never paste into a chat. Claude Code reads `CLAUDE.md`, `.claude/rules/`, and `.claude/skills/` relative to the working directory, so a dedicated folder is the only way to make project-scoped instructions hold. Voice priming wants past posts close at hand, and a folder keeps them close. The setup is small: one `.env`, one `CLAUDE.md`, a few skills as needed. Once it exists, future sessions are a single `cd`.
@@ -24,7 +41,7 @@ Two credentials gate the writing loop.
2441
| `ANTHROPIC_API_KEY` | Direct API access for Claude calls outside Claude Code | `.env`, never committed |
2542
| `CLAUDEPOT_PAT` | Posting + reading our submissions via the claudepot API | `.env`, never committed |
2643

27-
`ANTHROPIC_API_KEY` is optional if we use Claude Code's subscription auth — `claude login` once, no key needed. The API key matters when scripts outside Claude Code (the voice-priming fetch, batch jobs) need direct access. `CLAUDEPOT_PAT` is created at [claudepot.com/settings](/settings) with scopes scoped to what we actually use — typically `read:all` for fetching past posts plus `submission:write` and `comment:write` if scripts also post.
44+
`ANTHROPIC_API_KEY` is optional if we use Claude Code's subscription auth — `claude login` once, no key needed. The API key matters when scripts outside Claude Code (the voice-priming fetch, batch jobs) need direct access. `CLAUDEPOT_PAT` is created at [claudepot.com/settings/tokens](/settings/tokens) with scopes scoped to what we actually use — typically `read:all` for fetching past posts plus `submission:write` and `comment:write` if scripts also post.
2845

2946
The `.env`:
3047

@@ -47,14 +64,14 @@ The anti-pattern: keys in `CLAUDE.md`. `CLAUDE.md` is loaded into model context
4764

4865
## 3. The folder layout
4966

50-
A workspace is a flat folder with one config tree and one or two content trees.
67+
A workspace is a flat folder with one config tree and one or two content trees. The tree below is the *full* shape — the minimum-viable bootstrap is just the four files and two content dirs marked with `[min]`. Everything else is added when an in-session pattern repeats often enough to earn its file (see § 9's graduation rule).
5168

5269
```
5370
claudepot-workspace/
54-
.env # credentials, gitignored
55-
.env.example # the shape, committed
56-
.gitignore
57-
CLAUDE.md # project instructions, always-loaded
71+
.env # [min] credentials, gitignored
72+
.env.example # [min] the shape, committed
73+
.gitignore # [min]
74+
CLAUDE.md # [min] project instructions, always-loaded
5875
.claude/
5976
rules/
6077
mermaid.md # path-scoped rules
@@ -64,8 +81,8 @@ claudepot-workspace/
6481
SKILL.md # reusable workflows
6582
commands/
6683
slop-flag.md # one-shot transformations
67-
posts/ # drafts in progress
68-
notes/ # working scratch, not for publish
84+
posts/ # [min] drafts in progress
85+
notes/ # [min] working scratch, not for publish
6986
```
7087

7188
`posts/` and `notes/` are the only content directories that survive across sessions. Everything else is configuration that Claude Code reads.
@@ -322,7 +339,7 @@ The workspace is invisible most of the time. We notice it when something it caug
322339

323340
A workspace drifts. Three habits keep it useful.
324341

325-
- **Rotate `CLAUDEPOT_PAT` on a 90-day cadence**, or sooner if it leaks (committed to a public repo, pasted into a chat, screenshot-shared). Revoke at [claudepot.com/settings](/settings), create a fresh one, update `.env`.
342+
- **Rotate `CLAUDEPOT_PAT` on a 90-day cadence**, or sooner if it leaks (committed to a public repo, pasted into a chat, screenshot-shared). Revoke at [claudepot.com/settings/tokens](/settings/tokens), create a fresh one, update `.env`.
326343
- **Review `CLAUDE.md` monthly**. Voice drifts in both directions — ours and the model's. If `CLAUDE.md` cites a section in [/office/voice](/office/voice) that no longer reads the same way, reconcile.
327344
- **Split when a skill grows past 50 lines**. A long skill is two skills sharing a folder, or a skill that should have split into a skill plus a rule. Split early; merging back is cheaper than reading a 200-line `SKILL.md` every time.
328345
- **Two files saying the same thing means one is stale**. Reconcile or delete; never let both live.

0 commit comments

Comments
 (0)