note-taking

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Note-Taking

笔记记录

This skill enables an AI agent to manage a complete note-taking workflow: creating structured notes, appending to existing ones, organizing notes with tags and categories, searching and retrieving notes by topic, and synthesizing notes into summaries. Notes are stored as Markdown files in a configurable directory, following naming conventions that enable easy browsing and retrieval. The skill supports various note types including meeting notes, daily logs, research notes, idea capture, and project documentation.
该技能支持AI Agent管理完整的笔记工作流:创建结构化笔记、向现有笔记追加内容、通过标签和分类整理笔记、按主题搜索检索笔记,以及将笔记整合生成摘要。笔记以Markdown文件形式存储在可配置目录中,遵循便于浏览和检索的命名规范。该技能支持多种笔记类型,包括会议纪要、日常日志、研究笔记、创意捕获和项目文档。

Workflow

工作流

  1. Determine the Note Type and Structure: Based on the user's request, identify the appropriate note type — meeting notes, idea capture, research notes, daily log, or project notes. Each type has a recommended template with relevant sections (e.g., meeting notes include attendees, agenda, discussion, action items; research notes include source, key findings, questions).
  2. Create or Locate the Note: Check if a relevant note already exists by searching the notes directory by filename and content. If the user wants to add to an existing topic, open and append to that note. If it is a new topic, create a new file with a descriptive, date-prefixed filename (e.g.,
    2026-02-12-sprint-planning.md
    ).
  3. Write Structured Content: Format the note content using clear Markdown: headings for sections, bullet points for lists, checkboxes for action items, and bold text for key terms. Include metadata at the top (date, tags, related notes) to enable future retrieval.
  4. Organize with Tags and Links: Add tags to the note's metadata to enable filtering by topic, project, or type. Where relevant, add links to related notes to build a connected knowledge base.
  5. Retrieve and Synthesize: When the user asks for information, search notes by filename, tags, or content. For broad queries ("What did we discuss about authentication this month?"), synthesize relevant notes into a summary rather than returning raw file contents.
  1. 确定笔记类型和结构: 根据用户请求,识别合适的笔记类型——会议纪要、创意捕获、研究笔记、日常日志或项目笔记。每种类型都有推荐模板,包含相关板块(例如会议纪要包含参会人、议程、讨论内容、行动项;研究笔记包含来源、关键发现、问题)。
  2. 创建或定位笔记: 通过搜索笔记目录的文件名和内容,检查是否已存在相关笔记。如果用户想要在现有主题下追加内容,打开对应笔记并追加内容。如果是新主题,创建带描述性名称、前缀为日期的新文件(例如
    2026-02-12-sprint-planning.md
    )。
  3. 编写结构化内容: 使用清晰的Markdown格式编写笔记内容:板块使用标题,列表使用项目符号,行动项使用复选框,关键词使用粗体。在笔记顶部添加元数据(日期、标签、相关笔记),便于后续检索。
  4. 通过标签和链接整理: 在笔记元数据中添加标签,支持按主题、项目或类型筛选。在相关位置添加指向其他关联笔记的链接,构建互联的知识库。
  5. 检索与整合: 当用户查询信息时,按文件名、标签或内容搜索笔记。对于宽泛的查询("本月我们关于身份认证讨论了哪些内容?"),将相关笔记整合成摘要返回,而非直接返回原始文件内容。

Usage

使用方法

Tell the agent what kind of note to take, and provide the content. The agent will create or update the appropriate file.
Create meeting notes for today's sprint planning with the Backend Team.
Attendees: Alice, Bob, Carol. We discussed the v2.1 release timeline,
assigned the payment bug to Bob, and decided to defer dark mode to v2.2.
告诉Agent要记录的笔记类型,并提供内容。Agent会创建或更新对应的文件。
Create meeting notes for today's sprint planning with the Backend Team.
Attendees: Alice, Bob, Carol. We discussed the v2.1 release timeline,
assigned the payment bug to Bob, and decided to defer dark mode to v2.2.

Examples

示例

Example 1: Meeting Notes with Action Items

示例1:带行动项的会议纪要

