diff --git a/.sf/skills/sf-wiki/SKILL.md b/.sf/skills/sf-wiki/SKILL.md new file mode 100644 index 000000000..e420572e9 --- /dev/null +++ b/.sf/skills/sf-wiki/SKILL.md @@ -0,0 +1,59 @@ +--- +name: sf-wiki +description: Build a sparse SF-native codebase wiki or subsystem map. Use inside autonomous workflow when SF needs durable repo orientation, architecture maps, or generated reference docs. +--- + +# SF Wiki + +Use this skill to generate compact repository documentation for future agents and +humans. The output is an SF-native codebase map, not a Factory upload. + +## Output + +Default location: + +- `.sf/wiki/` for runtime working context. +- `docs/generated/wiki/` only when the user wants tracked generated docs. + +Prefer `.sf/wiki/` for autonomous workflow context so tracked docs stay sparse. + +## Survey + +Use two passes: + +1. Structural: README, AGENTS, package manifests, build/test config, docs, + entrypoints, CI, and top-level directories. +2. Source: routes, commands, providers, services, workflows, tests, generated + artifacts, and feature flags. + +Reconcile source-derived topics with directory enumeration. If a non-trivial +directory is skipped, record the reason in one sentence. + +## Pages + +Keep the wiki small by default. **This project uses UPPERCASE filenames** to +match the `.sf/` operational file convention (DECISIONS.md, KNOWLEDGE.md, etc.): + +- `INDEX.md`: what this repo is, how to run it, where to start. +- `ARCHITECTURE.md`: major subsystems and data/control flow. +- `WORKFLOWS.md`: build, test, release, autonomous/SF flows. +- `SUBSYSTEMS.md`: table of subsystem, path, purpose, owner signal, tests. +- `GLOSSARY.md`: project terms only. + +Add subsystem pages only when the table would become unreadable. + +## Style + +- Optimize for context reload, not publication. +- Use bullets and tables. +- Link to canonical docs instead of copying them. +- Avoid prose history unless it changes how someone should work. +- Mark stale or uncertain facts explicitly. + +## Verification + +Before finishing: + +- Check every referenced path exists or is intentionally historical. +- Run cheap repo discovery commands again if files changed during the scan. +- Leave a short freshness note with date, commit, and commands used.