Oleafly Response Letter
Oleafly/Oleafly
Turn reviewer comments and the changes already made into a point-by-point response letter, in LaTeX or Typst and in plain text.
Manage the owner's OWN working repositories (Overleaf LaTeX projects, code repositories) from the vault, on an explicit instruction only: /project link | open | sync | brief | snapshot | status |…
$ npx skills add HurricaHjz/second-yourself --skill project -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HurricaHjz/second-yourself project --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/project .claude/skills/project && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "project" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/project into .claude/skills/project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/projectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HurricaHjz/second-yourself --skill project -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HurricaHjz/second-yourself project --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/project .agents/skills/project && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "project" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/project into .agents/skills/project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HurricaHjz/second-yourself --skill project -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HurricaHjz/second-yourself project --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/project .cursor/skills/project && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "project" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/project into .cursor/skills/project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HurricaHjz/second-yourself.git --path .claude/skills/project--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HurricaHjz/second-yourself --skill project -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HurricaHjz/second-yourself project --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/project .gemini/skills/project && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "project" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/project into .gemini/skills/project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HurricaHjz/second-yourself projectInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HurricaHjz/second-yourself --skill project -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/project .github/skills/project && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "project" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/project into .github/skills/project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HurricaHjz/second-yourself --skill project -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HurricaHjz/second-yourself project --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/project .opencode/skills/project && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "project" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/project into .opencode/skills/project/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
projectManage the owner's OWN working repositories (Overleaf LaTeX projects, code repositories) from the vault, on an explicit instruction only: /project link | open | sync | brief | snapshot | status |…
Project is an agent skill from HurricaHjz/second-yourself. Manage the owner's OWN working repositories (Overleaf LaTeX projects, code repositories) from the vault, on an explicit instruction only: /project link | open | sync | brief | snapshot | status | unlink, or "open my research outline", "commit and push the outline", "link this Overleaf project", "snapshot the paper into the wiki". The clones live OUTSIDE the vault in the project store (the registry page names its folder) or are registered where they already are; the wiki holds only a registry row (wiki/tools/Agent…
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Documents & Office, covering LaTeX and LLM wikis. It works with LaTeX and Git. The repository describes itself as: Second yourself. One agent that remembers you, with many hands to act for you: a multi-agent harness (Claude Code, with Codex helpers), a self-maintaining local wiki as its… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 17c03f2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitkindpython3ghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
git.overleaf.comgithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OVERLEAF_GIT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Project loads about 3.1k tokens when it runs. Until then it costs about 193 tokens; SKILL.md has 1,690 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from HurricaHjz/second-yourself at commit 17c03f2, republished under its MIT licence (© HurricaHjz). 1,690 words, ~3,099 tokens.
.claude/skills/project/SKILL.md (or your agent's skills folder).The permissions below govern this procedure; no procedural step may relax them. The load-bearing rules are:
@-mention, a selection,
IDEAS.md) never triggers a verb. Every verb that clones, removes or writes into the wiki shows a
preview first and waits for the owner's go.projects/<name>/ under the configured store
(LLM_WIKI_STORE, default ~/.llm-wiki/); an existing working copy outside the vault is
registered in place (link --path). A path inside the vault is refused. The sibling store
~/.llm-wiki/repos/ (studied third-party repositories, repo_pack.py clone) is never used here.raw/; no page describes a repository from its live
tree, no page cites a clone path except the registry.cd. Use git -C <absolute path> … or an absolute file path so commands cannot inherit the wrong directory.credentials.env under the configured store (LLM_WIKI_STORE, default ~/.llm-wiki/); the remote
URL is clean (https://git.overleaf.com/<id>, https://github.com/<owner>/<repo>).checkout, restore, clean, reset --hard) covers git -C forms too.git stays the head's
instrument; an armed hands-off head needs a pre-flight grant for any project path.link and brief are logged by the ingest they run (the entry's Changed line names
the registry row and the pointer); open, sync, commits, pushes, status and unlink change no
knowledge and log nothing.wiki/tools/Agent Project Store.mdtype: tool, the sibling of Agent Repo Store. It carries the rule of use (read or written only
under this skill on the owner's instruction; never cited; never read into a compile) and one row per
repository:
| name | kind | remotes (role: url) | local path | purpose | project page | channel | commit policy | last sync (date · sha12) | state |
kind: overleaf (LaTeX on Overleaf) · code · other. channel: overleaf-git (the primary,
https://git.overleaf.com/<project-id>) · github-bridge (the fallback, a clone of Overleaf's
GitHub mirror; each push then needs the owner's "Pull GitHub changes into Overleaf" click) ·
github (a plain code repository) · in-place (registered where it is).commit policy: on the word commit (default) or the owner's standing sentence for that row.state: linked · unlinked (the row stays as the recovery record).wiki/user/ gets a
## Repository section holding two links only, the registry row and the latest snapshot's source page.link <url> [--name n] [--kind overleaf|code] [--overleaf <project-id>] · link --path <dir> [--name n] [--kind …]--name, else the repository's basename (an Overleaf project id alone is not a
name: ask). Refuse a name already on the registry; refuse a --path under the vault root; refuse a
URL whose user part carries a password (user:secret@host).git ls-remote <clean url> with the helper environment; record the
branch list; take the default branch that ls-remote reports. A failure here is reported, never
worked around (a missing Overleaf git integration means the github-bridge channel instead).git clone <clean url> <store>/<name> (full history, the remote's default
branch); --path: no clone, verify git -C <dir> rev-parse --is-inside-work-tree. Then the
credential helper (below) and, for overleaf, a reminder that Overleaf's GitHub-sync feature
should be off for that project once direct git is in use.## Repository section on the research-project page.open <name>git -C <path> fetch --all --prune.git -C <path> status --porcelain | wc -l) so a "clean" claim carries its
number.--ff-only when the tree is clean, else wait for the owner's word; a non-fast-forward is
reported with both sides and a merge proposed, never forced.sync <name> [push]Fetch and pull as in open; report divergence; push only when the instruction says push, then prove
it: git -C <path> ls-remote origin <branch> equals git -C <path> rev-parse HEAD. For an
overleaf repository, compile first where a TeX engine exists (tectonic <main.tex> in a temporary
output directory) and report the result; with no engine, say the build is unchecked.
brief <name>open (a pull first), then snapshot <name> --brief: the file tree (depth 3), the main document's
head (the .tex that holds \documentclass, its first 200 lines), and a README, abstract or outline
skeleton where one exists — at most 8 files and 32 KiB (caps set by judgement, unmeasured). A single-file
document (one main.tex larger than the per-file cap) has no useful head: its brief is the document itself,
packed whole under --allow-large '<why>' with its bibliography, within the 300 KiB safety bound
(set by judgement, unmeasured for a new workload).
snapshot <name> [paths…] [--brief]The only way repository content reaches the wiki.
repo_pack.py refuses a modified tracked file or a
selected untracked one; the owner commits first).python3 .claude/skills/gather/run_ledger.py init --id <project>-<date> --budget 1
python3 .claude/skills/gather/repo_pack.py pack-and-write --repo <absolute path> --paths <p1,p2,…> --slice <sha12> --title "<name> snapshot <date> <sha12>" --rationale "<why these files>" --ledger-id <project>-<date>
The pack lands in the raw/ root; /ingest compiles it at standard depth or above. The ingest's
de-dup pre-flight matches an existing source page for the same work and updates it as the
new version, never a second page; the sort table's authorship rule
sends the pack to raw/9-originals/. Confidence high by default (the owner's own work), stamped
audited:.statusOne table for every row: branch · ahead/behind per remote · porcelain count · sha on disk vs the row's sha · path present and not a symbolic link. Name every row whose path or sha disagrees with disk; propose the fix, apply on the owner's word.
unlink <name>git -C <path> log --branches --not --remotes --oneline), the stash list, untracked files, ahead/behind per remote.unlinked and nothing is removed; the reply
names the folder at the row's recorded path. Deleting a project folder is a separate act, done
only on the owner's explicit ask, which the agent may propose: the agent shows again what the folder
holds (unpushed commits, the stash list, untracked files, and any other working tree that depends on
it, from git worktree list), and on the owner's yes moves the folder to the system trash (the Bin
on macOS), never with rm -rf; a path that is missing or is a symbolic link is reported, not acted
on.Set once per clone, never a token in the URL; the helper reads the key at use time by grep, never by
sourcing the file (a cookie value with a ; would execute):
git -C <path> config --local credential.helper ''
git -C <path> config --local --add credential.helper '!f() { echo username=git; echo "password=$(grep "^OVERLEAF_GIT_TOKEN=" "${LLM_WIKI_STORE:-$HOME/.llm-wiki}/credentials.env" | cut -d= -f2-)"; }; f'The empty first value resets the clone's helper list so a machine-wide helper does not store
a second copy. The authorised credential file remains the single home.
GitHub remotes use the login gh already holds (gh auth setup-git once per machine if a push
prompts). A token that expires or is revoked fails the push with an authentication error: report,
stop, no retry loop; the owner renews it in Overleaf's Account Settings and updates the credential
file's OVERLEAF_GIT_TOKEN line.
https://git.overleaf.com/<project-id>; username git; the token as the password.overleaf row is refused
with the reason.overleaf-git, leaving the sync on is harmless lag until the owner clicks.status reads the registry with a parser over the table rows, never a substring count.| Failure | Handling |
|---|---|
| Authentication error on pull or push | report and stop; the owner renews the token |
| Non-fast-forward (edits on both sides) | report both sides, propose a merge, never force |
Uncommitted changes at open | reported before any pull; the pull waits for the owner's word |
Dirty tree at snapshot | repo_pack.py refuses with the list; commit first |
A branch requested on an overleaf row | refused with the reason |
| Two rows with one name | link refuses without --name |
--path inside the vault | refused |
| A clone missing on a fresh machine | link re-creates a store clone from its row; an in-place copy is reported absent |
| No TeX engine | the compile check is skipped and the reply says the build is unchecked |
| The registry drifts from disk | status names the rows; fixes on the owner's word |
Compact: the verb · the repository (name, branch, sha12) · what changed (files, commit, push proof) · what was written into the wiki (row, source page) · every control with its number. UK English.
© HurricaHjz, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/project of HurricaHjz/second-yourself.
Open the folder on GitHubat commit 17c03f2
Project next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Project this skillHurricaHjz/second-yourself | 123 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Oleafly Response LetterOleafly/Oleafly | 212 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Write Paperfrenzymath/Danus | 476 | — | ~18k | Automated safety check: Pass | Apache-2.0 | |
| Review Overleaffcakyon/claude-codex-settings | 1.2k | — | ~940 | Automated safety check: Pass | Apache-2.0 | |
| Latex Diffflonat/flonat-research | 146 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Overleaf CLI Guidewentorai/research-plugins | 298 | 1 repos | ~1.9k | Automated safety check: Pass | MIT |
Oleafly/Oleafly
Turn reviewer comments and the changes already made into a point-by-point response letter, in LaTeX or Typst and in plain text.
frenzymath/Danus
Turn a project's verified fact graph into a publishable LaTeX paper in a configurable house style — a standalone amsart .tex with a real bibliography, compiled to PDF.
fcakyon/claude-codex-settings
This skill should be used when user asks to "fetch overleaf review comments", "address overleaf reviews", "apply overleaf comments", "review my overleaf paper", "sync overleaf feedback to local"…
flonat/flonat-research
Compare two LaTeX files, project directories, or Git revisions and produce human-readable plus machine-readable severity-graded semantic changes.
wentorai/research-plugins
Sync and manage Overleaf LaTeX projects from the command line
alfonso0512/research-writing-skill
科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.
HurricaHjz/second-yourself
OPTIONAL, DORMANT semantic-search layer over the wiki, powered by qmd (local hybrid BM25 + vector + rerank).
HurricaHjz/second-yourself
Answer questions against the local Obsidian wiki — not from model memory.
HurricaHjz/second-yourself
Sync THIS LLM-Wiki framework with its public GitHub repo, ONE direction per run: --push (vault → repo) publishes your framework; --pull (repo → vault) updates your framework from a newer repo version.
HurricaHjz/second-yourself
Health-check the Obsidian wiki — the "static analysis" pass for a knowledge base.
HurricaHjz/second-yourself
The compile lane's half of the ingest skill: choose a source's depth after reading it, write the source page from the depth's template, assign confidence, network the knowledge, and propose the…
HurricaHjz/second-yourself
The read-only half of the lint skill for a headless lane: index consistency, link and orphan health, the pending-flag count, the attic, qmd-registry, injection, customisation-pairing and…
Categories
Manage the owner's OWN working repositories (Overleaf LaTeX projects, code repositories) from the vault, on an explicit instruction only: /project link | open | sync | brief | snapshot | status |…. Project is an agent skill from HurricaHjz/second-yourself. Manage the owner's OWN working repositories (Overleaf LaTeX projects, code repositories) from the vault, on an explicit instruction only: /project link | open | sync | brief | snapshot | status | unlink, or "open my research outline", "commit and push the outline", "link this Overleaf project", "snapshot the paper into the wiki".
Project fits situations like: tasks that involve LaTeX; tasks that involve LLM wikis.
Run `npx skills add HurricaHjz/second-yourself --skill project -a claude-code`. Or copy the skill folder (.claude/skills/project in HurricaHjz/second-yourself) into .claude/skills/project in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HurricaHjz/second-yourself --skill project -a codex`. Or copy the skill folder (.claude/skills/project in HurricaHjz/second-yourself) into .agents/skills/project in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HurricaHjz/second-yourself --skill project -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project, .gemini/skills/project, .github/skills/project and .opencode/skills/project in your project.
Going by SKILL.md and its folder, Project needs the command-line tools its instructions call (git, kind, python3 and gh) and credentials named OVERLEAF_GIT_TOKEN. Our summary lists: Python 3; A credential in OVERLEAF_GIT_TOKEN.
SKILL.md names 2 domains. In commands or code: git.overleaf.com and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Project is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Project: Oleafly Response Letter (Oleafly/Oleafly, 212 stars), Write Paper (frenzymath/Danus, 476 stars), Review Overleaf (fcakyon/claude-codex-settings, 1.2k stars) and Latex Diff (flonat/flonat-research, 146 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HurricaHjz (a GitHub user) maintains it in HurricaHjz/second-yourself, which has 123 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 1, 2026.
Source: HurricaHjz/second-yourself on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.