User Request:
Take notes for today's design review meeting. Attendees: Sarah (design lead), Tom (frontend), Lisa (PM). We reviewed the new dashboard mockups. Sarah presented three layout options. The team chose Option B (sidebar navigation). Tom raised a concern about mobile responsiveness — we need to test on tablets. Lisa confirmed the deadline is March 1. Action items: Tom will build a responsive prototype by Feb 20. Sarah will update the design system with the new nav component. Lisa will schedule a follow-up review for Feb 25.
Agent creates file:
notes/2026-02-12-design-review.md
File content:
markdown
---
date: 2026-02-12
type: meeting
tags: [design, dashboard, ui]
attendees: [Sarah, Tom, Lisa]
related: []
---
用户请求:
记录今天设计评审会议的笔记。 参会人:Sarah(设计负责人)、Tom(前端)、Lisa(产品经理)。 我们评审了新的仪表盘mockup。Sarah展示了三种布局选项。 团队选择了选项B(侧边栏导航)。Tom提出了移动端响应式的担忧——我们需要在平板上测试。Lisa确认截止日期是3月1日。行动项:Tom需在2月20日前完成响应式原型开发。Sarah需用新的导航组件更新设计系统。Lisa需安排2月25日的后续评审会议。
Agent创建文件:
notes/2026-02-12-design-review.md
文件内容:
markdown
---
date: 2026-02-12
type: meeting
tags: [design, dashboard, ui]
attendees: [Sarah, Tom, Lisa]
related: []
---

Design Review — Dashboard Redesign

Design Review — Dashboard Redesign

Date: 2026-02-12 Attendees: Sarah (design lead), Tom (frontend), Lisa (PM)
Date: 2026-02-12 Attendees: Sarah (design lead), Tom (frontend), Lisa (PM)

Discussion

Discussion

  • Sarah presented three layout options for the new dashboard.
  • Decision: Team selected Option B — sidebar navigation layout.
  • Tom raised a concern about mobile responsiveness, particularly on tablets.
  • Lisa confirmed the ship deadline: March 1, 2026.
  • Sarah presented three layout options for the new dashboard.
  • Decision: Team selected Option B — sidebar navigation layout.
  • Tom raised a concern about mobile responsiveness, particularly on tablets.
  • Lisa confirmed the ship deadline: March 1, 2026.

Action Items

Action Items

  • Tom — Build a responsive prototype of Option B by Feb 20
  • Sarah — Update the design system with the new sidebar nav component
  • Lisa — Schedule follow-up design review for Feb 25
  • Tom — Build a responsive prototype of Option B by Feb 20
  • Sarah — Update the design system with the new sidebar nav component
  • Lisa — Schedule follow-up design review for Feb 25

Open Questions

Open Questions

  • How does the sidebar behave on tablet screen sizes (768px-1024px)?
  • Should we support a collapsed sidebar state for smaller viewports?

---
  • How does the sidebar behave on tablet screen sizes (768px-1024px)?
  • Should we support a collapsed sidebar state for smaller viewports?

---

Example 2: Research Notes with Source Tracking

示例2:带来源追踪的研究笔记

User Request:
I'm researching connection pooling strategies for PostgreSQL. Take notes on what I've found so far: PgBouncer is the most popular external pooler — supports session, transaction, and statement pooling modes. Transaction mode is recommended for most web apps because it reuses connections between transactions, typically reducing connection count by 10x. But it doesn't support prepared statements in transaction mode, which breaks some ORMs. Pgpool-II is an alternative that also does load balancing and replication but is more complex to configure. The built-in Postgres connection limit is usually 100 by default. Supabase published a blog post showing they handle 1M+ connections using PgBouncer in transaction mode with Supavisor.
Agent creates file:
notes/2026-02-12-postgres-connection-pooling.md
File content:
markdown
---
date: 2026-02-12
type: research
tags: [postgresql, connection-pooling, database, infrastructure]
related: []
---
用户请求:
我正在研究PostgreSQL的连接池策略,帮我记录目前的发现: PgBouncer是最流行的外部连接池工具,支持会话级、事务级和语句级三种池化模式。大多数Web应用推荐使用事务级模式,因为它可以在事务之间复用连接,通常能将连接数减少10倍。但事务级模式不支持预编译语句,会导致部分ORM无法正常运行。Pgpool-II是替代方案,还支持负载均衡和复制功能,但配置更复杂。PostgreSQL内置的默认连接数上限通常是100。Supabase发布的博客显示,他们结合Supavisor代理、使用事务级模式的PgBouncer可以处理100万以上的连接。
Agent创建文件:
notes/2026-02-12-postgres-connection-pooling.md
文件内容:
markdown
---
date: 2026-02-12
type: research
tags: [postgresql, connection-pooling, database, infrastructure]
related: []
---

