ソース情報
- リポジトリ
- BEKO2210/Firstbrain
- ソースの最終更新活動
- 2026年5月17日 12:40
- 検出された SKILL.md の言語
- 英語
- スター
- 15
- フォーク
- 2
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/BEKO2210/Firstbrain --skill dailyコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.
Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.
Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.
SOC 職業分類に基づく
SKILL.md を表示中
| name | daily |
| trigger | /daily |
| description | Create today's daily note with template and roll over open items from previous days |
| version | 3.0.0 |
| type | skill |
| tags | ["skill","agent","inbox","daily","workflow"] |
Creates today's daily note from the Daily Note template, fills date variables (yesterday, today, tomorrow navigation links), and automatically rolls over any unchecked checkboxes from the past 7 days with provenance links showing which day each task originated from.
If today's daily note already exists, opens it and merges any new rolled-over items non-destructively (no duplicates, no content loss).
/daily # Create today's daily note
/daily 2026-03-07 # Create daily note for a specific date
When invoked without a date, uses today's date. When invoked with a date, creates/opens the daily note for that specific date.
Claude follows these steps when /daily is invoked:
Ensure fresh indexes: Call ensureFreshIndexes('.') to refresh vault indexes if stale.
Determine target date: Use today's date (or the specified date argument). Format as YYYY-MM-DD.
Check if daily note exists: Call dailyNoteExists('.', targetDate).
If new daily note:
a. Read the Daily Note template from 05 - Templates/Daily Note.md.
b. Compute date variables via getDateVars(targetDate) -- produces { date, yesterday, tomorrow, time }. The title variable is set to the date string.
c. Substitute all template variables via substituteVariables(content, vars):
{{date}} -> 2026-03-07{{yesterday}} -> 2026-03-06 (creates navigation link [[2026-03-06]]){{tomorrow}} -> 2026-03-08 (creates navigation link [[2026-03-08]]){{time}} -> current time HH:mm
d. Extract open items from previous 7 days via extractOpenItems('.', targetDate).
e. Format rollover section via formatRolloverSection(items).
f. Insert rollover section into the note content before ## Connections (if present), otherwise append at the end.
g. Write to 00 - Inbox/Daily Notes/{targetDate}.md.If daily note already exists:
a. Read the existing daily note content.
b. Extract open items from previous 7 days via extractOpenItems('.', targetDate).
c. Call mergeRolloverItems(existingContent, newItems) for non-destructive merge:
Re-scan: Call scan('.') to update indexes with the new/modified daily note.
Report to user:
The rollover system automatically carries forward uncompleted tasks from recent daily notes:
What gets rolled over:
- [ ] task text (unchecked checkboxes)What is NOT rolled over:
- [x] completed task -- these are done(from [[ -- prevents infinite rollover chainsProvenance links: Each rolled-over item includes a wiki-link to its source date:
- [ ] Buy milk (from [[2026-03-06]])
- [ ] Review PR #42 (from [[2026-03-04]])
Duplicate detection (idempotent /daily):
Running /daily twice on the same day does NOT duplicate rolled-over items. The mergeRolloverItems function compares task text (stripping the (from [[...]]) suffix) and only adds genuinely new items.
Example rollover section:
## Rolled Over
- [ ] Buy milk (from [[2026-03-06]])
- [ ] Review PR #42 (from [[2026-03-04]])
- [ ] Call dentist (from [[2026-03-03]])
const { ensureFreshIndexes } = require('./.agents/skills/create/create-utils.cjs');
const { getDateVars, substituteVariables, extractOpenItems,
formatRolloverSection, dailyNoteExists, mergeRolloverItems } = require('./.agents/skills/daily/daily-utils.cjs');
const { scan } = require('./.agents/skills/scan/scanner.cjs');
const fs = require('fs');
const path = require('path');
// 1. Ensure indexes are fresh
ensureFreshIndexes('.');
// 2. Determine target date
const targetDate = '2026-03-07'; // or from argument
// 3. Check existence
const exists = dailyNoteExists('.', targetDate);
if (!exists) {
// 4. New daily note
const template = fs.readFileSync('05 - Templates/Daily Note.md', 'utf8');
const vars = getDateVars(targetDate);
vars.title = targetDate;
let content = substituteVariables(template, vars);
// Extract and insert rollover items
const items = extractOpenItems('.', targetDate);
const rolloverSection = formatRolloverSection(items);
if (rolloverSection) {
connIdx = content.();
(connIdx !== -) {
content = content.(, connIdx) + rolloverSection + + content.(connIdx);
} {
content += + rolloverSection;
}
}
fs.(path.(, , targetDate + ), content, );
} {
filePath = path.(, , targetDate + );
existing = fs.(filePath, );
items = (, targetDate);
updated = (existing, items);
fs.(filePath, updated, );
}
();
05 - Templates/Daily Note.md.