SKILL.md
Git Reference Manager
This skill provides guidance on how to formally introduce external repositories into a project for reading and learning. This is crucial for understanding third-party library architectures or finding best practices.
Core Rules
Isolation Principle: Reference code must be strictly isolated within the
_reference/directory. It is strictly forbidden to commit it to the main project's Git history.
Standard Workflow
When you need to reference an external repository (e.g., anthropics/skills or pandas), you must strictly follow these three steps in order:
1. Prepare Sandbox
First, ensure the dedicated directory for storing reference materials exists.
- Check: Does the
_referencedirectory exist in the project root? - Action: If not, create it.
``bash mkdir -p _reference ``
2. Secure Boundary
Before pulling any code, you must ensure that Git ignores this directory.
- Check: Does the
.gitignorefile contain_reference/? - Action: If not, append it to the end of the file.
``bash # Check grep "reference/" .gitignore # Append (if missing) echo -e "\n# External References\nreference/" >> .gitignore ``
3. Fetch References
Clone the target repository into a subdirectory within the sandbox.
- Naming: Use the repository name as the subdirectory name.
- Action: Use
git clone.
``bash git clone <REPOURL> reference/<REPO_NAME> ``
- Note: Deep history is not required; it is recommended to use
--depth 1to save time and space.
``bash git clone --depth 1 https://github.com/anthropics/skills.git reference/anthropicsskills ``
Best Practices
- Read-Only Mode: Treat all files under
_reference/as read-only. Do not modify them unless it is for testing certain changes (but be aware that changes will be lost). - Search via grep: Use
greporripgrepto search for code patterns within the reference directory. - Discard Anytime: Since these files are ignored by git and can be re-cloned, you can delete them at any time to free up space after finishing your task.
Example
User Request: "I want to see how React's source code handles Hooks."
Agent Execution:
mkdir -p _referencegrep "reference" .gitignore || echo "reference/" >> .gitignoregit clone --depth 1 https://github.com/facebook/react.git _reference/react- Start reading
_reference/react/packages/react-reconciler/...