PostgreSQL Connection Pooling Strategies

PostgreSQL Connection Pooling Strategies

Key Findings

Key Findings

PgBouncer

PgBouncer

  • Most popular external connection pooler for PostgreSQL.
  • Three pooling modes: session, transaction, and statement.
  • Transaction mode is recommended for web applications — reuses connections between transactions.
  • Typically reduces connection count by ~10x.
  • Limitation: Transaction mode does not support prepared statements, which can break some ORMs (notably older versions of ActiveRecord and SQLAlchemy).
  • Most popular external connection pooler for PostgreSQL.
  • Three pooling modes: session, transaction, and statement.
  • Transaction mode is recommended for web applications — reuses connections between transactions.
  • Typically reduces connection count by ~10x.
  • Limitation: Transaction mode does not support prepared statements, which can break some ORMs (notably older versions of ActiveRecord and SQLAlchemy).

Pgpool-II

Pgpool-II

  • Alternative to PgBouncer with additional features: load balancing, automatic failover, and replication.
  • More complex to configure and operate than PgBouncer.
  • Better suited for setups that need read replica routing in addition to pooling.
  • Alternative to PgBouncer with additional features: load balancing, automatic failover, and replication.
  • More complex to configure and operate than PgBouncer.
  • Better suited for setups that need read replica routing in addition to pooling.

Built-in PostgreSQL Limits

Built-in PostgreSQL Limits

  • Default
    max_connections
    is 100.
  • Increasing this significantly (e.g., to 1000+) causes memory and performance issues due to per-connection overhead.
  • Default
    max_connections
    is 100.
  • Increasing this significantly (e.g., to 1000+) causes memory and performance issues due to per-connection overhead.

Production Scale Reference

Production Scale Reference

  • Supabase handles 1M+ connections using PgBouncer (transaction mode) with their custom Supavisor proxy.
  • Source: Supabase engineering blog.
  • Supabase handles 1M+ connections using PgBouncer (transaction mode) with their custom Supavisor proxy.
  • Source: Supabase engineering blog.

Open Questions

Open Questions

  • What is the performance overhead of PgBouncer itself at high connection counts?
  • How do modern ORMs (Prisma, Drizzle) handle the prepared statement limitation in transaction mode?
  • When does Pgpool-II's complexity become justified over PgBouncer?
  • What is the performance overhead of PgBouncer itself at high connection counts?
  • How do modern ORMs (Prisma, Drizzle) handle the prepared statement limitation in transaction mode?
  • When does Pgpool-II's complexity become justified over PgBouncer?

Sources

Sources

  • Supabase Blog: "Scaling Postgres to 1M connections"
  • PgBouncer documentation: https://www.pgbouncer.org/
  • PostgreSQL documentation: Connection settings
undefined
  • Supabase Blog: "Scaling Postgres to 1M connections"
  • PgBouncer documentation: https://www.pgbouncer.org/
  • PostgreSQL documentation: Connection settings
undefined

Best Practices

