create-project
Creates a new lab work (one GitLab repository in its theme, cloned into ~/brainlab at the same path), or repairs an existing work's setup, after checking that…
Skill by Vepricov
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vepricov-create-project
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/create-project
What's inside
- Skill name
create-project- Description
- Creates a new lab work (one GitLab repository in its theme, cloned into ~/brainlab at the same path), or repairs an existing work's setup, after checking that no such work already exists. Use when the user says 'create a project', 'new project', 'заведи проект', 'заведи работу', 'set up a repo for a paper', or a work is missing its README, people lines, local folders or clone settings.
- License
- MIT
- Instructions
- 164 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Files (1)
- SKILL.md
SKILL.md (first lines)
# Заведение работы
Лаборатория это GitLab как «GitHub для идей»: группы `brainlab` → направление → тема → работа,
одна работа это один репозиторий. Локально всё дерево лежит в `~/brainlab` ровно по путям
GitLab: работа `brainlab/<направление>/<тема>/<работа>` живёт в
`~/brainlab/<направление>/<тема>/<работа>`. Путь и есть привязка, файлов сопоставления нет.
`main` в работе защищён (push: никто, слияние: Maintainers). Единственное исключение это
**первый push в пустой проект**: поэтому README и каркас уходят именно им, а всё после — через
предложение (merge request).
Перед записью в базу прочитать свод `~/.claude/skills/lab-knowledge/references/canon.md`.
Иконки и цвета папок — по разделу «Иконки и цвета» в
`~/brainlab/personal/Knowledge/obsidian-conventions.md`.
## 0. Убедиться, что такой работы нет
**Никогда не заводить работу, не убедившись, что её нет.** Проверять по СМЫСЛУ, а не по имени:
та же работа лежит под слагом `tsd-lora`, под названием «Низкоранговая адаптация с TSD» или под
фамилией студента, и совпадения строк не будет. Одну работу в двух местах потом не склеить.
Четыре места, все обязательны:
1. **Дерево** — `ls ~/brainlab/<направление>/<тема>/` и соседние темы; `rg -i` по названию
метода и фамилиям в `~/brainlab/*/*/*/README.md`. Папка без README тоже существующая работа.
2. **GitLab** (только GET, ключ в `~/.config/brainlab/git-token`, адрес в
`~/.config/brainlab/git-url`):
```bash
U=$(cat ~/.config/brainlab/git-url); H="PRIVATE-TOKEN: $(cat ~/.config/brainlab/git-token)"
curl -s -H "$H" "$U/api/v4/groups/brainlab%2F<направление>%2F<тема>/projects?simple=true&per_page=100"
curl -s -H "$H" "$U/api/v4/projects?search=<слово>&simple=true&per_page=100"
```
В дереве видно только то, что уже склонировано; работа без доступа у тебя не видна вовсе.
3. **Задачи** — `GET $U/api/v4/groups/brainlab%2F<направление>/issues?search=<слово>&state=opened`:
работа часто начинается задачей раньше, чем репозиторием.
4. **Заметки владельца** — `notes/` соседних работ: идея могла жить там до работы.
Нашлось похожее — **остановиться и показать владельцу**: что, где, чем похоже и чем отличается.
Решает он. Не нашлось — сказать одной строкой, назвав, где искал.
## 1. Собрать описание и показать предпросмотр
Сначала взять то, что уже известно, спрашивать только недостающее:
- направление и тема (существующие: `ls ~/brainlab/<направление>/`); не подходит ни одна —
раздел 4;
- слаг работы (латиница, kebab-case) и название;
- код работы: три буквы, не занятые никем:
`grep -h '^code:' ~/brainlab/*/*/*/README.md; ls ~/brainlab/*/*/*/claims/ | cut -d- -f2 | sort -u`;
- один абзац о том, что это за работа;
- **кто ведёт работу — спросить владельца, не угадывать по тому, кто попросил** (ведущих может
быть двое, предложения назначаются первому), и кто в команде; логины GitLab;
- репозитории кода и рукописи, если есть.
Показать один предпросмотр: путь в GitLab и в дереве, код, README целиком, ведущие и команда.
Создавать только после согласия.
## 2. Создать работу
1. **Пустой проект в GitLab.** Это единственная запись через API в этом навыке:
```bash
G=$(curl -s -H "$H" "$U/api/v4/groups/brainlab%2F<направление>%2F<тема>" | python3 -c 'import json,sys;print(json.load(sys.stdin)["id"])')
curl -s -X POST -H "$H" "$U/api/v4/projects" \
--data-urlencode "name=<слаг>" --data-urlencode "path=<слаг>" \
--data "namespace_id=$G&visibility=internal&initialize_with_readme=false"
```
Без README: проект с README уже имеет защищённый `main`, и шапка войдёт только предложением.
Доступ ведущим и лаборатории даётся группой, поштучно ничего не выдаётся.
2. **Клон на место:** `lab here <слаг>`. Он кладёт работу в `~/brainlab/<направление>/<тема>/<слаг>`,
пишет `.git/info/exclude` (`notes/`, `daily/`, `/runs/`, `paper/drafts/`, `code/local/`,
`calls/raw/`, `.claude/`, `.DS_Store`), `push.default current` и
`push.pushOption merge_request.create`. Ведущего он пока не знает: README ещё нет.
3. **Личные папки:** `cd` в работу, `mkdir notes daily runs`. Они только на машине и не
коммитятся никогда.
4. **README и каркас.** `git checkout -B main` (пустой клон может стоять на `master`). README по
образцу `~/brainlab/matrix-optimization/preconditioning-curvature/dykaf/README.md`:
```markdown
---
code: <КОД>
work: <слаг>
status: active
kind: paper
updated: <YYYY-MM-DD>
---
# <Название>
**Состояние** заведена <DD-MM-YYYY> · **тема** <тема>
**Ссылки** [статья](https://www.overleaf.com/project/<id>) · [код](https://github.com/<org>/<repo>)
<Один абзац: что за работа.>
```
В шапке только это: название, состояние, люди (их пишет скрипт ниже) и одна строка
«Ссылки». Никаких абзацев про то, где лежит код, как тянется рукопись и сколько прогонов
с источником: владелец 27-10-2026 назвал такую шапку мусором. Никаких локальных путей и
личных заметок: README читает вся лаборатория. Код и рукопись
подключаются вложенными
репозиториями `git submodule add -b <ветка> <url> code/<имя>` и `paper/<имя>`. Ветку
рукописи смотреть `git ls-remote <url>`: у Overleaf бывает и `master`, и `main`, и чужая
ветка роняет `submodule add`. Каркас — `.gitlab/` с шаблонами задачи и
предложения, одинаковыми во всех работах:
`git -C ~/brainlab/matrix-optimization/preconditioning-curvature/dykaf archive HEAD .gitlab | tar -x`.
Позже рядом появятся `socials/` (посты) и `calls/` (разборы звонков, сырьё в `calls/raw/`).
5. **Ведут и Команда** пишет скрипт, руками эти строки не набирать:
```bash
python3 ~/brainlab/agents/services/scripts/sostav_readme.py --работа <слаг> \
--ведут <логин>[,<логин>] [--команда <логин>,<логин>]
```
Кого нет ни в одном README дерева, назвать парой `логин:Имя Фамилия`. Человек без учётки в
GitLab — `:Имя Фамилия`: он пишется текстом, без ссылки.
6. **Первый push** — прямо в пустой `main`, без опции предложения:
```bash
git add README.md .gitlab # вложенные репозитории submodule add уже добавил
git status --short # notes/ daily/ runs/ здесь быть не должно
git commit -m "Работа заведена: шапка README"
git -c push.pushOption= push -u origin main
```
7. **`lab here <слаг>` ещё раз.** Теперь README на `main`, и клон получает
`merge_request.assign=<первый из «Ведут»>`. Дальше всё — веткой и `git push`, предложениеFrom Vepricov/claude-brainlab, MIT.
More from Vepricov/claude-brainlab
- 0.657score
obsidian-project-memory
Vepricov
Maintains canonical project context and durable research decisions in the mapped Obsidian knowledge base.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
obsidian-markdown
Vepricov
Writes and edits Obsidian Flavored Markdown with valid wikilinks, embeds, properties, callouts, comments, and tables.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
obsidian-project-bootstrap
Vepricov
Creates or repairs the Obsidian knowledge base and folder mappings for an existing research repository.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
kaggle-learner
Vepricov
Extracts reusable ML techniques, code patterns, and feature engineering ideas from Kaggle competition winning solutions and maps where they apply.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
obsidian-bases
Vepricov
Creates and edits Obsidian Bases (.base) files with filters, formulas, views, and summaries in valid YAML.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
obsidian-literature-workflow
Vepricov
Develops project-linked reading notes and literature synthesis from papers stored in the Obsidian knowledge base or Zotero.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
bug-detective
Vepricov
Investigates software failures, exceptions, and errors by tracing execution, reproducing the problem, and testing the suspected cause.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
git-workflow
Vepricov
Prepares commits, branches and pull requests following the repository's existing Git conventions, including Conventional Commits messages and merge strategy.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
diagnose
Vepricov
Diagnoses hard bugs and performance regressions by building a reproducible feedback loop and testing competing causal hypotheses.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
json-canvas
Vepricov
Creates and edits Obsidian Canvas (.canvas) files with nodes, edges, groups, and layout following JSON Canvas Spec 1.0.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
doc-coauthoring
Vepricov
Co-authors a technical document, proposal, or specification through context gathering, targeted drafting, and reader-testing review.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
operon-obsidian-setup
Vepricov
Installs or repairs the laboratory's Operon task boards and project views in an Obsidian vault.
SkillAFreshness: A★ 33Claude Code +9
Signals
- Stars
- 33
- Forks
- 5
- Open issues
- 1
- Last commit (this folder)
- Oct 18, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Vepricov/claude-brainlab
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Vepricov
- 0.657score
bug-detective
Vepricov
Investigates software failures, exceptions, and errors by tracing execution, reproducing the problem, and testing the suspected cause.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
json-canvas
Vepricov
Creates and edits Obsidian Canvas (.canvas) files with nodes, edges, groups, and layout following JSON Canvas Spec 1.0.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
diagnose
Vepricov
Diagnoses hard bugs and performance regressions by building a reproducible feedback loop and testing competing causal hypotheses.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
doc-coauthoring
Vepricov
Co-authors a technical document, proposal, or specification through context gathering, targeted drafting, and reader-testing review.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
git-workflow
Vepricov
Prepares commits, branches and pull requests following the repository's existing Git conventions, including Conventional Commits messages and merge strategy.
SkillAFreshness: A★ 33Claude Code +9 - 0.657score
kaggle-learner
Vepricov
Extracts reusable ML techniques, code patterns, and feature engineering ideas from Kaggle competition winning solutions and maps where they apply.
SkillAFreshness: A★ 33Claude Code +9
Cite this page
create-project skill. Agent Mart. https://agentmart.dev/skills/vepricov-create-project (last updated 2026-10-24)