agentleFS
Blueforce-Tech-IncBlueforce-Tech-Inc/BlueCortexCE/.agents/skills/doc-management/SKILL.md

doc-management

Skill4 starsChanged 37 days agoMITView on GitHub

Systematic documentation placement, archival, and lifecycle management for the project.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. gitextensions/gitextensions★ 8.6ksame name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository2 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. About 0 are common, 11 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Every .md file has a clear home based on its lifecycle stage.

    line 14
  2. Very specific:

    Before git commit that includes .md changes

    line 25
  3. Very specific:

    Before creating ANY .md file, classify it:

    line 62
  4. Distinctive:

    Every document that gets periodically updated MUST include this header immediately after the title:

    line 75
  5. Distinctive:

    When a document's content becomes a historical record:

    line 89
  6. Very specific:

    Add a row to docs/archive/README.md:

    line 95
  7. Distinctive:

    Remove the original file

    line 99
  8. Distinctive:

    Check if any remaining docs reference the archived file's path — update those references

    line 100
  9. Very specific:

    Archive size: If docs/archive/ exceeds 30 files, review whether any very old entries can be removed (they remain in git history regardless).

    line 102
  10. Very specific:

    When to archive a draft: When the feature it describes is fully implemented AND the design is no longer referenced for active work.

    line 104
  11. Distinctive:

    Before creating a new file, ask: "Does a file already exist for this purpose?"

    line 108
  12. Distinctive:

    Never have two files tracking the same thing.

    line 112
  13. Distinctive:

    Only these files may live in the project root:

    line 116
  14. Distinctive:

    Do not commit scratch notes, temporary debugging logs, or throwaway files.

    line 163
  15. Distinctive:

    When placing a document, ask: "If someone needs this in 3 months, where would they look first?"

    line 169
  16. Distinctive:

    Run before major commits, or when documentation feels disorganized.

    line 222
  17. Distinctive:

    All pass → "Documentation health OK"

    line 247

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Documentation Management Skill

Purpose

Every .md file has a clear home based on its lifecycle stage. This skill defines where docs go, when to archive them, and how to keep the project navigable.

When to Activate

Activate this skill when the agent:

  • Creates a new .md file anywhere in the project
  • Moves, renames, or reorganizes documentation
  • Completes a task that produced progress reports or test results
  • Runs a documentation audit or health check
  • Notices stale or duplicate documents
  • Reviews a PR that adds or moves .md files
  • Before git commit that includes .md changes

Quick Reference

Component README?        → <component>/README.md
Project-essential file?  → Root (allowlist only — see Rule 5)
One-time snapshot?       → docs/archive/YYYY-MM-DD_<name>.md
Actively iterated?       → docs/drafts/<name>.md
Periodically updated?    → appropriate dir + purpose header (mandatory)
Stable reference?        → docs/<name>.md

Directory Map