最佳实践

  • Use consistent naming conventions. Prefix all note files with the ISO date (
    YYYY-MM-DD-topic.md
    ) to enable chronological sorting and prevent filename collisions.
  • Include metadata in every note. Tags, date, type, and related-note links in YAML frontmatter make notes searchable and connected. A note without metadata is hard to find later.
  • Capture action items as checkboxes. Use Markdown checkboxes (
    - [ ]
    ) with a bolded assignee name so action items are easy to scan and track to completion.
  • Write notes in the user's voice, not yours. The agent should capture the user's ideas and decisions faithfully, not inject its own opinions or rephrase in ways that change meaning.
  • Link related notes. When creating a note on a topic that connects to an existing note, add a cross-reference in the
    related
    field. This builds an organic knowledge graph over time.
  • Summarize on retrieval, don't dump raw files. When a user asks "What were our decisions about the dashboard?", synthesize the relevant notes into a concise answer rather than returning the full text of every matching file.
  • 使用统一的命名规范。 所有笔记文件前缀使用ISO日期(
    YYYY-MM-DD-topic.md
    ),支持按时间排序,避免文件名冲突。
  • 每份笔记都包含元数据。 YAML frontmatter中的标签、日期、类型和相关笔记链接可以让笔记更易搜索、关联度更高。没有元数据的笔记后续很难查找。
  • 将行动项记录为复选框。 使用Markdown复选框(
    - [ ]
    ),并加粗负责人姓名,方便快速扫描行动项,跟踪完成情况。
  • 用用户的语气记录笔记,而非你自己的语气。 Agent应忠实记录用户的想法和决策,不要注入自己的观点,也不要改写内容导致原意改变。
  • 关联相关笔记。 当创建的笔记主题和现有笔记相关时,在
    related
    字段中添加交叉引用。随着时间推移可以构建有机的知识图谱。
  • 检索时返回摘要,不要直接导出原始文件。 当用户询问"我们关于仪表盘的决策有哪些?"时,将相关笔记整合成简洁的答案返回,而非返回所有匹配文件的全文。

Edge Cases

边界场景

  • Overlapping or duplicate notes: If the user creates a note on a topic that already has an existing note, check the existing content first. Offer to append to the existing note rather than creating a duplicate. If the user wants both, ensure filenames are distinct.
  • Very long meeting notes: For meetings lasting 1+ hours with extensive discussion, structure the note with clear section headings and consider creating a summary section at the top. Notes over 200 lines should be broken into sections that can be read independently.
  • Notes with sensitive information: If notes contain passwords, API keys, or personal data, warn the user and recommend against storing them in plain-text Markdown files. Suggest using a secrets manager for credentials and redacting sensitive fields in notes.
  • Ambiguous retrieval requests: When the user asks for notes on a broad topic (e.g., "database stuff"), search by both tags and content, present the matches, and ask the user to narrow down rather than guessing which note they want.
  • Notes directory not initialized: If the notes directory does not exist on first use, create it automatically with a
    README.md
    explaining the directory structure and conventions. Do not fail silently.
  • Conflicting action items across notes: When synthesizing multiple meeting notes, check for conflicting or superseded action items (e.g., "defer dark mode" in one meeting, "start dark mode" in a later one). Present the most recent decision and note the change.
  • 笔记重叠或重复: 如果用户创建的笔记主题已存在现有笔记,先检查现有内容。建议用户向现有笔记追加内容,而非创建重复笔记。如果用户想要保留两份,确保文件名不同。
  • 超长会议纪要: 对于时长1小时以上、讨论内容丰富的会议,用清晰的小标题结构化笔记,可考虑在顶部添加摘要板块。超过200行的笔记应拆分为可独立阅读的板块。
  • 包含敏感信息的笔记: 如果笔记包含密码、API密钥或个人数据,提醒用户不建议将这些内容存储在明文Markdown文件中。建议使用密钥管理器存储凭证,并在笔记中脱敏敏感字段。
  • 模糊的检索请求: 当用户查询宽泛主题的笔记(例如"数据库相关内容")时,同时按标签和内容搜索,展示匹配结果,让用户缩小查询范围,而非猜测用户想要的是哪份笔记。
  • 笔记目录未初始化: 首次使用时如果笔记目录不存在,自动创建目录,并生成说明目录结构和规范的
    README.md
    文件,不要静默失败。
  • 跨笔记的冲突行动项: 整合多份会议纪要时,检查是否存在冲突或已被取代的行动项(例如一份会议中提到"推迟深色模式开发",后续会议中提到"启动深色模式开发")。展示最新的决策,并说明变更情况。