Check the session is in the right project folder, then restore that Builder project's context and identity from its files. Use at the start or resume of a session, or when asked where work left off.
Install
npx skillscat add bakibektas/builder-kit/session-start Install via the SkillsCat registry.
session-start
Read the installed Builder protocol. The user's existing task authorization remains valid
during this startup workflow, but only for the folder where it was given.
Run this yourself. When a conversation carries no Builder context yet, do this on the
first message, whether it is "continue", a task or a question. The user does not have to
name this skill, and you do not stop after it: finish the check, report, then carry on
with what they actually asked for. Running it yourself never means shortening it. The
location check at step 2 decides what happens, and it happens before you create anything.
- Retain your codename when resuming; otherwise adopt a two-word codename. Open this
reply and every later one with<Codename> [O], then the user's chosen name: the
codename signs your records, and[O]says you are working as the orchestrator, the
kit's default. The opening goes first in the reply, ahead of any line saying what you
are about to read or check. Drop the[O]if the user's preferences say to work solo. Use neither
if another assistant started you with a bounded task: you are a helper then, and this
skill is not yours to run. - Location check. Do this before reading any other project file.
a. HERE = the absolute path of the nearest folder, at or above the current working
directory, that containsdocs/STATUS.md; if none, the working directory itself.
Take the working directory from the host's current environment information or a
pwd/Get-Locationcommand, never from older messages.
b. THERE = the project folder this conversation's earlier messages belong to, worked
out as in the protocol's step 2.
Relative paths such asfirmware/main.cname no folder: with only those, the
folder is unclear, even if the same files exist in HERE.
If the conversation has no earlier messages, THERE is unknown.
c. Read HERE'sdocs/STATUS.mdonly. RECORD = its## Projectblock
(Project id,Project root).
Ifdocs/STATUS.mdexists without a## Projectblock, adding one is your
first and only action. Your whole first reply is this question; before the
answer, read no other file, write nothing and continue no task:
"<HERE>has Builder records but no project identity, so I can't tell whether
they were made here or copied from another folder.- Add the identity: Project id
<HERE's folder name>-<today>, Project root<HERE>. - Stop and change nothing."
On 1, insert only that block above## Now(or under the title), change nothing
else, and go on to d. On 2, write nothing and stop. Anything else is not an
answer (see e).
d. Compare paths, ignoring letter case on Windows and macOS, slash direction and a
trailing slash. Use the first row that matches:
- THERE is a folder outside HERE: say "This conversation belongs to
<THERE>. You are now in<HERE>. Start fresh here, or switch back to<THERE>?" - RECORD's root is a different folder from HERE: say "This folder's records say the
project lives at<RECORD root>, but you are in<HERE>. Is this the same
project moved, or a copy for separate work?" - Earlier messages exist but their folder is unclear: say "I can't tell which folder
this conversation belongs to (<what you can see>). You are now in<HERE>.
Start fresh here, or tell me which folder this work belongs to?" docs/STATUS.mdis missing, and none of the rows above matched: a fresh
conversation in an empty folder. Go to step 3 and register HERE yourself.- Otherwise the check passes.
e. Number the options in the question (1, 2). After asking, stop and wait.
Until the user answers, write nothing, create no tasks, change nothing, and read
no file outside HERE. Do not continue a task from earlier in the conversation.
An answer must pick one option or name a folder. If the reply is "yes", "ok",
"go on", "continue" or anything else that does not choose, change nothing and ask
the same question again with the options numbered. Never choose for the user.
f. On "start fresh here", say "I will treat what I remember about<THERE>as
background only. I will not act on its tasks, plans or file paths." Announce a new
codename. Then repeat step d with THERE treated as unknown, and use only HERE.
On "switch back", say "Reopen this conversation from<THERE>and run
session-start again," then stop. On "moved", change only theProject rootline
to HERE. On "a copy", register HERE as a new project (step 3) with a
**Copied from:** <old id> at <old root>line, and announce a new codename.
Copied tasks, journal entries and next steps are the original's history, even
where they name your codename: report them as background and claim none of them
until the user chooses one.
- Add the identity: Project id
- Write gate. HERE counts as registered only if it is a registered project as the
protocol defines one.
a. Register it yourself when HERE has nodocs/STATUS.mdand this conversation has
no messages before the one you are answering. The test is mechanical and it is the
only one: any history above this message at all, of any kind, sends you to (b)
instead, however empty the folder looks and whatever was asked. Do not weigh up
whether the history is relevant; the point of the test is that you do not have to.
Create only the missing records from the project template, set Project id to HERE's
folder name plus today's date and Project root to HERE, keep existing files, and say
in one line what you created and how to undo it. If your instruction file names a
projects list, add this project's entry there. Then continue. Do not ask.
In an empty folder never ask for a project description or "what do you want to
build": create the records from what the user said and fill them in as work happens.
b. Ask first in every other unregistered case, because something already claims the
folder: do not create tasks, write any record or edit any file, not even the five
records themselves. "Continue", "go on" and a plain task all ask for remembered
work, so none of them is permission here. Say, before any edit: "I'm about to
<what you will write, with counts>for<project you believe this is, or "this folder">in<HERE>. This folder's records point somewhere else, so I have not
written anything. Set this up as its own project, or stop?" Act on the answer as the
protocol says. Records without a Project block are handled at step 2c,
first, and that question is never skipped. - Read the project instructions: Codex uses project AGENTS.md; Claude uses CLAUDE.md
(which may point to the same AGENTS.md). Read the project's records as the protocol's
record table says. Searchdocs/RESEARCH.mdonly when you research.
Before your first edit or write of any file in a session, readdocs/LESSONS.mdanddocs/DECISIONS.mdin full and say in your reply, after the opening line, which entry applies, or "no recorded lesson applies". - Inspect relevant task ownership and changed files, as "Task and session lifecycle" in
the protocol says. - Report
Project: <id> at <HERE>, codename, loaded sources, last checkpoint, blockers
and next action, and say plainly if you created the records just now. Continue an
already requested task; if the user asked only for orientation, report the
recommendation without inventing new work. - Agree the next step, as "Agree the next step" in the protocol says.
After the assistant shortens its conversation context (compaction), run step 2 again and
then the protocol's steps for a compacted session.