topic-curation
Skill8 starsChanged 22 days agoMITView on GitHub
Use when the user wants to create a new topic, adjust an existing topic, refine what kinds of brief items matter, exclude certain kinds of items, update topic sources, or schedule recurring topic briefings through natural language. Trigger for Chinese requests like "持续跟踪", "以后每天帮我看", "每天早上8点推送", "官媒信息和新闻", "定期简报", or "帮我关注这个领域".
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- verify-skryaSkill
- deep-analysisSkill
- digestSkill
- request-curationSkill
- skryaSkill
- source-curationSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
66 rules. About 0 are common, 57 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈57
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 11
Before reading topic files, proposing a topic, or explaining the setup sequence, resolve the Skrya data root.
- Distinctive: line 21
Do not add a greeting, status update, explanation, inferred topic scope, source plan, setup sequence, or next-step preview.
- Very specific: line 26
If the user asks for "important information" about some not-yet-configured area, treat that as a topic-curation request first, not as a …
- Very specific: line 29
Before reading or writing topic files, resolve the Skrya data root.
- Distinctive: line 43
read AGENTS.md, CLAUDE.md, or the equivalent repository instruction file
- Distinctive: line 51
Ask for the plain-language topic name or describe the inferred topic back to the user, then map it to an existing topic or propose a new …
- Distinctive: line 52
Only show the internal id when it helps confirm a newly created durable topic, and label it as an internal name.
- Very specific: line 59
Do not ask for or set a language during installation.
- Distinctive: line 62
Do not make the user speak in config format.
- Distinctive: line 63
Do not create a new topic shell before the briefing intent is clear enough.
- Distinctive: line 64
Do not answer a broad unconfigured-topic info request with a direct digest first.
- Distinctive: line 65
Do not jump straight into running a digest when the user appears to want ongoing tracking.
- Distinctive: line 74
If the request is ambiguous, prefer treating it as ongoing tracking first and clarify from there.
- Distinctive: line 77
Treat source/scope phrases such as "国内外", "官媒", "官方来源", "信息和新闻", and "过去24小时" as durable topic configuration requirements.
- Very specific: line 89
update digest.md when ranking or exclusion rules need to change
- Distinctive: line 90
create or update a topic-specific digest template through the guarded template-update flow below
- Distinctive: line 94
create or propose recurring digest automation bound to the current channel/conversation by default when the host is channel-aware
- Distinctive: line 100
Treat requests such as "创建简报模板", "调整简报模板", "更新日报样式", or "使用自建模板" as topic-curation work.
- Distinctive: line 102
Before drafting or changing template content, explicitly tell the user, in the user's current language:
- Distinctive: line 106
Use the matching candidate-drafting flow:
- Distinctive: line 111
After either drafting flow, apply this shared save gate.
- Distinctive: line 115
If validation fails, do not create, overwrite, or replace the configured template.
- Distinctive: line 128
If the user gives ambiguous shorthand entities, clarify once, then store the stable entity name, aliases, relationship, and watchpoints.
- Distinctive: line 129
If the user says "这个很重要", rewrite it as a durable tracked angle, thread watchpoint, or ranking preference.
- Distinctive: line 130
If the user says "按照前述要求生成今日简报", resolve the active topic from the conversation and current topic files.
- Distinctive: line 131
Treat repeated identical instructions as continuation or emphasis, not as a second topic creation request.
- Distinctive: line 146
add a new tracked angle
- Distinctive: line 151
create or update a topic-specific digest template
- Distinctive: line 152
ask for important information on an unconfigured area
- Distinctive: line 154
Never treat a single digest item number as a literal config primitive.
- Distinctive: line 160
If it is a new topic, clarify the user's briefing intent before creating any files.
- Distinctive: line 161
If it is an existing topic, read the current config and interpret the user's request as a change to that config.
- Distinctive: line 164
Ask for confirmation before writing any file.
- Distinctive: line 165
After confirmation, create or update the minimum necessary files.
- Distinctive: line 166
Only discuss sources after the topic intent is clear enough to guide source choice.
- Distinctive: line 167
After the user confirms a new or expanded topic's scope and standards, propose concrete source candidates before saying the topic is …
- Distinctive: line 168
When recommending sources, explain fit in terms of the confirmed topic intent and say which ones can be 自动接入 versus 暂时不能自动接入.
- Distinctive: line 171
Do not create or update recurring digest automation until the source plan is confirmed, unless the topic already has adequate confirmed …
- Distinctive: line 172
If the user wants ongoing tracking, discuss recurring digest automation before producing any digest output.
- Distinctive: line 173
After sources and recurring delivery are configured, proactively ask whether the user wants a test run instead of waiting for the user to …
- Distinctive: line 174
When clarifying a new recurring topic, include a compact setup boundary: topic scope is confirmed first, sources are confirmed next, …
- Distinctive: line 188
Do not configure cross-channel delivery unless the user explicitly requests it and the host supports that target.
- Distinctive: line 191
After the automation step is settled, ask separately whether the user wants a test run now.
- Distinctive: line 192
Do not hide the test run decision inside the automation prompt.
- Distinctive: line 193
Do not assume the user wants a test run.
- Distinctive: line 194
Do not present collected results in chat as if that replaces the recurring workflow the user asked for.
- Very specific: line 195
Before creating automation or handing the user a prompt, validate that the prompt contains every field in the contract below.
- Distinctive: line 199
When creating a recurring digest automation directly, or giving the user a ready-to-send automation prompt, the prompt must be …
- Distinctive: line 219
Prefer these write targets:
- Distinctive: line 227
Prefer the smallest config change that matches the user's intent.
- Distinctive: line 231
When the user confirms a new or expanded recurring topic, source confirmation is a required gate before "已接入" or automation creation.
- Distinctive: line 234
When the prompt or host names available retrieval capabilities, produce the source plan now instead of merely listing capabilities or …
- Distinctive: line 238
If the current environment has configured X, WeChat official account, or other source-channel skills, include them in the source plan and …
- Very specific: line 239
Ask the user to confirm the source plan before writing sources.json or claiming the daily task is connected.
- Distinctive: line 240
If the existing topic already has enough confirmed sources, say that explicitly and only ask about the new source gaps created by the …
- Distinctive: line 241
Do not write placeholder source candidates into durable config.
- Distinctive: line 245
Keep the interaction practical and short:
- Very specific: line 266
If no matching binding exists, say the current channel has no known Skrya topic binding and ask which topic the user means.
- Distinctive: line 267
Do not merge or forward another channel's topic digest into the current channel, even when it was generated at the same scheduled time.
- Distinctive: line 268
When the host supports send-result inspection, require explicit sending and non-empty message verification after scheduled delivery.
- Distinctive: line 272
When this skill is being installed, updated, or used to fix a missed-routing failure, guide the agent to improve persistent recall:
- Very specific: line 274
if the host has AGENTS.md, CLAUDE.md, TOOLS.md, tools.md, or another documented global memory/instruction file, add or update a short Skrya …
- Distinctive: line 277
keep the update minimal and ask before writing outside the current repository or into user-level global memory when host rules require it
- Distinctive: line 285
do not create the topic immediately after hearing only a broad subject
- Distinctive: line 288
after confirmation, create the topic directory and initial files
- Distinctive: line 296
if the user points at a digest item, infer the category or ranking logic behind the complaint
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- AUTO-GENERATED from topic-curation/SKILL.md.tmpl; regenerate with `python -m skrya_orchestrator.main build-skill-pack --root . --host all` -->Topic Curation
First-Use Gate
Before reading topic files, proposing a topic, or explaining the setup sequence, resolve the Skrya data root. If the source is default-home and the user did not already provide a data location, stop. The initialization question must be the sole user-facing response:
Skrya 的长期数据保存在哪里?
1. 用户级 `~/.skrya`(推荐,所有项目共享)
2. 当前项目 `.skrya/data`(仅当前项目)
3. 自定义目录(请同时提供路径)Do not add a greeting, status update, explanation, inferred topic scope, source plan, setup sequence, or next-step preview. After the user answers, persist the data-root selection and resume topic curation. Do not ask again when the source is not default-home.
Handle the full user journey for creating or iterating a topic through natural language.
This skill is the single entry point for topic configuration work.
If the user asks for "important information" about some not-yet-configured area, treat that as a topic-curation request first, not as a direct digest request.
This includes requests about some company, industry, market, product category, or theme that is not yet configured as a topic.
This also includes scheduled news push requests such as "每天早上8点推送国内外 X 的官媒信息和新闻"; the schedule is only one part of the topic setup, not a reason to bypass Skrya with a generic reminder.
Before reading or writing topic files, resolve the Skrya data root. Topic configuration and generated artifacts live under <skrya-data-root>/, not necessarily under the skill repository.
Read First
For a known topic, read:
<skrya-data-root>/topics/<topic-id>/topic.json<skrya-data-root>/topics/<topic-id>/brief.json<skrya-data-root>/topics/<topic-id>/sources.json<skrya-data-root>/topics/<topic-id>/digest.md<skrya-data-root>/topics/<topic-id>/thread-seeds.jsonwhen continuing threads are relevant
For a new topic idea with no confirmed topic-id yet:
- read
AGENTS.md,CLAUDE.md, or the equivalent repository instruction file - inspect
<skrya-data-root>/topics/to avoid collisions and to follow existing naming patterns
Also inherit applicable workspace defaults from the repository instruction file.
User-Facing Topic Names
Topic-scoped work must resolve an internal topic-id before reading or writing files, but do not ask nontechnical users for raw topic-id values.
Ask for the plain-language topic name or describe the inferred topic back to the user, then map it to an existing topic or propose a new internal id yourself.
Only show the internal id when it helps confirm a newly created durable topic, and label it as an internal name.
Core Rule
First clarify the durable briefing intent the user wants to keep seeing, then translate that into stable configuration language. Confirm the proposed wording before creating or changing topic files.
For recurring delivery, also preserve the delivery context the host exposes. In channel-aware hosts, that includes the creating user and current channel or conversation.
For channel-aware hosts, write delivery context into topic state as delivery-bindings.json; do not rely on the scheduled message appearing in the later chat session.
Do not ask for or set a language during installation. For each topic, set topic.json.language from the user's topic-creation language unless the user explicitly requests another briefing language. Skrya currently supports Chinese and English output; the schema may remain extensible for future languages.
The topic language controls digest and deep-analysis output. If the user later gives feedback in another language, converse in the feedback language while preserving the topic's configured output language unless the user asks to change it.
Do not make the user speak in config format. Do not create a new topic shell before the briefing intent is clear enough. Do not answer a broad unconfigured-topic info request with a direct digest first. Do not jump straight into running a digest when the user appears to want ongoing tracking.
Tracking vs One-Off
Separate these two cases early:
- ongoing tracking: the user wants recurring updates, a standing brief, or durable monitoring
- one-off research: the user wants one immediate answer right now and does not need a standing topic
If the request is ambiguous, prefer treating it as ongoing tracking first and clarify from there. Phrases like "collect updates", "follow", "track", "keep me posted", and "regularly" should push you toward ongoing tracking. Chinese schedule phrases like "每天早上8点推送", "每天定时发", and "每天提醒我看" should also push you toward ongoing tracking when they include a topical news or information area. Treat source/scope phrases such as "国内外", "官媒", "官方来源", "信息和新闻", and "过去24小时" as durable topic configuration requirements.
For ongoing tracking, keep the conversation in setup mode until topic intent is confirmed, source candidates are confirmed or known adequate, automation is handled, and the user chooses whether to do a test run.
What This Skill Owns
This skill may:
- help the user create a new topic
- help the user refine an existing topic
- translate user feedback into durable configuration wording
- update
brief.json - update
digest.mdwhen ranking or exclusion rules need to change - create or update a topic-specific digest template through the guarded template-update flow below
- propose or update thread seeds when the user wants a continuing thread
- recommend source candidates and update
sources.jsonafter confirmation - answer and update the user's storage-location preference by using the current Skrya data root and the
skrya data-rootcommand - create or propose recurring digest automation bound to the current channel/conversation by default when the host is channel-aware
This skill does not implement crawling or adapter logic.
Digest Template Create And Update Flow
Treat requests such as "创建简报模板", "调整简报模板", "更新日报样式", or "使用自建模板" as topic-curation work. Resolve the data root and internal topic id, then classify the request as create or update before reading any template content.
Before drafting or changing template content, explicitly tell the user, in the user's current language:
提示:你可以创建或调整简报模板的布局和措辞,但 active Thread 的“事件线时间线更新”模块属于强制合同;无新增时仍须展示最新状态。保存前我会执行结构检查,未通过不会创建或覆盖目标模板。
Use the matching candidate-drafting flow:
- Create: confirm that no topic-specific template is currently configured at the intended target. Do not read an existing topic-specific template as the drafting basis. Draft a new complete candidate from the default digest contract and the user's requested layout. If a target unexpectedly already exists, stop and reclassify the operation as update instead of overwriting it.
- Update: require an existing configured topic-specific template, read it, and draft a revised complete candidate without overwriting the configured path. If no configured template exists, stop and offer the create flow instead.
After either drafting flow, apply this shared save gate. The save gate begins with the completed candidate; it does not read or modify the source template:
- Validate the complete candidate with
skrya validate-digest-template --file <candidate-path>when the CLI is available. Otherwise apply the same checklist directly. - The candidate must contain a date/topic title, the mandatory active-Thread section, T-xx references, per-news latest developments, curated historical timeline, explicit no-verified-update state with latest known state, N-xx news items and media source links. Its footer contains exactly
dig: N-01,track: N-02,dig: T-01,write: T-01, and natural-language feedback. Do not require internal IDs or old line boxes in user titles, and do not add runtime metadata. - If validation fails, do not create, overwrite, or replace the configured template. Report the missing contract fields, revise the candidate, and validate again.
- Immediately before persistence, recheck the operation precondition: create requires an absent target; update requires the same existing target that was read. Stop on a mismatch instead of silently switching modes.
- Persist the validated candidate atomically when the filesystem supports it, then re-read and validate the saved target. If post-save verification fails, do not report success; restore the prior update target or remove the incomplete newly created target when safely possible.
- Report success only after post-save validation passes, then offer a separate test-run preview.
Topic-specific style choices may change layout and wording, but they may not delete the active-Thread contract. A user can ask to revise how the mandatory module looks; omission is not a supported customization.
For new Feishu bindings, explicitly record delivery.layout: summary+thread. Existing bindings without a layout keep full-card; do not change production layouts during upgrade. Keep targets explicit and scoped to the confirmed host/channel/user/workspace. Store only a credential reference, never app secrets. Preflight the selected target before collection and keep only one host-level scheduler.
Topic Memory Rules
Conversation context should become maintainable topic state.
- If the user gives ambiguous shorthand entities, clarify once, then store the stable entity name, aliases, relationship, and watchpoints.
- If the user says "这个很重要", rewrite it as a durable tracked angle, thread watchpoint, or ranking preference.
- If the user says "按照前述要求生成今日简报", resolve the active topic from the conversation and current topic files; if more than one active topic is plausible, ask a short confirmation.
- Treat repeated identical instructions as continuation or emphasis, not as a second topic creation request.
- For
track: N-xx <name/intent>, resolve the received digest snapshot and propose a thread seed with a stable name, aliases, match terms, summary, callback hint, and watchpoints.
Source Feasibility Rule
- internally, sources with RSS are connectable
- internally, sources without RSS are not connectable for now
- user-facing wording should say whether a source can be "自动接入" or is "暂时不能自动接入"; do not make the user reason about RSS
- runtime search/fetch channels should be written as provider-neutral
runtime-retrievalcapability sources rather than third-party skill names
Intent Types
Map natural-language user input into one or more of these intent types:
- new topic creation
- add a new tracked angle
- narrow topic scope
- exclude a kind of item from future digests
- adjust ranking preference
- update topic sources
- create or update a topic-specific digest template
- ask for important information on an unconfigured area
Never treat a single digest item number as a literal config primitive. Infer the underlying preference and rewrite that into stable configuration language.
Required Behavior
- Decide whether this is a new topic or an iteration of an existing topic.
- If it is a new topic, clarify the user's briefing intent before creating any files.
- If it is an existing topic, read the current config and interpret the user's request as a change to that config.
- Translate the user's words into durable configuration text.
- Show the user the proposed config change in concise natural Chinese.
- Ask for confirmation before writing any file.
- After confirmation, create or update the minimum necessary files.
- Only discuss sources after the topic intent is clear enough to guide source choice.
- After the user confirms a new or expanded topic's scope and standards, propose concrete source candidates before saying the topic is connected.
- When recommending sources, explain fit in terms of the confirmed topic intent and say which ones can be 自动接入 versus 暂时不能自动接入.
- Include the relevant retrieval/source channels available in the current environment, such as web/news search, X, WeChat official accounts, site search, document fetch, or configured source skills.
- Confirm source additions or removals before writing
sources.json. - Do not create or update recurring digest automation until the source plan is confirmed, unless the topic already has adequate confirmed sources and the user is only changing ranking or scope.
- If the user wants ongoing tracking, discuss recurring digest automation before producing any digest output.
- After sources and recurring delivery are configured, proactively ask whether the user wants a test run instead of waiting for the user to ask.
- When clarifying a new recurring topic, include a compact setup boundary: topic scope is confirmed first, sources are confirmed next, automation/schedule is handled only after source confirmation, and the test run remains a separate yes/no decision.
Automation Behavior
For ongoing tracking, a recurring digest is the default target experience.
- First classify the current agent into one of these capability modes:
- automation-capable: the agent can create or update automation itself after user confirmation
- user-mediated: the agent cannot create automation autonomously here, but can guide the user with a ready-to-send prompt
- non-automation: the agent has no usable automation path in the current environment
- In automation-capable mode, ask whether the user wants the recurring digest created and what time it should run.
- In channel-aware hosts, bind the recurring digest to the current channel/conversation by default and keep the creating user/workspace identity when available.
- For channel-aware hosts, write or update
delivery-bindings.jsonbefore treating the automation as configured. - In hosts without channel/conversation concepts, do not invent a channel boundary; rely on topic identity, user intent, and available automation context.
- Do not configure cross-channel delivery unless the user explicitly requests it and the host supports that target. In OpenClaw-style channel-aware environments, avoid cross-channel delivery by default.
- In user-mediated mode, explicitly suggest the recurring automation step and give the user a ready-to-send prompt.
- In non-automation mode, say clearly that automation is unavailable in this environment and still provide a ready-to-send prompt the user can use in a more capable agent later.
- After the automation step is settled, ask separately whether the user wants a test run now.
- Do not hide the test run decision inside the automation prompt.
- Do not assume the user wants a test run.
- Do not present collected results in chat as if that replaces the recurring workflow the user asked for.
- Before creating automation or handing the user a prompt, validate that the prompt contains every field in the contract below. If a value is not exposed by the host, include
unknownplus the fallback rule instead of silently dropping the field.
Automation Prompt Contract
When creating a recurring digest automation directly, or giving the user a ready-to-send automation prompt, the prompt must be self-contained. Do not rely on the creating chat's transient memory.
Include these fields or instructions:
workflow: use Skrya and thedigestworkflow for a resolved topic, not a generic news summarytopic: resolvedtopic-idand visible topic namedata_root: resolved Skrya data root; use workspace.skrya/datafor OpenClaw or mounted-workspace environments when applicabledelivery_context: creating user, workspace, host, and current channel/conversation id or stable label when the host exposes themtopic_state_binding: create or update<skrya-data-root>/topics/<topic-id>/delivery-bindings.jsonusing schemaskrya.delivery-bindings.v1; the automation must not rely on later chat contextrequired_reads:topic.json,brief.json,sources.json,digest.md, the configured digest template file, optionalthread-seeds.json, and the latest runtime thread artifact when presenttemplate_fallback: usedigest/templates/default-digest.mdwhen no topic-specific digest template is configuredformat_contract:digest.mdcontains ranking and judgment rules; the template file controls title, uniform line boxes, source references,---, and the topic-language system sectionthread_policy: if any effective thread hasstatus=active, always render the event-timeline update section and show each active thread's latest known state even when the scan finds no verified incrementartifact_policy: save real scheduled digests asdigest-YYYYMMDDTHHMMSS+0800.mdunder<skrya-data-root>/runs/<topic-id>/, then updatelatest-digest.mdas a symlink or pointerdelivery_policy: send only to the bound channel/conversation unless the user explicitly configured another supported target, and verify non-empty delivery when the host supports ittest_run_policy: do not perform, save, or include a test run unless the user separately asks for onefailure_policy: if required topic files, sources, template, or delivery binding are missing, report the missing precondition instead of generating a generic summary
File Strategy
Prefer these write targets:
topic.jsonfor new topic identitybrief.jsonfor durable tracking requestsdigest.mdfor ranking, exclusion, and digest judgment rulessources.jsonfor confirmed RSS sources andruntime-retrievalcapability sourcesdelivery-bindings.jsonfor host/channel/user/workspace bindings and automation ids when the host exposes delivery context
Prefer the smallest config change that matches the user's intent.
Source Confirmation Gate
When the user confirms a new or expanded recurring topic, source confirmation is a required gate before "已接入" or automation creation.
- For a request such as "每天给我一份 BYD、新能源汽车、储能相关简报,主要关注国内外主流媒体内容", first propose source groups that fit those angles.
- When the prompt or host names available retrieval capabilities, produce the source plan now instead of merely listing capabilities or saying a plan will come later.
- Explain source fit in natural Chinese, for example "覆盖比亚迪和车企动态", "覆盖海外主流财经/产业报道", or "覆盖储能项目和政策".
- For each source group, include the group name, why it fits the confirmed topic, the retrieval channel or capability, and status: 自动接入 or 暂时不能自动接入.
- Mark each group or source as 自动接入 or 暂时不能自动接入 under current connector limits.
- If the current environment has configured X, WeChat official account, or other source-channel skills, include them in the source plan and explain what they add compared with generic web/news search.
- Ask the user to confirm the source plan before writing
sources.jsonor claiming the daily task is connected. - If the existing topic already has enough confirmed sources, say that explicitly and only ask about the new source gaps created by the expansion.
- Do not write placeholder source candidates into durable config.
Conversation Shape
Keep the interaction practical and short:
- accept the user's language as-is
- infer and persist the topic output language from topic creation or explicit user preference
- infer the underlying lasting preference
- rewrite it into config-ready wording
- ask for confirmation
- then write files
- then propose and confirm source candidates when sources are new or expanded
- then handle automation or scheduling after the source plan is confirmed
- then ask whether the user wants a test run now
Delivery Context
For multi-user or multi-channel hosts that expose channel/conversation context, treat the channel as part of the durable automation boundary.
- The topic config describes what to track; the automation binding describes where to deliver it when the host exposes delivery context.
- Store delivery bindings as Skrya-owned normalized JSON in
delivery-bindings.json, using schemaskrya.delivery-bindings.v1. Do not store raw host or agent context as required core state; put agent-specific extras underhost_metadata. - A topic created from one channel should be delivered back to that same channel unless the user explicitly names another channel and the host supports it.
- A补发 request should resend only the topic bound to the current channel/conversation. If the current channel has multiple plausible topics, ask which one.
- For feedback, empty-digest diagnosis, missed delivery repair, or manual resend, default to current-channel scope. First match the current host/channel/conversation against
delivery-bindings.json; do not scan all topics or operate on all topics from the current channel. - If no matching binding exists, say the current channel has no known Skrya topic binding and ask which topic the user means. Do not send any digest until the binding is resolved or explicitly overridden.
- Do not merge or forward another channel's topic digest into the current channel, even when it was generated at the same scheduled time.
- When the host supports send-result inspection, require explicit sending and non-empty message verification after scheduled delivery.
Recall Hygiene
When this skill is being installed, updated, or used to fix a missed-routing failure, guide the agent to improve persistent recall:
- if the host has
AGENTS.md,CLAUDE.md,TOOLS.md,tools.md, or another documented global memory/instruction file, add or update a short Skrya routing note when allowed - the note should say that topical daily pushes and recurring news briefings route to Skrya/topic-curation before generic reminders or automation
- include concrete examples such as "每天早上8点推送国内外军民融合、军民协同相关的官媒信息和新闻"
- keep the update minimal and ask before writing outside the current repository or into user-level global memory when host rules require it
File names are internal execution details; do not show file names in normal user-facing replies unless the user asks for implementation details.
New Topic Creation
For a new topic:
- do not create the topic immediately after hearing only a broad subject
- first clarify what kinds of brief items the user wants
- once the intent is clear, propose a
topic-id, topic name, and initial request set - after confirmation, create the topic directory and initial files
Existing Topic Iteration
For an existing topic:
- assume the user is expressing a configuration preference, not asking to manually edit raw files
- convert one-off examples into stable rules
- if the user points at a digest item, infer the category or ranking logic behind the complaint
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