project-root/
├── docs/
│   ├── archive/              # Historical snapshots (read-only)
│   │   └── README.md         # Index: date, origin path, description
│   ├── drafts/               # Active design docs under iteration
│   └── *.md                  # Stable reference docs
├── *.md                      # Root: allowlist only (see Rule 5)
├── backend/README.md         # Component README (allowed)
├── proxy/README.md           # Component README (allowed)
├── examples/*/README.md      # Example project README (allowed)
├── go-sdk/*/README.md        # SDK README (allowed)
├── scripts/README.md         # Scripts README (allowed)
├── .agents/skills/*/SKILL.md # Project-local skill definitions (allowed)
├── openclaw-plugin/skills/*/SKILL.md  # Plugin skill (allowed)
└── memory/*.md               # Agent memory (.gitignored)

Rules

Rule 1: Classify Before Creating

Before creating ANY .md file, classify it:

TypeLifecycleLocation
LivePeriodically overwrittenAppropriate dir + purpose header
HistoricalWritten once, never changeddocs/archive/YYYY-MM-DD_<name>.md
DraftActively iterateddocs/drafts/<name>.md
ReferenceStable, updated with releasesdocs/<name>.md
Component READMETied to a component<component>/README.md
RootProject-essential./<name>.md

Rule 2: Live Documents Must Have a Purpose Header

Every document that gets periodically updated MUST include this header immediately after the title:

# Title

> **Purpose**: What this document tracks.
> **Updated by**: Who/what updates it (cron ID, manual process, etc.).
> **Update rule**: How it changes (overwrite with latest / append entries).

This header is mandatory. No exceptions.

Rule 3: Archive, Don't Delete

When a document's content becomes a historical record:

  1. Identify the last-relevant date for the content
  2. Copy to docs/archive/YYYY-MM-DD_<descriptive-name>.md
    • YYYY-MM-DD = last-relevant date (not today's date)
    • <descriptive-name> = lowercase, hyphens, clear description
  3. Add a row to docs/archive/README.md:
    | `YYYY-MM-DD_<name>.md` | `<original-path>` | YYYY-MM-DD | <brief description> |
  4. Remove the original file
  5. Check if any remaining docs reference the archived file's path — update those references

Archive size: If docs/archive/ exceeds 30 files, review whether any very old entries can be removed (they remain in git history regardless).

When to archive a draft: When the feature it describes is fully implemented AND the design is no longer referenced for active work. If the draft still contains design rationale useful for future reference, promote it to docs/ instead of archiving.

Rule 4: No Duplicate Purpose

Before creating a new file, ask: "Does a file already exist for this purpose?"

  • Yes → Update it in place (live docs) or create a new archive entry (historical)
  • No → Create the file in the correct location per Rule 1

Never have two files tracking the same thing.

Rule 5: Root Directory Is Sacred

Only these files may live in the project root:

FileStatusNotes
README.mdRequiredProject overview
README-zh-CN.mdOptionalChinese version
CHANGELOG.mdRequiredRelease history
CONTRIBUTING.mdOptionalContribution guide
CODE_OF_CONDUCT.mdOptionalCommunity standards
SECURITY.mdOptionalSecurity policy
RELEASE.mdOptionalRelease process
DOCKER_README.mdOptionalDocker quick-start (when docker-compose.yml at root)
CLAUDE.mdOptionalClaude Code config
AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.mdOpenClawAgent config
HEARTBEAT.md, MEMORY.mdAgent.gitignored memory
docker-compose.yml, Dockerfile, etc.InfraNon-.md files OK

Everything else → docs/, docs/drafts/, or docs/archive/.

Rule 6: Language Consistency

  • Reference docs: Maintain paired versions — <name>.md (English) + <name>-zh-CN.md (Chinese)
  • Updating a doc with only one language version: update it as-is; note in commit that counterpart is missing
  • Drafts: Any language; clarity matters most
  • Archive: Keep original language; do not translate
  • Code comments: English preferred

Rule 7: Draft Naming Convention

Draft filenames should describe their content, not their tracking function. Use one of these patterns:

PatternWhen to useExample
<topic>-<type>.mdGeneral design/researchgo-sdk-design.md, mcp-transport-analysis.md
<phase>-<N>-<topic>.mdPhased implementationphase-3-extraction-design.md
<component>-<topic>.mdComponent-specificspring-ai-integration-plan.md

Where <type> is: design, analysis, research, plan, walkthrough, guide, review.

❌ Bad✅ GoodWhy
TASK_PROGRESS.mdgo-sdk-implementation.mdDescribes content, not function
NOTES.mdphase-3-extraction-design.mdSpecific, searchable
TEMP.mdmcp-transport-analysis.mdHas a clear subject

Rule 8: No Ephemeral Files in the Repo

Do not commit scratch notes, temporary debugging logs, or throwaway files. If it's worth writing down, it's worth placing correctly per Rule 1. If it's truly temporary, use commit messages or terminal output instead.

Agent memory files (HEARTBEAT.md, MEMORY.md, memory/*.md) are .gitignored by design. Never .gitignore anything under docs/ — those are project artifacts.

Principle: Findability

When placing a document, ask: "If someone needs this in 3 months, where would they look first?"

  • API docs → docs/API.md (obvious)
  • Deployment → docs/DEPLOYMENT.md (obvious)
  • Performance results → docs/performance-test-results.md (with purpose header)
  • Design for an in-progress feature → docs/drafts/<feature>-design.md

The correct location is the one that maximizes findability for future readers.

Draft Lifecycle

Created → Iterated → Implemented → Decision point
                                           ├─ Still useful as reference? → Promote to docs/
                                           └─ No longer needed?          → Archive to docs/archive/

Signs a draft should be archived or promoted:

  • Feature fully implemented and tested
  • Design stable for 2+ weeks without changes
  • New contributors would find the final docs/ version more useful

Real-World Example

Before (the problem this skill prevents):

./TASK_TRACKER.md                          # Completed 2026-02-13, forgotten
./performance-test-results.md              # Duplicate of docs/ version
./backend/TASK_PROGRESS.md                 # Completed 2026-02-12, forgotten
./backend/TEST_REPORT.md                   # Historical snapshot, not updated
./reviews/code-review-2026-02-12.md        # Old review, never cleaned up
./docs/drafts/TASK_PROGRESS.md             # Completed task in drafts
./docs/drafts/implementation-progress.md   # Completed, never archived
./RELEASE_DRAFT.md                         # Already released as v0.1.0

After (applying this skill):

./docs/archive/2026-02-12_code-review-v1.md
./docs/archive/2026-02-12_code-review-fix-progress.md
./docs/archive/2026-02-13_task-tracker-webui-complete.md
./docs/archive/2026-02-13_comprehensive-test-report.md
./docs/archive/2026-03-13_v0.1.0-beta-release-draft.md
./docs/archive/2026-03-17_evo-memory-implementation-progress.md
./docs/archive/2026-03-18_spring-ai-integration-progress.md
./docs/archive/2026-03-20_go-java-sdk-implementation-progress.md
./docs/archive/README.md                   # Index of all archived docs
./docs/performance-test-results.md         # Single live copy with purpose header

11 scattered files → 1 organized archive with index.

Audit Checklist

Run before major commits, or when documentation feels disorganized.

Step 1 — Scan:

find . -name "*.md" \
  -not -path "*/node_modules/*" \
  -not -path "*/.git/*" \
  -not -path "*/target/*" \
  -not -path "*/.mvn/*" \
  -not -path "*/memory/*" \
  | sort

Step 2 — Verify each file:

  • Correct location per Rule 1?
  • If live: has purpose header per Rule 2?
  • No duplicate purpose file?
  • If completed tracker in docs/drafts/: archived?
  • docs/archive/README.md table current?
  • If stale: has archive entry?
  • If in root: on the Rule 5 allowlist?
  • Draft filenames descriptive per Rule 7?

Step 3 — Report:

  • All pass → "Documentation health OK"
  • Issues found → List each violation with its file path, then fix per Common Violations table

Common Violations

ViolationCorrect Action
backend/TASK_PROGRESS.md for a new taskUse docs/drafts/<descriptive-name>.md
Test report in backend/ or rootArchive to docs/archive/YYYY-MM-DD_test-report.md
Completed progress in docs/drafts/Archive to docs/archive/YYYY-MM-DD_<name>.md
Duplicate file for same dataKeep one, delete/archive the other
Temporary notes in rootMove to docs/drafts/ or delete
Live doc missing purpose headerAdd header per Rule 2
Root .md not in allowlistMove to docs/
Draft never archived after completionArchive or promote per Draft Lifecycle
Vague draft name (NOTES.md, TEMP.md)Rename per Rule 7
Archived file still referenced elsewhereUpdate references per Rule 3 step 5

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.