7 KiB
| name | description |
|---|---|
| team-sync-hackathon | Use this skill for any work inside this repository when the task involves collaborative development, continuing previous work, restoring project context, updating shared progress logs, handing off work to another Codex or human, or bootstrapping the local dev stack. Do not use for unrelated one-off questions outside the repo. |
Team Sync Hackathon Skill
This skill makes Codex behave like a persistent teammate inside the repository.
Its purpose is to:
- restore context at the start of every session
- keep a shared machine-readable and human-readable progress trail
- reduce repeated analysis
- make handoff between humans and Codex reliable
- automatically orient to the current repo state before coding
- keep the project runnable locally whenever validation is needed
Core rule
Do not start changing code blindly.
First restore context, then inspect git state, then inspect runtime state, then work, then write handoff.
If context is missing, create it.
Shared state directory
Use .ai_update/ as the canonical shared state area.
Required files:
.ai_update/current_status.md.ai_update/handoff.md.ai_update/changelog.md.ai_update/touched_files.md.ai_update/sessions/(directory with per-session notes)
These files are part of the collaboration workflow and should be committed unless the team explicitly decides otherwise.
Mandatory startup workflow
At the beginning of each repo task, do this in order:
-
Read:
AGENTS.mdREADME.md- relevant docs/config files
.ai_update/current_status.md.ai_update/handoff.md- latest 3 to 5 files from
.ai_update/sessions/ .ai_update/changelog.md.ai_update/touched_files.md
-
Inspect repository state:
git status --short --branchgit log --oneline --decorate -n 15- inspect main app entrypoints and service layout
- identify current branch
- identify uncommitted work
- identify likely active area of development
-
If
.ai_update/files are missing:- create them immediately
- infer current project state from repository files and git history
- write a minimal baseline before making new code changes
-
Create a new session note:
.ai_update/sessions/YYYY-MM-DD_HH-MM-SS.md- include:
- task requested
- starting branch
- starting commit
- initial repo observations
- assumptions
- risks/blockers
-
Only after that begin implementation.
Runtime bootstrapping workflow
When local validation is required, use the least destructive startup path.
Try in this order:
- If
./bin/codex-startexists, use it. - Else if
docker-compose.ymlexists:- check whether services are already up
- if not, run
docker compose up -d --build
- Else if
compose.yamlorcompose.ymlexists:- run
docker compose up -d --build
- run
- Else if
Makefileexists and has a relevant target:- try
make dev - otherwise
make up - otherwise
make run
- try
- Else inspect project docs for the correct startup command.
Rules:
- do not run destructive cleanup automatically
- do not remove volumes automatically
- do not rebuild everything if a simple start is enough
- if startup fails, record the failure and exact reason in
.ai_update/current_status.mdand the current session note
Required logging during work
For each meaningful step, keep .ai_update/ current.
Update .ai_update/current_status.md
This file is the canonical current snapshot.
It must always contain:
- current goal
- done
- in progress
- blocked
- next actions
- current branch
- validation status
- known risks
Append to .ai_update/changelog.md
Append a short entry for every meaningful change:
- timestamp
- what changed
- why
- files
- verification result
Update .ai_update/touched_files.md
Maintain a concise list:
- file path
- purpose
- why touched
- whether complete/incomplete
- whether needs review
Write session notes
Each session file should capture:
- objective
- context read
- commands run
- findings
- code changes
- test results
- unresolved issues
- handoff notes
Mandatory handoff before stopping
Before ending the session:
- Update
.ai_update/current_status.md - Update
.ai_update/handoff.md - Append
.ai_update/changelog.md - Update
.ai_update/touched_files.md - Finalize current session note
handoff.md must answer:
- what was completed
- what was not completed
- what the next Codex/human should do first
- what files matter most
- how to run/verify
- what is risky or fragile
- whether there are uncommitted changes
Another engineer should be able to continue without rereading the full repo history.
Repository-specific guidance for this hackathon
Assume this repository follows a hackathon task with:
- an indexing service
- a search service
- vector storage in Qdrant
- fixed API contracts for
/index,/sparse_embedding, and/search - local docker-based development
- quality measured by retrieval relevance rather than just code style
When working on search/index logic:
- preserve public request/response contracts
- do not introduce runtime internet dependency inside index/search containers
- prefer retrieval quality improvements over cosmetic refactors
- avoid breaking dockerized local startup
- keep local validation straightforward
For search logic, prefer this query priority:
question.search_text- fallback to
question.text - enrich with
question.variants - consider
question.hyde - consider
question.keywords - consider
question.entities - consider
question.date_mentionsandquestion.date_range - keep rerank/retrieval consistent with top-50 relevance goals
For indexing logic:
- keep chunking explainable
- preserve
message_idscoverage clarity - think explicitly about
page_content,dense_content, andsparse_content - log chunking and retrieval decisions if they affect quality significantly
Collaboration rules
- Never assume previous work is obsolete without evidence.
- Read before rewriting.
- Prefer extending existing modules over creating parallel implementations.
- Preserve teammate intent when possible.
- If you must replace an approach, document why in
.ai_update/changelog.mdandhandoff.md.
Git rules
- Do not commit unrelated changes.
- Do not revert teammate changes without explicit reason.
- Do not force push unless explicitly instructed.
- Before commit, summarize exactly what changed in
.ai_update/. - Commit messages should be specific and scoped.
Preferred commit style:
search: use search_text with fallback to textindex: enrich sparse content with metadatainfra: add codex shared handoff workflow
Minimal file templates
If files are missing, initialize them with these templates.
.ai_update/current_status.md
# Current Status
## Current goal
-
## Done
-
## In progress
-
## Blocked
-
## Next actions
-
## Current branch
-
## Validation
- Not run / Passed / Failed
## Risks / notes
-