Understand the platform. Follow the changes.
Build a repeatable home for your work.
One application. Several contributors. A shared result.
What changed? Who checked it? Which version should go live?
02 / 60Selected file versions, recorded over time.

Shared repositories, review, and collaboration.
Left: illustrative local history. Right: actual AIBL template on GitHub.
03 / 60A subscription invoicing service adds automatic overdue-payment reminders.
04 / 60Requests, plans, conversations
Issues / Projects / DiscussionsFiles and their history
Repositories / historyReview packets and feedback
Pull requests / reviewsAutomated checks and tasks
ActionsPackage and publish work
Releases / Packages / PagesLearn and plan the next change
Issues / ProjectsProtect and govern
Security / access / rules
Develop and connect
Codespaces / Copilot / apps / APIs
A map of capabilities, not a checklist to learn. Availability varies by plan and setup.
05 / 60A VPS is a rented computer. Coolify can manage app deployment onto it.

Coolify documentation example: GitHub connection and repository selector.
A configured connection enables deployment. A push alone does not run an app.
Connect GitHub, choose the repository, configure the app, then deploy.
06 / 60Plan, create, inspect, accept, and improve changing files.
A research brief, a proposal, or a repeatable workflow.
Files, history, review, and selected automation.
Next: watch one client brief move through the cycle.
07 / 60Read the brief and supplied notes. Propose a one-page comparison of interview methods. Do not draft yet.
I will compare three methods, cite the supplied notes, and flag evidence gaps. Does this scope fit?
After agreement, ask the agent to save the plan in the project.
08 / 60Approved. Save the plan, then create the draft using only the supplied notes.
Saved plan.md. Reading the notes and building a comparison table. I will mark unsupported claims.
Draft in progress / recommendation still to review
The conversation directs the work. The project holds the files.
09 / 60context/brief.md plan.md research/source-notes.md methods.json scripts/render_brief.py tests/test_render_brief.py output/client-brief.html
def build(data, destination):
destination.parent.mkdir(
parents=True, exist_ok=True
)
destination.write_text(
render_brief(data)
)Context, inputs, code, tests and output belong to one project.
Editor-style illustration / fictional project / code from the teaching example
10 / 60I will test the brief renderer, then inspect the output.
PASS All three methods appear
PASS Unknown source is rejected
PASS HTML input is escaped
PASS Output file is written
4 tests passedAre the source notes reliable?
Does the recommendation fit this client?
Is the brief clear and useful?
Check the reported result and what the tests actually cover.
Illustrative activity summary / four tests executed on the fictional teaching example
11 / 60The brief is ready for review. I recommend individual interviews, with the evidence limits listed.
Add a short survey as a faster alternative. Keep the budget uncertainty visible. Show me the revised file before sending anything.
Recommendation
Start with individual interviews.
Why
Detailed answers help identify needs we have not anticipated.
Tradeoff
Interviews take more time per participant than a survey.
Evidence limit
Our notes compare methods; they do not establish this client's budget.
Producing a draft, accepting it, and sending it externally are different decisions.
12 / 60
Add the course.
Do a real piece of work.
Choose where the next project belongs.
AIBL Workforce course artwork / Studio launch asset
13 / 60Installer starts your private repo from
my-workbench-template
and opens a local copy.
From that workbench, select
Agent Workforce
when course access is available.
Preview the supplied files.
You approve the addition.
Verify what landed.
Setup creates the home. Enrollment brings course materials into it.
Conceptual flow. The course-provided route must match the installed setup.
14 / 60Different collaborators or access? Separate instructions, history or lifecycle?
Small task under the same rules.
work/client-research/
Independent client or continuing project.
GitHub/client-research/
A folder organizes work. A repository gives the project its own history and access settings.
16 / 60One repo. Shared history. A clearly named folder for the task.
17 / 60Use my-workbench-template
Name it client-research.
Choose the owner and privacy.
Clone the new repository to
~/GitHub/client-research
beside my-workbench.
Open that folder in your app.
Add its brief and permissions.
Verify selected methods.
Fresh project context and history. Future template changes do not sync automatically.
18 / 60General reviewer agent | Writing skill | Configured secrets-check hook
Shared capabilities
+ this repo's course tools
Shared capabilities
+ this repo's research tools
Project tools stay with that project. Shared tools can follow you.
Scope is specific to the app, user and machine. Verify what the session actually loads.
19 / 60GitHub/
my-workbench/ [repo]
context/
course/workforce/
work/
quick-research/ [small task]
brief.md
client-research/ [separate repo]
AGENTS.md
research/
drafts/Small task inside my-workbench
Uses the workbench instructions and shares its history.
Independent project alongside it
Has its own instructions, permissions, and history.
Example local home:
Mac: /Users/Student/GitHub
Windows: C:\Users\Student\GitHub
Open the repository you intend to work in. Confirm the folder with your agent.
Keep active repos outside Dropbox, OneDrive, Google Drive and iCloud Drive. Check whether Desktop or Documents is synced.
20 / 60Your agent and memory.
Your OS repository.
Your separate project work.
Camp artwork from the AIBL Studio design system.
21 / 60Git records selected repo files. It does not capture every running service or memory record.
Example topology. Names, hosts and storage paths depend on the student's existing system.
22 / 60Camp course reference
Lesson or selected method
Keep this copy unpersonalized.
System-wide change?
Your OS/context repo
Project-specific method?
Your project repo
Review the proposed change.
Use the supported setup route.
Test in the intended runtime.
The course is a reference. Your personalized work belongs in your own repos.
23 / 60Its own brief, sources, collaborators, permissions or finish line?
Update your standing context,
system notes or project index
in the existing OS repo.
Use an existing project repo
or start a sibling repo
with fresh context.
Review runtime and memory changes in their own layer, whichever repo holds the notes.
25 / 60Example: revise a standing preference or add the location of a new project.
26 / 60Use my-workbench-template
if it fits this project.
Create client-research.
Clone beside the OS repo.
Keep its own instructions,
history and permissions.
Index its location in the OS.
Name allowed memory sources.
Verify the agent's access.
Carry a useful structure forward. Establish new facts, methods and permissions.
27 / 60General writing preference Reusable agent role Shared skill Configured guard hook
Client-specific instructions Project reviewer role Research method + sources Project build/check hook
A skill is a procedure. An agent is a role. A hook runs on an event.
28 / 60agents/ reviewer.md skills/ writing-review/SKILL.md settings.json hooks/ check-command.sh
Available across this user's
Claude Code projects.
agents/ client-reviewer.md skills/ client-brief/SKILL.md settings.json hooks/ check-output.sh
Loaded with this project.
Can be shared through its repo.
settings.json connects hooks to events. A hooks folder alone does not activate them.
Claude Code example / ~ means your home folder / dot-folders are often hidden / other apps use their own layouts
29 / 60Review course additions and updates
inside my-workbench.
Preserve your context and outputs.
Refresh the course reference.
Review OS and project changes separately.
Update runtime services by their own process.
Preview changes, resolve overlapping edits, then verify the result.
Ignored files, local learning state and memory databases need separate backup handling.
30 / 60my-workbench
Course plus personal work.
Separate projects when boundaries differ.
Existing OS + course reference
A running agent and memory setup.
Student-owned project repos alongside.
Know the source, choose the destination, and review what changes.
31 / 60
Next: understand what your agent is doing with the files.
32 / 60brief-final.docx brief-final-v2.docx brief-revised.docx brief-use-this-one.docx
Which is accepted? What changed?

Google Workspace collaboration illustration.
A shared document brings edits and version history into one place.
33 / 60The files depend on each other.
A revised brief may also change research, instructions, scripts, and outputs.
People and agents may edit different parts.
Which changes belong together? Which version has the team accepted?
We need collaboration and history across the whole project.
One project. Explainable changes. Recovery points.
People and agents can work in parallel.
Changes are recorded as checkpoints.
Separate proposals are reviewed and combined.
Overlapping edits may need a decision.
Record related changes together, then review the proposed result.
35 / 60Both use branches. A worktree adds a separate working folder.
Switch the branch in this same folder
Same folder. A different line of work.
Add a linked folder: a worktree
Two folders open. Shared Git history.
Illustrative folder view. Branch names are annotations, not extra folders.
36 / 60The accepted working line. It can still contain mistakes.
A branch tracks a separate line of work. It does not create another physical folder.
See which files changed and the before-and-after view inside them.
Record selected changes as a snapshot, with a message explaining the work.
The current file is on disk.
Selected changes are in local history.
Recorded checkpoints are sent to the online repository.
Loose edits are not sent just because a push succeeds.
41 / 60# Local settings and secrets .env .env.* !.env.example # Project-specific local material /private-source/ /scratch/ .DS_Store
# Fictional values - no real access RESEARCH_API_KEY=sk_demo_7f92a4c8b6e1 RESEARCH_API_URL=https://api.example.invalid CLIENT_LABEL=Northstar_Research PROJECT_ID=proj_demo_4821 OUTPUT_DIR=./output
NAME=value. Plain text, not encrypted.
Keep .env local and ignored. Share .env.example with empty or placeholder values.
Before recording: Set .gitignore before committing. It excludes matching untracked files; tracked files and earlier history remain. ! allows an exception, such as .env.example.
What to share: Keep permitted instructions, research, decisions, and outputs. Exclude private sources and disposable scratch work. Back up ignored material separately.
Secrets and access: Ignore rules are not encryption or an agent access boundary. Load .env only through configured tools. Enter real keys privately; revoke or rotate exposed credentials.
The recorded changes are online. Now someone can inspect and discuss the proposal.
Red / minus: removedGreen / plus: added Read the surrounding lines before accepting.
45 / 60Accepted work joins the main line. Deployment is a separate configured step.
History can recover recorded work. Ignored files need separate backups.
A branch separates a line of changes. A worktree gives it a separate folder.
48 / 60CLAUDE.md context/ research/ scripts/ tests/ output/
CLAUDE.md context/ research/ scripts/ tests/ output/
CLAUDE.md context/ research/ scripts/ tests/ output/
Each folder has the tracked project files. All three share repository history.
Ordinary full checkouts shown. Ignored files and local settings are not automatically copied.
49 / 60dirty changesChanged but not checkpointed.
untracked filesNew files not yet tracked.
ahead of originLocal commits ahead of the last-known online copy.
pull request openReview packet exists.
merge conflictTwo edits need a decision before work can return.
Unmerged: recorded task work has not joined the accepted line. Committed does not mean accepted.
50 / 60Optimizes for detailed answers.
Optimizes for speed.
Both changed the same sentence. Git cannot choose the business priority.
52 / 60Show the original and both proposed versions.
Explain what each preserves or loses.
Identify the human decision required.
Keep one version, combine intent, or pause for the owner.
Choose the intended outcome. Claude or Codex can make the file changes.
53 / 60Use a short survey for Friday's decision. Follow up with interviews to explore the needs the survey cannot explain.
Read the final wording and before-and-after view.
Rerun affected tests and check for lost intent.
Confirm the resolution is recorded and the intended merge is complete.
A resolved file is not the same as an accepted, merged or published result.
54 / 60Ask: what is complete, what remains, and what evidence shows it?
55 / 60GitHub supports coding agents. Knowledge work also needs shared context, reusable methods, and clear human decisions.
Buzz by Block brings people and agents into a shared collaboration space.
Clear context, deliberate changes, review, and recoverable history.
Example, not a prediction of the winner. Source: github.com/block/buzz
56 / 60Know where the work lives.
Review what changes.
Keep a recoverable history.
Plan / Create / Review / Check / Deliver / Improve
| Plain idea | Task copy: branch | Separate local folder: worktree |
|---|---|---|
| What it gives you | One line of history | A task line with its own working folder |
| Where it happens | A selected working folder | Separate folder |
| Use when | One active task is enough | Parallel agents, teammates, or parked work |
Course clone: read-only reference OS/context repo: your system Project repos: your own work
Template starts my-workbench Program student branch adds course Reviewed merges bring updates
Keep course sources, student ownership and runtime state distinct.
September 21 source snapshot. Earlier package and course-derived routes remain separate.
59 / 60Receive and reconcile updates in the earlier Agent Native OS course setup.
Migrate that course setup and create or verify its private origin.
These are course-supplied agent commands, not universal Git commands.
Confirm the course route. These are not program enrollment or runtime upgrade commands.
60 / 60